linux对于zombie的处理
@(Linux基礎(chǔ))[僵尸進(jìn)程處理]
今天在服務(wù)器上推送項(xiàng)目的時(shí)候,突然發(fā)現(xiàn)很卡。就用top查看了一下,果然此事不簡單啊。
注意:zombie 僵尸進(jìn)程而且還是5個(gè)。
此時(shí)此刻,只想說這些這幫人搗亂玩。
解決辦法:
在linux中,利用命令ps,可以看到有標(biāo)記為Z的進(jìn)程就是僵尸進(jìn)程。
可以用ps的-l選項(xiàng),得到更詳細(xì)的進(jìn)程信息. F(Flag):一系列數(shù)字的和,表示進(jìn)程的當(dāng)前狀態(tài)。這些數(shù)字的含義為:
00:若單獨(dú)顯示,表示此進(jìn)程已被終止。01:進(jìn)程是核心進(jìn)程的一部分,常駐于系統(tǒng)主存。如:sched、 vhand 、bdflush 等。02:Parent is tracing process.04:Tracing parent’s signal has stopped the process; the parent is waiting ( ptrace(S)).10:進(jìn)程在優(yōu)先級低于或等于25時(shí),進(jìn)入休眠狀態(tài),而且不能用信號喚醒,例如在等待一個(gè)inode被創(chuàng)建時(shí) 20:進(jìn)程被裝入主存(primary memory)40:進(jìn)程被鎖在主存,在事務(wù)完成前不能被置換S(state of the process )O:進(jìn)程正在處理器運(yùn)行 S:休眠狀態(tài)(sleeping)R:等待運(yùn)行(runable) I:空閑狀態(tài)(idle)Z:僵尸狀態(tài)(zombie) T:跟蹤狀態(tài)(Traced)B:進(jìn)程正在等待更多的內(nèi)存頁C:cpu利用率的估算值(cpu usage)處理僵尸進(jìn)程
kill -18 PPID (PPID是其父進(jìn)程)?這個(gè)信號是告訴父進(jìn)程,該子進(jìn)程已經(jīng)死亡了,請收回分配給他的資源。
?SIGCONT也是一個(gè)有意思的信號。如前所述,當(dāng)進(jìn)程停止的時(shí)候,這個(gè)信號用來告訴進(jìn)程恢復(fù)運(yùn)行。該信號的有趣的地方在于:它不能被忽略或阻塞,但可以被捕獲。缺省行為是丟棄該信號。
終止父進(jìn)程
?如果方法2不能終止,可采用終止其父進(jìn)程的方法(如果其父進(jìn)程不需要的話)父進(jìn)程死后,僵尸進(jìn)程成為”孤兒進(jìn)程”,過繼給1號進(jìn)程init,init始終會(huì)負(fù)責(zé)清理僵尸進(jìn)程.它產(chǎn)生的所有僵尸進(jìn)程也跟著消失。
先看其父進(jìn)程又無其他子進(jìn)程,如果有,可能需要先kill其他子進(jìn)程,也就是兄弟進(jìn)程。方法是:
然后再kill父進(jìn)程:kill –15 PPID
這樣僵尸進(jìn)程就可能被完全殺掉了。
轉(zhuǎn)載于:https://www.cnblogs.com/xiaogongzi/p/9081706.html
總結(jié)
以上是生活随笔為你收集整理的linux对于zombie的处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cities
- 下一篇: 比亚迪汽车如何 知乎(秦新能源比亚迪)