使用fork()创建的子进程是否会在父级被杀死时自动终止?

时间:2008-12-28 05:34:19

标签: c++ linux process fork parent-child

我正在使用C / C ++中的fork()创建子进程 当父进程结束(或由于某种原因被杀死)时,我希望所有子进程都被杀死 这是由系统自动完成的吗?或者我必须自己做?

感谢。


预先存在的类似问题:

1 个答案:

答案 0 :(得分:43)

没有。如果父进程被终止,则子进程将成为init进程的子进程(具有进程ID为1并由内核作为第一个用户进程启动)。

init进程定期检查新子进程并等待它们(从而释放由返回值分配的资源)。

这个问题已在质量答案中讨论过了: How to make child process die after parent exits?