码迷,mamicode.com
首页 > 系统相关 > 详细

shell lab

时间:2016-09-23 21:15:31      阅读:296      评论:0      收藏:0      [点我收藏+]

标签:

pid_t waitpid(pid_t pid, int *status, int options);

返回:如果成功,返回子进程的PID,如果WNOHANG,则为0,如果其他错误,则返回-1;

options = 0(默认情况下)时,进程吊起直到等待列表中的一个子进程终止。

如果pid > 0,那么等待集合就是一个单独的子进程,子进程进程ID为pid。

如果pid = -1,那么等待集合就是由父进程所有的子进程组成的。

 

修改默认情况:
设置options为常量

WNOHANG:如果等待集合中的任何子进程还没有终止就立即返回0,以便在等待子进程终止的过程中做其他工作。

WUNTRACED:返回已终止或者被停止的子进程,默认行为是只返回已终止的子进程的PID。

WNOHANG | WUNTRACED:立即返回,如果等待集合中没有任何子进程已终止或者被停止,则返回0,否则返回相应PID。

头文件:errno.h

 

检查已回收子线程的退出状态:
技术分享

 

如果调用进程没有子进程,那么waitpid会返回-1,并且设置errno为ECHILD。如果waitpid函数被一个信号中断,那么它返回-1,并设置errno为EINTR。

头文件:errno.h

shell lab

标签:

原文地址:http://www.cnblogs.com/autoria/p/5901485.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!