首页 > 代码库 > shell lab
shell lab
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。