进程控制 - wait
优质
小牛编辑
133浏览
2023-12-01
函数原型
#include <sys/types.h>
#include <sys/wait.h>
pid_t wait(int *status);
返回值
-1 | 错误 |
---|---|
其他 | 被终止的子进程的id |
错误类型
错误时,系统记录的错误代码errno,有两种:
ECHILD | 没有子进程 |
---|---|
EINTER | 收到中断信号signal,立即返回 |
检测退出状态的宏
宏 | 缩写含义 | 描述 |
---|---|---|
WIFEXITED | wait if exited | 子进程正常退出时返回真值 |
WEXITSTATUS | wait exit status | 当上面宏为真时,返回子进程正常退出时状态 |
WIFSIGNALED | wait if signaled | 子进程由于信号导致终止,返回真值 |
WTERMSIG | wait terminate signal | 当上面宏为真时,返回终止子进程的信号类型 |
WIFSTOPPED | wait if stopped | |
WSTOPSIG | wait stop signal | |
WIFCONTINUED | wait if continued |
上表记忆方式为3+1,三对加一单
另外有书中提及WCOREDUMP,即wait core dump(核心转储),不过man手册中未提及此宏