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

代码:

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


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

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

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

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

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

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

相关推荐
zhougl9961 小时前
Vuex 模块命名冲突:问题解析与完整解决方案
linux·服务器·apache
一世琉璃白_Y1 小时前
Ubuntu(VMware)虚拟机网络异常排查与解决方案
linux·网络·ubuntu
AI+程序员在路上2 小时前
网桥及IP转发在嵌入式linux eth0与wlan0连接使用方法
linux·tcp/ip·php
I · T · LUCKYBOOM2 小时前
1.Apache网站优化
linux·运维·服务器·网络·apache
JANGHIGH3 小时前
vmware安装ubuntu虚拟机后与主机win10共享文件夹
linux·运维·ubuntu
GHL2842710903 小时前
vmware中无法看到共享文件夹
linux·运维·服务器
范纹杉想快点毕业3 小时前
嵌入式C语言实战开发详解
linux·运维·算法
天骄t3 小时前
数据库入门:SQLite实战指南
linux
张某人的胡思乱想3 小时前
周末随笔-整理ubuntu环境
linux·运维·ubuntu
翔云 OCR API4 小时前
智能发票查验接口在财务自动化中的技术实现与应用价值
linux·运维·自动化