Ps#
ps 是包含在 procps-ng 內的行程管理工具
ps (Process Status) 是 Linux 系統中用於回報當前執行中行程 (Process) 狀態的工具。它能提供行程的詳細資訊,如使用者 ID、CPU 使用率、記憶體消耗、執行指令等。與 top 的即時動態顯示不同,ps 擷取的是執行指令那一刻的「靜態快照」。它支援 UNIX (POSIX)、BSD 與 GNU 長選項三種風格,是系統管理與除錯時最不可或缺的指令。
Install#
$ sudo apt install procpsSetting in up#
Operate#
ps [options]
| 參數 | 範例指令 | 說明 |
|---|---|---|
aux | ps aux | 最常用格式。顯示系統中所有使用者的所有行程,包含無終端機的背景行程。 |
-ef | ps -ef | 標準語法。以完整格式列出所有行程(包含 UID, PID, PPID 等)。 |
-u [user] | ps -u root | 顯示特定使用者(如 root)所啟動的行程。 |
l | ps l | 顯示較長、較詳細的資訊(包含 F, S, PRI, NI, ADDR, SZ, WCHAN)。 |
--sort | ps aux --sort=-%mem | 根據特定欄位排序(範例為依記憶體使用量由大到小排序)。 |
-C [cmd] | ps -C nginx | 根據行程名稱(Command)來搜尋特定的行程。 |
輸出資訊說明 (常用欄位)#
| 欄位名稱 | 功能 | 詳細解釋 |
|---|---|---|
PID | 行程標識 | Process ID,每個行程唯一的識別碼,用於刪除行程 (kill)。 |
STAT | 行程狀態 | 顯示行程當前狀態(如 R: 執行中, S: 睡眠, Z: 殭屍, T: 停止)。 |
RSS | 實體記憶體 | Resident Set Size,該行程實際佔用的實體記憶體大小 (KiB)。 |
%CPU | 運算資源 | 該行程自啟動以來佔用的 CPU 運算時間百分比。 |
TTY | 終端機 | 該行程是在哪個終端機介面執行的,? 表示背景行程。 |
COMMAND | 執行指令 | 觸發該行程的原始指令名稱,若帶有 [] 通常為核心執行緒。 |
Reference#
Official docs: