2つのサービスAとBが継続的に実行されており、systemd
サービスユニットを使用しています。サービスCを実行する必要がある特定の時点で、タイマーと同じ名前のサービスを使用してこれを実行できます。 Cはすぐに終わった。 Cが実行されると、AとBは実行しないでください。これを保証するために、Conflicts=
このWebページに記載されているCのサービスファイルでこのオプションを使用しました。システム文書。ただし、このオプションはAとBのみを停止できます。 Cが終わったら、どのようにAとBを再起動できますか?これを行うことはできますかsystemd
?
注:電話するsystemctl start A.service
ことはsystemctl start B.service
私が探している解決策ではありません。
答え1
私は以下を使用することをお勧めします:
実行が停止した後=/usr/bin/systemctl start A.service B.service
サービスが停止した後に実行する追加コマンド
ランタイムサービスはまだ開始されたと見なされ、競合が引き続き適用されるため、使用しないことExecStopPost
がExecStop
重要です。ExecStop