Linux systemd是否支持分叉守护进程的故障重启?

Linux systemd是否支持分叉守护进程的故障重启?,linux,daemon,systemd,Linux,Daemon,Systemd,假设我的systemd单位文件中包含以下内容: Type=forking Restart=on-failure 父进程退出,状态为0(子进程已成功启动)。在稍后的某个时刻,孩子以非零状态死亡。会发生什么?systemd可以跟踪子守护进程PID: Process: 1768 ExecStart=/bin/mydaemon (code=exited, status=0/SUCCESS) Main PID: 1770 (mydaemon) “重新启动=失败时”只是查看父级退出状态,还是同时查看子级

假设我的systemd单位文件中包含以下内容:

Type=forking
Restart=on-failure
父进程退出,状态为0(子进程已成功启动)。在稍后的某个时刻,孩子以非零状态死亡。会发生什么?systemd可以跟踪子守护进程PID:

Process: 1768 ExecStart=/bin/mydaemon (code=exited, status=0/SUCCESS)
Main PID: 1770 (mydaemon)

“重新启动=失败时”只是查看父级退出状态,还是同时查看子级退出状态?

简短回答:是的,它的工作原理与预期一致


完整答案感谢@thecarpy over on Unix&Linux Stack Exchange:。

简短回答:是的,它的工作原理与预期相符


完整答案要感谢@thecarpy over on Unix&Linux Stack Exchange:。

我认为它应该按预期工作,并重新启动守护进程。你有任何理由相信它不是吗?或者您正在寻找这种行为的文档?@rodrigo——这两种方式都没有很好的文档记录,而且我在不影响生产服务的情况下进行测试的能力有限。一个医生指针就好了@jww,谢谢你的提醒。我会把它带到一个更合适的地方。它在任何地方都没有很好的记录。通过使用
GuessPID
(当
PIDFile
为空时默认设置)或
PIDFile
@MatthewLeonhardt跟踪子进程,这就意味着它-我发现它非常适合系统问题。我在这里问了几个systemd问题。我认为它应该按预期工作,并重新启动守护进程。你有任何理由相信它不是吗?或者您正在寻找这种行为的文档?@rodrigo——这两种方式都没有很好的文档记录,而且我在不影响生产服务的情况下进行测试的能力有限。一个医生指针就好了@jww,谢谢你的提醒。我会把它带到一个更合适的地方。它在任何地方都没有很好的记录。通过使用
GuessPID
(当
PIDFile
为空时默认设置)或
PIDFile
@MatthewLeonhardt跟踪子进程,这就意味着它-我发现它非常适合系统问题。我问了几个系统的问题。