if(WIFEXITED(status))
{
printf("------ exit value: %d\n", WEXITSTATUS(status));
}
if(WIFSIGNALED(status))
{
printf("=======exit by signal: %d\n", WTERMSIG(status));
}
在围观waitpid.c的程序的时候发现了这么一个有趣的宏
首先是传入宏的参数status,是由子进程结束后返回的值.
WIFEXITED() : 子进程正常结束则为非零值
WIFSIGNALED() : 子进程因为信号结束, 则此为非零值
WEXITSTATUS() : 取得子进程exit()返回后的结束代码
WTERMSIG() : 取得子进程因信号而中止的信号代码
网友评论