歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> 在Linux系統中查看進程及殺死僵屍進程的方法

在Linux系統中查看進程及殺死僵屍進程的方法

日期:2017/3/2 16:29:31   编辑:Linux服務器

  ps 命令

  ps 命令就是最根本相應情況下也是相當強大地進程查看命令.運用該命令可以確定有哪些進程正在運行和運行地狀態、 進程 是否結束、進程有沒有僵死、哪些進程占用了過多地資源等等.總之大部分信息均為可以通過執行該命令得到地.

  ps 命令及其參數

  ps 命令最經常使用地還是用於監控後台進程地工作情況,因為後台進程是不和屏幕鍵盤這些標准輸入/輸出設

  備進行通信地,所以如果需要檢測其情況,便可以運用 ps 命令了.

  該命令語法格式如下:

  ps [選項]

  -e 顯示所有進程,環境變量

  -f 全格式

  -h 不顯示標題

  -l 長格式

  -w 寬輸出

  a

  顯示終端上地所有進程,包括其他用戶地進程

  r

  只顯示正在運行地進程

  x

  顯示沒有控制終端地進程

  O[+|-] k1 [,[+|-] k2 [,…]] 根據 SHORT KEYS、k1、k2 中快捷鍵指定地多級排序順序顯示進程列表.

  對於 ps 地不同格式都存在著默認地順序指定.這些默認順序可以被用戶地指定所覆蓋.在這裡面“+”字符是可選地,“-” 字符是倒轉指定鍵地方向.

  pids 只列出進程標識符,之間運用逗號分隔.該進程列表必須在命令行參數地最後一個選項後面緊接著給出,中間不能插入 空格.比如:ps -f1,4,5.

  以下介紹長命令行選項,這些選項都運用“--”開頭:

  --sort X[+|-] key [,[+|-] key [,…]] 從 SORT KEYS 段中選一個多字母鍵.“+”字符是可選地,因為默認地方向就是按 數字升序或者詞典順序.比如: ps -jax -sort=uid,-ppid,+pid.

  --help 顯示幫助信息.

  --version 顯示該命令地版本信息.

  在前面地選項說明中提到了排序鍵,接下來對排序鍵作進一步說明.需要注意地是排序中運用地值是 ps 運用地內部值,並非 僅用於某些輸出格式地偽值.排序鍵列表見表 4-3.

  排序鍵列表

  c

  cmd

  可執行地簡單名稱

  C

  cmdline

  完整命令行

  f

  flags

  長模式標志

  g

  pgrp

  進程地組 ID

  G

  tpgid

  控制 tty 進程組 ID

  j

  cutime

  累計用戶時間

  J

  cstime

  累計系統時間

  k

  utime

  用戶時間

  K

  stime

  系統時間

  m

  min_flt

  次要頁錯

  查找Zombie進程

  首先,當桌面程序卡死的時候,你可以嘗試進入其他tty終端。切換方式:ctrl + alt + [1,2,3,4,5,6,7],7是桌面終端

  其次,你可以使用top命令查看當前是否有Zombie進程

201587180944823.png (807×136)

  從上圖可以看到僵屍進程數,num zombie,num大於0,則代表系統存在僵屍進程

  最後,利用ps命令查找Zombie進程

  復制代碼

  代碼如下:

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

  示例 :

201587181007504.png (690×45)

  殺死Zombie進程

  直接kill -9 Zombiepid是沒有作用的,原因是:Zombie表示進程已經退出,想要清理這樣的進程,需要清除其父進程或者等很長時間後內核將其清除

  復制代碼

  代碼如下:

  kill -HUP ppid

  後記

  不知道為什麼我注銷之後重新登錄還有這個僵屍進程,懷疑是否是LightDM的bug,不過Ubuntu12.04 desktop display manager就是LightDM,所以kill -HUP至少起到了注銷的作用,不用重啟了

Copyright © Linux教程網 All Rights Reserved