JM プロジェクトは、主に Linux 関連のマニュアルページの日本語ページを翻訳・公開しています。
... 使用される。 一般的には /proc にマウントされる。 大部分のファイルは読み出し専用 (read-only) であるが、 いくつかのファイルは書き込み可能であり、 そのファ ... イルに書き込めばカーネルの内部変数を変更できる。 以下のリストでは /proc 階層以下のファイルやディレクトリの多くについて説明している。 /proc/[pid] 実行中のプロセスについてのサブディレクトリ。 サブ ... ディレクトリ名は (そのプロセスの) プロセス ID である。 各サブディレクトリは、以下の擬似ファイルとディレクトリを含む。 /proc/[number]/auxv (カーネル 2.6.0-test7 以降) 実行時にプロセスに渡された ELF インタープリター情報が格納されている。 個々のエン ... ... 使用される。 一般的には /proc にマウントされる。 大部分のファイルは読み出し専用 (read-only) であるが、 いくつかのファイルは書き込み可能であり、 そのファ ... イルに書き込めばカーネルの内部変数を変更できる。 以下のリストでは /proc 階層以下のファイルやディレクトリの多くについて説明している。 /proc/[pid] 実行中のプロセスについてのサブディレクトリ。 サブ ... ディレクトリ名は (そのプロセスの) プロセス ID である。 各サブディレクトリは、以下の擬似ファイルとディレクトリを含む。 /proc/[number]/auxv (カーネル 2.6.0-test7 以降) 実行時にプロセスに渡された ELF インタープリター情報が格納されている。 個々のエン ... ... 合。 getrlimit (2) やシェルの ulimit コマンドのドキュメント ( csh (1) の limit ) を参照。 * The binary being executed by the process does not have read permission enabled. (This is a security measure to ensure that an executable whose contents are not ... readable does not produce a---possibly readable---core dump containing an image of the executable.) * The process is executing a set-user-ID (set-group-ID) program that is owned by a user (group) other than the real user (group) ID o ... f the process, or the process is executing a program that has file capabilities (see capabilities (7)). (However, see the description ... ... ONE_NEWUSER ユーザー ID とグループ ID UTS CLONE_NEWUTS ホスト名と NIS ドメイン名 このページでは、各種の名前空間と関連する /proc ファイルの説明と、名前空間とともに動作する API の概要を紹介する。 名前空間 API 後で説明する種々の /proc ファイル以外に、名 ... システムコールを使うと、呼び出したプロセスを既存の名前空間に参加させることができる。 参加する名前空間は、 以下で説明する /proc/[pid]/ns ファイルのいずれか一つを参照するファイルディスクリプターを使って指定する。 unshare (2) unshare (2) システムコール ... ケーパビリティが必要である。 ユーザー名前空間は例外で、 Linux 3.8 以降ではユーザー名前空間を作成するのに特権が不要である。 /proc/[pid]/ns/ ディレクトリ 各プロセスには /proc/[pid]/ns/ サブディレクトリがあり、 このサブディレクトリには setns (2) での操作 ... ... ) コマンドを用いて明示的にルールを設定する必要がある。 ファイル /etc/services -- サービス名と番号の変換表が入ったファイル /proc -- proc ファイルシステムのマウントポイント。 このファイルシステムにより、 以下のファイルを使ってカーネルの統計情報にアクセ ... スできる。 /proc/net/dev -- デバイスの情報 /proc/net/raw raw ソケットの情報 /proc/net/tcp -- TCP ソケットの情報 /proc/net/udp -- UDP ソケッ ... トの情報 /proc/net/igmp -- IGMP マルチキャストの情報 /proc/net/unix -- Unix ドメインソケットの情報 /proc/net/ipx -- IPX ソケットの情報 /p ... ... 各ハードウェアが使用する I/O アドレス、IRQ チャネル、DMA チャネルの quick overview を提供する。 オプション なし。 ファイル /proc/interrupts IRQ チャネル。 /proc/ioports I/O メモリアドレス。 /proc/dma DMA チャネル。 バグ lsdev は、調査対象である 3 つの ... 時々、同一のハードウェア に対して、それぞれ異なる名称を用いるためである。例えば、いくつかのカーネルにお いてキーボードは、 /proc/ioports では `kbd' で参照されるが、 /proc/interrupts では `keyboard' となっている。 これは lsdev ではなく、(この特定の例の ... v は、デバイス名から後続のスペースや開き括弧以降の文字列を取り除 いて、なんとか各行を一致させようとする。そのため例えば、 /proc/interrupts の `serial' 行は /proc/ioports の `serial(set)' 行と一致することになる。 この DWIM な試みは、それ自体がバグだと ... ... も通常時ルートファイルシステムデバイスを変更すること ができる。 /linuxrc を用いて、通常時ルートデバイスを変更するためには、 /proc がマウントされていなければならない。 /proc をマウントした後で、 /linuxrc は proc ファイル /proc/sys/kernel/real-root-dev , ... /proc/sys/kernel/nfs-root-name , /proc/sys/kernel/nfs-root-addrs に書き込みを行い、通常時ルートデバイスを変更する。 (NFS ではない ... ) 物理的なルートデバイスの場合、 /linuxrc が新しいルートファイルシステムのデバイス番号を /proc/sys/kernel/real-root-dev に書き込むことで、ルートデバイスが変更される。 NFS ルートファイルシステムの場合、 /linuxrc が NFS ... ... ている PID 名前空間に新しいプロセスを作成することはできない。 このような状況は、 例えば、 名前空間にいたプロセスに対応する /proc/[pid]/ns/pid ファイルに対してオープンしたファイルディスクリプターを使って、 "init" プロセスが終了した後にその名前空間に se ... ド間で互いにシグナルを送信できるようにするため、 同じ PID 名前空間に属している必要がある。 同様に、 プロセス内の全スレッドが proc (5) ファイルシステムで見える必要がある。 * CLONE_SIGHAND は、同じ PID 名前空間である必要がある。 さもなければ、 シグナルが ... e(..., CLONE_VM, ...); setns(fd, CLONE_NEWPID); /* Fails */ clone(..., CLONE_VM, ...); unshare(CLONE_NEWPID); /* Fails */ /proc と PID 名前空間 /proc ファイルシステムは、 /proc のマウントを行ったプロセスの PID 名前空間で見えるプロセスだけを表示する。 ... ... 書き込む。 CAP_BLOCK_SUSPEND (Linux 3.5 以降) システムのサスペンドをブロックできる機能を使用する ( epoll (7) EPOLLWAKEUP , /proc/sys/wake_lock )。 CAP_CHOWN ファイルの UID とGID を任意に変更する ( chown (2) 参照)。 CAP_DAC_OVERRIDE ファイルの読み出し、 ... RQ vm86 (2) コマンドを実行する。 * 任意の System V IPC オブジェクトに対する IPC_SET と IPC_RMID 操作を実行する。 * RLIMIT_NPROC リソース制限を上書きする。 * 拡張属性 trusted と security に対する操作を実行する ( attr (5) 参照)。 * lookup_dcookie (2) を ... ープンするシステムコール (例えば accept (2), execve (2), open (2), pipe (2)) でシステム全体でオープンできるファイル数の上限 /proc/sys/fs/file-max を超過する。 * clone (2) と unshare (2) で新しい名前空間を作成する CLONE_* フラグを利用する (ただし、 Linu ... ... プロセス ID 、ファイルディスクリプター、そのソケットを使用しているプログラム の名前を列挙する。 オプション なし。 ファイル /proc/*/fd/* ファイルディスクリプター。 /proc/net/tcp TCP ソケットの一覧。 /proc/net/udp UDP ソケットの一覧。 /proc/net/raw raw ... ソケットの一覧。 バグ 今のところはない。 関連項目 procinfo (8), netstat (8). 著者 Larry Doolittle < ldoolitt@jlab.org > ... 日本語の文書やマニュアルを配布している個人/プロジェクトへのリンクです。