ユーザーコマンド pgrep(1)
【名前】
pgrep, pkill - 名前または他の属性によるプロセスの検出また は
シグナル送信
【形式】
pgrep [-flvx] [-n | -o] [-d delim] [-P ppidlist] [-
g pgrplist] [-s sidlist] [-u euidlist] [-U uidlist] [-
G gidlist] [-J projidlist] [-t termlist] [-T taskidlist] [-c
ctidlist] [-z zoneidlist] [pattern]
pkill [-signal] [-fvx] [-n | -o] [-P ppidlist] [-
g pgrplist] [-s sidlist] [-u euidlist] [-U uidlist] [-
G gidlist] [-J projidlist] [-t termlist] [-T taskidlist] [-c
ctidlist] [-z zoneidlist] [pattern]
【機能説明】
pgrep ユーティリティはシステム上のアクティブなプロセスを調べ
て、コマンド行に指定した条件を満たす属性を持つプロセスのプロ
セス ID を報告します。各プロセス ID は 10 進数値として出力さ
れ、プロセス ID は区切り文字 (デフォルトは復帰改行) で区切ら
れます。コマンド行で属性オプションに値を指定するときは、複数
の値をコンマで区切って指定できます。
pgrep -G other,daemon
この例は、実グループ ID が other または daemon であるプロ セ
ス を検出します。条件となるオプションを複数指定すると、pgrep
は、条件オプションの論理積に一致する属性を持つプロセスを検出
します。
pgrep -G other,daemon -U root,daemon
この例は、次の属性を持つプロセスを検出します。
(実グループ ID が other または daemon であり) かつ
(実ユーザーID が root または daemon である)
pkill の機能は pgrep の機能と同等ですが、検出したプロセス の
プロセス ID を出力するのではなく、kill(1) と同様に、各プロセ
スにシグナルを送信します。シグナルの名前または番号 は pkill
への最初のコマンド行オプションとして指定できます。
【オプション】
次のオプションを指定できます。
-c ctidlist 指定されたリスト内にプロセス契約 ID があるプ
ロセスだけに一致します。
-d delim 一致したプロセス ID 間に置かれる区切り文字を
指 定します。-d オプションを指定しない場合、
デフォルトの区切り文字は復帰改行です。-d オ
プ ションは pgrep へのオプションとして指定し
た場合にのみ有効です。
-f 正規表現 pattern の照合は、プロセスの引数 を
含 む文字列全体 (/proc/nnnnn/psinfo ファイル
の pr_psargs フィールドから取得) に対して 行
わ れます。-f オプションを指定しないと、正規
表現 pattern の照合は、実行可能ファイルの 名
前 (/proc/nnnnn/psinfo ファイルの pr_fname
フィールドから取得) に対してのみ行われます。
-g pgrplist 指定したリスト内にプロセスグループ ID がある
プロセスだけに一致します。リストにグループ 0
がある場合、これは pgrep または pkill プロセ
スのプロセスグループ ID として解釈されます。
-G gidlist 指定したリスト内に実グループ ID があるプロセ
スだけに一致します。各グループ ID はグループ
名または数値のグループ ID のどちらでも指定で
きます。
-J projidlist 指定したリスト内にプロジェクト ID があるプロ
セスだけに一致します。各プロジェクト ID はプ
ロジェクト名または数値のプロジェクト ID のど
ちらでも指定できます。
-l 詳細出力形式。一致したプロセスの名前とID を
出 力します。-f オプションが指定されているか
どうかによって (上記の説明を参照)、プロセ ス
名 は pr_psargs または pr_fname フィールドか
ら取得されます。-l オプションは pgrep へのオ
プションとして指定した場合にのみ有効です。
-n 指定した条件すべてを満たすプロセスの中で、最
新の (最後に作成された) プロセスだけに一致し
ます。このオプションは、-o オプションと同 時
には使用できません。
-o 指定した条件すべてを満たすプロセスの 中 で、
もっとも古い (最初に作成された) プロセスだけ
に一致します。このオプションは、-n オプ ショ
ンと同時には使用できません。
-P ppidlist 指定したリスト内に親プロセス ID があるプロセ
スだけに一致します。
-s sidlist 指定したリスト内にセッション ID があるプロセ
ス だけに一致します。リストのセッション ID 0
がある場合、これは pgrep または pkill プロセ
スのセッション ID として解釈されます。
-t termlist 指定したリストの端末に関連するプロセスだけに
一 致します。各端末は、/dev 内にある端末への
パス名 (つまり、/dev/ 以降のパス名) として指
定 し ます。たとえば、term/a や pts/0 などで
す。
-T taskidlist 指定したリストのタスク ID があるプロセスだけ
に 一 致します。リストにタスク ID 0 がある場
合、これは pgrep または pkill プロセスのタス
ク ID として解釈されます。
-u euidlist 指定したリストの実効ユーザーID があるプロ セ
ス だけに一致します。各ユーザーID はログイン
名または数値のユーザーID のどちらでも指定 で
きます。
-U uidlist 指定したリストの実ユーザーID があるプロセ ス
だ けに一致します。各ユーザーID はログイン名
または数値のユーザーID のどちらでも指定で き
ます。
-v 一致の意味を反転します。指定した条件を「満さ
ない」すべてのプロセスに一致します。
-x 指定した pattern に引数の文字列または実行 可
能ファイル名が完全に一致するプロセスだけに一
致します。「完全に一致する」というのは、プロ
セス引数の文字列または実行可能ファイルの名前
のすべての文字が pattern に一致することを 意
味します。
-z zoneidlist 指定されたリスト内にゾーン ID があるプロセス
だけに一致します。各ゾーン ID は、ゾーン名ま
たは数値のゾーン ID のどちらでも指定で き ま
す。このオプションは、グローバルゾーンで実行
する場合にのみ便利です。pkill ユーティリティ
を使用して、ほかのゾーン内のプロセスにシグナ
ルを送信する場合、送 信 元 の プ ロ セ ス は
{PRIV_PROC_ZONE} 特権を表明しておく必要があ
ります (privileges(5) を参照)。
-signal 一致した各プロセスに送信するシグナルを指定し
ま す。 シグナルを指定しないと、デフォルトで
SIGTERM が 送 信 さ れ ま す。 signal は
signal.h(3HEAD) で定義されているシンボル名 (
ただし SIG 接頭辞は付けない) または対応す る
シ グナル番号 (10 進数) のどちらでも指定でき
ます。-signal オプションは pkill への最初 の
オプションとして指定した場合にのみ有効です。
【オペランド】
次のオペランドを指定できます。
pattern 実行可能ファイルの名前またはプロセス引数の文
字 列 全 体と照合させる拡張正規表現 (ERE) パ
ターンを指定します。ERE 構文の詳細につ い て
は、 regex(5) のマニュアルページを参照してく
ださい。
【使用例】
例 1: プロセス ID を取得する
sendmail のプロセス ID を取得します。
example% pgrep -x -u root sendmail
283
例 2: プロセスを強制終了する
最後に作成された xterm を強制終了します。
example% pkill -n xterm
【終了ステータス】
次の終了ステータスが返されます。
0 1 つまたは複数のプロセスが一致した
1 どのプロセスも一致しなかった
2 無効なコマンド行オプションが指定された
3 致命的なエラーが発生した
【ファイル】
/proc/nnnnn/psinfo プロセス情報ファイル
【属性】
次の属性については、attributes(5) のマニュアルページを参照し
てください。
____________________________________________________________
| 属性タイプ | 属性値 |
|_____________________________|_____________________________|
| 使用条件 | SUNWcsu |
|_____________________________|_____________________________|
【関連項目】
kill(1), proc(1), ps(1), truss(1), kill(2), signal.h(3HEAD),
proc(4), attributes(5), privileges(5), regex(5), zones(5)
【注意事項】
どちらのユーティリティ も /proc/nnnnn/psinfo ファ イ ル の
pr_fname または pr_psargs フィールドに対して ERE で pattern
引数を照合することができます。これらの文字列の長 さ 制 限 は
<sys/procfs.h> に定義されています。現在の制限よりも長い文字
列に一致する可能性があるパターンを使用すると、予期したプロセ
スと一致しないことがあります。
pattern 引数に ERE のメタキャラクタが含まれており、そのメ タ
キャラクタがシェルのメタキャラクタでもある場合、そのメタキャ
ラクタを適切なシェル引用符で囲む必要があります。
終了したプロセスは、pgrep と pkill のいずれでも検出するこ と
はできません。
現在の pgrep または pkill プロセスは、自身を照合候補とするこ
とはありません。
|
|