pgrep
コマンドは、稼働中のシステム上のプロセステーブルを検索し、
コマンドラインで指定された基準にマッチしたすべてのプロセス ID を表示します。
pkill
コマンドは、稼働中のシステム上のプロセステーブルを検索し、
コマンドラインで指定された基準にマッチしたすべてのプロセスへシグナルを送ります。
以下のオプションを利用できます:
-G gid
|
|
コンマ区切りのリスト
gid
で与えられた実グループ ID を持つプロセスのみにマッチを限定します。
|
-P ppid
|
|
コンマ区切りのリスト
ppid
で与えられた親プロセス ID を持つプロセスのみにマッチを限定します。
|
-M core
|
|
現在稼働中のシステムからではなく、指定したコアから
名前リストに関連した値を抽出します。
|
-N system
|
|
現在のシステムがブートしたカーネルイメージ (デフォルト) からではなく、
指定されたシステムから名前リストを抽出します。
|
-U uid
|
|
コンマ区切りのリスト
uid
で与えられた実ユーザ ID を持つプロセスのみにマッチを限定します。
|
-d delim
|
|
それぞれのプロセス ID の間に出力される区切り文字を指定します。
デフォルトは改行文字です。
このオプションは、
pgrep
コマンドでのみ使用できます。
|
-f
|
完全な引数リストとマッチします。
デフォルトでは、プロセス名とマッチします。
|
-g pgrp
|
|
コンマ区切りのリスト
pgrp
で与えられたプロセスグループ ID を持つプロセスのみにマッチを限定します。
0 という値は、
pgrep,
pkill
コマンドが実行されているプロセスグループ ID を意味します。
|
-l
|
長い出力を行います。
マッチしたそれぞれのプロセスのプロセス ID の他に、プロセス名も出力します。
-f
オプションと組み合わせて使用された場合、マッチしたそれぞれのプロセスの
プロセス ID と完全な引数リストを表示します。
このオプションは、
pgrep
コマンドでのみ使用できます。
|
-n
|
もしプロセスが存在する場合、最も新しく生成されたプロセスにのみマッチします。
|
-s sid
|
|
コンマ区切りのリスト
sid
で与えられたセッション ID を持つプロセスのみにマッチを限定します。
0 という値は、
pgrep,
pkill
コマンドが実行されているセッション ID を意味します。
|
-t tty
|
|
コンマ区切りのリスト
tty
で与えられた端末に関連づけられたプロセスのみにマッチを限定します。
端末名は
ttyxx
という形式でもよいし、短い
xx
という形式でも構いません。
単一のダッシュ
(‘-’)
を指定すると、端末に関連づけられていないプロセスに
マッチします。
|
-u euid
|
|
コンマ区切りのリスト
euid
で与えられた実効ユーザ ID を持つプロセスのみにマッチを限定します。
|
-v
|
マッチの条件を反転させます。
つまり、与えられた基準にマッチしないプロセスを出力します。
|
-x
|
プロセス名に厳密にマッチさせます。
-f
オプションが指定されている場合は、引数リストに厳密にマッチさせます。
デフォルトでは、すべての部分文字列にマッチします。
|
signal
|
デフォルトの
TERM
の代わりに送出されるシグナルを指定する
非負の 10 進数、もしくはシグナル名です。
このオプションは、
pkill
の最初の引数として指定された時のみ有効です。
|
pattern
オペランドを指定すると、各プロセスのコマンド名または引数リスト丸ごとに
一致させるための正規表現として使用されます。
-f
オプションを指定しない場合、
pattern
を使いコマンド名との一致を試みます。
しかしながら、現在のところ、
FreeBSD
は、各コマンドにつきコマンド名の最初の 19 文字しか保存していません。
コマンド名の最初の 19 文字より後ろとの一致を試みた場合、
黙って一致に失敗します。
実行中の
pgrep
も
pkill
も、自分自身やシステムプロセス (カーネルスレッド) を
マッチの対象としないことに注意して下さい。