首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么守护进程要派生?

为什么守护进程要派生?
EN

Stack Overflow用户
提问于 2010-11-16 16:59:57
回答 2查看 7.2K关注 0票数 18

我意识到了一些(全部?)守护进程在启动时派生。我的印象是,这是以较低权限的用户运行子进程,特别是当守护进程类似于HTTP服务器时。

然而,为什么这是必要的呢?一个进程不能在不创建子进程的情况下启动和删除它的特权吗?对于forking是“强制的”吗,还是有其他一些特殊的原因(除了运行多个子工作进程)?

我是个新手,如果能得到帮助我会很感激。

EN

回答 2

Stack Overflow用户

发布于 2010-11-16 17:14:03

守护进程必须派生两次,因为它们必须独立于其他进程,也就是说,没有办法杀死正在杀死另一个进程的守护进程,并且必须在后台运行,而不是附加到终端。

在启动时,守护进程派生,父进程终止。这使得派生进程成为init的子进程,所以基本上它独立于其他进程。

在第二个分支上,子进程不再是进程领导者,并且与终端分离。

其他一些好的实践可能也适用,阅读一个简单守护进程的源代码可能会很有见地。

票数 7
EN

Stack Overflow用户

发布于 2010-11-16 17:07:27

我的印象是,这样做是为了让守护进程完全独立于任何其他进程(如shell或类似进程)。通过派生和退出父进程,孤立进程将被系统初始化进程“采用”。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4192472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档