Linux伺服器上,多少會出現一些殭屍進程,下面介紹如何快速尋找和消滅這些殭屍進程的方法
首先,我們可以用top命令來查看伺服器目前是否有殭屍進程,在下圖中可以看到殭屍進程數的提示,如果數字大於0,那麼表示伺服器目前存在有殭屍行程
下面,我們用ps和grep指令尋找殭屍行程
ps -A -ostat,ppid,pid,cmd | 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
更多Linux系統尋找和殺死殭屍進程相關文章請關注PHP中文網! 🎜