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

それぞれ、次のような情報が得られる。

  • /proc/<pid>/as ‐ プロセスのアドレス空間情報
  • /proc/<pid>/cred ‐ プロセスの資格情報
  • /proc/<pid>/ctl ‐ プロセス制御ファイル
  • /proc/<pid>/lwp ‐ プロセス内のLWPを表わすファイルが含まれるディレクトリ
  • /proc/<pid>/map ‐ アドレス空間マップ情報。pmap(1)コマンドで表示される
  • /proc/<pid>/object ‐ 開いているファイルや共有メモリーオブジェクトの情報が格納されるディレクトリ
  • /proc/<pid>/psinfo ‐ ps(1)コマンドで表示するためのプロセス情報
  • /proc/<pid>/sigact ‐ シグナル状況の情報
  • /proc/<pid>/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> ディレクトリ以下で提供されており、様々な仮想ファイルが提供されている。

関連する用語
/proc
debugfs
sysfs
プロセスID
pid_t

コメントなどを投稿するフォームは、日本語対応時のみ表示されます


KisoDic通信用語の基礎知識検索システム WDIC Explorer Version 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club