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
Linux如何殺掉殭屍程序
殭屍程序是當子程序比父程序先結束,而父程序又沒有 子程序,釋放子程序占用的資源,此時子程序將成為乙個殭屍程序。如果父程序先退出 子程序被init接管,子程序退出後init會 其占用的相關資源。由於子程序的結束和父程序的執行是乙個非同步過程,即父程序永遠無法 子程序 到底什麼時候結束.那麼會不會因為父...
檢視殭屍程序並殺掉殭屍程序
在運維過程中,我們經常會碰到機器由於某幾個特殊的殭屍程序造成整台伺服器上的程序異常卡死,負載變高。例如以下 其中,存在8個殭屍程序,並且程序19712的cpu使用異常。檢視具體的殭屍程序有哪些 發現這些子殭屍程序的父程序即為19712程序。其對應的其實就是namenode程序 解決辦法 1 如果業務...
Linux尋找並殺死殭屍程序
linux伺服器上,多少會出現一些殭屍程序,下面介紹如何快速尋找和消滅這些殭屍程序的方法 首先,我們可以用top命令來檢視伺服器當前是否有殭屍程序,在下圖中可以看到殭屍程序數的提示,如果數字大於0,那麼意味著伺服器當前存在有殭屍程序 下面,我們用ps和grep命令尋找殭屍程序 ps a ostat,...