2 回答
TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個贊
首先,僵尸進(jìn)程不占用內(nèi)存和CPU,只占用一個PID和對應(yīng)的進(jìn)程結(jié)構(gòu)存儲空間。
其次,出現(xiàn)僵尸進(jìn)程,通常是server程序沒寫好,建議首先考慮修復(fù)這個問題
最后,用ps aux可以看出一個進(jìn)程是否是僵尸進(jìn)程(STAT=Z)、它的啟動時間(START TIME,或者執(zhí)行stat /proc/PID獲取創(chuàng)建時間)。有了這些數(shù)據(jù),你可以很容易地寫個簡單腳本來濾出那些進(jìn)程。
TA貢獻(xiàn)1775條經(jīng)驗(yàn) 獲得超11個贊
1. 應(yīng)該先檢查下程序, 是不是 沒有對 子進(jìn)程 調(diào)用 wait或者waitpid函數(shù)回收進(jìn)程資源, 或者把子進(jìn)程掛在init進(jìn)程下面, 由系統(tǒng)回收資源。 沒有回收 進(jìn)程資源的進(jìn)程 就是會zombie狀態(tài)。
2. 作為一個應(yīng)急的處理辦法, 把狀態(tài)是Zombie的進(jìn)程篩選出來, 然后殺了也可以。
kill -9 $( ps aux | awk '{ if( $8 == "Z" ) { print $2 ; } }' )
添加回答
舉報(bào)
