Linux &引用;“无子进程”;调用waitpid两次时出错

Linux &引用;“无子进程”;调用waitpid两次时出错,linux,waitpid,Linux,Waitpid,出于某种原因,我必须在同一个子进程上调用waitpid两次: 第一次调用waitpid,没有错误: waitpid(pid, &status, WUNTRACED); 第二次: waitpid(pid, &status, WNOHANG|WUNTRACED); 出现错误:“无子进程”。我的代码有什么问题吗 更新: 如果子进程在我第一次调用waitpid之后或之前已经退出,这意味着父进程已经收获了这个子进程,那么第二次调用waitpid就会导致错误。这是否正确?是否在第二次wa

出于某种原因,我必须在同一个子进程上调用
waitpid
两次:

第一次调用
waitpid
,没有错误:

waitpid(pid, &status, WUNTRACED);
第二次:

waitpid(pid, &status, WNOHANG|WUNTRACED);
出现错误:“无子进程”。我的代码有什么问题吗

更新:


如果子进程在我第一次调用
waitpid
之后或之前已经退出,这意味着父进程已经收获了这个子进程,那么第二次调用
waitpid
就会导致错误。这是否正确?

是否在第二次
waitpid()
调用之前终止了子进程?AFAIR,
waitpid()
等待子进程终止(或其他状态更改)。

是否子进程在第二次
waitpid()
调用之前终止?AFAIR,
waitpid()
等待子进程终止(或其他状态更改)。

父进程通过调用
waitpid
获取子进程。如果子进程已收获,则不能
waitpid
。是否正确?父进程通过调用
waitpid
获取子进程。如果子进程已收获,则不能
waitpid
。这是正确的吗?