こんにちは、フルスタックエンジニアのryuです。
今回の記事では、killコマンドの使い方について解説します。killコマンドはプロセスを終了させるためのコマンドです。killコマンドはプロセスに対して、シグナルを送信してプロセスを終了させることができます。Linuxでkillコマンドを使ってプロセスを終了させてみましょう。
目次
killコマンドの使い方解説!
どうやってプロセスを終了させるの?
今回の記事では、killコマンドの使い方を解説します。killコマンドを使ってプロセスを終了してみましょう。
記事の内容は以下の通りです。
- killコマンドでプロセスを終了する
- killコマンドでプロセスを操作する
- プロセスを終了するその他のコマンド
では、詳しく解説します!
killコマンドでプロセスを終了する
まずはkillコマンドの使い方です。killコマンドは以下のように使います。
kill -[シグナル名またはシグナルID] PID
killコマンドでは、プロセスを操作するためのシグナルの指定と、プロセスを指定するPIDを入力します。
シグナルは以下のような物があります。
シグナル名 | シグナルID | 動作 |
KILL | 9 | 強制終了 |
TERM | 15 | 終了 |
CONT | 18 | 停止しているプロセスを再開 |
STOP | 19 | 一時停止 |
シグナルについては記事の後半で解説しております。
killコマンドを使用して、プログラムを停止させる場合は、以下のようにコマンドを入力します。
ps aux //PIDを調べる
kill -KILL 100
killコマンドでKILLプロセスを指定して、プロセスを強制終了させています。プログラムが異常の場合は通常終了では止まらない場合があるので、強制終了させましょう。
PIDを調べるためには、psコマンドを使用します。psコマンドの詳しい使い方についてはこちらの記事をご覧ください。
【Linux】プロセスを確認するpsコマンドの使い方解説!オプションなども併せて解説
killコマンドでプロセスを操作する
次に、killコマンドでプロセスを操作する方法を解説します。先ほども説明した通り、killコマンドでは、プロセスを操作するシグナルを送信します。
killコマンドのシグナルの一覧を表示する場合は、”-l”オプションを使用します。
kill -l
コマンドを入力すると、64個のシグナルが表示されます。
シグナルを指定してプロセスを操作させるためには、先ほど同様以下のようにkillコマンドを入力します。
kill -INT 100
INTシグナルを使用することで、割り込みによって動作を停止させます。このようにシグナルは多くの種類があるので、調べて使ってみましょう。
killコマンドのシグナル
『kill -l』コマンドを使用すると、killコマンドで使用できるシグナルが表示されます。ただ、シグナルの一覧だけでは意味が良く分からないので、主なシグナルを解説します。
killコマンドの主なシグナル
killコマンドの主なシグナルは以下の通りです。
ID | シグナル | 動作 |
1 | SIGHUP | 制御端末(controlling terminal)のハングアップ検出、または制御しているプロセスの死 |
2 | SIGINT | キーボードからの割り込み (Interrupt) |
3 | SIGQUIT | キーボードによる中止 (Quit) |
9 | SIGKILL | Kill シグナル |
15 | SIGTERM | 終了 (termination) シグナル |
18 | SIGCONT | 一時停止 (stop) からの再開 |
19 | SIGSTOP | プロセスの一時停止 (stop) |
30 | SIGPWR | 電源喪失 (Power failure) (System V) |
コマンドは以下のように”SIG”を付けてもIDを指定しても同様に実行されます。
kill -9 12345
kill -KILL 12345
kill -SIGKILL 12345
プロセスを終了させるその他のコマンド
次にプロセスを終了させるその他のコマンドを紹介します。killコマンド以外には、killallコマンドとpkillコマンドがあります。
どちらのコマンドもプロセス名を指定してプロセスを終了させます。
killallコマンドの使い方
killallコマンドの使い方は以下の通りです。
killall vim
killall -[シグナル名またはシグナルID] プロセス名
上記の例では、vimコマンドをkillallによって停止させています。
pkillコマンドの使い方
次にpkillコマンドの使い方です。pkillコマンドはデフォルトでTERMシグナルを送信します。TERMシグナルはプロセスの停止を行います。
pkill vim
pkill [オプション] [シグナル] プロセス名
プロセスを停止させるためのコマンドはこのように複数あるので、どれか1つは覚えておきましょう!
killなどLinuxのコマンドを勉強するならInfraAcademy
さらにLinuxのコマンドの学習をしたい人に向けて、InfraAcademyというインフラ学習サービスのご紹介です。
「Linuxの実践的な内容を学習したい」、「コマンドを打ちながらLinuxを学習したい」
そのようなご要望にお応えして、Linuxやネットワークが学習できるサイト「InfraAcademy」をリリースしました!
入門から中級まで初心者でもわかりやすく学習を進めることができます。
- 【Linux入門講座1】ディレクトリと相対パス、絶対パス
- 【Linux入門講座2】ファイルの操作方法
- 【Linux入門講座3】ファイルのアクセス権限
- 【Linux入門講座4】ファイルの編集~vimの使い方をマスターする~
- 【Linux入門講座5】ユーザーとグループ
- 【Linux入門講座6】ネットワーク
↓InfraAcademyの講座の一部です。
上記以外にも、DNSサーバーの構築方法や、Dockerの設定方法などさまざまな講座があります。
インフラエンジニアに必要な知識が学習できます。
参考:Linuxのコマンド練習用サイトのInfraAcademyを作成しました。【Linuxのコマンドをブラウザで練習しよう】
killコマンドの使い方まとめ
今回の記事では、killコマンドの使い方を解説しました。まとめると以下のようになります。
- kill PIDでプロセスを終了させる
- プロセスを操作するシグナルを指定することができる
- killallやpkillコマンドでもプロセスを終了させることができる
killコマンドは、システムに障害があった場合に使うことがあるので、覚えておきましょう。
このようなインフラエンジニアに必要な知識を当ブログでは、紹介しているので興味のある方は是非ご覧ください。
さらにlinuxについて勉強したい方はこちらの参考書がオススメです。