プロセスを終了するkillコマンドの使い方まとめ!【Linuxコマンド集】

  • このエントリーをはてなブックマークに追加
  • Pocket

killは実行しているプロセスを終了するコマンドだ。

普通ではない動作をしているプロセスを終了する。他にも正規表現検索などでコンピュータに負荷をかけている動作を止める時などに使用する。

今回は実行中のプロセスの確認と、killを使ったプロセスの終了の方法を解説する。Linuxユーザーなら覚えておかなければならないコマンドだ。ぜひ把握しておこう。

また、下記ページで強制終了については詳しくまとめている。参考にしていただければと思う。

killコマンドの基本

コマンドの基本動作

使い方は、次のとおりだ。

$ kill プロセス番号(PID)

では実際に操作してみよう。

仮に、今、バックグラウンドで次のような、/etcディレクトリ内の各ディレクトリ内のファイルに書いてある「stepという」文字を探すというコマンドが実行されているとしよう。

$ grep -r step /etc

/etcディレクトリはLinuxの各種設定の膨大な情報が100以上のファイルに渡って記載されている。

その中からstepという文字を探しているのだ。

かなりな時間と負荷がかかっていることが想像できるだろう。

まず、psコマンドの-aオプションで、現在、実行しているプロセスを確認してみよう。

$ ps -a

psコマンド

プロセス番号(PID)24573番がgrepの動作をしている。

これを止めるためには次のコマンドになる。

$ kill 24573

killコマンド

プロセス番号(PID)24573番のプロセスが終了した。

実行しているプロセスをpsコマンドの-aオプションで見てみよう。

$ ps -a

ps確認

プロセス番号(PID)24573番で動いていたgrepのプロセスが終了し、表示されていない。

表示されていないプロセスに対して、killコマンドを実行しても特に影響はない。

プロセス番号(PID)27567番は、存在しないプロセスだが、このプロセスを終了しようとしてみよう。

kill ない場合

そのようなプロセス番号がないメッセージが表示されただけで、特に影響はない。

しかし、プロセスの中にはシステムとして重要なプロセスもあるので、実際に終了したいプロセスかどうか、確認の上、慎重に操作していくべきだ。

killコマンドのオプション

killコマンドにはいくつかオプションもある。基本的には上のようにオプション無しで使うのが通常だが、活用できる機会があるはずだ。

-[シグナル名またはシグナルID]オプション

killコマンドは「プロセスを殺す」というだけではなく、本来的にはプロセスに対してシグナルを送るコマンドだ。シグナルとはプロセスに送られるメッセージのことを指すと思ってほしい。

終了や再起動などのシグナルを受け取ると、プロセスはそのように動くわけだ。

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

でシグナルを指定して送ることができる。シグナルにはそれぞれ名前とIDがあり、どちらでも反応してくれる。

下記のようにも書ける。

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

$ kill -SIGシグナル名 PID

シグナルの種類は下記コマンドで確認しよう。

-l オプション

利用できるシグナルの一覧を表示するコマンドだ。実際に見てみよう。

$ kill -l

kill -l

このようにたくさんのシグナルが利用できることがわかる。それぞれのシグナルIDもわかるはずだ。全部解説しても意味があるとも思えないので、使いやすいものだけご紹介しよう。

シグナル名 シグナルID 動作
HUP 1 ハングアップ(端末が制御不能もしくは切断による終了)
INT 2 キーボードからの割り込み(Ctrl+Cと同じ)
KILL 9 強制終了(デフォルトよりも強制的に修正する)
TERM 15 終了(デフォルトの設定だ)
CONT 18 停止しているプロセスを再開
STOP 19 一時停止

ジョブとプロセス

よく混乱する用語で、ジョブとプロセスがある。どちらもコンピュータの処理のことという意味では同じだ。

ジョブは、処理の流れ全体を指し、プロセスは、一つ一つの作業のことを指す。例えるなら、自動車を一台作るのに、部品を作るのがプロセス、自動車を一台完成させる作業自体がジョブだ。

一つのプロセスだけで済むジョブもあるし、何百というプロセスを組み合わせて一つのジョブを成すこともあるだろう。

killコマンドはジョブではなく、一つのプロセスを終了させる。ジョブとプロセスについては下記が詳しい。

kill関連コマンド

killコマンドに関連して、プロセスやジョブに関係したコマンドを紹介する。

killallコマンド

プロセスIDではなく、プロセス名でも終了させることができるコマンドだ。使い方はkillコマンドと同じだが、便利だ。

psコマンド

現在実行しているプロセスを表示する。

nohupコマンド

ログアウトした後もコマンドを実行し続ける。

まとめ

killコマンドはLinuxユーザであれば知っておきたいコマンドだ。

プロセスを実行したユーザーがコマンドの実行を終了するには、ctrl+Cのショートカットキーで終了することもできるのでこちらも押さえておこう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメント

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する