お兄ちゃん!
色々なコマンドを
教えてもらっているけど
さすがにそろそろ
出尽くしたんじゃないかな?!
プロセスという
大事なことが抜けているね
今回はプロセスに関する
コマンドを見ていこう!
killall コマンドkillall は
指定されたプロセス名を持つ
全てのプロセスに
シグナルを送るよ
killall [オプション]... プロセス名...
PID を調べるのにひと手間なのでプロセス名で指定できるのはうれしいね!
以下は全ての
sleep プロセスにSIGTERM を送信するよkillall sleep
pkill コマンドpkill は正規表現で指定されたプロセス名にシグナルを送るよpkill [オプション]... 正規表現
| オプション | 役割 |
|---|---|
-f, --full | プロセス名ではなくコマンドラインに正規表現を使う |
-U UID,..., --uid UID,... | 指定された UID を持つプロセスのみ |
-G GID,..., --group GID,... | 指定された GID を持つプロセスのみ |
-P PPID,..., --parent PPID,... | 指定された PPID を持つプロセスのみ |
プロセス名より詳しい条件で指定したい場合に便利だね!
以下は3桁以上の秒数が指定されている
sleep プロセスにSIGTERM を送信するよpkill -f 'sleep [1-9][0-9]{2,}'
pidof コマンドpidof はプロセス名からPID を探してくれるよpidof [オプション]... プロセス名...
プロセス停止は
killall でいいけどその他のプロセス操作でPID が必要な場合に使えそうだね以下は全ての
sleep プロセスのNICE値を5増加させるよrenice +5 $(pidof sleep)
pgrep コマンドpgrep はプロセス名の正規表現からPID を探してくれるんだpgrep [オプション]... 正規表現
| オプション | 役割 |
|---|---|
-f, --full | プロセス名ではなくコマンドラインに正規表現を使う |
-U UID,..., --uid UID,... | 指定された UID を持つプロセスのみ |
-G GID,..., --group GID,... | 指定された GID を持つプロセスのみ |
-P PPID,..., --parent PPID,... | 指定された PPID を持つプロセスのみ |
指定自体は
pkill と似ているね!以下は3桁以上の秒数が指定されている
sleep のNICE値を5増加させるよrenice +5 $(pgrep -f 'sleep [1-9][0-9]{2,}')
今回はプロセスを扱うコマンド
killall, pkill,pidof, pgrepを学んだよ!基本的なプロセス管理は
ps や kill でできるけどこれらを知っているとより柔軟な操作を可能にするよ!