首頁 >php教程 >PHP开发 >Linux僵死進程檢視與解決

Linux僵死進程檢視與解決

高洛峰
高洛峰原創
2016-12-17 11:57:161545瀏覽

  用下面的指令找出僵死進程

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

  指令 輸出欄位我們設定顯示欄位為stat(狀態),ppid(進程父id),pid(進程id),cmd(指令)這四個參數


-C用來指定所執行的指令名稱,你這裡也就是讓ps僅僅顯示php指令所產生的進程的資訊

ps-Cjava-olstart,pid,cmd【不過貌似打印的不全~】

ps-A-olstart,pid,args|grepjava【這個可以的~】
  因為狀態為z或Z的進程為殭屍進程,所以我們使用grep抓取stat狀態為zZ進程

 這裡一共出現了9個僵死進程,我們需要把它們都乾掉,執行下面的命令

kill-98310

  這時你再執行查找僵死的進程,發現所有僵死進程都沒了.

  補充:

  最近又遇到了個問題,一台伺服器上產生了100多少僵死進程,而且每一僵死進程的父進程都不一樣,如果用上面的方法,一條一條的殺,那還不得累死我啊。

  那麼就應該想一條簡單的命令,直接查找僵死進程,然後將父進程殺死~


  ps-A-ostat,ppid,pid,cmd|grep-e'^[Zz]'|awk'{print $2}'|xargskill-9



更多Linux僵死進程查看和解決相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn