Solaris man マニュアル
ユーザーコマンド                                         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 プロセスは、自身を照合候補とするこ
     とはありません。