【发布时间】:2013-08-25 20:52:47
【问题描述】:
杀死父进程而不是父进程的最佳方法是什么?假设我有不确定数量的子进程,我已经派生了一个给定的警报,在我的信号处理程序中,我想杀死我所有的子进程,但由于各种原因让自己继续运行。
到目前为止,我正在使用 kill(-1*parentPid, SIGKILL) 但这会杀死我的父母及其孩子。
【问题讨论】:
-
你可以在 fork 时简单地在一个简单的数组中跟踪孩子的 PID 吗?
-
我试过了,但由于不知道要分叉的进程数量,我必须保持一个计数器,以便正确索引它们,并且计数器变量的状态是在多个流程中没有很好地定义......当然,我的实现可能很差。
-
所以你可以向父母和孩子发送信号,对吧?
-
李东,这是一个难题,在我当前的实现中,只有父级注册了信号处理程序......哎呀,我不妨发布代码。