{eval=Array;=+count(Array);}
回答這個問題前,我們先來簡單了解下什么是僵尸進程。
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 查看下父進程是哪個程序的進程,斷然不可漠然執行。(業務沒有什么危害,也許會導致業務宕機)。如果整體沒有太大把握,僵尸進程又非常多的情況下,可以申請停機窗口進行服務器的重啟。
以上是個人實際工作的一些方法,方法可能非常多,起到一個開拓思路的作用吧。希望對題主有所幫助。
0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答0
回答