🐥
[1分学習]killコマンドで最低限知っておきたいことまとめ
はじめに
こんにちはRabeeです。
プロセスを終了させるkillコマンドについてまとめます。
kill コマンド
- killコマンドとは
指定したプロセスIDのプロセスにシグナルを送る。
自分またはスーパーユーザーがプロセスの所有者場合のみ実行可能。
$ man kill
The kill utility sends a signal to the processes specified by the pid operands.
Only the super-user may send signals to other users' processes.
実践
airでgoサーバーを起動して、
そのプロセスに対してシグナルを送ってみたいと思います。
-
まずは終了したいプロセスを見つける
$ ps
これするとたくさん表示されるのでgrepで絞る(air動かしている場合)
$ ps | grep air
先頭の数字52686がプロセスIDです -
プロセスIDを指定してシグナルを送る
-
kill 52686
またはkill -15 52686
またはkill -TERM 52686
プロセスの後処理が実行されているのがわかるcleaning... ses you again~
-
kill -2 52686
またはkill -INT 52686
(Ctrl+Cと同じ挙動)
こちらも同じく後処理が実行されている
-
kill -9 52686
またはkill -KILL 52686
ゾンビ(親プロセスがないのに子プロセスだけで生きているプロセスのこと)を終了するときなどに利用
後処理が行われずに終了している
-
余談
新社会人の頃psコマンドをよく使っていましたが、
その時先輩から教えられたオプションはefでした。
$ ps -ef | grep httpd
こちらは階層構造で表示することができるので、
関連プロセスを子から順に終了させていく時に利用していました。
時間がないのでこの辺で。。。
他のオプションについては「kill コマンド オプション」などで調べてください。
おしまい
Discussion