回答這個問題前,我們先來簡單瞭解下什麼是殭屍程序。
1、殭屍程序通俗理解就是,子程序因為各種原因死掉了,但是父程序沒及時去關心死掉的子程序(資源回收),而導致子程序稱為了孤魂野鬼(殭屍程序)。
2、殭屍程序對系統有什麼危害呢?不清理可不可行?
簡單來講,如果系統中有少量的殭屍程序(自己維護的系統有10個左右的時候沒有很在意),不打緊,實際使用中沒有發現有什麼異常。但是如果殭屍程序比較多,則需要及時清理。因為每一個殭屍程序都會佔據一個程序號,而系統的程序號又是有限的,別哪一天突然產生好多殭屍程序,導致系統不能再正常分配程序號,建立不了子程序,那系統就要崩潰了。
3、在作業系統中如何檢視殭屍程序呢?(以Linux為例)
TOP
ps aux | grep Zs | grep -v grep
ps -ef | grep defunct
ps -ef | grep defunct | grep -v grep | wc -l --檢視殭屍程序
4、如何清理殭屍程序呢?
找到該defunct殭屍程序的父程序,將該程序的父程序殺掉,則此defunct程序將自動消失
但是查殺父程序的時候,強烈建議lsof -p 檢視下父程序是哪個程式的程序,斷然不可漠然執行。(業務沒有什麼危害,也許會導致業務宕機)。如果整體沒有太大把握,殭屍程序又非常多的情況下,可以申請停機視窗進行伺服器的重啟。
回答這個問題前,我們先來簡單瞭解下什麼是殭屍程序。
1、殭屍程序通俗理解就是,子程序因為各種原因死掉了,但是父程序沒及時去關心死掉的子程序(資源回收),而導致子程序稱為了孤魂野鬼(殭屍程序)。
2、殭屍程序對系統有什麼危害呢?不清理可不可行?
簡單來講,如果系統中有少量的殭屍程序(自己維護的系統有10個左右的時候沒有很在意),不打緊,實際使用中沒有發現有什麼異常。但是如果殭屍程序比較多,則需要及時清理。因為每一個殭屍程序都會佔據一個程序號,而系統的程序號又是有限的,別哪一天突然產生好多殭屍程序,導致系統不能再正常分配程序號,建立不了子程序,那系統就要崩潰了。
3、在作業系統中如何檢視殭屍程序呢?(以Linux為例)
TOP
ps aux | grep Zs | grep -v grep
ps -ef | grep defunct
ps -ef | grep defunct | grep -v grep | wc -l --檢視殭屍程序
4、如何清理殭屍程序呢?
找到該defunct殭屍程序的父程序,將該程序的父程序殺掉,則此defunct程序將自動消失
但是查殺父程序的時候,強烈建議lsof -p 檢視下父程序是哪個程式的程序,斷然不可漠然執行。(業務沒有什麼危害,也許會導致業務宕機)。如果整體沒有太大把握,殭屍程序又非常多的情況下,可以申請停機視窗進行伺服器的重啟。