如何在c中杀死父进程及其所有子进程?

时间:2018-01-31 11:34:23

标签: c linux multiprocess

因此应该调用以下函数来终止父进程。但它让孩子们的过程充满活力。我知道你可以将参数传递给shell命令中的sigkill来杀死这个进程组下的所有子进程。但是如何在C中做到这一点?

kill(parent, SIGKILL);

1 个答案:

答案 0 :(得分:3)

您可以kill(a_negative_number, a_signal)killpg()流程组发送信号。

有关详细信息,请参阅kill(2)。基本上,当您fork()execve()时,子进程将具有相同的PGID(进程组ID)。

另一种方法是为父进程安装信号句柄。当父母收到信号时,父母会向其子女发送信号并将其杀死。见signal(2)