Linux の基本的な原則は、すべてがファイルとして扱われるということです。この概念は、実行中のプロセスにも及び、その情報は/procとして知られる特別な仮想ファイルシステムに動的に格納されます。
/procディレクトリの探索
/procファイルシステムは、ハードドライブ上の実際のファイルシステムではなく、カーネルによってメモリ上に作成されます。これは、カーネルの内部データ構造とシステムの状態への窓を提供します。
その内容を確認するには、その中のファイルとディレクトリを一覧表示できます。
ls /proc
多くの番号付きディレクトリが表示されます。各番号は、現在実行中のプロセスのプロセス ID(PID)に対応します。また、cpuinfoやmeminfoなどのファイルもあり、システムのハードウェア情報を提供します。
特定のプロセス情報へのアクセス
psのようなコマンドで PID を特定した場合、/proc内の対応するディレクトリを探して、より詳細な情報を取得できます。例えば、PID が 12345 のプロセスを調べるには、そのステータスファイルの中身を見ることができます。
cat /proc/12345/status
このコマンドは、プロセスの状態(例:スリープ中、実行中)、メモリ使用量、ユーザーID など、プロセスの詳細情報を表示します。/procディレクトリは、カーネルがプロセスを直接見るためのものであり、標準ツールよりもはるかに多くのデータを提供します。
システムデータのダッシュボード
/procファイルシステムを、多くのシステム監視ツールの生データソースと考えてください。top、ps、htopなどのユーティリティは/procから読み取り、情報をユーザーフレンドリーな形式で表示します。ここには、これらのツールがデフォルトで表示しないかもしれない豊富な追加の詳細情報が含まれています。
/proc内のファイルに直接アクセスすることで、カスタムスクリプトや、ニーズに合わせて調整された監視ダッシュボードを作成するための特定のメトリクスを収集できます。これは、Linux システムの内部動作を観察し、理解するための強力なインターフェースです。