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

代码:

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


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

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

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

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

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

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

相关推荐
昌原的儿子LEO38 分钟前
进程和线程(2)
linux·服务器·网络
会飞的土拨鼠呀1 小时前
Linux 真实内存使用率的核心计算标准
linux·运维·服务器
陈年老古董2 小时前
CentOS编译安装Python3.11完整教程
linux·笔记·学习·centos·python3.11
深念Y3 小时前
为什么选 Go:直观、可维护、AI 友好
linux·开发语言·人工智能·golang·agent·harness
笨笨饿3 小时前
#111_关于FreeRTOS面试的一些题目
linux·ubuntu·面试·职场和发展·centos·rtos
当代红领巾3 小时前
VMware 里装好 Linux 系统没有 ipv4 地址?
linux·运维·服务器
老当益壮梁奶奶3 小时前
Linux 软件编程学习笔记(六):线程编程入门与实践
linux·c语言·c++·笔记·学习
2401_868534784 小时前
运维工程师大厂 Nginx 面试题(二)
linux·网络协议
M78佐菲4 小时前
Linux学习笔记:文件IO
linux·笔记·学习·算法
Vcaker4 小时前
Linux学习22-openstack部署与使用
linux·运维·学习