进程等待
等待的必要性
-
子进程退出,父进程不进行回收的话,就可能造成僵尸进程,进而造成内存泄露
-
如果进程进入了僵尸状态,kill也杀不掉这个进程。因为谁也杀不死一个已经死去的进程
-
父进程派给子进程的任务完成的如何,使用者应该直到结果。子进程的任务是完成了还是未完成。
-
父进程通过进程等待(wait)的方式,回收子进程的资源,获取子进程的退出信息
-
父进程通过wait的方式,回收子进程的资源
子进程的退出信息,保存在子进程的pcb中。
进程等待的方法
#include<sys/types.h>
#incldue<sys/wait.h>
pid_t wait(int *status);
pid_t waitpid(pid_t pid, int *status, int options);
wait
pid_t wait(int *status);
- 默认进行阻塞等待,子进程没有退出,父进程就一直等待。
- 等待父进程的任意一个子进程退出。
- 返回值: