Z(zombie)僵尸进程和孤儿进程

  • 僵尸进程
    1.什么是僵尸进程?
    (1) 僵死状态是一个比较特殊的状态,当子进程退出但父进程没有读取到子进程退出返回的代码时就会产生僵死状态,僵死进程会占用你的正常资源
    (2)僵死进程会以终止状态保持在进程表中,并且会一直等待父进程读取它的退出状态
    (3)所以只要子进程退出,但他的父进程没有读取子进程的状态,子进程进入僵死状态
    2.僵尸进程的危害
    (1)进程的退出状态必须被维持下去,因为他要告诉父进程,他的任务完成的如何了,但由于父进程一直不读取,所以子进程一直维持在僵尸状态下。
    (2)维护退出的状态本身就需要用数据维护,也属于进程信息,所以保存在task_struct(PCB)中,也就是说他不退出,PCB要对它一直维护
    (3)一个父进程创建了许多子进程,但是不回收,会造成资源的浪费
    (4)会造成内存泄漏

    • 孤儿进程
      (1)当父进程提前退出,但子进程后退出,子进程进入僵尸模式,之后如何处理?
      (2)父进程先退出,子进程就被称为“孤儿进程”。
      (3)孤儿进程被1号进程init进程领养,于是init进程对他进行回收。

猜你喜欢

转载自blog.csdn.net/weixin_40853073/article/details/81746663