我正在使用fork()
C/C++ 创建子进程.
当父进程结束(或由于某种原因被杀死)时,我也想要杀死所有子进程.
这是由系统自动完成的吗?或者我必须自己做?
谢谢.
预先存在的类似问题:
如何让父进程退出子进程?
父母退出后如何使子进程死亡?
Johannes Sch.. 46
否.如果父级被杀死,则子级成为init进程的子级(具有进程ID 1并且由内核作为第一个用户进程启动).
init进程定期检查新子进程并等待它们(从而释放由其返回值分配的资源).
这个问题已经在质量答案中进行了讨论: 如何在父母退出后让孩子过程死亡?
否.如果父级被杀死,则子级成为init进程的子级(具有进程ID 1并且由内核作为第一个用户进程启动).
init进程定期检查新子进程并等待它们(从而释放由其返回值分配的资源).
这个问题已经在质量答案中进行了讨论: 如何在父母退出后让孩子过程死亡?