一、前言
博主之前学习操作系统的时候,还真没了解过这两个进程,偶然间,看到,所以打算记录一下这两个知识点。
二、孤儿进程
1.是什么
顾名思义,就是没有父亲的进程。(有点直白了…)
2.发生在什么情况下
一般是父进程早于其子进程先结束,那么当前的子进程就没有了父亲,所以称为孤儿进程。
3.危害
由于没有了父进程,当该子进程结束的时候,没有了能够处理它的进程,那么该进程会一直占用着系统资源。
4.处理方式
linux中会让进程号为1的进程去领养孤儿进程,从而对孤儿进程进行释放。
在liunx中输入ps -aux
命令,来查看下孤儿进程
二、僵尸进程
1.是什么
子进程结束了,但是父进程没有对其进行释放(或者说忘记对子进程释放了…)
2.危害
首先就是占用资源的问题,其次就是僵尸进程得不到释放,会占用部分的进程号,如果不释放掉,系统中可能无法再创建新的进程。
3.解决方式
首先我们要明白,在僵尸进程下使用kill - 9
一般是没有效果的,不然为啥叫僵尸…
通常的解决方式就是kill
其父进程就ok了,这样僵尸进程就变成了孤儿进程,会有pid=1的进程来处理。
当然,如果允许的话,也可以重启系统来解决,但是这样所付出的代价一般都不小~