EN JA
PKILL(1)
PKILL(1) FreeBSD General Commands Manual PKILL(1)

名称

pgrep, pkill名前によってプロセスを見つけるか、またはシグナルを送る

書式

pgrep [ -LSafilnoqvx][ -F pidfile][ -G gid][ -M core][ -N system][ -P ppid][ -U uid][ -c class][ -d delim][ -g pgrp][ -j jid][ -s sid][ -t tty][ -u euid] pattern ...

pkill [ -signal][ -ILafilnovx][ -F pidfile][ -G gid][ -M core][ -N system][ -P ppid][ -U uid][ -c class][ -g pgrp][ -j jid][ -s sid][ -t tty][ -u euid] pattern ...

解説

pgrep コマンドは、実行しているシステムのプロセステーブルを検索し、コマンド行で与えられた基準に一致するすべてのプロセスの ID を印刷 (表示) します。

pkill コマンドは、実行しているシステムのプロセステーブルを検索し、コマンド行で与えられた基準に一致するすべてのプロセスにシグナルを送ります。

次のオプションが利用可能です:

-F pidfile
PID が pidfile ファイルに格納されているプロセスに一致を制限します。
-G gid
コンマで区切られたリスト gid の実グループ ID があるプロセスに一致を制限します。
-I
各プロセスにシグナルを送ることを試みる前に、確認を要求します。
-L
-F オプションで与えられた pidfile ファイルは、 flock(2) システムコールでロックされるか、または pidfile(3) で作成されなければなりません。
-M core
現在実行しているシステムの代わりに、指定されたコアから名前リストに関連した値を抽出します。
-N system
システムがブートしたカーネルイメージである、デフォルトの代わりに、指定されたシステムから名前リストを抽出します。
-P ppid
コンマで区切られたリスト ppid の親プロセス ID があるプロセスに一致を制限します。
-S
また、システムプロセス (カーネルスレッド) で検索します。
-U uid
コンマで区切られたリスト uid の実ユーザ ID があるプロセスに一致を制限します。
-d delim
それぞれのプロセス ID の間で印刷 (表示) されるデリミタ (区切り文字) を指定します。デフォルトは、改行文字です。 pgrep コマンドでのみ、このオプションを使用することができます。
-a
一致するリストにプロセスの先祖を含めます。デフォルトで、現在の pgrep または pkill プロセスとその先祖のすべては、 ( -v が使用されないなら) 排除されます。
-c class
指定されたログインクラス class で実行しているプロセスに一致を制限します。
-f
完全な引数リストと一致します。デフォルトは、プロセス名と一致します。
-g pgrp
コンマで区切られたリスト pgrp のプロセスグループ ID があるプロセスに一致を制限します。値 0 は、 pgrep または pkill コマンドを実行しているプロセスグループ ID の意味となります。
-i
プロセステーブルと供給されたパターンの両方で、大文字/小文字の区別を無視します。
-j jid
コンマで区切られたリスト jid の jail ID がある jail の内側のプロセスに一致を制限します。値“ any”は、あらゆる jail のプロセスに一致します。値“ none”は、jail でないプロセスに一致します。
-l
長い出力。 pgrep に関して、各一致しているプロセスのためのプロセス ID に加えてプロセス名を印刷 (表示) します。 -f と組み合わせて使用されるなら、一致しているプロセスごとにプロセス ID と完全な引数リストを印刷 (表示) します。 pkill に関して、kill されたプロセスごとに使用された kill コマンドを表示します。
-n
最も新しい (最も最近に開始した) 一致しているプロセスのみを選択します。
-o
最も古い (最も以前に開始した) 一致しているプロセスのみを選択します。
-q
標準出力に何も書き込みません。
-s sid
コンマで区切られたリスト sid のえられたセッション ID があるプロセスに一致を制限します。値 0 は、 pgrep または pkill コマンドを実行しているセッション ID の意味となります。
-t tty
コンマで区切られたリスト tty の端末に関連づけられたプロセスに一致を制限します。端末名は、形式 tty xx または短い形式 xx であるかもしれません。単一のダッシュ (‘ -’) は、端末に関連づけられていないプロセスに一致します。
-u euid
コンマで区切られたリスト euid の実効ユーザ ID があるプロセスに一致を制限します。
-v
一致の意味を反転します。与えられた基準に一致しないプロセスを表示します。
-x
プロセス名に厳密に一致するか、または -f が与えられるなら、引数リストに厳密に一致することを要求します。デフォルトは、あらゆる部分文字列に一致することです。
- signal
デフォルトの TERM の代わりに送信されるシグナルを指定する負でない 10 進数、またはシンボリックなシグナル名。このオプションは、 pkill の最初の引数として与えられたときのみ、有効です。

あらゆる pattern オペランドが指定されるなら、それらは、各プロセスのコマンド名または完全な引数のリストと一致する正規表現として使用されます。 -f オプションが指定されないなら、 pattern は、コマンド名と一致することを試みます。しかしながら、現在、 FreeBSD は、各プロセスのためのコマンド名の最初の 19 文字のみ経過を追います。コマンド名の最初の 19 の後のあらゆる文字に一致する試みは、静かに失敗します。

実行している pgrep または pkill プロセスは、一致する可能性がある自分自体またはシステムプロセス (カーネルスレッド) を決して考慮しないことに注意して下さい。

終了ステータス

pgreppkill ユーティリティは、終了時に次の値の 1 つを返します:
0
1 つ以上のプロセスが一致しました。
1
プロセスが一致しませんでした。
2
無効のオプションがコマンド行で指定されました。
3
内部的なエラーが起こりました。

互換性

歴史的に、オプション“ -j 0”は、任意の jail を意味しますが、 ps(1) のような他のユーティリティで、 jail ID 0 は、jail でない、反対の意味があります。したがって、“ -j 0”は、推奨されません、そして、その使用は、“ -j any”を支持して勧められません。

歴史

pkillpgrep ユーティリティは、 NetBSD 1.6 ではじめて登場しました。それらは、Sun Solaris 7 で登場した同じ名前のユーティリティを手本にしています。それらは、 FreeBSD 5.3 ではじめて登場しました。

作者

Andrew Doran <ad@NetBSD.org>
August 9, 2013 FreeBSD