进程等待
- 等待一个子进程退出
- 避免出现僵尸进程
//头文件:<sys/wait.h>
#include <sys/wait.h>
//wait()
pid_t wait(int* stat_loc)
//阻塞等待任意一个子进程的退出
//status:用于获取子进程的退出码,不关注则置空
//waitpid
pid_t wait(pid_t pid, int* stat_loc, int options)
//若pid = -1,则waitpid的功能与wait完全相同
//pid > 0, 则waitpid等待指定子进程退出
//status: 用于获取子进程的退出码, 不关注则置空(NULL)
//options:
// 0 : 阻塞等待子进程退出:只要当前进程没有退出,就一直等到当前进程退出才进行其他进程
// WNOHANG: 非阻塞等待子进程退出:若当前进程没有退出,则先进行其他进程,并且时刻关注本进程的状态
//返回值:
// >0 :退出子进程的pid
// ==0:当前没有子进程退出,非阻塞时才可能返回零
// <0:出错