相关疑难解决方法(0)

是否有可能采用一个过程?

流程A fork()流程B.

过程A死亡,因此init采用B.

监督者创建进程C.

C在某种程度上可以采用B init吗?


更新:

或者甚至可以让C直接采用B(当A死亡时),如果C是在A死之前创建的,而不是init成为B的中间父级?


更新1:

我也很感激任何关于为什么有可能以我所描述的方式采用一个过程可能是一件坏事或难以实现的评论.


Update-2 - 用例(父级和子级引用进程):

我有一个应用程序使用父级来管理一大堆子,这依赖于父级的管理工具.为了完成其工作,父母依靠通过孩子的终止通知,这通过接收相关SIGCHLD信号来完成.

如果父母本身因某些意外(包括segfaulting)而死亡,我需要重新启动整个"家庭",因为现在不可能在孩子终止时触发某些事情(这也可能是由于段错误).

在这种情况下,我需要关闭所有孩子并完成一个完整系统的重启.

避免这种情况的一种可能的方法是,有一个备用过程,可以接管死去的父母的角色...... - 如果它可以再次接收步骤儿童的SIGCHLD信号!

c unix children parent process-reaper

24
推荐指数
2
解决办法
2345
查看次数

标签 统计

c ×1

children ×1

parent ×1

process-reaper ×1

unix ×1