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

代码:

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


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

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

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

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

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

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

相关推荐
Doraemomo2 小时前
Linux编程-标准IO和系统IO
linux·运维·服务器
骇客野人2 小时前
Linux 查看 Java 进程常用命令
java·linux·运维
睡一觉就好了。2 小时前
Linux 信号机制
linux·运维·网络
正点原子3 小时前
【正点原子Linux连载】 第十章 pinctrl和gpio子系统实验 摘自【正点原子】ATK-DLRK3568嵌入式Linux驱动开发指南
linux·运维·驱动开发
气泡水。3 小时前
RHCSA笔记实记
linux·笔记
波特率1152003 小时前
linux当中的六大进程间通信方式
linux·嵌入式·ipc
RisunJan3 小时前
Linux命令-ssh-keyscan(从主机收集公钥)
linux·ssh
A_humble_scholar5 小时前
Linux(二) C++ TCP/UDP网络编程
linux·网络·c++
mgaofeid5 小时前
Ubuntu 24.04 中文输入法安装
linux·运维·ubuntu
xywww1685 小时前
真实后台页实测:Opus 5 看图写前端的可用边界在哪
linux·服务器·前端·数据库·人工智能·gpt