首頁 > 程序管理 > pgrep

pgrep:尋找行程 ID

「pgrep」指令用於在執行中的行程列表中,根據特定條件(例如行程名稱、使用者、完整命令列)搜尋行程,並輸出其 ID(PID)。這比組合使用「ps」和「grep」指令更有效率且方便地找到所需的行程。

概述

「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」選項。這對於防止意外影響其他行程非常重要。


相同類別命令