僵尸进程和孤儿进程
2015-08-28 08:40
225 查看
linux提供了一种机制可以保证只要父进程想知道子进程结束时的状态信息, 就可以得到。这种机制就是: 在每个进程退出的时候,内核释放该进程所有的资源,包括打开的文件,占用的内存等。 但是仍然为其保留一定的信息(包括进程号the process ID,退出状态the termination status of the process,运行时间the amount of CPU time taken by the process等)。直到父进程通过wait / waitpid来取时才释放。
孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。
僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵尸进程。
僵尸进程并不是问题的根源,罪魁祸首是产生出大量僵死进程的那个父进程,所以,解决方法就是kill那个父进程,于是僵尸进程就可以被init进程接收,释放。
孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。
僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵尸进程。
僵尸进程并不是问题的根源,罪魁祸首是产生出大量僵死进程的那个父进程,所以,解决方法就是kill那个父进程,于是僵尸进程就可以被init进程接收,释放。
相关文章推荐
- Win10家庭版Windows聚焦功能怎么玩?Win10家批量命名聚焦锁屏的方法
- 利用jquery实现在html的表格中使用上下左右键切换单元格,同时只限制单元格输入数字
- Object类
- 每天5道面试题(五)java基础
- java里类方法和实例方法区别
- t-sql
- Win10 Build 10532手机版iso镜像什么时候发布? 9月15日左右
- 最新基于adt-bundle-windows-x86的android开发环境搭建
- 面向对象的思想
- jenkins+maven+tomcat持续集成配置
- Git中的AutoCRLF与SafeCRLF换行符问题
- 004Median of Two Sorted Arrays
- Flex 布局基础语法篇
- App 控件定位讲解 (hierarchyviewer 篇)
- 是用VLC API将RTSP流convert为视频文件
- Win10预览版10532更新内容大全汇总
- 获取IP地址
- 黑马程序员-----Java基础-----网络编程
- POJ 2375 解题报告
- 《程序开发心理学(银年纪念版)》 试读笔记及感悟