fork系统调用关于如何让子进程先运行{wait(),waitpid(),sleep()}
2024-10-12 08:08:20
在父进程里面调用wait()和waitpid()可以确保子进程先运行,因为当子进程运行完后会变成僵尸进程,此时会发送一个信号给父进程,父进程接受到信号才会运行。
有人或许会问如果在父进程调用wait之前子进程已经运行完了,父进程还会不会运行。答案:即使子进程运行完了,变成僵尸进程,父进程依然会调用wait函数来获取僵尸进程的信息来运行。
对于sleep函数,我还是存在一点疑问的,因为我觉得sleep只是让父进程休眠了一段时间,并不了保证子进程在这段时间里运行了,也就不能确保子进程一定先运行。但是在现实情况下,只要cpu等资源足够一般使用sleep后子进程的确要先运行。
最新文章
- 拖拽对DOM的影响
- linux环境搭建
- objective c, category 和 protocol 中添加property
- handler机制的原理
- 转载.net泛型理解说明
- Node.js权威指南 (10) - Node.js中的错误处理与断言处理
- jquery绑定事件on的用法
- 福建省队集训被虐记——DAY2
- 搭建 Linux 下 GitLab 服务器(转)
- YAML书写规范
- hibernate 持久化对象的三个状态
- Cs231n课堂内容记录-Lecture2-Part1 图像分类
- HDU 1017(** **)
- Servlet(11)—客户端跳转和服务端跳转
- vue-cli配置多入口多出口,实现一个项目两个访问地址,区分不同上线环境
- 静态分析Android程序
- delphi 属性 参数 新注释
- Accer 4752G添加固态硬盘 双系统
- 线段树区间更新 lazy
- 转: MySQL5.7 ERROR 1142 (42000)问题
热门文章
- DE2资源集锦
- day27 Pyhton 面向对象02 组合
- spring boot:使用async异步线程池发送注册邮件(spring boot 2.3.1)
- spring boot:使接口返回统一的RESTful格式数据(spring boot 2.3.1)
- scrapy 管道里面使用mysql插入数据库 python操作mysql
- Linux运维学习第四周记
- 图解git,用手绘图带你理解git中分支的原理和应用
- VirtualBox 安装Ubuntu(16.04/18.04)时显示不全的解决方法
- 专攻知识小点——回顾JavaWeb中的servlet(二)
- PostgreSQL 报错 Problem running post-install step.Installation may not complete correctlyThe database cluster initialisation failed.