首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >创建守护进程时执行双分支的原因是什么?

创建守护进程时执行双分支的原因是什么?
EN

Stack Overflow用户
提问于 2009-05-19 07:25:18
回答 4查看 64.1K关注 0票数 192

我正在尝试用python创建一个守护进程。我已经找到了following question,它有一些很好的资源,我现在正在关注它,但我很好奇为什么双分支是必要的。我在google上搜索了一下,找到了大量的资源,声称一个是必要的,但不是为什么。

有些人提到,这是为了防止守护进程获取控制终端。如果没有第二个分支,它怎么做到这一点呢?其后果是什么?

EN

回答 4

Stack Overflow用户

发布于 2009-05-19 07:32:27

摘自Bad CTK

在某些版本的Unix中,为了进入守护程序模式,你必须在启动时执行双分支。这是因为单分支不能保证从控制终端分离。

票数 11
EN

Stack Overflow用户

发布于 2009-05-19 07:33:55

根据斯蒂芬斯和拉戈的“Unix环境中的高级编程”,第二个分支更多的是一种建议,它是为了保证守护进程不会在基于System V的系统上获取控制终端。

票数 7
EN

Stack Overflow用户

发布于 2009-05-19 07:43:40

原因之一是父进程可以立即对子进程执行wait_pid(),然后将其抛在脑后。当孙子进程死亡时,它的父进程是init,它会等待()--并让它脱离僵尸状态。

结果是父进程不需要知道派生的子进程,它还使得从库等派生长时间运行的进程成为可能。

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

https://stackoverflow.com/questions/881388

复制
相关文章

相似问题

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