這篇文章主要為大家展示了Linux系統中如何查看并殺死僵尸進程,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶大家一起來研究并學習一下“Linux系統中如何查看并殺死僵尸進程”這篇文章吧。
首先,我們可以用top命令來查看服務器當前是否有僵尸進程,在下圖中可以看到僵尸進程數的提示,如果數字大于0,那么意味著服務器當前存在有僵尸進程
下面,我們用ps和grep命令尋找僵尸進程
ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'
命令注解:
-A 參數列出所有進程
-o 自定義輸出字段 我們設定顯示字段為 stat(狀態), ppid(進程父id), pid(進程id),cmd(命令)這四個參數
因為狀態為 z或者Z的進程為僵尸進程,所以我們使用grep抓取stat狀態為zZ進程
運行結果參考如下
Z 12334 12339 /path/cmd
這時,我們可以使用 kill -HUP 12339來殺掉這個僵尸進程
運行后,可以再次運行ps -A -ostat,ppid,pid,cmd | grep -e ‘^[Zz]’來確認是否將僵尸進程殺死
如果kill 子進程的無效,可以嘗試kill 其父進程來解決問題,例如上面例子父進程pid是 12334,那么我們就運行
kill -HUP 12334
來解決問題 2014年6月9日新增加
檢查當前僵尸進程信息
ps -ef | grep defunct | grep -v grep | wc -l
查看TOP前兩行信息
top | head -2
直接殺死進程
ps -ef | grep defunct | grep -v grep | awk '{print "kill -18 " $3}'Linux的版本有:Deepin、UbuntuKylin、Manjaro、LinuxMint、Ubuntu等版本。其中Deepin是國內發展最好的Linux發行版之一;UbuntuKylin是基于Ubuntu的衍生發行版;Manjaro是基于Arch的Linux發行版;LinuxMint默認的Cinnamon桌面類似Windows XP簡單易用;Ubuntu則是以桌面應用為主的Linux操作系統。
以上就是關于“Linux系統中如何查看并殺死僵尸進程”的內容,如果該文章對您有所幫助并覺得寫得不錯,勞請分享給您的好友一起學習新知識,若想了解更多相關知識內容,請多多關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。