kill コマンドとシグナルの基本|プロセスへの合図をやさしく理解する|UNIX Cafe

当サイトでは、コンテンツの一部に広告を掲載しています。
シグナルの世界|kill入門とプロセスに送る“合図”の基本|UNIX Cafe

UNIX Cafe | 第20回

目次

止める前に知っておきたい|kill コマンドとシグナルの基本

Linux や UNIX を使っていると、「動かなくなったアプリを止めたい」
「サーバーの処理を安全に終わらせたい」そんな場面に出会います。

そこで登場するのが kill コマンドです。

名前から「強制終了の命令」と思われがちですが、
本当の役割は プロセスに“シグナル(合図)”を送ること にあります。

この記事では、

  • シグナルとは何か
  • kill コマンドの本当の意味
  • よく使われるシグナルの違い
  • 実際のコマンド例

を、初心者にもわかる言葉で整理していきます。

kill = 強制終了、ではありません

ミナちゃん

kill って書いてあるけど、
いきなりアプリを消す命令なんですか?

kill は「殺す」という名前ですが、
実際には プロセスにメッセージを送るコマンドです。

そのメッセージが「シグナル」。

シグナルには種類があり、

  • やさしく終了してほしい
  • 今すぐ止まってほしい
  • いったん止めて、あとで再開してほしい

といった 意味の違いがあります。

つまり kill は、プロセスと会話するための道具なのです。

シグナルとは何か?

シグナルは、プロセスに送られる 短い合図 です。

プロセスはその合図を受け取ると、

  • 自分で後始末をして終了する
  • すぐに停止する
  • 一時停止して待機する

など、決められた動きをします。

代表的なシグナルは次のとおりです。

シグナル意味イメージ
SIGTERM通常の終了「そろそろ終わってください」
SIGKILL強制終了「今すぐ止まって」
SIGSTOP一時停止「ちょっと止まって」
SIGCONT再開「続きをどうぞ」
ユニ先生

ただ止めるだけじゃなくて、
ちゃんと意味が分かれているんでだよ。

top でプロセスを確認する

シグナルを送る前に、
どのプロセスが動いているか を確認する必要があります。

そこで使うのが top コマンドです。

ミナちゃん

今どんなプロセスが働いているか、確認してみましょう!

top
  • 現在動いているプロセスが一覧表示されます
  • PID(プロセスID)も確認できます
  • 終了するときは q を押します

PID は、
シグナルを送る相手を指定する番号です。

kill コマンドの基本形

もっとも基本的な使い方がこちらです。

kill -SIGTERM 1234
  • SIGTERM:送るシグナル
  • 12345:プロセスID(PID)

このコマンドは、「PID 12345 のプロセスに、やさしく終了してくださいと伝える」という意味になります。

※ 数字は例です。実際の PID に置き換えてください。

停止と再開もできる

kill は「止める」だけでなく、
一時停止や再開にも使えます。

sleep 1000 &        # 練習用プロセスを起動
echo $!             # 直前の PID を表示
kill -SIGSTOP <PID> # 一時停止
kill -SIGCONT <PID> # 再開

このように、プロセスの動きをコントロールすることも可能です。

設定を読み直す SIGHUP

SIGHUP は少し特殊なシグナルです。

kill -SIGHUP <PID>

多くのサーバープログラムでは、

  • プロセスは終了しない
  • 設定ファイルだけを読み直す

という動作になります。

サービスを止めずに設定を反映できるため、サーバー運用ではよく使われます。

ここで少し休憩|よくある質問

SIGTERM と SIGKILL の違いは?

SIGTERM は「終了してください」という依頼、SIGKILL は「即停止」の命令です。

kill が効かないことがあるのはなぜ?

権限不足、PIDの間違い、すでに終了している場合が多いです。

kill コマンドは Windows でも使えますか?

kill は Linux / UNIX 系の仕組みです。Windows では別の方法になります。

シグナルは「やさしい運営」のための仕組み

シグナルは、とても小さな合図です。
でも、その一言でシステム全体の流れが変わることもあります。

だからこそ、

  • いきなり SIGKILL を使わない
  • まずは SIGTERM を送る
  • 状況を確認してから操作する

という やさしい使い方 が大切です。

まとめ

  • シグナルはプロセスに送る短いメッセージ
  • kill コマンドは「終了」ではなく「合図」を送る道具
  • シグナルごとに役割が違う
  • top と組み合わせることで安全に操作できる

小さな合図を正しく使えるようになると、
UNIX の世界が、ぐっと扱いやすくなります。

ユニ先生

小さな合図でも、
システムの流れは大きく変わるんだよ。

さらに学びたいあなたへ

📘 用途ごとに選ぶ Linux のおすすめ本

あわせて読みたい
レベル・用途別おすすめ Linux 本リスト|UNIX Cafe UNIX Cafe | 第65回 Linux の世界には、「はじめて触る人」「コマンドを覚えはじめた人」「サーバーに挑戦したい人」と、さまざまな段階があります。そんなときに、自分...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

のいのアバター のい UNIX Cafe 編集部

UNIX Cafe は、むずかしい言葉をできるだけ使わず、物語を読むような気持ちで気軽に学べる場所です。
プログラミングは、アイデアをコンピューターに伝えるための「ことば」。
簡単な単語と文法を覚えることで、誰でもターミナルから便利なコマンドを使えるようになります。
コーヒーを片手に立ち寄るような気持ちで、やさしいプログラミングの世界を、
そっとのぞいてみてください。

目次