Linux--实现父进程非阻塞等待子进程的while循环

代码:

cpp 复制代码
int quit = 0;
while (!quit)
{
	//1,等待成功&&子进程退出
	quit = 1;


	//2.等待成功&&子进程并未退出
    //执行处理其它任务
    
	//3.等待失败
	quit = 1;
}

阻塞等待不需要while循环,他就是只判断一次。

非阻塞判断要多次判断,因为子进程等待成功&&未退出时,父进程要跑去执行其它任务。过一段时间又要跑回来判断子进程的退出情况。

如果等待成功&&子进程未退出,那么父进程就可以去干其它的事情,过段时间再来判断是否等待成功&&子进程退出

如果是等待成功&&子进程退出和等待失败,那么就父进程没有wait等待子进程的必要了,就可以退出while等待了

退出方式就是令quit为一个非0的数,那么while(!quit)判断时,就为假。即跳出循环,不再等待

相关推荐
Xの哲學6 小时前
Linux流量控制: 内核队列的深度剖析
linux·服务器·算法·架构·边缘计算
tuokuac6 小时前
docker中nginx配置报错解决
linux·运维·服务器
Zeku6 小时前
20251129 - 详细解析Linux的mmap(内存映射)
linux·驱动开发·嵌入式软件·linux应用开发
Joren的学习记录7 小时前
【Linux运维大神系列】docker详解(四)
linux·运维·docker
老王熬夜敲代码8 小时前
网络中数据传输的具体过程
linux·网络·笔记
世转神风-8 小时前
linux使用终端打开当前文件夹界面
linux
刘某的Cloud9 小时前
列表、元组、字典、集合-组合数据类型
linux·开发语言·python
学烹饪的小胡桃9 小时前
【运维学习】实时性能监控工具 WGCLOUD v3.6.2 更新介绍
linux·运维·服务器·学习·工单系统
知识分享小能手10 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04的桌面环境 (4)
linux·学习·ubuntu
Lueeee.10 小时前
图解字符驱动模块设计思路
linux