/procは以下のファイルやフォルダは実際のファイルではなくカーネルが提供する擬似ファイル。
ファイルのようにアクセスすると、カーネルにアクセスし情報を取得できる。
擬似ファイルシステムにしておくと、プログラムからはインターフェースが統一される。
/proc/[数字]
数字はPID(プロセス毎につけられた番号)をあらわす、プロセスのいろいろな状態を知ることができる。
サーバーなどは起動時に自分のPIDをファイルに書き込んでいたりするので、そこからPIDを知ることができる。
apache2は/var/run/apache2.pidなどに自分のPIDを書き込む。
よって以下のようにして、apache2のプロセス状態を取得できる。
1 2 3 4 5 6 7 8 9 10 11 |
$ cat /proc/$(cat /var/run/apache2.pid)/status Name: apache2 State: S (sleeping) Tgid: 14846 Pid: 14846 ... Mems_allowed: 1 Mems_allowed_list: 0 voluntary_ctxt_switches: 248 nonvoluntary_ctxt_switches: 8 $ |
/proc/loadavg
CPUの使用率を表示する。uptimeコマンドなどで利用する。
ほかにもいろいろあるがこれらは man proc で知ることができる。