「Procfs」の版間の差分
ナビゲーションに移動
検索に移動
Kusanaginoturugi (トーク | 投稿記録) (→Usage: 翻訳) |
(他言語へのリンクを追加) |
||
(他の1人の利用者による、間の1版が非表示) | |||
1行目: | 1行目: | ||
{{Lowercase title}} |
{{Lowercase title}} |
||
[[Category:疑似ファイルシステム]] |
[[Category:疑似ファイルシステム]] |
||
+ | [[en:procfs]] |
||
{{Style|Use [[Template:ic]].}} |
{{Style|Use [[Template:ic]].}} |
||
80行目: | 81行目: | ||
* {{ic|cmdline}} - プログラムを開始するために使用された引数。 |
* {{ic|cmdline}} - プログラムを開始するために使用された引数。 |
||
* {{ic|cwd}} - プロセスの現在の作業ディレクトリ。 |
* {{ic|cwd}} - プロセスの現在の作業ディレクトリ。 |
||
− | * {{ic|environ}} - プロセス内の環境変数 |
+ | * {{ic|environ}} - プロセス内の環境変数(ゼロ区切り)。 |
* {{ic|fd/}} - プロセスのオープンファイルディスクリプタを含むディレクトリ。 |
* {{ic|fd/}} - プロセスのオープンファイルディスクリプタを含むディレクトリ。 |
||
* {{ic|exe}} - プロセスの実行可能ファイルへのシンボリックリンク。 |
* {{ic|exe}} - プロセスの実行可能ファイルへのシンボリックリンク。 |
||
90行目: | 91行目: | ||
{{ic|/proc}} の内容は通常のファイルと同様に操作できます。 |
{{ic|/proc}} の内容は通常のファイルと同様に操作できます。 |
||
− | ファイルから読み取るには |
+ | ファイルから読み取るには: |
$ cat /proc/cmdline |
$ cat /proc/cmdline |
||
− | ファイルに書き込むには |
+ | ファイルに書き込むには: |
# echo 1 > /proc/sys/kernel/sysrq |
# echo 1 > /proc/sys/kernel/sysrq |
||
− | == |
+ | == 参照 == |
* {{man|5|proc}} |
* {{man|5|proc}} |
||
− | * [https://docs.kernel.org/filesystems/proc.html |
+ | * [https://docs.kernel.org/filesystems/proc.html procfsのカーネルドキュメント] |
* [[Wikipedia:Procfs]] |
* [[Wikipedia:Procfs]] |
2023年9月2日 (土) 16:20時点における最新版
proc ファイルシステム、または procfs は擬似ファイルシステムで、通常 /proc
にマウントされ、実行中のシステムに関する情報を含んでいます。
- プロセス、最も顕著な使用例。
- カーネル情報および パラメータ。
- システムメトリクス、たとえば CPU 使用率。
内容
カーネルおよびシステム情報
/proc
の下には、システムやカーネルに関する多くの情報を提供する多くのファイルがあります。ここで全部を網羅することはできませんが、それらの一部を以下に、それらが何かについての簡単な情報とともにリストしています。
/proc/cpuinfo
- CPUに関する情報/proc/meminfo
- 物理メモリに関する情報/proc/vmstats
- 仮想メモリに関する情報/proc/mounts
- mount に関する情報/proc/filesystems
- カーネルにコンパイルされ、現在のカーネルモジュールがロードされたファイルシステムに関する情報/proc/uptime
- 現在のシステム稼働時間/proc/cmdline
- カーネルコマンドライン
プロセス
/proc/pid
には、現在実行中のすべてのプロセスに関する情報が保存されています。
以下は、現在実行中のいくつかの PID を示した例です:
$ ls -l /proc
total 0 dr-xr-xr-x 9 root root 0 Sep 8 18:17 1 dr-xr-xr-x 9 root root 0 Sep 9 03:02 10 dr-xr-xr-x 9 daemonx daemonx 0 Sep 9 03:02 1057 dr-xr-xr-x 9 daemonx daemonx 0 Sep 8 18:18 1077 dr-xr-xr-x 9 daemonx daemonx 0 Sep 9 03:02 1087 dr-xr-xr-x 9 root root 0 Sep 9 03:02 11 dr-xr-xr-x 9 daemonx daemonx 0 Sep 9 03:02 1103 dr-xr-xr-x 9 daemonx daemonx 0 Sep 9 03:02 1107 dr-xr-xr-x 9 daemonx daemonx 0 Sep 9 03:02 1159 dr-xr-xr-x 9 root root 0 Sep 9 03:02 12 dr-xr-xr-x 9 root root 0 Sep 9 03:02 124 dr-xr-xr-x 9 root root 0 Sep 9 03:02 125 dr-xr-xr-x 9 root root 0 Sep 9 03:02 127 dr-xr-xr-x 9 root root 0 Sep 9 03:02 128 ...
例として pid 1057 の中身を見てみましょう。
$ ls -l /proc/1057
total 0 dr-xr-xr-x 2 daemonx daemonx 0 Sep 9 03:12 attr -rw-r--r-- 1 daemonx daemonx 0 Sep 9 03:12 autogroup -r-------- 1 daemonx daemonx 0 Sep 9 03:12 auxv -r--r--r-- 1 daemonx daemonx 0 Sep 9 03:12 cgroup --w------- 1 daemonx daemonx 0 Sep 9 03:12 clear_refs -r--r--r-- 1 daemonx daemonx 0 Sep 9 03:12 cmdline -rw-r--r-- 1 daemonx daemonx 0 Sep 9 03:12 comm -rw-r--r-- 1 daemonx daemonx 0 Sep 9 03:12 coredump_filter -r--r--r-- 1 daemonx daemonx 0 Sep 9 03:12 cpuset lrwxrwxrwx 1 daemonx daemonx 0 Sep 9 03:12 cwd -> /home/daemonx -r-------- 1 daemonx daemonx 0 Sep 9 03:12 environ lrwxrwxrwx 1 daemonx daemonx 0 Sep 9 03:12 exe -> /usr/lib/gvfsd-metadata dr-x------ 2 daemonx daemonx 0 Sep 9 03:12 fd dr-x------ 2 daemonx daemonx 0 Sep 9 03:12 fdinfo -rw-r--r-- 1 daemonx daemonx 0 Sep 9 03:12 gid_map -r-------- 1 daemonx daemonx 0 Sep 9 03:12 io -r--r--r-- 1 daemonx daemonx 0 Sep 9 03:12 latency -r--r--r-- 1 daemonx daemonx 0 Sep 9 03:12 limits -rw-r--r-- 1 daemonx daemonx 0 Sep 9 03:12 loginuid dr-x------ 2 daemonx daemonx 0 Sep 9 03:12 map_files -r--r--r-- 1 daemonx daemonx 0 Sep 9 03:12 maps -rw------- 1 daemonx daemonx 0 Sep 9 03:12 mem ...
いくつかのフィールド:
cmdline
- プログラムを開始するために使用された引数。cwd
- プロセスの現在の作業ディレクトリ。environ
- プロセス内の環境変数(ゼロ区切り)。fd/
- プロセスのオープンファイルディスクリプタを含むディレクトリ。exe
- プロセスの実行可能ファイルへのシンボリックリンク。maps
- プロセスのメモリマッピング。mem
- プロセスの仮想メモリ。
使用方法
/proc
の内容は通常のファイルと同様に操作できます。
ファイルから読み取るには:
$ cat /proc/cmdline
ファイルに書き込むには:
# echo 1 > /proc/sys/kernel/sysrq