三个功能
- 阻塞等待子进程退出
- 回收子进程残留资源
- 获取子进程结束状态(退出原因)
函数原型:
pid_t wait(int *status);
可以使用wait函数传出的参数status来保存进程的退出状态,借助宏函数来进一步判断进程终止的具体原因
if(WIFEXITED(status))//结束状态
printf("status:%d\n", WEXITSTATUS(status));
if (WIFSIGNALED(status_sig))//终止信号
printf("status_sig:%d\n", WTERMSIG(status_sig));