カテゴリ: Linux 更新日: 2026/05/04

Linux killコマンドとは?プロセスにシグナルを送る方法を初心者向けにわかりやすく解説

Linuxのkillコマンドとは?プロセスへシグナルを送る方法
Linuxのkillコマンドとは?プロセスへシグナルを送る方法

先生と生徒の会話形式で理解しよう

生徒

「Linuxで動いているプログラムを止めたいときって、どうすればいいですか?」

先生

「その場合はkillコマンドを使って、プロセスにシグナルを送る方法がありますよ。」

生徒

「killって名前が怖いですが、本当に削除されるんですか?」

先生

「実は終了だけでなく、さまざまな指示を送るコマンドなんです。基本から順番に説明していきますね。」

Linuxを初めて学ぶ人や、 OS・プロセス・メモリ管理・仮想マシン・コンテナの仕組みを図解で理解したい人におすすめの定番書籍です。

試して理解 Linuxのしくみを見る

※ Amazonアソシエイト広告リンク

1. killコマンドとは?

1. killコマンドとは?
1. killコマンドとは?

killコマンドは、Linuxでプロセスにシグナルを送るための基本コマンドです。読み方はkill(キル)といいます。

プロセスとは、実行中のプログラムのことで、アプリケーションやバックグラウンド処理などが含まれます。例えば、ブラウザやエディタなどもすべてプロセスとして動いています。

killという名前から「強制終了」のイメージがありますが、実際には終了のお願いや再起動の指示などもできる便利なコマンドです。

2. プロセスとシグナルの基本

2. プロセスとシグナルの基本
2. プロセスとシグナルの基本

Linuxでは、プロセスに対して「シグナル」と呼ばれる命令を送ることができます。シグナルの読み方はsignal(シグナル)です。

代表的なシグナルには以下があります。

  • SIGTERM(シグターム): 正常終了の依頼
  • SIGKILL(シグキル): 強制終了
  • SIGHUP(シグハップ): 再読み込み

このように、killコマンドは単なる終了ではなく、プロセスに対する命令送信ツールとして使われます。

3. プロセスIDの確認方法

3. プロセスIDの確認方法
3. プロセスIDの確認方法

killコマンドを使うには、対象となるプロセスIDが必要です。プロセスIDの読み方はPID(ピアイディー)です。

以下のコマンドで確認できます。


ps aux
user   1234  0.0  0.1  12345  678 ?  S  10:00  0:00 bash
user   5678  0.1  0.2  23456  789 ?  S  10:01  0:01 python

この場合、bashは1234、pythonは5678がプロセスIDになります。

4. killコマンドの基本的な使い方

4. killコマンドの基本的な使い方
4. killコマンドの基本的な使い方

最も基本的な使い方は、プロセスIDを指定して終了させる方法です。


kill 5678

これはSIGTERMというシグナルを送って、プロセスに「終了してください」と伝える操作です。

多くの場合、この方法で安全にプログラムを終了できます。

5. 強制終了する方法

5. 強制終了する方法
5. 強制終了する方法

通常の終了ができない場合は、強制終了を使います。


kill -9 5678

ここでの「-9」はSIGKILLを意味します。これは即座にプロセスを停止する強い命令です。

ただし、保存されていないデータが消える可能性があるため、基本は通常のkillを使い、それでも止まらない場合に使いましょう。

6. シグナル一覧を確認する方法

6. シグナル一覧を確認する方法
6. シグナル一覧を確認する方法

利用できるシグナルは、次のコマンドで確認できます。


kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 9) SIGKILL 15) SIGTERM

番号でも名前でも指定できるので、用途に応じて使い分けましょう。

7. プロセス名で終了する方法

7. プロセス名で終了する方法
7. プロセス名で終了する方法

プロセスIDではなく、名前で終了したい場合はpkillコマンドを使います。


pkill python

これでpythonという名前のプロセスをまとめて終了できます。

複数のプロセスを管理するときに便利な方法です。

8. killコマンドの注意点と使いどころ

8. killコマンドの注意点と使いどころ
8. killコマンドの注意点と使いどころ

killコマンドは便利ですが、使い方を間違えると重要なプロセスを停止してしまう可能性があります。

特にサーバー環境では、データベースやシステムプロセスを誤って終了させると大きな影響が出ます。

そのため、次の点を意識しましょう。

  • まずはSIGTERMで安全に終了する
  • プロセスIDをよく確認する
  • 強制終了は最終手段にする

killコマンドは、Linuxシェルやbashやzshの操作において非常に重要な基本スキルです。初心者のうちにしっかり理解しておくと、トラブル対応やサーバー管理がスムーズになります。

LPICレベル1の合格を目指している人や、 Linuxコマンド・シェル・ネットワーク・セキュリティの試験対策を効率よく進めたい人におすすめの定番問題集です。

Linux教科書 LPICレベル1 スピードマスター問題集を見る

※ Amazonアソシエイト広告リンク

まとめ

まとめ
まとめ

Linuxのkillコマンドは、プロセス管理において非常に重要な基本操作の一つです。単にプログラムを終了させるだけのコマンドではなく、シグナルという仕組みを通じてプロセスに対してさまざまな命令を送ることができる点が大きな特徴です。特にLinuxサーバーや開発環境では、意図しない動作をしているプログラムの停止や再読み込み、トラブル対応の場面で頻繁に利用されます。

本記事では、killコマンドの基本から応用までを順番に解説しました。まず重要なのは、プロセスIDを正しく把握することです。psコマンドなどを使って対象のプロセスを確認し、適切なPIDを指定することで安全に操作ができます。Linux初心者がよくつまずくポイントとして、誤ったPIDを指定してしまうケースがありますが、これを防ぐためにもプロセス一覧の読み方を理解しておくことが大切です。

また、シグナルの理解も欠かせません。SIGTERMは安全に終了するための基本的なシグナルであり、通常はこの方法でプロセスを停止します。一方で、SIGKILLは強制的に終了させるため、システムへの影響やデータ消失のリスクを伴います。そのため、killコマンドを使う際は、まず通常終了を試み、それでも停止しない場合にのみ強制終了を検討するという流れを意識することが重要です。

さらに、Linuxコマンドとしての応用例として、pkillコマンドによるプロセス名指定の終了や、killコマンドのオプションを活用したシグナル送信なども紹介しました。これにより、複数のプロセスを効率的に管理することが可能になります。特に運用現場では、プロセス数が多くなるため、名前で管理できるスキルは大きな強みになります。

killコマンドは、Linuxシステム運用、サーバー管理、アプリケーション開発のすべての分野で役立つ基礎知識です。bashやzshなどのシェル環境での操作に慣れていくことで、よりスムーズにトラブルシューティングができるようになります。初心者のうちは難しく感じるかもしれませんが、実際にコマンドを入力して動作を確認することで理解が深まります。


ps aux | grep python
kill 1234
kill -9 1234
pkill python

このように基本操作を繰り返し実践することで、Linuxコマンドへの理解が確実に身についていきます。killコマンドを正しく使いこなせるようになることは、Linuxエンジニアとしての第一歩ともいえるでしょう。プロセス制御の考え方をしっかりと身につけ、より高度なシステム管理へとステップアップしていくことが大切です。

先生と生徒の振り返り会話

生徒

「killコマンドって、ただ強制終了するだけじゃなくて、いろいろな指示が送れるんですね」

先生

「その通りです。Linuxのkillコマンドはシグナルを使ってプロセスに命令を送る仕組みなので、終了だけでなく再読み込みなども可能です」

生徒

「まずはSIGTERMで終了を試して、それでもだめならSIGKILLを使うのが基本でしたよね」

先生

「はい、それが安全な使い方です。特にサーバー環境では強制終了の影響が大きいので注意が必要です」

生徒

「プロセスIDを確認するのも大事でした。psコマンドで確認してから実行する流れを覚えました」

先生

「とても重要なポイントです。間違ったPIDを指定すると別のプログラムを止めてしまう可能性があります」

生徒

「pkillコマンドで名前指定できるのも便利ですね。複数のプロセスをまとめて管理できそうです」

先生

「その理解で大丈夫です。Linuxコマンドを使いこなすことで、作業効率が大きく向上します」

生徒

「killコマンドはLinuxの基本だけど、とても奥が深いと感じました」

先生

「その気づきが大切です。これからも実際にコマンドを使いながら理解を深めていきましょう」

カテゴリの一覧へ
新着記事
New1
Linux
Linuxの/proc/meminfoとは?メモリ使用状況を確認する仕組みを初心者向けに徹底解説
新規投稿
New2
情報セキュリティマネジメント試験
RATとは?リモートアクセス型ウイルスの仕組みと対策を初心者向けに解説
更新記事
New3
基本情報技術者試験
ビッグデータとは?初心者でもわかる大量データ活用の基本と活用事例
更新記事
New4
基本情報技術者試験
クライアントとは?初心者でもわかるコンピュータの基本用語をやさしく解説
更新記事
人気記事
No.1
Java&Spring記事人気No1
基本情報技術者試験
NIC
305
NICとは何か?初心者にもわかるネットワークインターフェースカードの基本
No.2
Java&Spring記事人気No2
基本情報技術者試験
セグメントとは?ネットワークの基本単位を初心者向けにやさしく解説
No.3
Java&Spring記事人気No3
基本情報技術者試験
16進数とは?初心者にもわかる意味・読み方・変換方法をやさしく解説!
No.4
Java&Spring記事人気No4
基本情報技術者試験
DHCP
239
DHCPとは?初心者でもわかるIPアドレス自動割り当ての仕組み
No.5
Java&Spring記事人気No5
基本情報技術者試験
SMTP
175
SMTPとは?初心者でもわかるメール送信の仕組みとプロトコルをやさしく解説!
No.6
Java&Spring記事人気No6
基本情報技術者試験
マイクロ(μ)とは?初心者にもわかる単位の意味と使い方をやさしく解説
No.7
Java&Spring記事人気No7
基本情報技術者試験
IMAP
161
IMAPとは?初心者でもわかるメール受信プロトコルの仕組みと使い方
No.8
Java&Spring記事人気No8
基本情報技術者試験
CPU
156
CPUとは何かを完全解説!初心者でもわかるコンピュータの頭脳の仕組み