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

代码:

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


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

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

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

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

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

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

相关推荐
xiaoming001828 分钟前
JAVA项目打包部署运维全流程(多服务、批量)
java·linux·运维
浪客灿心1 小时前
Linux五种IO模型与非阻塞IO
linux·网络
洋哥网络科技1 小时前
centos7 升级openssh-10.2
linux·运维·服务器·系统安全
我先去打把游戏先1 小时前
【保姆级图文教程】:VMware虚拟机安装Ubuntu Server 22.04
linux·数据库·ubuntu
派葛穆2 小时前
Ubuntu-软件安装和执行
linux·运维·ubuntu
AlickLbc2 小时前
WSL2安装Ubuntu与Claude Code记录
linux·运维·ubuntu
青天喵喵2 小时前
Linux WiFi 架构解析:连接流程(基础篇二)
linux·运维·架构·嵌入式·wi-fi·sta·ap
Bug-制造者2 小时前
正则表达式 vs Shell通配符:彻底分清,告别命令行踩坑
linux·正则表达式
雨的旋律20992 小时前
linux网卡绑定bond设置一步不少
linux·运维·网络
OpenAnolis小助手2 小时前
Anolis OS Linux Dirty Frag 漏洞安全声明
linux·安全·web安全·龙蜥社区