僵尸进程,孤儿进程

一、定义,什么是僵尸进程、孤儿进程

孤儿进程:一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进程(进程号为1)所收养,并由init进程对它们完成状态收集工作。

僵尸进程:一个已经终止、但是其父进程尚未对其进行善后处理的(获取终止进程的有关信息,释放他仍占用的资源)的进程


二、僵尸进程和孤儿进程的危害

        unix提供了一种机制可以保证只要父进程想知道子进程结束时的状态信息, 就可以得到。这种机制就是: 在每个进程退出的时候,内核释放该进程所有的资源,包括打开的文件,占用的内存等。 但是仍然为其保留一定的信息(包括进程号the process ID,退出状态the termination status of the process,运行时间the amount of CPU time taken by the process等)。直到父进程通过wait / waitpid来取时才释放。 但这样就导致了问题,如果父进程不对已处于终止状态的子进程的信息进行处理,就会浪费大量的系统资源,

僵尸进程:由定义和上述可知,僵尸进程即父进程未对其终止状态做善后处理的进程,占有一定的系统资源,如果产生大量的僵尸进程,就会造成系统资源枯竭(如:没有可用的进程ID、文件描述符)。

孤儿进程:孤儿进程是没有父进程的进程,当一个进程成为孤儿进程时,它就会被init进程所收养,而init进程被编写成无论何时只要有一个子进程终止,init就会调用一个wait函数获取其终止状态,即防止了在系统中有很多僵死进程。


综上:僵尸进程会对系统造成影响,而孤儿进程则不会

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值