一般に pgrep として知られる Process Grep は、シェルでプロセス ID を見つけるために使用されるもう 1 つの一般的な方法です。プロセス名がわかっている場合は、pgrep コマンドで指定できます。 pgrep コマンドは、任意のパターンに一致するプロセスの PID を表示します。これは、grep を使用してテキスト ファイル内のパターンを一致させる方法と同様です。パターンには次のものを含めることができます。それを呼び出したユーザーの名前またはユーザー ID (UID)。開始時間;親 PID;
正確な PID がわからない場合、pgrep を使用すると、複数の要因に基づいてプロセスを特定できます。通常、PID を特定することは、プロセス管理の最初のステップです。
構文
pgrep コマンドの構文は次のとおりです。
# pgrep [options] {pattern}
pgrep コマンドの実行中に以下のエラーが発生した場合:
pgrep: command not found
選択したディストリビューションに従って、以下のパッケージをインストールしてみてください:
OS 分布 | コマンド |
---|---|
Debian | apt-get インストール プロシージャ |
Ubuntu | apt-get インストール プロシージャ |
アルパイン | apk add procps |
Arch Linux | pacman -S procps-ng |
カリ Linux | apt-get インストール プロシージャ |
CentOS | yum install procps-ng |
Fedora | dnf install procps-ng |
Raspbian | apt-get インストール プロシージャ |
pgrep コマンドの例
1. コマンド文字列が一致する実行中のプロセスの PID を返します:
# pgrep process_name
2. コマンドライン オプションを含むプロセスを検索します。
# pgrep --full "process_name parameter"
3. 特定のユーザーが実行するプロセスを検索:
# pgrep --euid root process_name
4. root が所有する sshd コマンド名を持つプロセスを一覧表示するには、次のようにコマンド ラインを実行します。
# pgrep -u root sshd
5. ユーザー root またはデーモンが所有するプロセスを一覧表示するには、次のようにコマンド ラインを実行します。
# pgrep -u root,daemon
6. pgrep コマンドを使用して、プロセス名を含むパターンを指定することにより、プロセスを一覧表示できます。次のコマンド ラインは、Firefox という名前のプロセスの PID を検索します:
# pgrep firefox
7. 次の例は、pgrep コマンドを使用してユーザー student のすべてのプロセスを一覧表示する方法を示しています。
# pgrep -U student
8. -d オプションは、デフォルトの改行以外の出力区切り文字を指定します:
# pgrep COMMAND -d DELIMITER_STRING # pgrep bash -d ":" 1255:1680
9. -c オプションは、一致するプロセスの数を返します:
# pgrep -c COMMAND