私たちのシステムにはAとBという2つの依存関係があります。ここで、AはBに対する「以降」の依存関係を持ちます。
場合によっては、両方のサービスをすぐに再起動したいと思います。問題は、Bがエレガントに停止するために時間がかかることです。 A は最初に停止を終了し、B への依存関係が満たされるのですぐに再起動します。その後、BはAの後に再開される。その逆ではありません。
私たちが望む動作は、Bが停止して再起動を完了するまでAが再起動しないことです。
この問題を解決できるシステム設定はありますか? BindsToは私たちが望む動作を提供しますか?
答え1
再起動するたびに再起動するには、B
次A
のものを使用できます。BindsTo=B
+After=B
サービスガイドラインA
。あるいは、systemdに依存しない可能性があるより「汚い」アプローチの場合は、次のようにA
サービスの再起動コマンドを追加できます。ExecStartPost=
B
ユニットファイルの下のディレクティブ。
これにより、サービスが開始(または再起動)されるたびにB
サービスも強制的に再起動されますA
。