技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁(yè) > 教程 > 服務(wù)器類(lèi) >

Linux系統(tǒng)中的ps進(jìn)程查看命令使用實(shí)例集錦

來(lái)源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2018-01-08 06:02┆點(diǎn)擊:

  linux 中ps命令是Process Status的縮寫(xiě)。ps命令可以列出系統(tǒng)中當(dāng)前運(yùn)行的進(jìn)程,所列出的進(jìn)程是執(zhí)行ps命令這個(gè)時(shí)刻正在運(yùn)行的進(jìn)程。

  如果要?jiǎng)討B(tài)顯示進(jìn)程信息,需要使用top命令。

  通過(guò)ps命令,可以確定哪些進(jìn)程正在運(yùn)行和運(yùn)行狀態(tài)、進(jìn)程是否結(jié)束、進(jìn)程是否僵死,哪些進(jìn)程占用過(guò)多資源等。

  要?dú)⑺肋M(jìn)程,使用kill命令,例:kill 12345 (12345為進(jìn)程的pid)

  linux進(jìn)程有5種狀態(tài)

  1.運(yùn)行(正在運(yùn)行或在運(yùn)行隊(duì)列中等待)

  2.中斷(休眠中,受阻,或等待某個(gè)條件的形成或接受到信號(hào))

  3.不可中斷(收到信號(hào)不喚醒和不可運(yùn)行,進(jìn)程必須等待直到有中斷發(fā)生)

  4.僵死(進(jìn)程已終止,但進(jìn)程描述符存在,直到父進(jìn)程調(diào)用wait4()系統(tǒng)調(diào)用后釋放)

  5.停止(進(jìn)程受到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信號(hào)后停止運(yùn)行)

  ps 5種進(jìn)程狀態(tài)的標(biāo)識(shí)碼如下:

  R 運(yùn)行 runnable(on run queue)

  S 中斷 sleeping

  D 不可中斷 uninterruptible sleep (usually IO)

  Z 僵死 a defunct("zombie") process

  T 停止 traced or stopped

  命令參數(shù)

  a 顯示所有進(jìn)程

  -a 顯示同一終端下的所有程序

  -A 顯示所有進(jìn)程

  c 顯示進(jìn)程的真實(shí)名稱

  -N 反向選擇

  -e 等于“-A”

  e 顯示環(huán)境變量

  f 顯示程序間的關(guān)系

  -H 顯示樹(shù)狀結(jié)構(gòu)

  r 顯示當(dāng)前終端的進(jìn)程

  T 顯示當(dāng)前終端的所有程序

  u 指定用戶的所有進(jìn)程

  -au 顯示較詳細(xì)的資訊

  -aux 顯示所有包含其他使用者的進(jìn)程

  -C<命令> 列出指定命令的狀況

  –lines<行數(shù)> 每頁(yè)顯示的行數(shù)

  –width<字符數(shù)> 每頁(yè)顯示的字符數(shù)

  –help 顯示幫助信息

  –version 顯示版本顯示

  輸出列的含義

  F 代表這個(gè)程序的旗標(biāo) (flag), 4 代表使用者為 super user

  S 代表這個(gè)程序的狀態(tài) (STAT),關(guān)于各 STAT 的意義將在內(nèi)文介紹

  UID 程序被該 UID 所擁有

  PID 進(jìn)程的ID

  PPID 則是其上級(jí)父程序的ID

  C CPU 使用的資源百分比

  PRI 這個(gè)是 Priority (優(yōu)先執(zhí)行序) 的縮寫(xiě),詳細(xì)后面介紹

  NI 這個(gè)是 Nice 值,在下一小節(jié)我們會(huì)持續(xù)介紹

  ADDR 這個(gè)是 kernel function,指出該程序在內(nèi)存的那個(gè)部分。如果是個(gè) running的程序,一般就是 “-“

  SZ 使用掉的內(nèi)存大小

  WCHAN 目前這個(gè)程序是否正在運(yùn)作當(dāng)中,若為 - 表示正在運(yùn)作

  TTY 登入者的終端機(jī)位置

  TIME 使用掉的 CPU 時(shí)間。

  CMD 所下達(dá)的指令

  例子:

  1.顯示所有進(jìn)程信息

  代碼如下:

  fdipzone@ubuntu:~$ ps -A

  PID TTY TIME CMD

  1 ? 00:00:01 init

  2 ? 00:00:00 kthreadd

  3 ? 00:00:00 ksoftirqd/0

  4 ? 00:00:00 kworker/0:0

  5 ? 00:00:00 kworker/u:0

  6 ? 00:00:00 migration/0

  7 ? 00:00:00 migration/1

  8 ? 00:00:00 kworker/1:0

  9 ? 00:00:00 ksoftirqd/1

  10 ? 00:00:00 kworker/0:1

  ...省略部分結(jié)果

  2.顯示指定用戶進(jìn)程

  代碼如下:

  fdipzone@ubuntu:~$ ps -u fdipzone

  PID TTY TIME CMD

  1502 ? 00:00:00 gnome-keyring-d

  1521 ? 00:00:00 gnome-session

  1551 ? 00:00:00 ibus-daemon

  1555 ? 00:00:00 ssh-agent

  1558 ? 00:00:00 dbus-launch

  1559 ? 00:00:00 ibus-gconf

  1561 ? 00:00:00 python

  1563 ? 00:00:00 dbus-daemon

  1564 ? 00:00:00 ibus-x11

  1569 ? 00:00:00 gconfd-2

  ...省略部分結(jié)果

  3.顯示所有進(jìn)程,并顯示命令行

  代碼如下:

  fdipzone@ubuntu:~$ ps -ef

  UID PID PPID C STIME TTY TIME CMD

  root 1 0 0 22:53 ? 00:00:01 /sbin/init

  root 2 0 0 22:53 ? 00:00:00 [kthreadd]

  root 3 2 0 22:53 ? 00:00:00 [ksoftirqd/0]

  root 4 2 0 22:53 ? 00:00:00 [kworker/0:0]

  root 5 2 0 22:53 ? 00:00:00 [kworker/u:0]

  root 6 2 0 22:53 ? 00:00:00 [migration/0]

  root 7 2 0 22:53 ? 00:00:00 [migration/1]

  root 8 2 0 22:53 ? 00:00:00 [kworker/1:0]

  root 9 2 0 22:53 ? 00:00:00 [ksoftirqd/1]

  root 10 2 0 22:53 ? 00:00:00 [kworker/0:1]

  ...省略部分結(jié)果

  4.與grep命令組合使用,查找指定的進(jìn)程

  代碼如下:

  fdipzone@ubuntu:~$ ps -ef | grep apache

  root 2032 1 0 22:56 ? 00:00:01 /usr/sbin/apache2 -k start

  www-data 2318 2032 0 22:58 ? 00:00:00 /usr/sbin/apache2 -k start

  www-data 2319 2032 0 22:58 ? 00:00:00 /usr/sbin/apache2 -k start

  www-data 2320 2032 0 22:58 ? 00:00:00 /usr/sbin/apache2 -k start

  www-data 2321 2032 0 22:58 ? 00:00:00 /usr/sbin/apache2 -k start

  www-data 2322 2032 0 22:58 ? 00:00:00 /usr/sbin/apache2 -k start

  www-data 2323 2032 0 22:58 ? 00:00:00 /usr/sbin/apache2 -k start

  ...省略部分結(jié)果

  5.顯示當(dāng)前登入用戶的bash相關(guān)的進(jìn)程

  代碼如下:

  fdipzone@ubuntu:~$ ps -l

  F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD

  0 S 1000 1805 1798 0 80 0 - 7011 wait pts/0 00:00:00 bash

  0 R 1000 2561 1805 0 80 0 - 3377 - pts/0 00:00:00 ps

  6.列出所有用戶啟動(dòng)的進(jìn)程

  代碼如下:

  [fdipzone@ubuntu:~$ ps aux

  USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

  root 1 0.1 0.2 24136 2188 ? Ss 22:53 0:01 /sbin/init

  root 2 0.0 0.0 0 0 ? S 22:53 0:00 [kthreadd]

  root 3 0.0 0.0 0 0 ? S 22:53 0:00 [ksoftirqd/0]

  root 5 0.0 0.0 0 0 ? S 22:53 0:00 [kworker/u:0]

  root 6 0.0 0.0 0 0 ? S 22:53 0:00 [migration/0]

  root 7 0.0 0.0 0 0 ? S 22:53 0:00 [migration/1]

  root 8 0.0 0.0 0 0 ? S 22:53 0:00 [kworker/1:0]

  root 9 0.0 0.0 0 0 ? S 22:53 0:00 [ksoftirqd/1]

  root 10 0.0 0.0 0 0 ? S 22:53 0:00 [kworker/0:1]

  root 11 0.0 0.0 0 0 ? S< 22:53 0:00 [cpuset]

  root 12 0.0 0.0 0 0 ? S< 22:53 0:00 [khelper]

  ...省略部分結(jié)果

  另外:

  a:顯示其他用戶啟動(dòng)的進(jìn)程

  x:查看系統(tǒng)中屬于自己的進(jìn)程