Linux

【Linux】killコマンドの使い方解説!killコマンドを使ってプロセスを終了させる

こんにちは、フルスタックエンジニアのryuです。

今回の記事では、killコマンドの使い方について解説します。killコマンドはプロセスを終了させるためのコマンドです。killコマンドはプロセスに対して、シグナルを送信してプロセスを終了させることができます。Linuxでkillコマンドを使ってプロセスを終了させてみましょう。

関連【おすすめ】コマンドを打ちながらLinuxが学べるサイトInfraAcademy

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

killコマンドの使い方解説!


どうやってプロセスを終了させるの?

今回の記事では、killコマンドの使い方を解説します。killコマンドを使ってプロセスを終了してみましょう。

記事の内容は以下の通りです。

  • killコマンドでプロセスを終了する
  • killコマンドでプロセスを操作する
  • プロセスを終了するその他のコマンド

では、詳しく解説します!

killコマンドでプロセスを終了する

まずはkillコマンドの使い方です。killコマンドは以下のように使います。

kill -[シグナル名またはシグナルID] PID

killコマンドでは、プロセスを操作するためのシグナルの指定と、プロセスを指定するPIDを入力します。

シグナルは以下のような物があります。

シグナル名シグナルID動作
KILL9強制終了
TERM15終了
CONT18停止しているプロセスを再開
STOP19一時停止

シグナルについては記事の後半で解説しております。

killコマンドを使用して、プログラムを停止させる場合は、以下のようにコマンドを入力します。

ps aux      //PIDを調べる
kill -KILL 100

killコマンドでKILLプロセスを指定して、プロセスを強制終了させています。プログラムが異常の場合は通常終了では止まらない場合があるので、強制終了させましょう。

PIDを調べるためには、psコマンドを使用します。psコマンドの詳しい使い方についてはこちらの記事をご覧ください。

【Linux】プロセスを確認するpsコマンドの使い方解説!オプションなども併せて解説

killコマンドでプロセスを操作する

次に、killコマンドでプロセスを操作する方法を解説します。先ほども説明した通り、killコマンドでは、プロセスを操作するシグナルを送信します。

killコマンドのシグナルの一覧を表示する場合は、”-l”オプションを使用します。

kill -l

コマンドを入力すると、64個のシグナルが表示されます。

killコマンドのシグナル

シグナルを指定してプロセスを操作させるためには、先ほど同様以下のようにkillコマンドを入力します。

kill -INT 100

INTシグナルを使用することで、割り込みによって動作を停止させます。このようにシグナルは多くの種類があるので、調べて使ってみましょう。

killコマンドのシグナル

『kill -l』コマンドを使用すると、killコマンドで使用できるシグナルが表示されます。ただ、シグナルの一覧だけでは意味が良く分からないので、主なシグナルを解説します。

killコマンドの主なシグナル

killコマンドの主なシグナルは以下の通りです。

IDシグナル動作
1SIGHUP制御端末(controlling terminal)のハングアップ検出、または制御しているプロセスの死
2SIGINTキーボードからの割り込み (Interrupt)
3SIGQUITキーボードによる中止 (Quit)
9SIGKILLKill シグナル
15SIGTERM終了 (termination) シグナル
18SIGCONT一時停止 (stop) からの再開
19SIGSTOPプロセスの一時停止 (stop)
30SIGPWR電源喪失 (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」をリリースしました!

入門から中級まで初心者でもわかりやすく学習を進めることができます。

↓InfraAcademyの講座の一部です。

上記以外にも、DNSサーバーの構築方法や、Dockerの設定方法などさまざまな講座があります。

インフラエンジニアに必要な知識が学習できます。

InfraAcademyで学習を始める

参考:Linuxのコマンド練習用サイトのInfraAcademyを作成しました。【Linuxのコマンドをブラウザで練習しよう】

killコマンドの使い方まとめ

今回の記事では、killコマンドの使い方を解説しました。まとめると以下のようになります。

  • kill PIDでプロセスを終了させる
  • プロセスを操作するシグナルを指定することができる
  • killallやpkillコマンドでもプロセスを終了させることができる

killコマンドは、システムに障害があった場合に使うことがあるので、覚えておきましょう。

このようなインフラエンジニアに必要な知識を当ブログでは、紹介しているので興味のある方は是非ご覧ください。

さらにlinuxについて勉強したい方はこちらの参考書がオススメです。

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
InfraAcademyというインフラエンジニア向けの学習サービスを運営しております。 インフラエンジニアからフルスタックエンジニア、PdM サーバ、ネットワーク、セキュリティ、クラウドについて投稿します。
RELATED POST