Linux wait()/waitpid()
这里写目录标题
- wait()
- waitpid()
wait()
使用wait()函数与waitpid()函数让父进程回收子进程的系统资源,两个函数的功能大致类似,waitpid()函数的功能要比wait()函数的功能更多。
所需头文件:
#include<sys/types.h>
#include<sys/wait.h>函数原型:
pid_t wait(int *status)函数参数:
status 保存子进程结束时的状态(由exit();返回的值)。使用地址传递,父进程获得该变量。若无需获得状态,则参数设置为NULL返回值:
成功:已回收的子进程的PID
失败:-1
当进程结束时,该进程会向它的父进程报告。wait()函数用于使父进程阻塞,直到父进程接收到一个它的子进程已经结束的信号为止。如果该进程没有子进程或所有子进程都已结束,则wait()函数会立即返回-1。
waitpid()
所需头文件:
#include<sys/types.h>
#include<sys/wait.h>函数原型:
pid_t waitpid(pid_t pid, int *status, int options)函数参数:
pid
pid>0 回收PID等于参数pid的子进程
pid==-1 回收任何一个子进程。此时同wait()
pid==0 回收其组ID等于调用进程的组ID的任一子进程
pid<-1 回收其组ID等于pid的绝对值的任一子进程status
同wait()options 0:同wait(),此时父进程会阻塞等待子进程退出
WNOHANG:若指定的进程未结束,则立即返回0(不会等待子进程结束)返回值:
>0 已经结束运行的子进程号
0 使用WNOHANG选项且子进程未退出
-1 错误
waitpid()函数的功能与wait()函数一样,不过waitpid()函数有若干选项,所以功能也比wait()函数更加强大。实际上,wait()函数只是waitpid()函数的一个特例而已,Linux内核总是调用waitpid()函数完成相应的功能。
wait(NULL)等价于waitpid(-1,NULL,0)。
Linux wait()/waitpid()相关推荐
- linux waitpid实例,Linux中waitpid()函数的用法
大家知道,当用fork启动一个新的子进程的时候,子进程就有了新的生命周期,并将在其自己的地址空间内独立运行.但有的时候,我们希望知道某一个自己创建的子进程何时结束,从而方便父进程做一些处理动作.同样的 ...
- 【转】linux中waitpid及wait的用法
原文网址:http://www.2cto.com/os/201203/124851.html wait(等待子进程中断或结束) 表头文件 #include<sys/types.h> #in ...
- linux 进程退出原因,linux – 为什么waitpid不等待进程退出?
在下面的脚本中,我试图弄清楚waitpid是如何工作的,但它不会等待ssh进程退出.完成后立即打印,而不是在ssh过程存在之后. 题 当我给它的pid退出时,如何才使waitpid继续? #!/usr ...
- Linux环境编程--waitpid与fork与execlp
waitpid waitpid(等待子进程中断或结束) 表头文件 #include<sys/types.h> #include<sys/wait.h> 定义函数 pid_t w ...
- Linux环境编程--linux中的perror、exit、_exit、wait 和 waitpid
perror: #include<stdio.h> #include<stdlib.h> 定义函数 void perror(const char *s); pe ...
- linux c之wait和waitpid函数的用法和总结
1.wait和waitpid函数的介绍 1) wait()函数用于使父进程(也就是调用wait()的进程)阻塞,直到一个子进程结束或者该进程接收到了一个指定的信号为止.如果该父进程没有子进程或者它的 ...
- Linux中wait()函数及waitpid()函数
编程过程中,有时需要让一个进程等待另一个进程,最常见的是父进程等待自己的子进程,或者父进程回收自己的子进程资源包括僵尸进程.这里简单介绍一下系统调用函数:wait() 函数原型是 #include & ...
- Linux 等待进程结束 wait() 和 waitpid()
若子进程先于父进程结束时,父进程调用wait()函数和不调用wait()函数会产生两种不同的结果: --> 如果父进程没有调用wait()和waitpid()函数,子进程就会进入僵死状态. -- ...
- linux基础知识——wait函数和waitpid函数回收子进程
1.wait函数回收子进程 \qquad父进程可以调用wait()函数回收子进程的终止信息.wait函数有三个功能: \qquad阻塞等待子进程退出 \qquad回收子进程残留资源 \qquad获取子 ...
最新文章
- Hello World!团队第四次会议
- notepad python_Notepad++配置Python开发环境
- CVPR 2020 | 自适应聚合网络AANet:更高效的立体匹配
- 伪元素::before与::after的用法
- UIButton设置圆角和边框及边框颜色
- 程序人生:给所有程序员的27个建议,抽空看看吧!
- TestNG中的参数化– DataProvider和TestNG XML(带有示例)
- 什么从什么写短句_2020抖音文案短句:爱情、励志、伤感合集,值得收藏!
- HiveQL学习笔记(三):Hive表连接
- 【转】Linux里如何查找文件内容
- 爱客影院自动采集程序源码v3.5.5
- 觅风易语言[11-20]
- 【线性代数】P7 方阵的行列式伴随矩阵
- 斯坦福的《机器学习》课程上线了
- JAVA基础(完结版)
- PHP获取客户端真实 IP 地址
- [Android]朝花夕拾之使用DexClassLoader动态加载广点通jar包
- STM32F411 Discovery学习笔记(四)串口
- Java【有哪些适合新手练手的Java项目?】
- 互联网基础与应用复习