如果我以类型设置为" forking"的方式配置systemd服务。并且TimeoutStartSec设置为" infinity"如果配置的服务永远不会进入后台,我的系统启动会阻塞吗?
如果没有,有这种配置有什么副作用?
答案 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
换句话说,由于您的操作系统不依赖于您的服务,因此仍会按预期加载。但是,如果您开始在第一个服务上创建依赖项,那么您的环境将受到影响。另一方面,可能有各种类型的故障保险可以规避,至少部分地规避您正在谈论的设置类型。