linux中的ps命令是process status的縮寫。ps命令用來列出系統中當前執行的那些程序。ps命令列出的是當前那些程序的快照,就是執行ps命令的那個時刻的那些程序,如果想要動態的顯示程序資訊,就可以使用top命令。要對程序進行監測和控制,首先必須要了解當前程序的情況,也就是需要檢視當前程序,而 ps 命令就是最基本同時也是非常強大的程序檢視命令。使用該命令可以確定有哪些程序正在執行和執行的狀態、程序是否結束、程序有沒有僵死、哪些程序占用了過多的資源等等。總之大部分資訊都是可以通過執行該命令得到的。
對系統中程序進行監測控制,檢視狀態,記憶體,cpu的使用情況,使用命令:/bin/ps
(1) ps :是顯示瞬間程序的狀態,並不動態連續;
(2) top:如果想對程序執行時間監控,應該用 top 命令;
ps 為我們提供了程序的一次性的檢視,它所提供的檢視結果並不動態連續的;如果想對程序時間監控,應該用 top 工具。
名稱:ps
使用許可權:所有使用者
使用方式:ps [options] [--help]
說明:顯示瞬間行程 (process) 的動態
引數:ps的引數非常多, 在此僅列出幾個常用的引數並大略介紹含義
-a 列出所有的程序
-w 顯示加寬可以顯示較多的資訊
-au 顯示較詳細的資訊
-aux 顯示所有包含其他使用者的行程
(方便檢視系統程序)
1)ps a 顯示現行終端機下的所有程式,包括其他使用者的程式。
2)ps -a 顯示所有程序。
3)ps c 列出程式時,顯示每個程式真正的指令名稱,而不包含路徑,引數或常駐服務的標示。
4)ps -e 此引數的效果和指定"a"引數相同。
5)ps e 列出程式時,顯示每個程式所使用的環境變數。
6)ps f 用ascii字元顯示樹狀結構,表達程式間的相互關係。
7)ps -h 顯示樹狀結構,表示程式間的相互關係。
8)ps -n 顯示所有的程式,除了執行ps指令終端機下的程式之外。
9)ps s 採用程式訊號的格式顯示程式狀況。
10)ps s 列出程式時,包括已中斷的子程式資料。
11)ps -t《終端機編號》 指定終端機編號,並列出屬於該終端機的程式的狀況。
12)ps u 以使用者為主的格式來顯示程式狀況。
13)ps x 顯示所有程式,不以終端機來區分。
最常用的方法是ps -aux,然後再利用乙個管道符號導向到grep去查詢特定的程序,然後再對特定的程序進行操作。
ps常用引數舉例:
1,基本ps使用:
結果缺省會顯示4列資訊。
pid: 執行著的命令(cmd)的程序編號
tty: 命令所執行的位置(終端)
time: 執行著的該命令所占用的cpu處理時間
cmd: 該程序所執行的命令
這些資訊在顯示時未排序。
2,列出目前所有的正在記憶體當中的程式。也許你希望把結果按照 cpu 或者記憶體用量來篩選,這樣你就找到哪個程序占用了你的資源。要做到這一點,我們可以使用
aux 引數
,來顯示全面的資訊:
head標頭:
user 使用者名稱
uid 使用者id(user id)
pid 程序id(process id)
ppid 父程序的程序id(parent process id)
sid 會話id(session id)
%cpu 程序的cpu佔用率
%mem 程序的記憶體佔用率
vsz 程序所使用的虛存的大小(virtual size)
rss 程序使用的駐留集大小或者是實際記憶體的大小,kbytes位元組。
tty 與程序關聯的終端(tty)
stat 程序的狀態:程序狀態使用字元表示的(stat的狀態碼)
r 執行 runnable (on run queue) 正在執行或在執行佇列中等待。
s 睡眠 sleeping 休眠中, 受阻, 在等待某個條件的形成或接受到訊號。
i 空閒 idle
z 僵死 zombie(a defunct process) 程序已終止, 但程序描述符存在, 直到父程序呼叫wait4()系統呼叫後釋放。
d 不可中斷 uninterruptible sleep (ususally io) 收到訊號不喚醒和不可執行, 程序必須等待直到有中斷發生。
t 終止 terminate 程序收到sigstop, sigstp, sigtin, sigtou訊號後停止執行執行。
p 等待交換頁
w 無駐留頁 has no resident pages 沒有足夠的記憶體分頁可分配。
x 死掉的程序
< 高優先順序程序 高優先序的程序
n 低優先 級程序 低優先序的程序
l 記憶體鎖頁 lock 有記憶體分頁分配並縮在記憶體內
s 程序的領導者(在它之下有子程序);
l 多程序的(使用 clone_thread, 類似 nptl pthreads)
+ 位於後台的程序組
start 程序啟動時間和日期
time 程序使用的總cpu時間
command 正在執行的命令列命令
ni 優先順序(nice)
pri 程序優先順序編號(priority)
wchan 程序正在睡眠的核心函式名稱;該函式的名稱是從/root/system.map檔案中獲得的。
flags 與程序相關的數字標識
4. 可以用 | 管道和 more 連線起來分頁檢視。
命令:ps -aux |more
5. 把所有程序顯示出來,並輸出到ps001.txt檔案
命令:ps -aux > ps001.txt
6. 輸出指定的字段
命令:ps -o pid,ppid,pgrp,session,tpgid,comm
7,根據
cpu 使用
來公升序排序
$ ps -aux --sort -pcpu | less
8,根據 記憶體使用 來公升序排序
$ ps -aux --sort -pmem | less
9,樹形顯示程序
$ pstree
10,檢視特定使用者程序
在需要檢視特定使用者程序的情況下,我們可以使用
-u引數。比如我們要檢視使用者'pungki'的程序,可以通過下面的命令:
$ ps -u pungki
11,通過程序名和pid過濾
使用 -c 引數,後面跟你要找的程序的名字。比如想顯示乙個名為getty的程序的資訊,就可以使用下面的命令:
$ ps -c getty
12,顯示所有程序資訊,連同命令列
命令:ps -ef
shell中的PS命令的含義
1.ps檢視程序的命令。2.ps命令中的 cpu是指乙個程序占用cpu的時間百分比。ps的man手冊的解釋是這樣的 ps的 中是這樣處理的 其中seconds since boot是用當前時間減去系統啟動時的時間得到的,啟動的時間通過讀 proc stat中的btime獲得。而start time是...
Linux 中 ps命令詳解
linux 中 ps 命令詳解 ps ef 檢視正在活動的程序 ps ef grep abc 檢視含有 abc 的活動程序 ps ef grep v abc 檢視不含 abc 的活動程序 1 ps a 顯示現行終端機下的所有程式,包括其他使用者的程式。2 ps a 顯示所有程式。3 ps c 列出程...
ps命令詳解
平時linux程序檢視還是比較常用的,於是我研究了一下linux ps命令的使用方式,在這裡拿出來和大家分享一下,希望對大家有用。linux監控工具大全 1.ps簡介前面介紹的兩個命令 who w命令 都是用於檢視當前系統使用者的情況,下面就來看看程序的情況,這也是本章的主題。要對程序進行監測和控制...