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

问题描述:

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

谢谢。


预先存在类似的问题:

+0

我记得看到类似的问题:

问题与质量答案在这里已经被讨论。例如。 http://*.com/questions/269494/how-can-i-cause-a-child-process-to-exit-when-the-parent-does – PolyThinker 2008-12-28 05:43:14

号如果父母被杀害,孩子成为init进程的儿童(具有处理id 1,并作为内核的第一个用户进程启动)。

init进程定期检查新的子进程,如果它们已经退出(因此释放由它们的返回值分配的资源),就会杀死它们。 How to make child process die after parent exits?

+0

那么这是否意味着子进程没有异常死亡在提前终止之前,等待他们完全执行他们的代码,然后终止? – 2016-11-24 06:47:57