美文网首页
孤儿进程和僵尸进程

孤儿进程和僵尸进程

作者: 小码弟 | 来源:发表于2018-11-04 16:51 被阅读0次

孤儿进程

父进程退出,它的子进程就会成为孤儿进程,所有的孤儿进程都会被init接管,释放它们占用的系统资源。孤儿进程没有实质性危害。

僵尸进程

进程通过fork创建子进程,如果子进程退出,父进程没有调用waitwaitpid等系统函数获取子进程的状态,那么子进程的描述符、进程号就会一直被占用,成为僵尸进程。
很明显,僵尸进程会占用系统资源,过多的僵尸进程会导致进程号耗尽,无法创建新进程。

相关机制:子进程退出后,系统会回收文件、内存等资源,但不会回收进程号,它要等到父进程调用wait后才会被释放。

解决方法

子进程退出后,发送SIGCHILD信号,父进程在信号处理函数中调用wait接受子进程的状态。或者可行的话,直接杀死父进程,使子进程成为孤儿进程,由init进程接管。

总结

父子进程好比是父子,init进程好比是社保局。
当父亲意外身亡时,儿子自动成为孤儿(孤儿进程),那么自然社保局(init进程)就会来安置这些孤儿。
而如果遇到不负责的父亲,对孩子不管不顾,那么社保局可以对这个父亲进行劝解,加强对孩子的关心(wait, waitpid),或者冥顽不灵的,直接处理(kill it)它的孩子由于成为孤儿而依法获得安置。

相关文章

  • 孤儿进程、僵尸进程与进程回收

    孤儿进程与僵尸进程 孤儿进程:父亲死了,子进程被init进程领养僵尸进程:子进程死了,父进程没有回收子进程的资源(...

  • 孤儿进程与僵尸进程

    孤儿进程与僵尸进程[总结] 1、前言 之前在看《unix环境高级编程》第八章进程时候,提到孤儿进程和僵尸进程,一直...

  • 僵尸进程&孤儿进程

    僵尸进程概念 孤儿进程概念

  • 示例说明僵尸进程的危害及解决方法

    简述 首先简要说明下僵尸进程和孤儿进程的概念(前提都是父进程调用fork产生子进程) 僵尸进程:子进程终止,父进程...

  • 僵尸进程和孤儿进程

    详情参考https://www.cnblogs.com/Anker/p/3271773.html 我们知道在uni...

  • 孤儿进程和僵尸进程

    1.孤儿进程 一个父进程退出,而它的一个或多个子进程还在运行,那么那些子进程将成为孤儿进程。孤儿进程将被init进...

  • 孤儿进程和僵尸进程

    孤儿进程 父进程退出,它的子进程就会成为孤儿进程,所有的孤儿进程都会被init接管,释放它们占用的系统资源。孤儿进...

  • 孤儿进程和僵尸进程

    基本概念 在unix/linux中,正常情况下,子进程是通过父进程创建,子进程再创建新的进程。子进程的结束和父进程...

  • Linux中的僵尸进程和孤儿进程

    Linux中的僵尸进程和孤儿进程 孤儿进程 孤儿进程指的一个父进程退出,而它的一个或多个子进程还在运行,那么那些子...

  • 孤儿进程、僵尸进程和守护进程

    [TOC] 参考资料 Linux 之守护进程、僵死进程与孤儿进程【概述】-Linux内核三驾马车之-进程管理【Li...

网友评论

      本文标题:孤儿进程和僵尸进程

      本文链接:https://www.haomeiwen.com/subject/mdtdxqtx.html