等待孩子完成

时间:2016-07-26 14:36:51

标签: c fork infinite-loop

我希望我的父进程等到所有子进程和子进程的子进程完成。我使用过while(waitpid(-1,NULL,0)),但它只是创建了一个无限循环。我还使用了waitpid(pid_child,&status,WNOHANG),但它只是在子进程结束而不是子进程的子进程时结束。

注意:pid_child是我在父进程中从fork()获得的PID。

1 个答案:

答案 0 :(得分:4)

一个过程可能只等待其直接的孩子。它不能等待孩子的孩子。

你能做的最好的事情就是让孩子们等待孩子的孩子,让父母等待孩子。