今まで特定のプロセスを終了する際は、ps
コマンドで対象のPID(プロセスID)を調べて、kill
コマンドで終了する方法を行っていましたが、今更ですが「pkill」なる存在を知りました!
コレがまた便利なの何だのって…感動モノです。
実際に2種類の方法を比較してみましょう!
目次
psからのkill
通常はこのようにプロセスを探し出し、
1 |
ps aws | grep [プロセス名] |
PIDを確認した後、
1 |
kill [PID] |
で終了させるのですが、終了したいプロセスが複数ある場合、kill
コマンドでPIDを指定して1つずつ終了させなければなりません。
上手に組み合わせてスクリプトを作った方もいらっしゃいました。
1 |
ps aux | grep [プロセス名] | grep -v grep | awk '{ print "kill -9", $2 }' | sh |
Qiita
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgzJTk3JUUzJTgzJUFEJUUzJTgyJUJCJUUzJTgyJUI5JUU1JTkwJThEJUUzJTgxJUE3Z3JlcCVFMyU4MSU5NyVFMyU4MSU5RiVFNyVCNSU5MCVFNiU5RSU5QyVFMyU4MiU5MmtpbGwlRTMlODElOTklRTMlODIlOEIlRTMlODIlQjclRTMlODIlQTclRTMlODMlQUIlRTMlODIlQjklRTMlODIlQUYlRTMlODMlQUElRTMlODMlOTclRTMlODMlODglRTMlODIlOTIlRTQlQkQlOUMlRTMlODIlOEImdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTkwODQ5MjM3MmJmNWYxYjc2ODcxMTI0MzY1NWRiNmZh&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBtYXNhcnVmdXJ1eWEmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTAxM2QwNjBmODk4NTY0Y2NkM2YyZDdhNWYyMzIyNThi&blend-x=142&blend-y=436&blend-mode=normal&txt64=aW4g44Ko44Oz44K444OL44Ki44Go5Lq655Sf44Kz44Of44Ol44OL44OG44Kj&txt-width=770&txt-clip=end%2Cellipsis&txt-color=%231E2121&txt-font=Hiragino%20Sans%20W6&txt-size=36&txt-x=156&txt-y=536&s=d2466f64b509b5030148139e61a42f6a)
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgzJTk3JUUzJTgzJUFEJUUzJTgyJUJCJUUzJTgyJUI5JUU1JTkwJThEJUUzJTgxJUE3Z3JlcCVFMyU4MSU5NyVFMyU4MSU5RiVFNyVCNSU5MCVFNiU5RSU5QyVFMyU4MiU5MmtpbGwlRTMlODElOTklRTMlODIlOEIlRTMlODIlQjclRTMlODIlQTclRTMlODMlQUIlRTMlODIlQjklRTMlODIlQUYlRTMlODMlQUElRTMlODMlOTclRTMlODMlODglRTMlODIlOTIlRTQlQkQlOUMlRTMlODIlOEImdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTkwODQ5MjM3MmJmNWYxYjc2ODcxMTI0MzY1NWRiNmZh&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBtYXNhcnVmdXJ1eWEmdHh0LWNvbG9yPSUyMzFFMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTAxM2QwNjBmODk4NTY0Y2NkM2YyZDdhNWYyMzIyNThi&blend-x=142&blend-y=436&blend-mode=normal&txt64=aW4g44Ko44Oz44K444OL44Ki44Go5Lq655Sf44Kz44Of44Ol44OL44OG44Kj&txt-width=770&txt-clip=end%2Cellipsis&txt-color=%231E2121&txt-font=Hiragino%20Sans%20W6&txt-size=36&txt-x=156&txt-y=536&s=d2466f64b509b5030148139e61a42f6a)
プロセス名でgrepした結果をkillするシェルスクリプトを作る - Qiita
ps aux | grep [プロセス名] | grep -v grep | awk '{ print "kill -9", $2 }' | sh対象のプロセス名を抽出し、grep -vで結果から…
pgrepからのpkill
対して、pkillではプロセス名で一気に終了させることができます。
pgrepは他のプロセスを間違えて消さないために確認として実行しておきます。
1 |
pgrep -f [プロセス名] |
でPIDが確認できたら、
1 |
pkill [プロセス名] |
これだけで一発で終了できます!
なんと素晴らしいことでしょう!
??IT
![](https://image.itmedia.co.jp/ait/articles/1708/03/l_command_132-01.png)
![](https://image.itmedia.co.jp/ait/articles/1708/03/l_command_132-01.png)
?y pkill ?z?R?}???h?¥?¥???O???w?肵?ăv???Z?X???I????????
?{?A?ڂ́ALinux?̃R?}???h?ɂ??āA??{????????I?v?V?????A??̓I?Ȏ??s??܂ł??Љ?Ă????܂??B????́A?v???Z?X?????w?肵?ăv???Z?X???I????????upkill?v?R?}???h?ł??B
こちらの参考サイトでは、同じように一括でプロセスを終了できる「killall」も紹介していますので、ぜひご覧ください。
コメント