はじめに
複数killの方法は3通りある。
- pkillを使う
- pgrep + xargsを使う
- ps + awk + xargsを使う
pgrep
killする前に、pgrepでプロセスを確かめる。
$ pgrep プロセス名
2151
2152
3884プロセス名ではなく、コマンドラインに対して検索したければ、-fを付ける。
$ pgrep -f コマンドライン名
2151
2152
2884
3884プロセス名を表示したい場合は、-lを付ける。
$ pgrep -l プロセス名
3884 マッチしたプロセス名あるいはpsで確かめる。
ps -ef | grep hogepkill
pgrepで削除したい対象が確認できたら、pgrepをpkillに変えて実行。
$ pkill -9 プロセス名pgrep + xargs
pgrepをpkillに書きなおすのではなく、xargsを使って、pgrepの結果をkillに渡してあげてもOK。
$ pgrep プロセス名 | xargs kill -9ps + xargs
はじめにpgrepでプロセス確認せず、psで確認していれば、psにawkとxargsを組み合わせてもOK。
ps -ef | grep hoge | grep -v grep | awk '{print $2}' | xargs kill -9