【发布时间】:2020-08-28 09:47:28
【问题描述】:
我创建了一个脚本,它应该作为守护进程运行,由 systemd 控制。我遇到了像 What is the reason for performing a double fork when creating a daemon? 这样的古老问题和古老的文档,这表明守护进程应该分叉以从终端分离。
但是在 2020 年,使用 systemd,所有这些对我来说似乎都已经过时了。据我了解(在https://jdebp.eu/FGA/unix-daemon-design-mistakes-to-avoid.html 的支持下),无需从任何终端分离,无需避免僵尸进程等。整个分叉和退出只有在我想启动时才有意义从终端手动守护进程,而不是使用 systemd。
我是对的还是在守护进程内部分叉并退出父进程还有什么好处?
【问题讨论】: