systemd:オプションの競合により、デバイスの再起動が停止しました。

systemd:オプションの競合により、デバイスの再起動が停止しました。

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

サービスが停止した後に実行する追加コマンド

ランタイムサービスはまだ開始されたと見なされ、競合が引き続き適用されるため、使用しないことExecStopPostExecStop重要です。ExecStop

関連情報