全球要聞:Linux進程管理命令介紹

2023-04-15 15:20:40 來源:嵌入式攻城獅

執行中的程序稱作進程。 當可執行文件存放在存儲中,并且運行的時候,每個進程會被動態得分配系統資源、內存、安全屬性和與之相關的狀態。 可以有多個進程關聯到同一個程序,并同時執行不會互相干擾。 操作系統會有效地管理和追蹤所有運行著的進程

Linux提供了許多命令來讓用戶高效的管理進程,下面僅介紹幾種最常用的進程管理命令


(相關資料圖)

ps

process status的縮寫,用于顯示當前進程的狀態,類似于windows的任務管理器。 語法格式為:

ps [options]

參數很多, 下面僅列出幾個常用的參數介紹其含義

-A 列出所有的進程-w 顯示加寬可以顯示較多的資訊-au 顯示較詳細的資訊-aux 顯示所有包含其他使用者的行程

ps - aux輸出格式為及其含義如下:

USER PID %CPU%MEM VSZ RSS TTY STAT START TIME COMMAND
USER : 行程擁有者PID : PID%CPU : 占用的 CPU 使用率%MEM : 占用的記憶體使用率VSZ : 占用的虛擬記憶體大小RSS : 占用的記憶體大小TTY : 終端的次要裝置號碼STAT : 該行程的狀態:START : 行程開始時間TIME : 執行的時間COMMAND :所執行的指令

進程的狀態標志如下:

D : 不可中斷的靜止R : 正在執行中S : 阻塞狀態T : 暫停執行Z : 不存在但暫時無法消除W : 沒有足夠的記憶體分頁可分配< : 高優先級的進程N : 低優先級的進程L : 有內存分頁分配并鎖在內存中

查看指定進程格式:

ps -ef | grep 進程關鍵字

top

用于實時顯示進程的動態,會隨著進程狀態的變化不斷更新。 同時會顯示整個系統的信息,為查找問題提供了便利。 語法格式為:

top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

參數說明:

d : 改變顯示的更新速度q : 沒有任何延遲的顯示速度c : 切換顯示模式,顯示執行檔的名稱或顯示完整的路徑與名稱S : 累積模式,會將己完成或消失的子進程的CPU time累積起來s : 安全模式,將交談式指令取消, 避免潛在的危機i : 不顯示任何閑置 (idle) 或無用 (zombie) 的進程n : 更新的次數,完成后將會退出topb : 批次檔模式,搭配"n"參數使用,可用來將top的結果輸出到檔案內

pstree

display a tree of processes的縮寫,該命令將所有進程以樹狀圖顯示,樹狀圖將會以 pid (如果有指定) 或是以 init 這個基本進程為根 (root),如果有指定使用者 id,則樹狀圖會只顯示該使用者所擁有的進程。 語法格式為:

pstree [-a] [-c]

參數說明:

-a 顯示該進程的完整指令及參數,如果是被記憶體置換出去的進程則會加上括號-c 如果有重覆的進程名,則分開列出

kill

用于終止進程。 kill可將指定的信息送至進程。 預設的信息為 SIGTERM(15),可將指定程序終止。 若仍無法終止該程序,可使用SIGKILL(9) 信息嘗試強制刪除程序。 語法格式為:

kill [-s <信息名稱或編號>][程序] 或 kill [-l <信息編號>]

參數說明:

-l <信息編號> 若不加<信息編號>,則會列出全部的信息名稱-s <信息名稱或編號> 指定要送出的信息。[程序] 可以是程序的PID或是PGID,也可以是工作編號

使用kill -l命令列出所有可用信號,最常用的信號是:

1 (HUP):重新加載進程9 (KILL):殺死一個進程15 (TERM):正常停止一個進程

標簽:

上一篇:
下一篇: