linux常用命令 ps

2022-08-03 13:27:17 字數 2995 閱讀 3585

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...