标签:
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
标签:
原文地址:http://www.cnblogs.com/autoria/p/5901485.html