【面試題】kill -9 進程殺不掉,怎麼辦?

做者:21aspnet
連接:https://blog.csdn.net/21aspne...

用ps和grep命令尋找殭屍進

ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'

命令註解:segmentfault

  • -A 參數列出全部進程
  • -o 自定義輸出字段 咱們設定顯示字段爲 stat(狀態), ppid(進程父id), pid(進程id),cmd(命令)這四個參數 由於狀態爲 z或者Z的進程爲殭屍進程。

因此咱們使用grep抓取stat狀態爲zZ進程,運行結果參考以下:app

Z 12334 12339 /path/cmd

這時,咱們能夠使用 kill -HUP 12339來殺掉這個殭屍進程spa

運行後,能夠再次運行.net

ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]'

來確認是否已經將殭屍進程殺死 若是kill 子進程的無效,能夠嘗試kill 其父進程來解決問題,例如上面例子父進程pid是 12334,那麼咱們就運行code

kill -HUP 12334

來解決問題blog

通常能夠用top命令發現動態進程表

其中zombie是殭屍進程進程

若有錯誤或其它問題,歡迎小夥伴留言評論、指正。若有幫助,歡迎點贊+轉發分享。rem

歡迎你們關注民工哥的公衆號:民工哥技術之路
image.pngget

相關文章
相關標籤/搜索