QNX procmgr_guardian中有一个函数,可以在父进程死亡的情况下将子进程设置为另一个子进程的监护人。Linux中也有这样的功能吗?我如何在Linux中实现它?感谢任何人的指点。
发布于 2011-08-03 06:05:50
没有直接的方法来监控不是您自己的子进程的进程。但是,您可以使用一个技巧:使用pipe()创建一个FIFO;确保要监视的进程持有管道的写入端(并且它在所有其他进程中都是关闭的)。如果进程终止,EOF条件将在管道的读取端发出信号(即,select将指示可读条件)。
如果您希望进程在其直接父进程终止时重新设置父进程的父进程,则可以使用PID namespaces来实现此目的。通过在PID名称空间中将'guardian‘进程设置为PID1,它将继承该名称空间中的所有孤立进程。
https://stackoverflow.com/questions/6916999
复制相似问题