同じ順序でシステムデバイスを起動および停止します。

同じ順序でシステムデバイスを起動および停止します。

systemdではどうすればいいですか?

start unit.A
 started unit.A
start unit.B
 started unit.B

stop unit.A
 stopped unit.A
stop unit.B
 stopped unit.B

After=/Before=起動/停止時にデバイスがAB - > BAのように逆順に並べられることはわかっていますが、AB - > ABが必要です。

私の考えでは、次のようなものをunit.Aマージする必要があるようです。unit.B

Unit.A.サービス:

ExecStartPost=unit.A

そして停止コマンドを処理しますExecStopPost=

編集する:

の組み合わせのように見え、私が欲しいものを提供するUpholds=こともできますPropagatesStopTo=。または非常に似ていたが、に追加されていることがわかりましたが、/で実行するsystemd version 249必要がありました。241247

私はまだ学問に興味があります。アクセスできる場合、Upholds=これはPropagatesStopTo=正しい選択ですかsystemd 249

答え1

私はこれで終わりました:

thisunit_ExecStartPost.sh:

systemctl start otherunit

このユニット_ExecStop.sh:

systemctl stop otherunit

私の場合は、失敗した場合はotherunit通知し、そうでない場合は停止をに移動する必要があります。一般的には良い場所ですが(私のプロジェクトではありません)。thisunitotherunitthisunit_ExecStopPost.sh

関連情報