Linux豆知識 200
/proc/(数字)ディレクトリ
公開日:2017年03月03日
lsコマンドで、/procディレクトリ直下を見てみると、名前が数だけでできている「ディレクトリ」がたくさんあるのが見て取れます。
--
$ ls /proc
1 142 2135 23 3688 64 7887
10 15 2145 2309 370 65 7959
(略)
--
この数字は、実行中のプロセスの「プロセスID(PID)」に対応しています。
これらのディレクトリは「プロセスディレクトリ」と呼ばれ、該当するプロセス固有の情報が格納されています。そのプロセスが起動しているときに作成され、プロセス終了時にディレクトリは削除されます。
以下にプロセスディレクトリに含まれるファイルの例と、ファイルの内容を示します。
--
cmdline プロセスを開始したコマンド
cwd プロセスのカレントワーキングディレクトリ(CWD)へのシンボリックリンク
exe プロセスの実行ファイルへのシンボリックリンク
root ルートディレクトリへのシンボリックリンク
cpu 各cpuでのCPUタイムと統計情報
environ プロセスの環境変数の一覧
fd プロセスが使用しているファイル・デバイスのファイル記述子
maps プロセスのアドレス空間の状態
mem プロセスのアドレス空間の内容
statm プロセスのページ割り当て
stat プロセスの状態
status プロセスの状態(statより詳しい内容)
--
これらのファイルはプロセスの情報の宝庫と言ってもよく、このファイルを参照することによってプロセスの詳細を調べることができます。「status」ファイルなどを見るとプロセスの状態が詳しく手に入るため、頻繁に参照されるようです。ただし、これらのファイルの内容は誤って編集・削除などをするとシステムの不具合を引き起こすことがあるため、あくまで参照用として扱ってください。
種類が多く、内容も難しいものが多いため、まずは「どのようなディレクトリとファイルがあるか」を知ることから始めましょう。