在父母去世的情况下为子进程设置监护进程

时间:2011-08-02 18:47:27

标签: linux linux-kernel

QNX procmgr_guardian中有一个函数,它将子进程设置为父进程死亡时其他子进程的监护人。 Linux中也有这样的功能吗?我如何在Linux中实现它?任何指针都表示赞赏。

1 个答案:

答案 0 :(得分:0)

没有直接的方法来监控不属于您自己孩子的流程。但是,您可以使用hack:使用pipe()创建FIFO;确保要监视的进程保持管道的写入结束(并且在所有其他进程中关闭它)。如果进程终止,将在管道的读取端发出EOF条件信号(即,select将指示可读条件)。

如果您希望在其直接父级死亡时重​​新设置该进程,您可以使用PID namespaces实现此目的。通过在PID命名空间中安排'监护人'进程为PID 1,它将继承该命名空间中的所有孤立进程。