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

use*_*068 8 systemd

我有两个连续运行的服务 A 和 B,我使用systemd服务单元。在应该运行服务 C 的特定时间,我可以使用计时器和具有相同名称的服务来执行此操作。C 在很短的时间内完成。当 C 运行时,A 和 B 不应运行。为确保这一点,我在 C 的服务文件中使用了该Conflicts=选项,此网页上对此进行了解释:systemd 文档。但是这个选项只会停止 A 和 B。当 C 完成时,我如何再次启动 A 和 B?我可以这样做systemd吗?

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

Cen*_*ane 6

我建议使用:

ExecStopPost=/usr/bin/systemctl start A.service B.service

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

使用ExecStopPost而不是ExecStop很重要,因为ExecStop运行时服务仍然被考虑,所以冲突仍然适用。