一般的な質問があります。*.service
特定のユニット*.service
が正常に起動した後、systemd ユニットを起動するにはどうすればよいですか?
website.service
より具体的な質問は、開始後にのみ開始するにはどうすればよいmongodb.service
ですか? 言い換えれwebsite.service
ば、に依存する必要がありますmongodb.service
。
After=
After=
依存関係は、service included と service included byAfter=
の両方が起動時に開始するようにスケジュールされている場合にのみ有効です。
元:
a.service
[Unit]
After=b.service
このように、 と の両方が有効になっている場合a.service
、b.service
systemdはのb.service
後に注文しa.service
ます。
私が誤解していなければ、あなたが求めているのは、有効になっていないのに起動するb.service
ときの起動方法です。a.service
b.service
このディレクティブは、Wants=
またはRequires=
下にあり[Unit]
ます。
website.service
[Unit]
Wants=mongodb.service
After=mongodb.service
Wants=
との違いはRequires=
、では起動にRequires=
失敗するb.service
と の起動がa.service
失敗するのに対し、Wants=
では失敗しa.service
ても起動することですb.service
。これについては、 の man ページ.unit
で詳しく説明されています。