如何殺死殭屍進程?

  • 殭屍進程定義?
    查看殭屍進程,利用命令ps,可以看到有標記爲Z(zombie)的進程就是殭屍進程。

  • 殭屍進程的危害?
    殭屍進程會佔用系統資源,如果很多,則會嚴重影響服務器的性能;

  • 殭屍進程產生的原因?

    • 子進程結束後向父進程發出SIGCHLD信號,父進程默認忽略了它
    • 父進程沒有調用wait()或waitpid()函數來等待子進程的結束
    • 網絡原因有時會引起殭屍進程;
  • 如何殺死殭屍進程?
    殭屍進程用kill命令是無法殺掉的,但是我們可以結果掉殭屍進程的爸爸,殭屍daddy掛了之後,殭屍進程就成了孤兒進程,孤兒進程不會佔用系統資源,會被init程序收養,然後init程序將其回收。

ps -A -o stat,ppid,pid,cmd |grep -e "^[Zz]"    //先查看具體進程:
kill -9 pid號         //殺死z進程(這些動作是比較危險的,希望在真正的服務器上面慎用!!!)
如何殺死殭屍進程.png
1.查看所有R相關的進程
2.查看殭屍進程的父進程
3.殺死殭屍進程對應的副進程
4.殭屍進程被回收

參考:

  1. https://blog.csdn.net/zjwson/article/details/53321431
  2. https://www.cnblogs.com/sbaicl/archive/2012/09/16/2687201.html
  3. https://michaelyou.github.io/2015/03/12/孤兒進程與殭屍進程/
  4. https://baike.baidu.com/item/殭屍進程/1036577
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章