pgrep - コマンド (プログラム) の説明 - Linux コマンド集 一覧表
名前
pgrep, pkill - 名前や各種属性に基づくプロセスの閲覧とシグナル送信
書式
pgrep [-flvx] [-d delimiter
] [-n|-o] [-P ppid
,...] [-g pgrp
,...]
[-s sid
,...] [-u euid
,...] [-U uid
,...] [-G gid
,...]
[-t term
,...] [pattern
]
pkill [-signal
] [-fvx] [-n|-o] [-P ppid
,...] [-g pgrp
,...]
[-s sid
,...] [-u euid
,...] [-U uid
,...] [-G gid
,...]
[-t term
,...] [pattern
]
説明
pgrep
は現在実行中のプロセスを調べ、選択基準 (selection criteria)
にマッチするプロセスのプロセス ID を標準出力にリストする。
全ての基準にマッチしなければならない。例えば
pgrep -u root sshd
は、
sshd
という名前で、かつ
root
が所有するプロセスのみをリストする。一方
pgrep -u root,daemon
は、
root
または
daemon
が所有するプロセスをリストする。
pkill
は、標準出力にリストする代わりに、
各プロセスに指定したシグナル
を送る (デフォルトでは SIGTERM
)。
オプション
- -d delimiter
- 出力で各プロセスの区切りに用いる文字列を設定する (デフォルトでは改行文字)。(pgrep のみ)
- -f
- pattern は通常プロセス名にマッチするが、 -f を設定するとコマンドライン全体にマッチの対象となる。
- -g pgrp ,...
- リストされた ID のプロセスグループのどれかに属するプロセスにのみマッチする。 プロセスグループ 0 は、 pgrep または pkill 自身のプロセスグループとみなされる。
- -G gid ,...
- 実グループ ID がリストのどれかであるプロセスにのみマッチする。
- -l
- プロセス名をプロセス ID といっしょに表示する。 (pgrep のみ)
- -n
- マッチしたプロセスの中から最新のもの (最も新しく起動されたもの) だけを選ぶ。
- -o
- マッチしたプロセスの中から最古のもの (最も昔に起動されたもの) だけを選ぶ。
- -P ppid ,...
- 親プロセスのプロセス ID がリストのどれかであるプロセスにのみマッチする。
- -s sid ,...
- セッション ID がリストのどれかであるプロセスにのみマッチする。 セッション ID 0 は、 pgrep または pkill 自身のプロセスグループとみなされる。
- -t term ,...
- 制御端末がリストのどれかであるプロセスにのみマッチする。 端末名にはプレフィクス "/dev/" 抜きで指定する。
- -u euid ,...
- 実効ユーザー ID がリストのどれかであるプロセスにのみマッチする。 数値・シンボル値のいずれかが使える。
- -U uid ,...
- 実ユーザー ID がリストのどれかであるプロセスにのみマッチする。 数値・シンボル値のいずれかが使える。
- -v
- マッチの否定。
- -x
- 名前が (-f を指定した場合はコマンドラインが) pattern に正確に 一致するプロセスにのみマッチする。
- -signal
-
マッチしたプロセスに送るシグナルを定義する。
数値・シンボル値のいずれかが使える。
(pkill
のみ)
オペランド (OPERANDS)
- pattern
-
プロセス名またはコマンドラインにマッチさせる拡張正規表現を指定する。
例
例 1: named
デーモンのプロセス ID を表示する。
unix$ pgrep -u root named
例 2: syslog
に設定ファイルを再読み込みさせる。
unix$ pkill -HUP syslogd
例 3: 全ての xterm
プロセスの詳しい情報を表示する。
unix$ ps -fp $(pgrep -d, -x xterm)
例 4: 全ての netscape
の nice 値を上げる。
unix$ renice +4 `pgrep netscape`
終了ステータス
- "0"
- ひとつ以上のプロセスが選択基準にマッチした。
- "1"
- マッチしたプロセスがなかった。
- "2"
- コマンドラインに文法エラーがある。
- "3"
-
致命的エラー: メモリ不足など。
注意
マッチに用いられるプロセス名は /proc/pid
/stat の出力にある
15 文字までに制限されている。完全なコマンドラインである
/proc/pid
/cmdline にマッチさせるには -f オプションを用いること。
動作中の
pgerp " と " pkill
プロセスは、自分自身には決してマッチしない。
バグ
-n, -o, -v は同時に指定できない。
これをしたい場合は私に連絡して欲しい。
消滅したプロセスも報告されてしまう。
関連項目
標準
pkill
と
pgrep
は Sun の Solaris 7 で導入された。
この実装は完全に互換である。
著者
Kjetil Torgrim Homme <kjetilho@ifi.uio.no>
Albert Cahalan <albert@users.sf.net> が現在の
procps コレクションのメンテナである。
バグ報告は <procps-feedback@lists.sf.net> まで送って欲しい。