wait和waitpid函数
来源:互联网 发布:fastboot 备份数据 编辑:程序博客网 时间:2024/05/21 18:33
1).如果其所有子进程都在运行,则该进程阻塞
2).如果一个子进程已经终止,正等待父进程获取其终止状态,则取得该进程的终止状态立即返回
3).如果它没有任何子进程,则立即出错返回。
#include <sys/wait.h>
#pid_t wait (int * statloc);
#pid_t waitpid (pid_t pid, int * statloc, int optins);
1).在一个子进程终止前,wait使其调用者阻塞,而waitpid有一个选项,可使调用者不阻塞。
2).waitpid并不等待在其调用之后的第一个终止子进程,它有若干个选项,可以控制它所等到的进程。
3).对于wait,其唯一的出错是调用进程没有子进程;对于waitpid,假如指定的进程或进程组不存在,或者参数pid指定的进程不是调用进程的子进程都可能出错。
4).Waitpid提供了wait没有的三个功能:一是waitpid可等待一个特定的进程;二是waitpid提供了一个waitpid的非阻塞版本;三是waitpid支持作业控制。
WIFEXITED(status)
若为正常终止子进程返回的状态,则为真。对于这种情况可以执行WEXITSTATUS(status),取子进程传送给exit、_exit或_Exit参数的低8位。
WIFSIGNALED(status)
若为异常终止子进程返回的状态,则为真(接到一个不捕捉的信号)。对于这种情况可以执行WTERMSIG(status),取得子进程终止的信号编号。
WIFSTOPPED(status)
若为当前暂停子进程返回的状态,则为真。对于这种情况可以执行WSTOPSIG(status),取得子进程暂停的信号编号。
WIFCONTINUED(status)
若在作业控制暂停后已经继续的子进程返回的状态,则为真。仅用于waitpid。
pid ==-1
pid >0
pid ==0
pid <-1
WCONTINUED
若实现支持作业控制,那么由pid指定的任一子进程在暂停后已经继续,但是状态没报告,则返回其状态
WNOHANG
若由pid指定的子进程并不是立即可用的,则waitpid不阻塞,此时返回值为0
WUNTRACED
若实现支持作业控制,那么由pid指定的任一子进程已经处于暂停状态并没报告过,则返回其状态
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wzhwho/archive/2009/02/26/3940952.aspx
- wait 和waitpid函数
- wait和waitpid函数
- wait() 和waitpid() 函数
- wait和waitpid函数
- wait和waitpid函数
- wait和waitpid函数
- wait和waitpid函数
- wait()和waitpid()函数
- 函数wait和waitpid
- wait和waitpid函数
- wait和waitpid函数
- wait和waitpid函数
- wait和waitpid函数
- wait函数和waitpid函数
- wait函数和waitpid函数
- 详解wait和waitpid函数
- wait,waitpid和exec函数
- wait,waitpid和exec函数
- 十道海量数据处理面试题与十个方法大总结
- LINUX内核设计思想之系统调用
- Android中BindService方式使用的理解
- 集群工具chukwa和ganglia
- serv-u 乱码解决
- wait和waitpid函数
- DatabaseMetaData获取数据库信息和表信息(表的列名,类型,主键等)SQL java
- [Usaco2009 Jan]安全路经Travel dijkstra + 并查集
- SharePoint2013网站添加切换用户登录
- nm命令介绍
- 响应性设计的一些想法
- ORACLE存储之NUMBER类型
- shell for while 循环用来一行一行读取文件内容
- mfc对话框拖动