さまざまなコマンドを使用して、プロセスを終了または「強制終了」するシグナルをプロセスに送信します。これは、プロセスが応答しなくなった (ハングした) 場合、システムが不安定になった場合、または変更しようとしているファイルの制御を放棄できなかった場合に必要です。
「kill」コマンドは、指定されたシグナル (デフォルトでは終了シグナル) を 1 つ以上のプロセスに送信します。引数として PID を指定する必要があります。
以下は、kill シグナルを実装するいくつかの例です。 ID 921 のプロセスを正常に終了するには:
# kill 15 921
それができない場合は、プロセスをすぐに強制終了します:
# kill 9 921
または、プロセスを完全に削除するのではなく一時停止するには:
# kill 17 921
kill コマンドの実行中に以下のエラーが発生した場合:
kill: command not found
選択したディストリビューションに従って、以下のパッケージをインストールしてみてください:
OS 分布 | コマンド |
---|---|
Debian | apt-get インストール プロシージャ |
Ubuntu | apt-get インストール プロシージャ |
アルパイン | apk add procps |
Arch Linux | pacman -S procps-ng |
カリ Linux | apt-get インストール プロシージャ |
CentOS | yum install procps-ng |
Fedora | dnf install procps-ng |
Raspbian | apt-get インストール プロシージャ |
kill コマンドの例
1. シグナルのリストを取得するには:
# kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGEMT 8) SIGFPE 9) SIGKILL 10) SIGBUS 11) SIGSEGV 12) SIGSYS 13) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGURG 17) SIGSTOP 18) SIGTSTP 19) SIGCONT 20) SIGCHLD 21) SIGTTIN 22) SIGTTOU 23) SIGIO 24) SIGXCPU 25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGINFO 30) SIGUSR1 31) SIGUSR2
2. 特定のシグナルを送信するには:
# kill -s 9
3. kill のプロセスのリストを指定するには:
# kill 1234 2345 3456
4. デフォルトの SIGTERM (終了) シグナルを使用してプログラムを終了します。
# kill process_id
5. バックグラウンド ジョブを終了します。
# kill %job_id
6. SIGHUP (ハングアップ) シグナルを使用してプログラムを終了します。多くのデーモンは、終了する代わりにリロードします:
# kill -1|HUP process_id
7. SIGINT (割り込み) シグナルを使用してプログラムを終了します。これは通常、ユーザーが「Ctrl + C」を押すことによって開始されます:
# kill -2|INT process_id
8. オペレーティング システムに信号を送り、プログラムを直ちに終了します (信号を取得する機会がありません):
# kill -9|KILL process_id
9. SIGCONT (「続行」) シグナルが受信されるまでプログラムを一時停止するようにオペレーティング システムに通知します。
# kill -17|STOP process_id
10. 指定された GID (グループ ID) を持つすべてのプロセスに `SIGUSR1` シグナルを送信します。
# kill -SIGUSR1 -group_id