进程是否可以等待不是其中一个子进程的PID?

时间:2018-01-26 09:53:53

标签: c concurrency posix child-process waitpid

我想知道我们是否可以使用系统调用

  

waitpid函数()

等待孙子的pid

1 个答案:

答案 0 :(得分:2)

waitpid()是POSIX。

The POSIX standard says

  

wait() waitpid()函数应获取与其中一个调用者子进程相关的状态信息(请参阅状态信息)。

所以你的问题的答案是“不”,至少从标准的角度来看。

这并不一定要使实现不提供标准的扩展。

来自POSIX:

  

本卷POSIX.1-2008中没有任何内容阻止实现提供允许进程从孙子或任何其他进程获取状态的扩展,但必须保证不使用此类扩展的进程从只有它的直接孩子。