【发布时间】:2014-06-19 16:22:34
【问题描述】:
假设,假设 main() 函数创建了第二个调用 fork() 的进程,假设这个新进程开始通过函数 makeChildren() 创建自己的子进程,循环中有一百万,疯狂的用户。 Fork() 失败,makeChildren() 返回错误。如何摆脱这些已经创建的新流程?我可以使用 killpg(getpgrp(), SIGKILL) 吗?如果我理解正确的话,这个场景中的每个进程都有相同的组 ID,不是吗?当我使用 killpg(getpgrp(), SIGKILL) 程序将立即终止,对吗?我必须使用 setpgid() 吗?我想杀死这个僵尸并在主释放共享内存、信号量等...谢谢您的任何解释。
【问题讨论】:
标签: c linux multithreading error-handling