我有服务 A 和服务 B。服务 B 依赖于服务 A。
我想知道 systemd 是否会在服务 A 达到“启动”状态时启动服务 B,还是等到服务 A 达到“运行”状态
提前致谢。
答案1
两者都不是。当服务 A 启动时,服务 B 将启动准备好。 (请注意,依赖关系与排序不同。我假设在此答案中您的真正意思是 B 是之后订购A,既然你问了时间安排。)
systemd 如何确定服务已就绪取决于服务的类型。服务simple
一旦运行就准备好了。forking
当服务的第一个进程分叉了一个子进程然后退出时,服务就准备好了。oneshot
当服务的进程退出时,服务就准备好了。dbus
当 systemd 看到桌面总线上出现指定的桌面总线服务名称时,服务已准备就绪。notify
一旦服务使用仅 systemd 协议通过套接字发送文本消息表明其已准备就绪,则该服务已准备就绪。
进一步阅读
- 乔纳森·德博因·波拉德 (2015)。Unix 守护进程的就绪协议问题。经常给出的答案。
- 伦纳特·珀特林 (2015)。
systemd.service
。 systemd 手册页。 Freedesktop.org。