0Pricing
Linux Command Line & Bash Scripting Mastery · レッスン

プロセス管理(ps、top、kill)

システム上で実行中のプロセスを一覧表示、監視、終了する方法を学び、プロセスIDや状態について理解します。

「プロセス管理(ps、top、kill)」はCoddyKit上の無料Linux Command Line & Bash Scripting Masteryレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはLinux Command Line & Bash Scripting Mastery学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Linux Command Line & Bash Scripting Masteryコースには全4レッスンが含まれています。

プロセスとは

Linuxにおけるプロセスとは、実行中のプログラムのインスタンスです。実行するすべてのコマンドや開くすべてのアプリケーションは、1つ以上のプロセスとして動作します。

  • プロセスはオペレーティングシステムによって管理されます。
  • プロセスを理解することは、システムの状態を監視し、トラブルシューティングを行ううえで重要です。

`ps`でプロセスを一覧表示する

psコマンド(process status)は、現在実行中のプロセスに関する情報を表示するために使用します。

デフォルトでは、現在のターミナルセッションに関連付けられたプロセスが表示されます。

詳細なプロセス情報(`ps aux`)

他のユーザーが起動したプロセスやシステムサービスを含め、システム上で実行中のすべてのプロセスを確認するには、auxや-efなどのオプションを使用します。

  • ps aux:ターミナルに接続されていないプロセスも含め、すべてのプロセスを表示します。
  • ps -ef:すべてのプロセスを完全な一覧形式で表示します。

ps auxを実行し、headにパイプして最初の数行を確認してみましょう。

ps aux | head -n 5

`ps`の出力を理解する

ps auxの出力には、いくつかの重要な列があります。

  • USER:プロセスを所有するユーザーです。
  • PID:一意のプロセスIDです。
  • %CPU:CPU使用率です。
  • %MEM:メモリ使用率です。
  • COMMAND:プロセスを起動したコマンドです。

プロセスを管理するうえで、PIDは特に重要です。

`top`でリアルタイムに監視する

psがスナップショットを表示するのに対して、topコマンドは実行中のプロセスを動的にリアルタイム表示します。

継続的に情報を更新し、最も多くのリソースを消費しているプロセスを表示します。

`top`のメトリクスを読み取る

topを実行すると、上部に概要が表示され、その下にプロセス一覧が表示されます。

  • Load Average:1分、5分、15分間の平均システム負荷です。
  • Tasks:プロセスの総数、実行中、スリープ中、停止中、ゾンビの数です。
  • %Cpu(s):CPU使用率です。
  • Mem:メモリの合計、空き、使用中、バッファ済みの容量です。
  • Process List:psと似た列を持ちますが、常に並べ替えられます(デフォルトではCPU使用率順)。

特定のプロセスを検索する

psとgrepを組み合わせて、特定のプロセスを絞り込めます。たとえば、'bash'に関連するすべてのプロセスを検索できます。

grep -v grepの部分は、結果からgrepコマンド自体を除外するのに役立ちます。

ps aux | grep -i "bash" | grep -v "grep"

`kill`でプロセスを終了する

プロセスがハングしたり、リソースを過剰に消費したりすることがあります。killコマンドを使うと、プロセスにシグナルを送信できます。通常はプロセスを終了するために使用します。

終了したいプロセスのPIDが必要です。

`kill`シグナルを理解する

killを使用すると、プロセスに「シグナル」を送信します。デフォルトのシグナルはSIGTERM(15)で、プロセスに正常なシャットダウンを要求します。

  • kill PID:SIGTERMを送信します。
  • kill -9 PID:SIGKILLを送信します。これは強制終了であり、プロセスは無視できません。慎重に使用してください。

使用可能なすべてのシグナルは、kill -lで一覧表示できます。

kill -l

`kill`の実践例

簡単なバックグラウンドプロセスを終了する練習をしましょう。sleepコマンドをバックグラウンドで起動し、そのPIDを確認してから、killを使って停止します。

以下のコードを実行してください。実行後、sleepプロセスのPIDが表示されます。その後、ターミナルでkill <PID>と手入力し、<PID>を実際の番号に置き換えてプロセスを停止してください。

# Step 1: Start a dummy process in the background
sleep 300 &
echo "Sleep process started. Now finding its PID..."

# Step 2: Find its Process ID (PID)
# Look for the 'sleep' process in the output
ps aux | grep -i "sleep" | grep -v "grep"

# Step 3: To kill it, manually type 'kill <PID>'
# Example: kill 12345

クイックチェック:プロセス管理

プロセスの一覧表示、監視、終了について学びました。理解度を確認してみましょう。

復習:プロセスを管理する

よくできました。このレッスンでは、プロセス管理に欠かせないLinuxコマンドを習得しました。

  • ps:プロセスを一覧表示し、状態のスナップショットを取得します。
  • top:システムプロセスとリソース使用量をリアルタイムかつ動的に監視します。
  • kill:プロセスにシグナルを送信し、主に正常終了(SIGTERM)または強制終了(SIGKILL)を行います。

これらのツールは、システム管理やトラブルシューティングに欠かせません。

よくある質問

「プロセス管理(ps、top、kill)」レッスンは無料ですか?

はい。「プロセス管理(ps、top、kill)」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Linux Command Line & Bash Scripting Masteryコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Linux Command Line & Bash Scripting Masteryコースには全4レッスンが含まれています。

「プロセス管理(ps、top、kill)」で何を学びますか?

システム上で実行中のプロセスを一覧表示、監視、終了する方法を学び、プロセスIDや状態について理解します。 ブラウザで直接実行するハンズオンコードでLinux Command Line & Bash Scripting Masteryを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Linux Command Line & Bash Scripting Masteryを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのLinux Command Line & Bash Scripting Masteryは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「プロセス管理(ps、top、kill)」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このLinux Command Line & Bash Scripting Masteryレッスンでコードを書いて実行できますか?

はい。すべてのLinux Command Line & Bash Scripting Masteryレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. プロセス管理(ps、top、kill)
  2. 入出力のリダイレクト(>、>>、<)
  3. コマンドのパイプ(|)
  4. バックグラウンドジョブとジョブ制御
← Linux Command Line & Bash Scripting Masteryに戻る