systemd:重新启动由冲突选项停止的单元

systemd:重新启动由冲突选项停止的单元

我有两个连续运行的服务 A 和 B,我为它们使用systemd服务单元。在特定时间应该运行服务 C,我可以使用计时器和同名服务来执行此操作。 C 很快就完成了。当C运行时,A和B不应运行。为了确保这一点,我在 C 的服务文件中使用了该Conflicts=选项,该网页对此进行了解释:系统文档。但这个选项只能停止A和B。当C完成后,我怎样才能再次启动A和B呢?我可以使用 来做到这一点systemd吗?

注意:调用systemctl start A.serviceandsystemctl start B.service不是我正在寻找的解决方案。

答案1

我建议使用:

执行停止后=/usr/bin/systemctl start A.service B.service

服务停止后执行的附加命令

使用ExecStopPostnotExecStop很重要,因为ExecStop运行时服务仍被视为已启动,因此冲突仍然适用。

相关内容