名前と ID によるプロセスの終了

LinuxBeginner
オンラインで実践に進む

はじめに

このチャレンジでは、さまざまなコマンドを使用して Linux 上のプロセスを終了させる方法を学びます。プロセス管理は、実行中のアプリケーションやサービスを効果的に制御できるようにするため、Linux 管理者やユーザーにとって極めて重要な基本スキルです。

習得できるスキル

  • kill - プロセスにシグナルを送信する
  • killall - 名前を指定してすべてのプロセスを終了させる
  • pkill - 名前を指定してすべてのプロセスを終了させる

プロセスへのシグナル送信

Linux では、実行中のすべてのプログラムやサービスは、プロセス ID(PID)と呼ばれる固有の識別番号を持つ「プロセス」として管理されます。killコマンドを使用すると、これらのプロセスに対してシグナルを送信することができ、最も一般的な用途はプロセスの終了です。

現在、ログファイルに継続的に書き込みを行うバックグラウンドスクリプトが実行されています。killコマンドを使用して、このプロセスを終了させるシグナルを送信してください。

要件

  • バックグラウンドスクリプト(/tmp/background-process.sh)のプロセス ID(PID)を特定すること。
  • そのプロセスを終了させるためのシグナルを送信すること。
  • プロセスの終了にはkillコマンドのみを使用すること。

ヒント

  • プロセスの PID を見つけるには、ps aux | grep [process-name]を使用します。
  • -9シグナル(SIGKILL)は、プロセスを強制的に即時終了させます。
  • 一部の操作には管理者権限(sudo)が必要になる場合があることを忘れないでください。

すべてのプロセスを終了させる

killコマンドは PID を指定して個別のプロセスを終了させるのに強力ですが、同じ名前を持つ複数のプロセスを一度に終了させたい場合には、より便利なコマンドが用意されています。

killallpkillコマンドを使用すると、個別に PID を調べる必要がなく、プロセス名で直接終了させることができます。これは、同じプログラムのインスタンスが複数動作している場合に特に有効です。

このステップでは、これらのコマンドを使用して、事前に起動されている nginx ウェブサーバーのすべてのインスタンスを終了させる練習を行います。

要件

  • すべてのnginxプロセスを終了させること。
  • killallまたはpkillを使用して、すべてのnginxプロセスを停止させること。

ヒント

  • killallはプロセス名の完全一致を必要とします。
  • pkillはより柔軟なパターンマッチング(部分一致など)が可能です。
  • システムプロセスの操作には、どちらのコマンドも管理者権限(sudo)が必要になる場合があります。

まとめ

おめでとうございます!このチャレンジを無事に完了しました。

このチャレンジを通じて、以下の重要な Linux プロセス管理スキルを習得しました。

  1. psコマンドを使用してプロセスを特定する方法
  2. killコマンドを使用して PID 指定で特定のプロセスを終了させる方法
  3. killallまたはpkillを使用して名前指定で複数のプロセスを一括終了させる方法

これらのコマンドは Linux 管理者のツールキットにおける基本ツールであり、実行中のプロセスを効果的に管理・制御することを可能にします。動作の不安定なアプリケーションを停止させたり、サービスを再起動したりする場合など、システムのプロセスを正確にコントロールするために役立ててください。

引き続き学習を楽しみましょう!

✨ 解答を確認して練習✨ 解答を確認して練習