pgrep#

pgrep 是包含在 procps-ng 內的行程搜尋工具

pgrep 是 Linux 系統中用於根據名稱或其他屬性(如使用者、群組)來搜尋行程 PID 的工具。它會掃描當前運行的行程,並將符合條件的行程 ID (PID) 輸出到標準輸出。與 ps aux | grep 相比,pgrep 更加簡潔且適合在 Shell 腳本中使用,因為它直接返回 PID,無需額外的字串處理。

Install#

pgrep 包含在 procps-ng 套件內,絕大多數 Linux 發行版皆預設安裝。

$ sudo apt install procps

Setting in up#


Operate#

pgrep [options] [pattern]

參數範例指令說明
-lpgrep -l ssh顯示名稱。除了輸出 PID,同時顯示對應的行程名稱。
-apgrep -a python顯示完整指令。顯示 PID 及其完整的啟動參數。
-upgrep -u root特定使用者。僅列出屬於指定使用者(如 root)的行程 PID。
-fpgrep -f "script.py"完整比對。搜尋範圍包含整個指令列 (Command Line),而不僅限於行程名。
-npgrep -n nginx最新行程。僅返回最近一個被啟動的符合行程。
-opgrep -o nginx最舊行程。僅返回最早被啟動的符合行程。
-cpgrep -c ssh統計數量。不列出 PID,僅輸出符合條件的行程總數。
-xpgrep -x ssh精確匹配。行程名稱必須完全符合搜尋關鍵字。
屬性名稱功能詳細解釋
Pattern正則表達式pgrep 支援使用正規表示法來篩選行程名稱。
EUID/UID使用者過濾篩選特定使用者擁有的行程。
PPID父行程 ID搜尋特定父行程下的所有子行程。
Terminal終端機過濾根據行程所在的 TTY 進行篩選。
Delimiter輸出分隔符使用 -d 參數可以自定義多個 PID 之間的分隔符號(如逗號)。

Reference#

Official docs: