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

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

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

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

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

  如果要動態(tài)顯示進程信息,需要使用top命令。

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

  要殺死進程,使用kill命令,例:kill 12345 (12345為進程的pid)

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

  1.運行(正在運行或在運行隊列中等待)

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

  3.不可中斷(收到信號不喚醒和不可運行,進程必須等待直到有中斷發(fā)生)

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

  5.停止(進程受到SIGSTOP,SIGSTP,SIGTIN,SIGTOU信號后停止運行)

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

  R 運行 runnable(on run queue)

  S 中斷 sleeping

  D 不可中斷 uninterruptible sleep (usually IO)

  Z 僵死 a defunct("zombie") process

  T 停止 traced or stopped

  命令參數(shù)

  a 顯示所有進程

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

  -A 顯示所有進程

  c 顯示進程的真實名稱

  -N 反向選擇

  -e 等于“-A”

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

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

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

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

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

  u 指定用戶的所有進程

  -au 顯示較詳細的資訊

  -aux 顯示所有包含其他使用者的進程

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

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

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

  –help 顯示幫助信息

  –version 顯示版本顯示

  輸出列的含義

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

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

  UID 程序被該 UID 所擁有

  PID 進程的ID

  PPID 則是其上級父程序的ID

  C CPU 使用的資源百分比

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

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

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

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

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

  TTY 登入者的終端機位置

  TIME 使用掉的 CPU 時間。

  CMD 所下達的指令

  例子:

  1.顯示所有進程信息

  代碼如下:

  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.顯示指定用戶進程

  代碼如下:

  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.顯示所有進程,并顯示命令行

  代碼如下:

  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命令組合使用,查找指定的進程

  代碼如下:

  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)的進程

  代碼如下:

  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.列出所有用戶啟動的進程

  代碼如下:

  [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:顯示其他用戶啟動的進程

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