概述
「pgrep」根據行程名稱、使用者 ID、終端機、父行程 ID 等各種條件篩選行程,並傳回對應的 PID。這在腳本中尋找並控制特定行程或檢查其狀態時非常有用。
主要功能
- 支援正規表示式搜尋
- 按使用者/群組篩選行程
- 可搜尋完整命令列 (full command line)
- 提供選擇最舊或最新行程的選項
主要選項
搜尋條件
輸出格式與排序
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`pgrep` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用範例
尋找特定行程 PID
pgrep sshd
尋找名為「sshd」的行程 ID。
按使用者尋找行程 PID
pgrep -u root
尋找「root」使用者執行的所有行程的 ID。
同時輸出 PID 與名稱
pgrep -l firefox
同時輸出「firefox」行程的 ID 和名稱。
透過完整命令列搜尋
pgrep -f "apache2.*worker"
尋找完整命令列同時包含「apache2」和「worker」的行程 ID。
尋找精確匹配的行程
pgrep -x ssh
尋找名稱完全是「ssh」的行程 ID。(排除「sshd」)
尋找最新啟動的行程
pgrep -n chrome
尋找「chrome」行程中,最近啟動的行程的 ID。
提示與注意事項
「pgrep」功能強大,但若使用不當,可能會意外終止或影響其他行程,請務必小心。
與 pkill 結合使用
與其手動將「pgrep」找到的 PID 傳遞給「kill」指令,不如使用「pkill」指令,它能以與「pgrep」相同的搜尋條件直接終止行程或傳送訊號,非常方便。例如,「pkill -f "nginx.*worker"」可以直接終止「nginx」工作行程。
利用正規表示式
「pgrep」預設支援正規表示式。利用此功能可以進行複雜的模式匹配。
- 「pgrep 'httpd|nginx'」會尋找「httpd」或「nginx」行程。
- 與「-f」選項結合使用,例如「pgrep -f '^/usr/bin/python3.*script.py$'」,可以精確找到特定腳本的執行。
使用 -x 選項進行精確匹配
「pgrep」預設執行部分匹配。例如,「pgrep ssh」會找到「ssh」以及「sshd」。若要僅尋找名稱完全是「ssh」的行程,請使用「-x」選項。這對於防止意外影響其他行程非常重要。