3. プロセス詳細

プロセスの管理の実践的な応用に入る前に、Linux プロセスとは何か、そしてどのように機能するかを理解することが不可欠です。このトピックは詳細を探るにつれて複雑に思えるかもしれませんが、必要に応じて後でこのレッスンに戻ってきても構いません。

Linux プロセスとは何か

プロセスとは実行中のプログラムのことです。より正確には、システムがメモリ、CPU 時間、I/O などのリソースを割り当てた、実行中のプログラムのインスタンスです。例えば、3 つのターミナルウィンドウを開き、そのうち 2 つで引数なしにcatコマンドを実行し(標準入力を待ち、プロセスをアクティブに保ちます)、3 番目のウィンドウでps aux | grep catを実行すると、2 つの異なるcatプロセスが表示されます。それぞれが同じプログラムの別個のインスタンスであり、独自のプロセス ID とリソース割り当てを持っています。

プロセス管理におけるカーネルの役割

Linux カーネルがあらゆるプロセス管理を担当します。プログラムを実行すると、カーネルはそのコードをメモリにロードし、必要なシステムリソースを割り当て、プロセスとして追跡を開始します。カーネルは、各プロセスについて以下の情報を含む詳細な情報を維持します。

  • プロセスの状態
  • プロセスが使用中および受信中のリソース
  • プロセスの所有者
  • シグナル処理(これについては後述します)
  • その他基本的にすべて

すべてのアクティブなプロセスはシステムリソースをめぐって競合します。カーネルはスケジューラとして機能し、各プロセスがその優先度とニーズに基づいてリソースの公正なシェアを受け取るようにします。プロセスがタスクを完了するか終了すると、カーネルはそのプロセスが使用していたリソースを回収し、他のプロセスが利用できるようにします。

ログインして学習進捗を保存

サインイン

演習

練習あるのみです!Linux プロセスとその管理に関する理解を深めるための実践的なラボを以下に示します。

  1. Linux プロセスの管理と監視 - フォアグラウンド/バックグラウンドプロセスとの対話、psによる検査、topによる監視、killによる終了など、Linux システムでのプロセスの管理と監視に不可欠なスキルを学びます。
  2. Linux top コマンド:リアルタイムシステム監視 - topコマンドを使用してリアルタイムのシステム監視を行う方法を学びます。これには、プロセスのソート、更新間隔の調整、ユーザーによるフィルタリングが含まれます。
  3. Linux free コマンド:システムメモリの監視 - freeコマンドを使用してシステムメモリの使用状況を監視および分析し、カーネルがプロセスにリソースをどのように割り当てるかを理解する方法を学びます。

これらのラボは、概念を実際のシナリオに適用し、Linux でのプロセス管理に対する自信を構築するのに役立ちます。

クイズ

すべての Linux プロセスを管理および制御するものは何ですか?単一の英単語で、すべて小文字で回答してください。