僵尸进程和孤儿进程
来源:互联网 发布:linux系统管理员薪水 编辑:程序博客网 时间:2024/05/29 17:53
一、概念的引入
在Linux环境中,子进程是父进程通过fork函数创建的,子进程和父进程相互独立,子进程和父进程的运行是异步的,当一个进程因为某种原因终止时,它的父进程需要调用wait()或者waitpid()系统调用取得子进程的终止状态。
1、僵尸进程
一个终止了但是没有被父进程回收的进程成为僵尸进程。
2、孤儿进程
如果一个进程正在运行但是它的父进程终止了,此时该进程就是孤儿进程,系统会安排init进程来回收孤儿进程,init进程的PID为1,是在系统启动之后由内核创建的,它永远不会终止。
二、僵尸进程和孤儿进程带来的危害
1、僵尸进程
虽然子进程已经退出了,但是在系统进程中还为它保留了一些退出状态的信息,如果父进程一直不读取这些退出状态的话,这些进程表项将一直被占用,系统进程表是一项有限资源,如果系统进程表被僵尸进程耗尽的话,系统可能无法创建新的进程。
2、孤儿进程
由于每次init进程都会回收孤儿进程,因此孤儿进程并不会造成什么危害。
三、验证僵尸进程和孤儿进程
1、验证僵尸进程
代码如下:
该程序的运行结果如下图:
如上图所示,由于子进程已经退出但是没有被父进程回收,因此成为了僵尸进程。
2、验证孤儿进程
代码如下:
该程序大的运行结果如下图:
由图可知,子进程为孤儿进程,并且他被1号进程回收。
0 0
- 孤儿和僵尸进程
- 孤儿进程和僵尸进程
- 僵尸进程和孤儿进程
- 孤儿进程和僵尸进程
- 孤儿进程和僵尸进程
- 僵尸进程和孤儿进程
- 孤儿进程和僵尸进程
- 僵尸进程和孤儿进程
- 僵尸进程和孤儿进程
- 僵尸进程和孤儿进程
- 僵尸进程和孤儿进程
- 僵尸进程和孤儿进程
- 僵尸进程和孤儿进程
- 孤儿进程和僵尸进程
- 僵尸进程和孤儿进程
- 孤儿进程和僵尸进程
- 僵尸进程和孤儿进程
- 孤儿进程和僵尸进程
- html标签属性
- html和css
- typedef 定义函数指针
- 使用Docker部署 spring-boot maven应用
- MQTT 要点: Part 1 – MQTT介绍
- 僵尸进程和孤儿进程
- 算法的时间复杂度和空间负责度、最坏情况和平均情况
- 浅谈Java SE、Java EE、Java ME三者的区别
- 实验一:Guass列选主元消去法之C语言代码
- 2017.4.13腾讯实习,软件开发-运营开发岗,2面手撕组合排列C++代码
- eclipse版本-从3.1版本至4.6版本
- 请描述osi七层模型,并简要概括各层功能
- spring构造方法注入时间类型问题
- 一步一步写算法(之hash表)