如果守护进程没有派生,systemd会阻止系统启动吗?

时间:2017-03-24 20:23:33

标签: linux startup systemd

如果我以类型设置为" forking"的方式配置systemd服务。并且TimeoutStartSec设置为" infinity"如果配置的服务永远不会进入后台,我的系统启动会阻塞吗?

如果没有,有这种配置有什么副作用?

1 个答案:

答案 0 :(得分:2)

systemd的实现是通过指定依赖关系而不是简单的优先级(由05-service和{{这样的两位数字定义的顺序)来替换已经开始并行启动的SYS-V 1}})。但是SYS-V并没有受到任何限制,因此大多数进程实际上并没有得到正确定义。 (优先级系统是一个文件名,而依赖项是在初始化脚本开始时的注释中定义的。)

67-daemon通过实现类似systemd的机制从并行启动事物的概念中吸取了灵感,您可以说只有在A建立之后才能构建B。

make

因此,# Makefile B: A generate-B A: A.c gcc -o A A.c 通常不会因为一个流氓服务而被阻止,但是,如果您现在创建第二个服务(即我的make示例中的systemd),则该服务永远都不会依赖该服务返回预期,该第二个服务将永远不会启动。即

B

换句话说,由于您的操作系统不依赖于您的服务,因此仍会按预期加载。但是,如果您开始在第一个服务上创建依赖项,那么您的环境将受到影响。另一方面,可能有各种类型的故障保险可以规避,至少部分地规避您正在谈论的设置类型。