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