systemd
服务Type
oneshot
和之间有什么区别simple
?此链接声明要使用simple
而不是oneshot
用于计时器。我无法正确理解它。
该Type=oneshot
服务单位:
阻塞启动操作,直到第一个进程退出,并且其状态将报告为“正在激活”;
一旦第一个进程退出,除非RemainAfterExit=true
已设置,否则将直接从“激活”过渡到“不活动” (在这种情况下,它将变为“活动”而没有任何进程!);
可能具有任意数量(0个或更多)的ExecStart=
指令,这些指令将顺序执行(等待每个已启动的进程退出,然后再启动下一个指令);
可能会遗漏,ExecStart=
但有ExecStop=
(与(RemainAfterExit=true
在安排系统关闭时运行的东西一起使用)很有用)。
该Type=simple
服务单位:
不会阻止启动操作(即,即使第一个过程仍在初始化中,在分叉第一个过程后立即变为“活动”!);
一旦第一个进程退出,就从“活动”过渡到“非活动”(没有RemainAfterExit=
选择);
通常不建议使用这种方法,因为无法将“由于配置错误而在启动时退出”与“运行500ms后崩溃”之类的情况区分开来。
无论Type=oneshot
和Type=simple
单位:
Type=oneshot
与一起使用KillMode=none
,但只有在知道自己在做什么的情况下才可以使用)。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句