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

代码:

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


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

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

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

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

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

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

相关推荐
雾岛听蓝10 分钟前
Linux线程基础
linux·开发语言·经验分享
齐落山大勇15 分钟前
Linux的文件IO
linux·运维·服务器
tod11332 分钟前
深入解析ext2文件系统架构
linux·服务器·c++·文件系统·ext
萧行之1 小时前
FRP 0.62.0 + Mac Ollama 公网穿透部署+排障实录(标准 TOML 格式)
linux·服务器
齐潇宇1 小时前
文件共享服务器
linux·运维·网络·文件共享
顺顺 尼1 小时前
进程(从操作系统的状态到linux的进程状态一步到位)
linux·服务器
x-cmd2 小时前
[260412] x-cmd v0.8.13:x free 新增进程内存显示,feishu、telegram REPL 机器人齐上线!
linux·macos·机器人·内存·x-cmd·telegram·feishu
昔我往昔2 小时前
Linux修改静态ip
linux·服务器·tcp/ip
c++逐梦人2 小时前
线程同步与互斥
linux·开发语言