从systemd的角度来看,Type=simple
是一种抛砖引玉。即使该进程无法启动,Systemd也会派生一个ExecStart=
中定义的进程并继续进行。
systemd
服务Type
oneshot
和simple
有什么区别?此link声明为定时器使用simple
而不是oneshot
。我无法正确理解。
Type=oneshot
服务单元:
在开始操作之前一直阻塞,直到第一个进程退出,并且其状态将报告为“正在激活”;
一旦第一个进程退出,除非设置了RemainAfterExit=true
,否则它会从“激活”直接过渡到“非活动”(在这种情况下,它会在没有进程的情况下变为“活动”!]]]
可以有任意数量(0或更多)的ExecStart=
指令,这些指令将被顺序执行(等待每个已启动的进程退出,然后再启动下一个指令);
可能会省略ExecStart=
,但有ExecStop=
(与RemainAfterExit=true
一起用于安排在系统关闭时运行的内容。]]] >>
Type=simple
服务单元:
不会阻塞启动操作(即,即使第一个过程仍在初始化中,它也会在分叉第一个过程后立即变为“活动”状态;
一旦第一个进程退出,就从“活动”转换为“非活动”(没有RemainAfterExit=
选项);
通常不建议这样做,因为无法将“由于配置错误而在启动时退出”与“在500ms的运行时间后崩溃”之类的情况区分开。
Type=oneshot
和Type=simple
单位:
Type=oneshot
与KillMode=none
一起使用,但是只有在知道自己在做什么的情况下才这样做从systemd的角度来看,Type=simple
是一种抛砖引玉。即使该进程无法启动,Systemd也会派生一个ExecStart=
中定义的进程并继续进行。
从systemd的角度来看,Type=simple
是一种抛砖引玉。即使该进程无法启动,Systemd也会派生一个ExecStart=
中定义的进程并继续进行。