栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux 进程 之 等待

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux 进程 之 等待

在 Linux 中,进程控制有四种状态:创建、退出、等待、替换。

本篇博客讲述 等待 状态下的一些事:

等待:父进程等待子进程退出,获取退出子进程返回值,释放退出子进程资源,避免出现僵尸进程;
进程等待:等待子进程退出,获取子进程返回值,释放子进程资源,避免出现僵尸进程!!!!!

以下与 等待 状态相关的函数,使用时需包含 头文件 #include
1)wait()

pid_t wait(int *status);

等待任意一个子进程退出,通过 status 获取退出返回值,释放资源
返回值:成功则返回子进程的pid;错误返回-1
2)waitpid()

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

可以等待任意子进程退出,也可以等待指定的子进程退出
可以阻塞等待子进程退出,也可以非阻塞等待子进程退出

参数说明:
pid : 若为 -1,则等待任意子进程;若大于0,则等待指定子进程
options :0 即默认阻塞等待; WNOHANG 即非阻塞等待

进程返回值:status
高8位为进程返回值,
低8位中的第8位(由低到高的第8位)为 core dump,当异常退出时,将所有运行信息全部保存在core文件中,便于异常后的调试;其低7位 – 异常退出值,若为0,正常退出,反之为异常退出
注意:core文件内存很大,且有安全隐患!!!!!!所以core dumped默认关闭

返回值:成功则返回值大于0,会返回子进程的pid,没有子进程退出则返回0,只有在非阻塞条件下存在;错误返回 -1。

waitpid(-1,NULL,0) 等价于 wait(NULL)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/308797.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号