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

Get*_*ree 37 c++ linux fork process parent-child

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

谢谢.


预先存在的类似问题:

Joh*_*itb 46

否.如果父级被杀死,则子级成为init进程的子级(具有进程ID 1并且由内核作为第一个用户进程启动).

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

这个问题已经在质量答案中进行了讨论: 如何在父母退出后让孩子过程死亡?