我对守护进程和孤儿进程感到困惑。从我学到的:
守护进程:"这些是在后台运行的特殊进程。 它们是没有关联终端的系统相关进程。这些 进程使用根权限运行,通常提供服务 过程。通常父进程将终止,因此子进程 进程将成为守护进程,因为它不会有任何终端。为 守护进程,初始化进程将成为父进程">
孤立进程:"当父进程在子进程终止之前被终止时,该进程将成为孤立进程。在 在这种情况下,子进程成为孤立进程,然后被 初始化过程。
孤立进程是守护进程,反之亦然?如果不是,它们之间的基本区别是什么?
一个并不严格地暗示另一个:只需将守护程序视为有意孤立的进程即可。它们旨在在没有父级的情况下工作,但这并不适用于每个孤立进程!
有时需要有意孤立进程,通常是为了允许长时间运行的作业在没有进一步用户注意的情况下完成,或者启动无限期运行的服务或代理;此类进程(没有关联的会话(称为守护进程,特别是当它们无限期运行时
只要把守护进程想象成做肮脏工作的"奴隶":你故意把它们放在你视线之外,但并不是所有超出你视线的东西都是有意或特别想要的;)
我认为在这种情况下,维基百科足以满足您的困境:https://en.wikipedia.org/wiki/Orphan_process
我同意碎片整理的回答。 我只想提一下,守护进程不一定以 root 身份运行。实际上,出于安全原因,最好不要以 root 身份运行某些守护程序,例如 Web 服务器进程或数据库侦听器进程。如果守护程序存在安全问题,这将限制您的暴露。
此外,用户自己可以编写作为守护程序运行的程序。