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
。这是正确的吗?