linux sleeping进程多_什么是Linux僵尸进程?怎么产生的?怎么避免?

僵尸进程在Linux系统中是一种特殊状态,当父进程未等待子进程结束时出现。它们占用系统资源,可能导致PID耗尽。避免僵尸进程的方法包括父进程使用wait或waitpid,注册SIGCHLD信号处理函数,忽略该信号,或通过fork两次。使用`ps`或`top`命令可查看僵尸进程。
摘要由CSDN通过智能技术生成

僵尸进程是指它的父进程已经退出(父进程没有等待(调用wait/waitpid)它),而该进程dead之后没有进程接受,就成为僵尸进程,也就是(zombie)进程。

40bb1759be17091300b769337e99e43a.png

一个进程在调用了exit命令之后结束了自己的生命时候,你以为是真的被彻底销毁了吗?其实不然,它只是变成了我们称之为“僵尸进程”状态。在用户态程序调用系统调用exit时,也仅仅限于将一个正常的进程变成了一个僵尸进程,并没有完全的销毁。看下图所示:

5afca09c7c9812a6b142c9498796cdb6.png

在Linux中,进程的状态有5种,其中僵尸进程状态是一种比较奇葩的存在方式,它放弃了几乎所有的内存地址空间,也没有任何的可执行的代码,也不可能被调度器再次调度,它仅仅是在进程列表中保留一个位置,在这个位置中记载了该进程的状态。而它也只是静静的等待着其他进程(父进程后者init进程)为他收尸。

假如它的父进程没有安装SIGCHL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值