父进程可以通过waitpid等待子进程的退出:
pid_t waitpid(pid_t pid, int *status, int options);
参数说明:
pid:
pid<-1: 等待进程组识别码为pid 绝对值的任何子进程.
pid=-1: 等待任何子进程, 相当于wait().
pid=0: 等待进程组识别码与目前进程相同的任何子进程.
pid>0: 等待任何子进程识别码为pid 的子进程.
status:用于获取子进程的返回状态
WIFEXITED(status) | 如果子进程正常结束,它就返回真;否则返回假 |
WEXITSTATUS(status) | 如果WIFEXITED(status)为真,则可以用该宏取得子进程exit()返回的结束代码 |
WIFSIGNALED(status) | 如果子进程因为一个未捕获的信号而终止,它就 |