一尘不染

父进程退出后如何使子进程死亡?

linux

假设我有一个进程,它恰好产生了一个子进程。现在,当父进程出于某种原因(正常或异常,通过kill,^
C,断言失败或其他任何原因)退出时,我希望子进程死亡。如何正确地做到这一点?


阅读 408

收藏
2020-06-02

共1个答案

一尘不染

子进程可以SIGHUP通过PR_SET_PDEATHSIGprctl()syscall中指定选项来要求父进程去世时内核发出(或其他信号),如下所示:

prctl(PR_SET_PDEATHSIG, SIGHUP);

有关man 2 prctl详细信息,请参见。

编辑:这是仅Linux

2020-06-02