【发布时间】:2011-06-03 15:05:54
【问题描述】:
我 fork() 进入进程 X 和 Y,然后 Y forks() 再次进入自身并多次处理 Z。
现在进程 Y 是某种“听众”,我希望 X 成为删除者。 Z 进程执行实际操作。 Z 进程是 X 的孙子进程。
通过 FIFO 和一些信号,X 生成了 Z 进程的所有 pid 的列表。现在的问题是我想用 X 删除 Z 进程僵尸(通过 pid 列表)。
我已经用waitpid() 尝试过,但这当然行不通(它只适用于直系子女)。但是我已经阅读了有关为此自己进行扩展的可能性。但我真的不知道该怎么做。
我曾想过删除器会保留另一个僵尸列表(退出时发出信号),但这与我保存 pid 时所做的一样,我想以不同的方式进行。
有人知道怎么做吗?
【问题讨论】: