103

一般的な質問があります。*.service特定のユニット*.serviceが正常に起動した後、systemd ユニットを起動するにはどうすればよいですか?

website.serviceより具体的な質問は、開始後にのみ開始するにはどうすればよいmongodb.serviceですか? 言い換えれwebsite.serviceば、に依存する必要がありますmongodb.service

4

2 に答える 2

57

After=After=依存関係は、service included と service included byAfter=の両方が起動時に開始するようにスケジュールされている場合にのみ有効です。

元:

a.service
[Unit]
After=b.service

このように、 と の両方が有効になっている場合a.serviceb.servicesystemdb.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で詳しく説明されています。

于 2014-11-16T13:09:41.017 に答える