本文介绍: 我们开始讲解进程等待,简单地讲解 wait 函数,然后我们主要讲解 waitpid 函数。由于 wait 只有一个参数 status,且 waitpid 有三个参数且其中一个也是 status,我们本章重点讲解这个 status 参数。
前言:我们开始讲解进程等待,简单地讲解 wait 函数,然后我们主要讲解 waitpid 函数。由于 wait 只有一个参数 status,且 waitpid 有三个参数且其中一个也是 status,我们本章重点讲解这个 status 参数。
一、进程等待(Process wait)
1、进程等待的必要性
为什么要进行进程等待?不知道大家是否还记得我们在之前的章节讲过的 “僵尸进程” 的概念。
子进程退出如果父进程不管不顾,就 可能造成僵尸进程的问题,一直占内存进而引发内存泄露。
所以我们必须让其从 状态变为
状态:
进而允许操作系统能去释放它(将代码和数据 free 掉,将相关数据结构归还给 slab 分派器)。
上面我们讲的实际上就是我们需要进程等待的一个原因 —— 解决内存泄露问题 。
2、wait 函数
3、cwaitpid 函数初识
二、wait/waitpid 的 status 参数
1、status 参数是位图结构
2、次低八位:拿子进程退出码
3、 最低七位:提取子进程的退出信号
4、进程退出的宏
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。