procfs
読み:プロック-エフエス
外語:procfs: process filesystem

 UNIXPOSIX準拠OS(Linux等)にある疑似ファイルシステムの一つ。
目次

概要
 procfsは、カーネルが管理するプロセス関係の情報をファイルシステムに見せかけて扱うことができるものである。
 通常は/procmountして使う。

特徴

由来
 元々はVersion 8 UNIXで実装された。
 これが、SVR4、Plan9、4.4BSDLinuxなどに次々と移植、実装され、そのたびに改良が進められた。

System V
 プロセスごとにサブディレクトリが用意し、各プロセスごとの情報が得られるようになっている。
 例えばSystem VであるUnixWareの場合、次のようになる。
-rw-------    1 root     root      585728 Feb 27 13:50 as
-r--------    1 root     root          32 Feb 27 13:50 cred
--w-------    1 root     root           0 Feb 27 13:50 ctl
dr-xr-xr-x    1 root     root           0 Feb 27 13:50 lwp
-r--------    1 root     root        2436 Feb 27 13:50 map
dr-x------    1 root     root           0 Feb 27 13:50 object
-r--r--r--    1 root     root         260 Feb 27 13:50 psinfo
-r--------    1 root     root        1088 Feb 27 13:50 sigact
-r--------    1 root     root        1152 Feb 27 13:50 status
 それぞれ、次のような情報が得られる。
 これがやがて、BSDやLinuxに実装されるようになると、さらに豊富な情報が得られるように拡張されることになる。

BSD
 BSDでは、4.4BSDで実装された。
 ただし、現在のFreeBSDOpenBSDでは、procfsは標準ではマウントされていない。
 procfsをマウントするためには、/etc/fstabを書き換える(一行追記する)必要がある。例えば、次のような行を追記する。
 proc /proc procfs rw 0 0
 この後、「mount -a」とするかOSを再起動すれば、/procにprocfsがマウントされているはずである。

Linux
 Linuxでは、psなどの基本的なコマンドはじめ様々なコマンドで必須となるため、標準でprocfsをマウントする。
 ただし、Linuxのprocfsはプロセスとは直接関係のないカーネルの情報も提供されている。プロセスと無関係なものについては、順次sysfsへと移動されている。
 プロセスに関する情報は、/proc/<PID> ディレクトリ以下で提供されており、様々な仮想ファイルが提供されている。

再検索