/procディレクトリを活用するLinux Hacks(1/4 ページ)

/procディレクトリには、Linuxシステムについてのあらゆる詳細な情報がある。/procを学ぶことで、Linuxのコマンドの仕組みを学んだり、さらにはシステム管理的なことを行ったりできる。

» 2008年03月04日 01時00分 公開
[Federico Kereki,Open Tech Press]
SourceForge.JP Magazine

 /procディレクトリは不思議な存在だ。本当に存在しているわけではないが、ディレクトリ内を見て回ることができる。ディレクトリ内にある各ファイルの容量は0で、バイナリでもテキストでもないが、ファイル属性を確認したりファイルの中身を表示したりできる。この特殊な/procディレクトリには、カーネル、プロセス、設定用パラメータなどに関して、Linuxシステムについてのあらゆる詳細な情報がある。そのため/procディレクトリを学ぶことで、Linuxのコマンドの仕組みを学んだり、さらにはシステム管理的なことを幾らか行ったりすることなどができる。

 Linuxではあらゆるものをファイルとして扱うようになっていて、例えばデバイスさえも(/devディレクトリ内の)ファイルとしてアクセスする。「普通の」ファイルは、テキストファイルかバイナリファイルのどちらか(ことによるとデバイスファイルやパイプファイル)だと考えているかもしれないが、/procディレクトリにあるのはもっと珍しいタイプのファイル――仮想ファイル――だ。仮想ファイルはlsで確認できるが、ディスク上に実際に存在しているわけではなく、ユーザーがファイルを読もうとしたときにOSが動的に生成する。

 大半の仮想ファイルのタイムスタンプは常に現在時刻になっているが、これは絶えず更新され続けているということを表わしている。なお/procディレクトリ自体は、マシンの起動時に毎回作成される。一部のファイル(プロセスに関連するものなど)はプロセスを起動したユーザーが所有しているので、/procディレクトリのすべての部分を見るためにはrootユーザーになる必要がある。ほぼすべてのファイルは読み取りのみ可能だが、書き込み可能なものも幾つかあって(代表的なものは/proc/sys)、それらのファイルを利用すればカーネルのパラメータを変更できる(ただしこれを行う際には注意が必要だ)。

/procについての文書

 /procファイルシステムについての文書はカーネルのソース内のあちらこちらに分散しているため、見つけるのは面倒かもしれない。探してみたところ、/usr/src/linux/Documentationディレクトリの中にproc.txtというファイルが見つかった。このファイルは情報満載だが、やや古く、最終更新日時はカーネル2.4.0リリース直前の2000年11月になっていた。それでもこのディレクトリを調査する方がCのソースファイルを読むよりは簡単だ。ただし必要以上の情報が得られてしまう可能性もあって、例えばlaptop-mode.txtファイルは/proc/sys/vm/laptop_modeファイルについての説明だけだが、1000行近い長さがある。


       1|2|3|4 次のページへ

Copyright © 2010 OSDN Corporation, All Rights Reserved.

注目のテーマ