
新Linux入門|killコマンドとkillallコマンドの使い方:プロセスにシグナルを送る
Linuxでは、実行中のプログラム(=プロセス)を制御したい場面がよくあります。
「このプロセスを終了したい」「応答しなくなったプロセスを強制停止したい」…そんなときに登場するのが、
killコマンド と killallコマンド です⚙️
どちらも「プロセスにシグナル(signal)」を送るためのコマンドですが、
指定方法(PIDかプロセス名か) に違いがあります。
ここでは、この2つのコマンドをわかりやすく解説していきます✨

💥 killコマンドとは?
killコマンド は、指定したプロセスID(PID)に対して
シグナル(signal) を送信して動作を制御するコマンドです。
シグナルとは「終了して」「一時停止して」「再開して」などの指示を出す仕組みのこと。
プロセスを安全に停止したり、強制的に終了させたりするために利用します。
| 項目 | 内容 |
|---|---|
| コマンド名 | kill |
| 主な目的 | プロセスにシグナルを送って制御する |
| 対象の指定方法 | プロセスID(PID)を指定する |
| 実行権限 | 通常はrootまたは該当プロセスの所有者のみ |
💡つまり「kill」という名前ですが、単に“終了”だけでなく
“再開”や“一時停止”などもシグナル次第でできるんです😉
🧩 killコマンドの書式
kill [オプション] [PID]例
[root@AlmaLinux ~]# kill -9 1234このコマンドは、PIDが1234のプロセスに対して
「強制終了(SIGKILL)」のシグナルを送ります💣
⚙️ 主なオプション
| オプション | 説明 |
|---|---|
| -l, --list | 利用可能なシグナルの一覧を表示する |
| -s シグナル名または番号 | 送信するシグナルを指定する |
| -シグナル名または番号 | シグナルを簡易指定する(例:-9) |
💡デフォルトでは SIGTERM(15) が送信され、
これは「通常の終了要求」です。
🧮 使用例と出力例
① 通常終了(SIGTERM)
[root@AlmaLinux ~]# kill 2451→ PID 2451 のプロセスに終了要求(SIGTERM)を送ります。
プロセスが自分で後処理を行い、安全に終了します。
② 強制終了(SIGKILL)
[root@AlmaLinux ~]# kill -9 2451→ プロセスが応答しないときに使いますが、
リソースが解放されずデータ損失の可能性もあるため、慎重に⚠️
③ 利用可能なシグナル一覧の表示
[suzuki@AlmaLinux ~]$ kill -l
1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP
6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKILL 10) SIGUSR1
11) SIGSEGV 12) SIGUSR2 13) SIGPIPE 14) SIGALRM 15) SIGTERM
…(以下略)シグナル名や番号をここで確認できます✨
🧩 killallコマンドとは?
一方、killallコマンド は「プロセス名」を指定して
該当するすべてのプロセスにシグナルを送信します。
| 項目 | 内容 |
|---|---|
| コマンド名 | killall |
| 主な目的 | プロセス名を指定してシグナルを送る。 |
| 指定方法 | プロセス名(例:firefox、httpdなど) |
| 主な用途 | 同名の複数プロセスをまとめて終了する。 |
💡たとえば「firefox」が複数起動しているとき、
PIDをひとつずつ調べずにまとめて終了できるので便利です!
🔍 kill と killall の違い
| 比較項目 | kill | killall |
|---|---|---|
| 対象の指定方法 | プロセスID(PID) | プロセス名 |
| 対象範囲 | 特定の1プロセス | 同名プロセスをすべて |
| 主な用途 | 個別制御(精密) | 一括制御(便利) |
| 例 | kill -9 1234 | killall -9 firefox |
💡 killallコマンドの書式と例
killall [オプション] [プロセス名]① 通常終了(SIGTERM)
[root@AlmaLinux ~]# killall -SIGTERM firefox→ firefox という名前のすべてのプロセスを終了要求します。
② 強制終了(SIGKILL)
[root@AlmaLinux ~]# killall -9 firefox→ 応答しないFirefoxプロセスを一括で強制終了💥
③ 特定ユーザーのプロセスのみ終了
[root@AlmaLinux ~]# killall -u suzuki gedit→ ユーザーsuzukiが起動しているgeditを終了します。
🧰 kill / killall の活用イメージ
| 状況 | 使用コマンド | 例 |
|---|---|---|
| 1つのプロセスを安全に終了 | kill | kill 2345 |
| 応答しないプロセスを即終了 | kill | kill -9 2345 |
| 同名プロセスをまとめて停止 | killall | killall firefox |
| 特定ユーザーのプロセスを終了 | killall -u | killall -u suzuki gedit |
🧠 注意ポイント
- SIGTERM(15) は通常終了(安全に止まる)
- SIGKILL(9) は強制終了(即停止・データ喪失のリスクあり)
- killallは複数プロセスを止めるため、誤操作には注意!⚠️
🌈 まとめ
- kill は PID を指定して個別にプロセスを制御。
- killall は プロセス名 を指定して一括制御。
- SIGTERM(15) は安全な終了、SIGKILL(9) は強制終了。
プロセス管理の基本中の基本ともいえるコマンドです💪
ps や top コマンドと組み合わせて使えば、システム監視とトラブル対応がグッと効率的になります✨
