您的位置:首页 > 大数据 > 人工智能

wait和waitpid函数

2015-09-22 16:53 411 查看
当一个进程正常或者异常终止时,内核就向其父进程发送SIGCHLD信号。父进程可以选择忽略该信号(系统默认的方式),也可以对该信号进行回馈。

对于调用wait和waitpid的进程:

(1)如果其所有子进程都还在运行,那么该进程阻塞

(2)如果一个子进程终止,则获取子进程的终止状态,并返回

(3)如果没有子进程,返回错误

#include <sys/wait.h>

pid_t wait(int *statloc);

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

两个函数的区别:

(1)waitpid可等待一个特定的进程,而wait则返回任一终止进程的状态,一旦某个子进程结束,就返回

(2)waitpid提供一个wait的非阻塞版本

(3)waitpid支持作业控制

WIFEXITED(status) 这个宏用来指出子进程是否为正常退出的,如果是,它会返回一个非零值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: