デバイス(Unit1)に次のデバイスファイル構成があるとします。
[Unit]
Wants=Unit2
Before=Unit2
私は読んだ〜したいたとえば、「Unit1は起動時にUnit2を実行しようとします(失敗しても問題ありません)」。
私は読んだ今後なぜなら、「Unit1はUnit2の前に起動する必要があるからです」。
もし〜したいUnit2(試行)が Unit1 より先に開始されるようにしますが、今後Unit1がUnit2の前に起動するようにしてください。実際の状況はどうですか?ここで何が起こるのか?
よろしくお願いします!
答え1
~からman systemd.unit
:
1つのデバイス
foo.service
に設定が含まれていて両方のデバイスがBefore=bar.service
起動すると、起動が完了するbar.service
まで起動が遅れます。foo.service
この設定は、設定された要件の依存関係とは無関係でRequires=
直交です。Wants=
BindsTo=
注: 独立と直交。
そして:
Wants=
。Requires=
ハイブがすでに起動している場合は、このオプションにリストされているデバイスが起動します。
これは、Unit2が起動することについて何も言いません。今後レッスン1。これは、Unit1の起動がStartに設定されている場合、Unit2もStartに設定されることを意味しますが、Unit2の起動がUnit1の起動前、後、または同時に完了するという意味ではありません。この順序が設定され、Before
Unit1が起動を完了するまでUnit2の起動が遅れます。