我有两个 systemd 服务application.service
和[email protected]
.
application.service
已启用并通常运行。
[email protected]
没有启用,只能手动启动,并且有一个Conflicts=application.service
条目。
我想实现,如果application.service
正在运行并且我启动一个实例[email protected]
,它就会application service
终止。由于上述Conflicts=application.service
条目,这目前正在工作。
但是,数据同步服务会定期application.service
通过systemctl restart application.service
远程重新启动。[email protected]
当且仅当正在运行时,我希望它失败。目前这将关闭[email protected]
实例并启动application.service
。我在 systemd 的官方文档中找不到与此相关的任何内容。
背景资料:
我不能让远程服务进行检查,[email protected]
因为它只存在于几台机器上(这是一种特殊的配置),并且不是通常基础设施的一部分。我也不想停止该服务,因为它还控制其他可能无法运行的设备[email protected]
。
我们有非常相似的问题;我认为 这种回应是解决它的方法;我也会测试
After=
和Before=
使用ExecStartPre=