标签: linux setsid
如果某个流程fork,那么孩子确实setsid,有没有办法告诉它是第一个流程的孩子?有没有办法和它的父母一起杀死这个过程?
fork
setsid
答案 0 :(得分:1)
setsid不会破坏父/子关系。所以你仍然可以得到一个过程的孩子,例如G。如here所述(链接我们ubuntu具体,但这适用于任何其他发行版)。
父进程总是可以轻松跟踪其直接子进程,因为fork返回了他们的id(大孩子获得更多tricky ...)并在退出时(优雅地)向其任何子进程发送信号。
prctl(PR_SET_PDEATHSIG, <signal>)(如果父母去世,让孩子们收到信号的便捷方式)也会在调用setsid后继续存在。
prctl(PR_SET_PDEATHSIG, <signal>)