函数waitpid和WTERMSIG说明(转)
2017-01-20 00:46
267 查看
p { margin-bottom: 0.25cm; line-height: 120% }
a:link { }
waitpid系统调用在Linux函数库中的原型是:
从本质上讲,系统调用waitpid和wait的作用是完全相同的,但waitpid多出了两个可由用户控制的参数pid和options,从而为我们编程提供了另一种更灵活的方式。下面我们就来详细介绍一下这两个参数:
从参数的名字pid和类型pid_t中就可以看出,这里需要的是一个进程ID。但当pid取不同的值时,在这里有不同的意义。
options提供了一些额外的选项来控制waitpid,目前在Linux中只支持WNOHANG和WUNTRACED两个选项,这是两个常数,可以用"|"运算符把它们连接起来使用,比如:
如果我们不想使用它们,也可以把options设为0,如:
如果使用了WNOHANG(wait no hung)参数调用waitpid,即使没有子进程退出,它也会立即返回,不会像wait那样永远等下去。
而WUNTRACED参数,由于涉及到一些跟踪调试方面的知识,加之极少用到,这里就不多费笔墨了,有兴趣的读者可以自行查阅相关材料。
WTERMSIG(status) 取得子进程因信号而中止的信号:
转载:http://blog.csdn.net/midion9/article/details/49681179
a:link { }
waitpid系统调用在Linux函数库中的原型是:
#include <sys/types.h> #include <sys/wait.h> pid_t waitpid(pid_t pid,int *status,int options)
从本质上讲,系统调用waitpid和wait的作用是完全相同的,但waitpid多出了两个可由用户控制的参数pid和options,从而为我们编程提供了另一种更灵活的方式。下面我们就来详细介绍一下这两个参数:
pid>0时,只等待进程ID等于pid的子进程,不管其它已经有多少子进程运行结束退出了,只要指定的子进程还没有结束,waitpid就会一直等下去。 pid=-1时,等待任何一个子进程退出,没有任何限制,此时waitpid和wait的作用一模一样。 pid=0时,等待同一个进程组中的任何子进程,如果子进程已经加入了别的进程组,waitpid不会对它做任何理睬。 pid<-1时,等待一个指定进程组中的任何子进程,这个进程组的ID等于pid的绝对值。
从参数的名字pid和类型pid_t中就可以看出,这里需要的是一个进程ID。但当pid取不同的值时,在这里有不同的意义。
pid>0时,只等待进程ID等于pid的子进程,不管其它已经有多少子进程运行结束退出了,只要指定的子进程还没有结束,waitpid就会一直等下去。 pid=-1时,等待任何一个子进程退出,没有任何限制,此时waitpid和wait的作用一模一样。 pid=0时,等待同一个进程组中的任何子进程,如果子进程已经加入了别的进程组,waitpid不会对它做任何理睬。 pid<-1时,等待一个指定进程组中的任何子进程,这个进程组的ID等于pid的绝对值。
options提供了一些额外的选项来控制waitpid,目前在Linux中只支持WNOHANG和WUNTRACED两个选项,这是两个常数,可以用"|"运算符把它们连接起来使用,比如:
ret=waitpid(-1,NULL,WNOHANG | WUNTRACED);
如果我们不想使用它们,也可以把options设为0,如:
ret=waitpid(-1,NULL,0);
如果使用了WNOHANG(wait no hung)参数调用waitpid,即使没有子进程退出,它也会立即返回,不会像wait那样永远等下去。
而WUNTRACED参数,由于涉及到一些跟踪调试方面的知识,加之极少用到,这里就不多费笔墨了,有兴趣的读者可以自行查阅相关材料。
WTERMSIG(status) 取得子进程因信号而中止的信号:
#include <sys/wait.h> int WTERMSIG(int status);
转载:http://blog.csdn.net/midion9/article/details/49681179
相关文章推荐
- pipe、dup、dup2、wait、waitpid、fork函数说明
- JScript中正则表达函数的说明与应用
- TC2.0函数说明
- Turbo C 2.0 函数中文说明大全
- sap里部分函数说明
- 主调函数对被调函数任类型说明(申明)的问题[转]
- Win2000共享内存 CreateFileMapping的函数参数说明
- 常用的oracle函数使用说明(一)
- JScript中正则表达函数的说明与应用
- snort中的实用函数的说明
- [教程]JScript中的变量引用规则(补充,函数用法说明)
- JScript中正则表达函数的说明与应用
- C++的一些基本功,包括对常量成员函数的一些特殊说明
- 关于ATL自动生成的事件激发函数Fire_XXX(...)的代码说明
- ASP中的函数说明
- TUXEDO 函数 说明 (中文)
- OpenGL的函数中文说明一:glBlendFunc
- phplib7.2 模版功能函数说明
- 常用的oracle函数使用说明(二)
- JScript中正则表达函数的说明与应用