一般的な質問があります。*.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.servicesystemdはのb.service後に注文しa.serviceます。
私が誤解していなければ、あなたが求めているのは、有効になっていないのに起動するb.serviceときの起動方法です。a.serviceb.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で詳しく説明されています。