ps 命令是什麼
檢視它的man手冊可以看到,ps命令能夠給出當前系統中程序的快照。它能捕獲系統在某一事件的程序狀態。如果你想不斷更新檢視的這個狀態,可以使用top命令。
ps命令支援三種使用的語法格式
unix 風格,選項可以組合在一起,並且選項前必須有「-」連字元
bsd 風格,選項可以組合在一起,但是選項前不能有「-」連字元
gnu 風格的長選項,選項前有兩個「-」連字元
我們能夠混用這幾種風格,但是可能會發生衝突。本文使用 unix 風格的ps命令。這裡有在日常生活中使用較多的ps命令的例子。
1. 不加引數執行ps命令
這是乙個基本的 ps 使用。在控制台中執行這個命令並檢視結果。
結果缺省會顯示4列資訊。
pid: 執行著的命令(cmd)的程序編號
tty: 命令所執行的位置(終端)
time: 執行著的該命令所占用的cpu處理時間
cmd: 該程序所執行的命令
這些資訊在顯示時未排序。
2. 顯示所有當前程序
使用 -a 引數。-a 代表 all。同時加上x引數會顯示沒有控制終端的程序。
這個命令的結果或許會很長。為了便於檢視,可以結合less命令和管道來使用。
$ ps -ax | less
3. 根據使用者過濾程序
在需要檢視特定使用者程序的情況下,我們可以使用 -u 引數。比如我們要檢視使用者『kseven『的程序,可以通過下面的命令:
$ ps -u kseven
4. 通過cpu和記憶體使用來過濾程序
也許你希望把結果按照 cpu 或者記憶體用量來篩選,這樣你就找到哪個程序占用了你的資源。要做到這一點,我們可以使用 aux 引數,來顯示全面的資訊:
當結果很長時,我們可以使用管道和less命令來篩選。
預設的結果集是未排好序的。可以通過 --sort命令來排序。
根據 cpu 使用來公升序排序
$ ps -aux --sort -pcpu | less
根據 記憶體使用 來公升序排序
$ ps -aux --sort -pmem | less
我們也可以將它們合併到乙個命令,並通過管道顯示前10個結果:
$ ps -aux --sort -pcpu,+pmem | head -n 10
5. 通過程序名和pid過濾
使用 -c 引數,後面跟你要找的程序的名字。比如想顯示乙個名為getty的程序的資訊,就可以使用下面的命令:
$ ps -c getty
$ ps -f -c getty
6. 根據執行緒來過濾程序
如果我們想知道特定程序的執行緒,可以使用-l 引數,後面加上特定的pid。
$ ps -l 1213
7. 樹形顯示程序
有時候我們希望以樹形結構顯示程序,可以使用 -axjf 引數。
$ps -axjf
或者可以使用另乙個命令。
$ pstree
8. 顯示安全資訊
如果想要檢視現在有誰登入了你的伺服器。可以使用ps命令加上相關引數:
$ ps -eo pid,user,args
引數 -e 顯示所有程序資訊,-o 引數控制輸出。pid,user 和 args引數顯示pid,執行應用的使用者和該應用。
能夠與-e 引數 一起使用的關鍵字是args, cmd, comm, command, fname, ucmd, ucomm, lstart, bsdstart 和 start。
9. 格式化輸出root使用者(真實的或有效的uid)建立的程序
系統管理員想要檢視由root使用者執行的程序和這個程序的其他相關資訊時,可以通過下面的命令:
$ ps -u root -u root u
-u 引數按真實使用者id(ruid)篩選程序,它會從使用者列表中選擇真實使用者名稱或 id。真實使用者即實際建立該程序的使用者。
-u 引數用來篩選有效使用者id(euid)。
最後的u引數用來決定以針對使用者的格式輸出,由user, pid, %cpu, %mem, vsz, rss, tty, stat, start, time 和 command這幾列組成。
這裡有上面的命令的輸出結果:
10. 使用ps實時監控程序狀態
ps 命令會顯示你系統當前的程序狀態,但是這個結果是靜態的。
當有一種情況,我們需要像上面第四點中提到的通過cpu和記憶體的使用率來篩選程序,並且我們希望結果能夠每秒重新整理一次。為此,我們可以將ps命令和watch命令結合起來。
$ watch -n 1 『ps -aux --sort -pmem, -pcpu』
如果輸出太長,我們也可以限制它,比如前20條,我們可以使用head命令來做到。
$ watch -n 1 『ps -aux --sort -pmem, -pcpu | head 20』
這裡的動態檢視並不像top或者htop命令一樣。但是使用ps的好處是你能夠定義顯示的字段,你能夠選擇你想檢視的字段。
舉個例子,如果你只需要看名為『pungki『使用者的資訊,你可以使用下面的命令:
$ watch -n 1 『ps -aux -u pungki u --sort -pmem, -pcpu | head 20』
linux常用命令 ps
linux中的ps命令是process status的縮寫。ps命令用來列出系統中當前執行的那些程序。ps命令列出的是當前那些執行緒的快照,就是執行ps命令的那個時刻的那些程序,如果想要動態的顯示程序資訊,就可以使用top命令。使用該命令可以確定有哪些程序正在執行和執行的狀態 程序是否結束 程序有沒...
LINUX 常用命令 ps 詳解
ps常用命令 ps u ceshi 檢視特定使用者 ceshi 程序的情況 ps aux grep nginx 查詢nginx的程序 pa ef grep nginx 查詢nginx的程序 ps aux less 通過cpu和記憶體使用來檢視占用資源的程序 ps aux sort pcpu less...
LINUX 常用命令 ps 詳解
ps常用命令 ps u ceshi 檢視特定使用者 ceshi 程序的情況 ps aux grep nginx 查詢nginx的程序 pa ef grep nginx 查詢nginx的程序 ps aux less 通過cpu和記憶體使用來檢視占用資源的程序 ps aux sort pcpu less...