首頁 > 軟體

Linux中如何檢視進程和控制進程

2020-06-16 16:38:23

Linux檢視進程的命令如下:
ps命令——檢視靜態的進程統計資訊(一般結合選項使用 ps aux 或 ps -elf 命令)
建議使用 ps -elf 查詢,輸出的資訊更詳細些,包括 PPID (對應的父進程 的PID 號)

以上輸出資訊中,第一行為列表標題,其中各欄位的含義描述如下。

USER:啟動該進程的使用者賬號名稱;

PID:該進程在系統中的數位 ID 號,在當前系統中是唯一的;

%CPU:CPU占用的百分比;

%MEM:記憶體占用的百分比;

VSZ:佔用虛擬記憶體(swap 空間)的大小;

RSS:佔用常駐記憶體(實體記憶體)的大小;

TTY:表明該進程在哪個終端上執行。“ ?” 表示未知或不需要終端;

STAT:顯示進程當前的狀態,S(休眠)、R(執行)、Z(僵死)、<(高優先順序)、N(低優先順序)、s(父進程)、+(前台進程);

START:啟動該進程的時間;

TIME:該進程佔用的CPU時間;

COMMAND:啟動該進程的命令的名稱;

top 命令——檢視進程動態資訊(以全螢幕互動式的介面顯示進程排名,及時跟蹤系統資源佔用情況)

上述輸出資訊中,開頭的部分顯示了系統任務、CPU占用、記憶體占用等資訊,相關資訊的含義如下:

系統任務(Task)資訊 :total ,總進程數; running,正在執行的進程數;sleeping,休眠的進程數;stopped,中止的進程數;zombie,僵死無響應的進程數。

CPU占用資訊:us,使用者占用;sy,核心佔用;ni,優先順序排程佔用;id,空閒CPU;wa,I/O等待佔用;hi,硬體終端占用;si,軟體中斷佔用;st,虛擬化占用。要了解空閒的CPU百分比,主要看 %id 部分。

記憶體占用(MEM)資訊:total,總記憶體空間;free,空閒記憶體;used,已用記憶體;buff / cache,實體記憶體和交換記憶體的緩衝區總和。

交換空間(swap) 占用:total,總交換空間;free,空閒交換空間;used,已用交換空間;avail Mem,可用物理空間。

pgrep命令——查詢進程資訊(可以指定進程的一部分名稱進行查詢,通常結合 “ - l ” 選項)

pstree命令——檢視進程樹(該命令查詢的資訊比較複雜,而且之前的命令完全滿足我們查詢進程資訊的需要,所以就略過,通常使用 pstree -aup 或 pstree {使用者名稱} 來使用)

控制進程的相關命令:

執行等待時間較長的進程時,可以在執行命令的最後面加操作符 “&”,進程啟動後會直接放入後台執行

Ctrl+z,可以將當前執行的任務調入後台並暫停執行
jobs  -l   檢視當前終端中在後台執行的進程任務,並顯示該進程的PID號。

可以使用fg 任務編號(將暫停的進程重新調到前台執行)或 bg 任務編號(將後台暫停執行的任務恢復執行)

終止進程執行

使用 kill 命令終止進程的命令格式: kill PID號 如果無法響應終止信號,可以結合 -9 選項: kill -9 PID號(-9表示強制終止進程,但強制終止會導致程式執行的部分資料丟失,應謹慎使用)

使用 killall 命令終止進程的命令格式:killall 進程名(如 “killall vim”,也可以結合 -9 選項,強制終止,選項格式與kill命令格式一致)

使用 pkill 命令終止進程:可以根據進程的名稱,執行該進程的使用者,進程所在的終端等多種屬性終止特定的進程命令格式與pgrep格式大致相同,也可以加 -9 選項,如:
pkill -9 -U “使用者名稱” -t 指定終端


IT145.com E-mail:sddin#qq.com