孤儿进程,僵尸进程

孤儿进程

一般情况,每一个进程都有父进程,由父进程创建
但当父进程执行完后,先于子进程终止,则子进程就是孤儿进程
父母都死了,生下的儿女就是孤儿

Linux会将init进程(进程号为1)设置为该孤儿进程的父进程
init相当于党和政府,做善后工作
这样看来孤儿进程没有危害

僵尸进程

进程结束时,可以释放虚拟地址空间中的用户区数据,但对于内核区的数据,需要由父进程来处理,调用waitpid()来回收
这样设计的意义应该是,子进程执行结束后,父进程要看子进程是不是正常执行结束,PCB进程控制块也需要父进程来释放
子女死亡,子女的尸体也是由父母领回去,办葬礼对吧,一切都合理起来

但有些混蛋父母,对子女的尸体不闻不顾,丢在荒山野岭,自然就会尸变,成为僵尸
僵尸进程就是子进程终止,但父进程并不善后,不去释放子进程PCB资源,这样子进程的进程号就无法被别的进程复用
僵尸进程无法被kill -9命令杀掉

处理僵尸进程

很简单,将其父进程终止掉即可
init会接管该子进程
会为其释放资源

原文链接: https://www.cnblogs.com/lxzbky/p/17102001.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    孤儿进程,僵尸进程

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/399833

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年4月14日 上午9:35
下一篇 2023年4月14日 上午9:35

相关推荐