这是b.service
:
[Unit]
Description=b.service
ConditionPathExists=/usr/sbin/b
Requires=a.service
BindsTo=a.service
After=a.service
[Service]
ExecStart=/usr/sbin/b
这几乎可以满足我的所有需求:
- 如果 b.service 启动,则 a.service 启动。
- 如果 a.service 启动,则 b.service 启动。
- 如果 a.service 停止,则 b.service 停止。
我想添加剩余的依赖项:如果 b.service 停止,则 a.service 停止,如果可能,不修改 a.service 的服务文件。
我现在还在/etc/systemd/system/a.service.d/override.conf中为 a.service 创建了一个覆盖,它定义了:
像这样,一个完全依赖a 当且仅当 b被满足。