我正在使用C / C ++中的fork()
创建子进程
当父进程结束(或由于某种原因被杀死)时,我希望所有子进程都被杀死
这是由系统自动完成的吗?或者我必须自己做?
感谢。
预先存在的类似问题:
答案 0 :(得分:43)
没有。如果父进程被终止,则子进程将成为init进程的子进程(具有进程ID为1并由内核作为第一个用户进程启动)。
init进程定期检查新子进程并等待它们(从而释放由返回值分配的资源)。
这个问题已在质量答案中讨论过了: How to make child process die after parent exits?