「Procfs」の版間の差分
ナビゲーションに移動
検索に移動
Kusanaginoturugi (トーク | 投稿記録) (→Content: 一部翻訳) |
Kusanaginoturugi (トーク | 投稿記録) (→Processes: 翻訳) |
||
23行目: | 23行目: | ||
* {{ic|/proc/cmdline}} - カーネルコマンドライン |
* {{ic|/proc/cmdline}} - カーネルコマンドライン |
||
− | === |
+ | === プロセス === |
+ | {{ic|/proc/''pid''}} には、現在実行中のすべてのプロセスに関する情報が保存されています。 |
||
− | Inside {{ic|/proc/''pid''}} is stored information about every process currently running. |
||
+ | 以下は、現在実行中のいくつかの PID を示した例です: |
||
− | Below is an example showing some of the PIDs currently running: |
||
{{hc|$ ls -l /proc| |
{{hc|$ ls -l /proc| |
||
47行目: | 47行目: | ||
}} |
}} |
||
+ | 例として pid 1057 の中身を見てみましょう。 |
||
− | Lets take for example pid 1057 and see what is inside: |
||
{{hc|$ ls -l /proc/1057| |
{{hc|$ ls -l /proc/1057| |
||
76行目: | 76行目: | ||
}} |
}} |
||
+ | いくつかのフィールド: |
||
− | Some of the fields: |
||
− | * {{ic|cmdline}} - |
+ | * {{ic|cmdline}} - プログラムを開始するために使用された引数。 |
− | * {{ic|cwd}} - |
+ | * {{ic|cwd}} - プロセスの現在の作業ディレクトリ。 |
− | * {{ic|environ}} - |
+ | * {{ic|environ}} - プロセス内の環境変数(ゼロ区切り)。 |
+ | * {{ic|fd/}} - プロセスのオープンファイルディスクリプタを含むディレクトリ。 |
||
− | * {{ic|fd/}} - directory containing open file descriptors for the process. |
||
+ | * {{ic|exe}} - プロセスの実行可能ファイルへのシンボリックリンク。 |
||
− | * {{ic|exe}} - symbolic link to process executable. |
||
− | * {{ic|maps}} - |
+ | * {{ic|maps}} - プロセスのメモリマッピング。 |
− | * {{ic|mem}} - |
+ | * {{ic|mem}} - プロセスの仮想メモリ。 |
== Usage == |
== Usage == |
2023年8月30日 (水) 19:18時点における版
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
- プロセスの仮想メモリ。
Usage
You can interact with /proc
contents as with regular files.
To read from a file:
$ cat /proc/cmdline
To write to a file:
# echo 1 > /proc/sys/kernel/sysrq