Categories: 雑記

Linux killコマンド完全ガイド ~オプション・シグナル一覧と使い方~

Linuxのkillコマンドは、プロセス管理やサーバ運用に欠かせない基本コマンドです。ここでは、シグナル・オプションの網羅的な解説から、具体的なコマンド例、応用テクニックまでをまとめました。

killコマンドの概要

killコマンドは、指定したプロセスID(PID)にシグナルを送信し、プロセスの終了・一時停止・再開などの制御ができます。デフォルトで送信されるシグナルはSIGTERM(15番)です

プロセスID(PID)の取得方法

まずは、操作したいプロセスのPIDを確認します。

  • ps aux … 実行中プロセス一覧の表示(すべてのプロセス、PID表示)
  • top … インタラクティブにプロセスを監視
  • pgrep プロセス名 … プロセス名からPIDを検索

killコマンドの使い方

一般的な書式

  • kill [PID] … デフォルト(SIGTERM=通常終了)シグナルを送信
  • kill -[シグナル名または番号] [PID] … 指定したシグナルを送信
  • kill -s [シグナル名または番号] [PID] … -sオプションでシグナル指定
  • kill -l … 使用可能なシグナル一覧の表示

kill 1234              # PID 1234のプロセスを通常終了
kill -9 9876           # 強制終了(SIGKILL)
kill -TERM 4585        # 通常終了
kill -STOP 2222        # 一時停止
kill -CONT 2222        # 停止プロセス再開
kill -l                # シグナル一覧の表示

主なシグナル一覧

シグナル名ID意味
HUP1ハングアップ(再起動や接続切断時の終了)
INT2キーボード割り込み(Ctrl+C)
QUIT3キーボード中止
ILL4不正命令
ABRT6異常終了
KILL9強制終了(無視不可)
SEGV11メモリ違反
TERM15通常終了(デフォルト)
STOP19停止(無条件で一時停止、無視不可)
CONT18停止解除

killコマンドのオプション一覧

オプション内容・用途サンプル
(なし)SIGTERM(デフォルト)送信kill 1234
-lシグナル一覧表示kill -l
-sシグナル指定送信kill -s KILL 1234
-[ID/名]シグナルIDまたは名で指定kill -9 1234
-STOPプロセス一時停止kill -STOP 1234
-CONT停止プロセスを再開kill -CONT 1234

強制終了とその注意点

  • kill -9 [PID](SIGKILL)は、強制的にプロセスを即座に停止します。他のシグナルと違い、無視できません。
  • 強制終了ではプロセスの終了処理や一時保存が行われないため、必要な場面だけ慎重に使用しましょう。

補足:killall・pkillコマンド

  • 同じプロセス名のプロセスを一括終了させたい場合はkillall、名前や属性で柔軟に殺すにはpkillコマンドが便利です。

まとめ

killコマンドは多彩なオプションとシグナル指定により、Linuxプロセス管理に不可欠な機能を提供します。基本から強制終了、複数プロセス同時操作、シグナル一覧の表示まで、使い方を理解し、安全に運用しましょう。

にいやん

出身 : 関西 居住区 : 関西 職業 : 組み込み機器エンジニア (エンジニア歴13年) 年齢 : 38歳(2022年11月現在) 最近 業務の効率化で噂もありPython言語に興味を持ち勉強しています。 そこで学んだことを記事にして皆さんとシェアさせていただければと思いブログをはじめました!! 興味ある記事があれば皆さん見ていってください!! にほんブログ村