我使用 systemd 通过使用 Requires/After/Before/BindsTo 字段按顺序启动/停止 4 个服务。
systemctl start service01
发起这样的启动命令:
服务 01 -> 服务 02 -> 服务 03 -> 服务 04
停止操作是通过 service0[234] 端的 BindTo 配置的。它们与 service01 绑定,因此一旦 service01 停止,其他服务也会停止。
但由于一些问题,service02和service03启动之间应该配置5-10秒的延迟。
可以使用 systemd 来实现这个吗?
当然,我可以在 service03 中的 ExecStart 开头添加“sleep 10”,但也许还有其他方法可以使用 systemd 来实现这一点。
答案1
有计时器systemd 中的单元。OnUnitActiveSec=
如果您选择使用计时器执行任务,请尝试使用选项。