サービスAとサービスBがあります。サービスBはサービスAに依存する。
サービスAが「開始」状態に達したときにsystemdがサービスBを開始するのか、サービスAが「実行中」状態に達するのを待つのかを知りたいです。
よろしくお願いします。
答え1
両方ではありません。サービスAが開始されると、サービスBが開始される。準備する。 (依存関係は注文と同じではありません。この答えでは、実際にB後で注文してくださいA. スケジュールについてお問い合わせいただきました。 )
systemd がサービスが準備されているかどうかを確認する方法は、サービスの種類によって異なります。サービスがsimple
実行されると準備は完了です。forking
サービスの最初のプロセスが子プロセスを分岐して終了すると、サービスは準備が整いました。oneshot
プロセスが終了したら、サービスの準備が整いました。dbus
systemd がデスクトップ・バスで指定されたデスクトップ・バス・サービス名を確認すると、サービスは準備が整いました。notify
サービスが準備されたことを示すために、システム専用プロトコルを使用してソケットを介してテキストメッセージを送信すると、サービスは準備が整いました。
追加読書
- ジョナサンデボインポラード(2015)。Unixデーモンの準備プロトコルの問題。よく与えられる答えです。
- レナート・ポートリン(2015)。
systemd.service
。システムのマニュアルページ。 freedesktop.org.