プロセス管理(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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- プロセス管理(ps、top、kill)
- 入出力のリダイレクト(>、>>、<)
- コマンドのパイプ(|)
- バックグラウンドジョブとジョブ制御