【便利】killコマンドとは?その使い方から場面別の使用実例を解説

※本サイトにはプロモーション・広告が含まれています。

(最終更新月:2023年5月)

✔このような方へ向けて書かれた記事となります

「killコマンドって何だろうか?」

「killコマンドの具体的な使い方を教えて」

「killコマンドで気を付けることって何?」

✔当記事を通じてお伝えすること

  • killコマンドとは?
  • killコマンドの使い方
  • killコマンドの具体例

当記事では、killコマンドについて、その基本はもちろん、具体的な使い方やオプションについてまで丁寧に解説しています。

ぜひ最後までご覧ください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

killコマンドについて必ず知っておきたいこと

killコマンドを使用するにあたり、必ず知っておくべき事項をお伝えします。

応用した使い方を知る前に、まずは目を通してください。

  • killコマンドの重要性
  • killコマンドの概要
  • 基本構文
  • 使用する際の注意点

killコマンドの重要性

killコマンドは、実行中のプロセスを終了させるための重要なツールです。

システム上で問題を引き起こすプロセスや、想定よりも長く実行されているプロセスを停止させる際に活用されます。

適切にkill コマンドを使いこなすことで、システムの安定性やパフォーマンスを維持できるのです。

killコマンドの概要

killコマンドは、実行中のプロセスに対してシグナルを送信し、プロセスの終了や挙動の変更をおこなうコマンドです。

シグナルとは、プロセス間で情報を伝達するための仕組みで、システム内でさまざまな目的で利用されます。

基本構文

kill コマンドの基本構文は以下の通りです。

kill [シグナル] プロセスID

ここで、シグナルは省略可能で、省略した場合はSIGTERM (15)がデフォルトで送信されます。

プロセスIDは、終了させたいプロセスのIDを指定します。

使用する際の注意点

killコマンドを使用する際には、以下の点に注意してください。

  • 間違ったプロセスに対してkillコマンドを実行しないように、プロセスIDを確認してから実行する
  • 強制終了 (SIGKILL) は、データの破損やシステムの不安定化を引き起こす可能性がある

通常の終了シグナル (SIGTERM) でプロセスを終了させることが推奨されます。

killコマンドの実践

killコマンドの実践における使い方を見ていきましょう。

それぞれご覧ください。

  • プロセスの確認方法
  • killコマンドを使ってプロセスを停止する方法
  • シグナルについて

プロセスの確認方法

プロセスを終了させる前に、対象となるプロセスIDを特定する必要があります。

以下のコマンドを使用してプロセスを確認できます。

  • psコマンド
  • topコマンド
  • pgrepコマンド

psコマンド

psコマンドは、システム上で実行中のプロセスを一覧表示するコマンドです。

以下のように使用します。

ps aux

詳しくはこちら。

【完全マスター】PSコマンドの基本からオプションまで実例付きで解説
PSコマンドについて詳しく知りたいですか?当記事では、PSコマンドの基本はもちろん、そのオプションを使った書き方など応用したものまで、具体例付きでご紹介します。まだ使い方がよくわからないという初心者の方も、手を動かしながら進めていけるので、身につきやすいです。

topコマンド

top コマンドは、リアルタイムにプロセスの状態を表示するコマンドです。

以下のように使用します。

top

pgrepコマンド

pgrepコマンドは、指定したパターンに一致するプロセス名やプロセスIDを検索するコマンドです。

以下のように使用します。

pgrep [プロセス名]

killコマンドを使ってプロセスを停止する方法

プロセスIDを特定したら、次のようにkill コマンドを使用してプロセスを停止できます。

  • 通常の終了シグナル (SIGTERM) でプロセスを停止
  • 強制終了シグナル (SIGKILL) でプロセスを停止

通常の終了シグナル (SIGTERM) でプロセスを停止

kill [プロセスID]

強制終了シグナル (SIGKILL) でプロセスを停止

kill -9 [プロセスID]

シグナルについて

シグナルは、プロセス間で情報を伝達するための仕組みです。

以下では、シグナルの種類と役割、および指定して使用する方法について説明します。

  • シグナルの種類と役割
  • シグナルを指定してkill コマンドを使用する方法

シグナルの種類と役割

シグナルには、以下のような主要な種類があります。

シグナル名シグナル番号説明
SIGTERM15プロセスに終了を要求するために使われるシグナル
SIGKILL9プロセスを強制終了させるために使われるシグナル
SIGSTOP17, 19, 23プロセスを一時停止させるために使われるシグナル
SIGCONT18, 20, 24一時停止したプロセスを再開させるために使われるシグナル

シグナルを指定してkillコマンドを使用する方法

シグナルを指定してkill コマンドを使用するには、以下のように実行します。

kill -[シグナル] [プロセスID]

例えば、プロセスID 1234にSIGHUPシグナルを送信する場合は次のようになります。

kill -1 1234

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

killコマンドのオプション一覧について詳しく見ていきましょう。

主なものをまとめてますので、実例とともにご覧ください。

オプション名説明実例
-lシグナルの一覧を表示するkill -l
-s指定したシグナルを送信するkill -s SIGTERM 1234
-[シグナル]指定したシグナル番号を送信するkill -15 1234
–signal指定したシグナル名でシグナルを送信するkill –signal SIGTERM 1234

killコマンドの応用

ここまで理解したらkillコマンドの応用した使い方を見ていきましょう。

使い方のイメージがわきやすくなります。

  • ジョブ制御とkillコマンド
  • システム管理者向けのkill コマンドの使用例
  • killコマンドを使わずにプロセスを終了させる方法

ジョブ制御とkillコマンド

ジョブ制御は、シェルで複数のプロセスを管理する機能です。

ジョブ制御を利用して、バックグラウンドで実行中のプロセスに対してkillコマンドを使えます。

例えば、バックグラウンドジョブの一覧を表示するには、次のように実行します。

jobs

そして、特定のバックグラウンドジョブに対してkill コマンドを使用する場合は、次のように実行します。

kill %[ジョブ番号]

システム管理者向けのkillコマンドの使用例

システム管理者は、killコマンドを使用して、以下のようなタスクを実行できます。

  • リソースの消費が高いプロセスを終了させる
  • ハングアップしたプロセスを強制終了させる
  • システムのメンテナンスやアップデートのために、一時的に特定のサービスを停止させる

killコマンドを使わずにプロセスを終了させる方法

killコマンド以外にも、プロセスを終了させる方法がいくつかあります。

  • pkill コマンド: プロセス名で検索して一括でプロセスを終了させる
  • killall コマンド: 指定したプロセス名に一致するすべてのプロセスを終了させる

よくあるトラブルシューティングとFAQ

よくあるトラブルシューティングとその対処法について解説していきます。

  • killコマンドが効かない場合の対処法
  • 権限不足でkill コマンドが使えない場合の対処法
  • その他のよくある質問と回答

killコマンドが効かない場合の対処法

killコマンドが効かない場合は、次のような対処法があります。

  • 強制終了シグナル (SIGKILL) を試す
  • プロセスIDが正しいことを確認する
  • システム管理者権限でコマンドを実行する

権限不足でkillコマンドが使えない場合の対処法

権限不足でkillコマンドが使えない場合は、以下の方法で対処できます。

  • sudo コマンドを使用して、管理者権限で実行する
  • プロセスの所有者としてログインして実行する
  • システム管理者に連絡して、対応を依頼する

その他のよくある質問と回答

よくあるQ&Aをご紹介します。

Q: プロセスを一時停止させる方法はありますか?

A: はい、一時停止させるには、SIGSTOPシグナルを送信します。次のように実行します。

kill -STOP [プロセスID]

Q: 一時停止したプロセスを再開させる方法はありますか?

A: はい、一時停止したプロセスを再開させるには、SIGCONTシグナルを送信します。次のように実行します。

kill -CONT [プロセスID]

まとめ

当記事で解説したこと。

  • kill コマンドの基本的な使い方
  • 実践方法
  • 応用例

killコマンドは、システム管理やトラブルシューティングにおいて非常に便利なツールです。

killコマンドをより深く理解し、活用するためには、以下のようなリソースを参照してください。

オンラインフォーラムやブログ: LinuxやUNIXに関するフォーラムやブログでは、多くの実例や解説が共有されています。実践的な知識を深めるために、参考にしてみてください。

タイトルとURLをコピーしました