【Linux】子进程的异步等待方式
来源:互联网 发布:js数组对象排序函数 编辑:程序博客网 时间:2024/06/08 14:13
子进程在终止时会给父进程发 SIGCHLD 信号,该信号的默认处理动作是忽略,父进程可以自定义 SIGCHLD 信号的处理函数,这样父进程只需专心处理自己的工作,不必关心子进程了,子进程终止时会通知父进程,父进程在信号处理函数中调用 wait 清理子进程即可。
一、子进程退出时给父进程发送信号
vim mysig.c
vim Makefile
运行结果如下:
我们可以看到子进程退出时给父进程发送了 17 号信号,我们用命令 kill -l 查看信号列表,可以看到 17 号信号就是 SIGCHLD 信号。
二、父进程异步等待子进程
vim sigchld.c
vim Makefile
运行结果如下:
我们可以发现父进程 fork 出子进程,子进程调用 exit(1) 终止,父进程自定义 SIGCHLD 信号的处理函数,在其中调用 wait 获得了子进程的退出状态并打印。父进程先每隔一秒打印一次,五秒后子进程打印,然后子进程彻底退出,父进程一直打印直到我们强制停止它。
阅读全文
0 0
- Linux子进程的异步等待方式
- Linux----子进程的异步等待方式
- 【Linux】子进程的异步等待方式
- 【Linux】子进程的异步等待方式
- 【Linux】子进程的异步等待方式
- Linux子进程的异步等待方式(SIGCHLD信号)
- 子进程的异步等待方式
- 子进程的异步等待方式
- 子进程的异步等待方式
- 子进程的异步等待方式
- 子进程的异步等待方式
- 子进程的异步等待方式
- 子进程的异步等待方式
- 子进程的异步等待方式
- 子进程的异步等待方式
- 子进程的异步等待方式
- 子进程的异步等待方式
- 子进程的异步等待方式
- [leetcode]78. Subsets(Java)
- 22题:栈的压入、弹出顺序
- windows10IoT+树莓派官方摄像头(Pi Camara) == 暂时无解
- Java String 提取 http 网址
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- 【Linux】子进程的异步等待方式
- ajax beforeSend complete 方法
- VUE开发环境的搭建
- centos启动tomcat后局域网无法访问,发现8080端口被tcp6占用解决方法
- 存储过程中带游标
- 简版本聊天室server&client-已验证OK
- JavaWeb核心之Servlet
- Linux_Nutch1.12 安装笔记
- 关于sitemesh装饰器的使用方式