是否可以通过“After”子句无限期地延迟 systemd 服务?

是否可以通过“After”子句无限期地延迟 systemd 服务?

目前我正在处理这个问题:服务 1 在另一台机器上。服务 2 在这台机器上,但需要服务 1 可用才能运行。服务 3 在这台机器上,但需要服务 2 才能运行。

我想为服务 2 和服务 3 创建两个自动启动的 systemd 服务。

启动服务 2 的脚本首先检查服务 1 是否可用,如果不可用,它将停留在检查/睡眠循环中,直到找到服务 1。

然后我想补充 After=Service_3.service一下Service_2.service

Before=Service_2.serviceService_3.service

我将Service_2.service的类型设置为oneshot

那么 systemd 是否会无限期地推迟启动服务 3,直到服务 2 发现服务 1 可用?

顺便说一句:一旦服务 2 关闭,我不需要重新启动它,因为服务 3 是专门为处理它而设计的高可用性程序,但它需要在启动服务 2 后运行。

相关内容