子进程的异步等待方式

信号:Linux中的信号是一种时间通知机制,告诉某事件发生,并说明如何发生。
利用kill -l 指令可以查看信号,其中1——31为普通信号,34——64为实时信号。

等待分为阻塞式等待和非阻塞式等待,我们用非阻塞式等待实现异步。
一个子进程退出时,子进程会主动向父进程发送SIGCHLD信号,父进程一般忽略。我们队SIGCHLD信号进行捕捉。

下面验证子进程退出时给父进程发送信号
代码:
这里写图片描述

子进程先睡眠5秒,父进程先运行,5秒后子进程运行,退出后给父进程发送信号,父进程接收子进程发送的退出信号,继续运行。

运行结果:
这里写图片描述

父进程等待子进程:
这里写图片描述

运行结果:

这里写图片描述

运行后等待5秒,开始输出子进程的运行结果,然后父进程运行,父进程等待子进程运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值