學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 >

怎么用命令查看Linux系統(tǒng)進(jìn)程狀態(tài)

時(shí)間: 加城1195 分享

  Linux下我們想要查看進(jìn)程狀態(tài)觀察哪些進(jìn)程占用高,或者沒(méi)用的進(jìn)程占用資源等情況,可以用命令實(shí)現(xiàn),具體怎么操作呢。下面由學(xué)習(xí)啦小編為大家整理了查看Linux系統(tǒng)進(jìn)程狀態(tài)的命令詳解,希望對(duì)大家有幫助!

  查看Linux系統(tǒng)進(jìn)程狀態(tài)的命令詳解

  1. ps 簡(jiǎn)介

  ps 命令就是最根本相應(yīng)情況下也是相當(dāng)強(qiáng)大地進(jìn)程查看命令.運(yùn)用該命令可以確定有哪些進(jìn)程正在運(yùn)行和運(yùn)行地狀態(tài)、 進(jìn)程 是否結(jié)束、進(jìn)程有沒(méi)有僵死、哪些進(jìn)程占用了過(guò)多地資源等等.總之大部分信息均為可以通過(guò)執(zhí)行該命令得到地.

  2. ps 命令及其參數(shù)

  ps 命令最經(jīng)常使用地還是用于監(jiān)控后臺(tái)進(jìn)程地工作情況,因?yàn)楹笈_(tái)進(jìn)程是不和屏幕鍵盤這些標(biāo)準(zhǔn)輸入/輸出設(shè)

  備進(jìn)行通信地,所以如果需要檢測(cè)其情況,便可以運(yùn)用 ps 命令了.

  該命令語(yǔ)法格式如下:

  ps [選項(xiàng)]

  -e 顯示所有進(jìn)程,環(huán)境變量

  -f 全格式

  -h 不顯示標(biāo)題

  -l 長(zhǎng)格式

  -w 寬輸出

  a 顯示終端上地所有進(jìn)程,包括其他用戶地進(jìn)程

  r 只顯示正在運(yùn)行地進(jìn)程

  x 顯示沒(méi)有控制終端地進(jìn)程

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

  對(duì)于 ps 地不同格式都存在著默認(rèn)地順序指定.這些默認(rèn)順序可以被用戶地指定所覆蓋.在這里面“+”字符是可選地,“-” 字符是倒轉(zhuǎn)指定鍵地方向.

  pids 只列出進(jìn)程標(biāo)識(shí)符,之間運(yùn)用逗號(hào)分隔.該進(jìn)程列表必須在命令行參數(shù)地最后一個(gè)選項(xiàng)后面緊接著給出,中間不能插入 空格.比如:ps -f1,4,5.

  以下介紹長(zhǎng)命令行選項(xiàng),這些選項(xiàng)都運(yùn)用“--”開(kāi)頭:

  --sort X[+|-] key [,[+|-] key [,…]] 從 SORT KEYS 段中選一個(gè)多字母鍵.“+”字符是可選地,因?yàn)槟J(rèn)地方向就是按 數(shù)字升序或者詞典順序.比如: ps -jax -sort=uid,-ppid,+pid.

  --help 顯示幫助信息.

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

  在前面地選項(xiàng)說(shuō)明中提到了排序鍵,接下來(lái)對(duì)排序鍵作進(jìn)一步說(shuō)明.需要注意地是排序中運(yùn)用地值是 ps 運(yùn)用地內(nèi)部值,并非 僅用于某些輸出格式地偽值。

  查看Linux系統(tǒng)的進(jìn)程狀態(tài)的命令實(shí)例

  實(shí)例1:顯示所有進(jìn)程信息

  命令:ps -A

  輸出:

  復(fù)制代碼代碼如下:

  [root@localhost test6]# ps -A

  PID TTY TIME CMD

  1 ? 00:00:00 init

  2 ? 00:00:01 migration/0

  3 ? 00:00:00 ksoftirqd/0

  4 ? 00:00:01 migration/1

  5 ? 00:00:00 ksoftirqd/1

  6 ? 00:29:57 events/0

  7 ? 00:00:00 events/1

  8 ? 00:00:00 khelper

  49 ? 00:00:00 kthread

  54 ? 00:00:00 kblockd/0

  55 ? 00:00:00 kblockd/1

  56 ? 00:00:00 kacpid

  217 ? 00:00:00 cqueue/0

  實(shí)例2:顯示指定用戶信息

  命令:ps -u root

  輸出:

  復(fù)制代碼代碼如下:

  [root@localhost test6]# ps -u root

  PID TTY TIME CMD

  1 ? 00:00:00 init

  2 ? 00:00:01 migration/0

  3 ? 00:00:00 ksoftirqd/0

  4 ? 00:00:01 migration/1

  5 ? 00:00:00 ksoftirqd/1

  6 ? 00:29:57 events/0

  7 ? 00:00:00 events/1

  8 ? 00:00:00 khelper

  49 ? 00:00:00 kthread

  54 ? 00:00:00 kblockd/0

  55 ? 00:00:00 kblockd/1

  56 ? 00:00:00 kacpid

  實(shí)例3:顯示所有進(jìn)程信息,連同命令行

  命令:ps -ef

  輸出:

  復(fù)制代碼代碼如下:

  [root@localhost test6]# ps -ef

  UID PID PPID C STIME TTY TIME CMD

  root 1 0 0 Nov02 ? 00:00:00 init [3]

  root 2 1 0 Nov02 ? 00:00:01 [migration/0]

  root 3 1 0 Nov02 ? 00:00:00 [ksoftirqd/0]

  root 4 1 0 Nov02 ? 00:00:01 [migration/1]

  root 5 1 0 Nov02 ? 00:00:00 [ksoftirqd/1]

  root 6 1 0 Nov02 ? 00:29:57 [events/0]

  root 7 1 0 Nov02 ? 00:00:00 [events/1]

  root 8 1 0 Nov02 ? 00:00:00 [khelper]

  root 49 1 0 Nov02 ? 00:00:00 [kthread]

  root 54 49 0 Nov02 ? 00:00:00 [kblockd/0]

  root 55 49 0 Nov02 ? 00:00:00 [kblockd/1]

  root 56 49 0 Nov02 ? 00:00:00 [kacpid]

  實(shí)例4: ps 與grep 常用組合用法,查找特定進(jìn)程

  命令:ps -ef|grep ssh

  輸出:

  復(fù)制代碼代碼如下:

  [root@localhost test6]# ps -ef|grep ssh

  root 2720 1 0 Nov02 ? 00:00:00 /usr/sbin/sshd

  root 17394 2720 0 14:58 ? 00:00:00 sshd: root@pts/0

  root 17465 17398 0 15:57 pts/0 00:00:00 grep ssh

  補(bǔ)充:Linux系統(tǒng)殺死進(jìn)程的命令

  使用kill命令結(jié)束進(jìn)程:kill xxx

  常用:kill -9 324

  Linux下還提供了一個(gè)killall命令,可以直接使用進(jìn)程的名字而不是進(jìn)程標(biāo)識(shí)號(hào),例如:# killall -9 NAME

3973464