进程控制 - wait

优质
小牛编辑
130浏览
2023-12-01

函数原型

  1. #include <sys/types.h>
  2. #include <sys/wait.h>
  3. pid_t wait(int *status);

返回值

-1错误
其他被终止的子进程的id

错误类型

错误时,系统记录的错误代码errno,有两种:

ECHILD没有子进程
EINTER收到中断信号signal,立即返回

检测退出状态的宏

缩写含义描述
WIFEXITEDwait if exited子进程正常退出时返回真值
WEXITSTATUSwait exit status当上面宏为真时,返回子进程正常退出时状态
WIFSIGNALEDwait if signaled子进程由于信号导致终止,返回真值
WTERMSIGwait terminate signal当上面宏为真时,返回终止子进程的信号类型
WIFSTOPPEDwait if stopped
WSTOPSIGwait stop signal
WIFCONTINUEDwait if continued

上表记忆方式为3+1,三对加一单

另外有书中提及WCOREDUMP,即wait core dump(核心转储),不过man手册中未提及此宏