10個重要的Linux ps命令實戰

2021-09-29 18:55:16 字數 3997 閱讀 3053

檢視它的man手冊可以看到,ps命令能夠給出當前系統中程序的快照。它能捕獲系統在某一事件的程序狀態。如果你想不斷更新檢視的這個狀態,可以使用top命令。

ps命令支援三種使用的語法格式

unix 風格,選項可以組合在一起,並且選項前必須有「-」連字元

bsd 風格,選項可以組合在一起,但是選項前不能有「-」連字元

gnu 風格的長選項,選項前有兩個「-」連字元

我們能夠混用這幾種風格,但是可能會發生衝突。本文使用 unix 風格的ps命令。這裡有在日常生活中使用較多的ps命令的例子。

這是乙個基本的ps使用。在控制台中執行這個命令並檢視結果。

不加選項執行ps命令

結果缺省會顯示4列資訊。

這些資訊在顯示時未排序。

使用-a引數。-a 代表 all。同時加上x引數會顯示沒有控制終端的程序。

$ ps -ax

這個命令的結果或許會很長。為了便於檢視,可以結合less命令和管道來使用。

ps all 資訊

在需要檢視特定使用者程序的情況下,我們可以使用-u引數。比如我們要檢視使用者'pungki'的程序,可以通過下面的命令:

$ ps -u pungki

通過使用者過濾

也許你希望把結果按照 cpu 或者記憶體用量來篩選,這樣你就找到哪個程序占用了你的資源。要做到這一點,我們可以使用aux 引數,來顯示全面的資訊:

顯示全面資訊

當結果很長時,我們可以使用管道和less命令來篩選。

預設的結果集是未排好序的。可以通過--sort命令來排序。

根據cpu 使用來公升序排序

$ ps -aux --sort -pcpu | less

根據cpu使用排序

根據記憶體使用來公升序排序

根據記憶體使用來排序

我們也可以將它們合併到乙個命令,並通過管道顯示前10個結果:

$ ps -aux --sort -pcpu,+pmem | head -n 10

使用-c 引數,後面跟你要找的程序的名字。比如想顯示乙個名為getty的程序的資訊,就可以使用下面的命令:

通過程序名和pid過濾

通過程序名和pid過濾

如果我們想知道特定程序的執行緒,可以使用-l 引數,後面加上特定的pid。

根據執行緒來過濾程序

有時候我們希望以樹形結構顯示程序,可以使用-axjf引數。

樹形顯示程序

或者可以使用另乙個命令。

樹形顯示程序

如果想要檢視現在有誰登入了你的伺服器。可以使用ps命令加上相關引數:

$ ps -eo pid,user,args

引數 -e顯示所有程序資訊,-o 引數控制輸出。pid,user 和 args引數顯示pid,執行應用的使用者該應用

顯示安全資訊

能夠與-e 引數一起使用的關鍵字是args, cmd, comm, command, fname, ucmd, ucomm, lstart, bsdstart 和 start

系統管理員想要檢視由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這幾列組成。

這裡有上面的命令的輸出結果:

show real and effective user id

ps 命令會顯示你系統當前的程序狀態,但是這個結果是靜態的。

當有一種情況,我們需要像上面第四點中提到的通過cpu和記憶體的使用率來篩選程序,並且我們希望結果能夠每秒重新整理一次。為此,我們可以將ps命令和watch命令結合起來

$ watch -n 1 『ps -aux --sort -pmem, -pcpu』

組合 ps 和 watch

如果輸出太長,我們也可以限制它,比如前20條,我們可以使用head命令來做到。

$ watch -n 1 『ps -aux --sort -pmem, -pcpu | head 20』

組合 ps 和 watch

這裡的動態檢視並不像top或者htop命令一樣。但是使用ps的好處是你能夠定義顯示的字段,你能夠選擇你想檢視的字段。

舉個例子,如果你只需要看名為'pungki'使用者的資訊,你可以使用下面的命令:

$ watch -n 1 『ps -aux -u pungki u --sort -pmem, -pcpu | head 20』

組合 ps 和 watch

你也許每天都會使用ps命令來監控你的linux系統。但是事實上,你可以通過ps命令的引數來生成各種你需要的報表。

ps命令的另乙個優勢是ps是各種 linux系統都預設安裝的,因此你只要用就行了。

10個重要的Linux ps命令實戰

linux作為unix的衍生作業系統,linux內建有檢視當前程序的工具ps。這個工具能在命令列中使用。檢視它的man手冊可以看到,ps命令能夠給出當前系統中程序的快照。它能捕獲系統在某一事件的程序狀態。如果你想不斷更新檢視的這個狀態,可以使用top命令。ps命令支援三種使用的語法格式 unix 風...

10個重要的Linux ps命令實戰

檢視它的man手冊可以看到,ps命令能夠給出當前系統中程序的快照。它能捕獲系統在某一事件的程序狀態。如果你想不斷更新檢視的這個狀態,可以使用top命令。ps命令支援三種使用的語法格式 unix 風格,選項可以組合在一起,並且選項前必須有 連字元 bsd 風格,選項可以組合在一起,但是選項前不能有 連...

linux ps 命令的檢視

ps是linux系統的程序管理工具,相當於windows中的資源管理器的一部分功能。一般來說,ps aux命令執行結果的幾個列的資訊分別是 user 程序所屬使用者 pid 程序id cpu 程序占用cpu百分比 mem 程序占用記憶體百分比 vsz 虛擬記憶體占用大小 單位 kb killobyt...