OSDN Git Service

(split) LDP: Release pages with over 80% translations.
authorAkihiro MOTOKI <amotoki@gmail.com>
Fri, 25 May 2012 16:48:17 +0000 (01:48 +0900)
committerAkihiro MOTOKI <amotoki@gmail.com>
Fri, 25 May 2012 16:48:17 +0000 (01:48 +0900)
21 files changed:
release/man2/eventfd.2
release/man2/fallocate.2
release/man2/getrlimit.2
release/man2/getrusage.2 [deleted file]
release/man2/lseek.2
release/man2/madvise.2
release/man2/posix_fadvise.2
release/man2/prctl.2
release/man2/ptrace.2 [deleted file]
release/man2/quotactl.2 [deleted file]
release/man2/sched_setscheduler.2
release/man2/sigaction.2
release/man2/spu_create.2 [deleted file]
release/man2/sync_file_range.2
release/man3/malloc_hook.3
release/man3/mtrace.3 [deleted file]
release/man3/psignal.3
release/man3/pthread_setcancelstate.3 [new file with mode: 0644]
release/man5/proc.5
release/man7/spufs.7 [deleted file]
translation_list

index e73e0b0..b212440 100644 (file)
 .\"
 .\" 2008-10-10, mtk: describe eventfd2(), and EFD_NONBLOCK and EFD_CLOEXEC
 .\"
-.\" Japanese Version Copyright (c) 2008  Akihiro MOTOKI
-.\"         all rights reserved.
-.\" Translated 2008-04-08, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated 2008-11-10, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.13
-.\" 
-.TH EVENTFD 2 2009-01-26 Linux "Linux Programmer's Manual"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH EVENTFD 2 2010\-08\-30 Linux "Linux Programmer's Manual"
 .SH 名前
 eventfd \- イベント通知用のファイルディスクリプタを生成する
 .SH 書式
-.B #include <sys/eventfd.h>
+\fB#include <sys/eventfd.h>\fP
 .sp
-.BI "int eventfd(unsigned int " initval ", int " flags );
+\fBint eventfd(unsigned int \fP\fIinitval\fP\fB, int \fP\fIflags\fP\fB);\fP
 .SH 説明
-.BR eventfd ()
-は "eventfd オブジェクト" を生成する。
-eventfd オブジェクトはユーザ空間アプリケーションがイベント待ち受け/通知用の
-仕組みとして使うことができる。また、カーネルがユーザ空間アプリケーションに
-イベントを通知するためにも使うことができる。
-このオブジェクトには、unsigned の 64 ビット整数
-.RI ( uint64_t )
-型のカウンタが含まれており、このカウンタはカーネルにより管理される。
-このカウンタは
-.I initval
-引き数で指定された値で初期化される。
+\fBeventfd\fP()  は "eventfd オブジェクト" を生成する。 eventfd
+オブジェクトはユーザ空間アプリケーションがイベント待ち受け/通知用の 仕組みとして使うことができる。また、カーネルがユーザ空間アプリケーションに
+イベントを通知するためにも使うことができる。 このオブジェクトには、unsigned の 64 ビット整数 (\fIuint64_t\fP)
+型のカウンタが含まれており、このカウンタはカーネルにより管理される。 このカウンタは \fIinitval\fP 引き数で指定された値で初期化される。
 
-Linux 2.6.27 以降では、
 以下の値のいくつかをビット単位の論理和 (OR) で指定することで、
-.BR eventfd ()
-の振舞いを変更することができる。
-.TP 14
-.B EFD_NONBLOCK
-新しく生成されるオープンファイル記述 (open file description) の
-.B O_NONBLOCK
-ファイルステータスフラグをセットする。
-このフラグを使うことで、
-.B O_NONBLOCK
-をセットするために
-.BR fcntl (2)
+\fBeventfd\fP() の振舞いを変更することができる。
+.TP 
+\fBEFD_CLOEXEC\fP (Linux 2.6.27 以降)
+新しいファイルディスクリプタに対して close\-on\-exec (\fBFD_CLOEXEC\fP)  フラグをセットする。
+このフラグが役に立つ理由については、 \fBopen\fP(2)  の \fBO_CLOEXEC\fP フラグの説明を参照のこと。
+.TP 
+\fBEFD_NONBLOCK\fP (Linux 2.6.27 以降)
+新しく生成されるオープンファイル記述 (open file description) の \fBO_NONBLOCK\fP
+ファイルステータスフラグをセットする。 このフラグを使うことで、 \fBO_NONBLOCK\fP をセットするために \fBfcntl\fP(2)
 を追加で呼び出す必要がなくなる。
-.TP
-.B EFD_CLOEXEC
-新しいファイルディスクリプタに対して
-close-on-exec
-.RB ( FD_CLOEXEC )
-フラグをセットする。
-このフラグが役に立つ理由については、
-.BR open (2)
-の
-.B O_CLOEXEC
-フラグの説明を参照のこと。
+.TP 
+\fBEFD_SEMAPHORE\fP (Linux 2.6.30 以降)
+Provide semaphore\-like semantics for reads from the new file descriptor.
+See below.
 .PP
-バージョン 2.6.26 以前の Linux では、
-.I flags
-引き数は未使用であり、0 を指定しなければならない。
+バージョン 2.6.26 以前の Linux では、 \fIflags\fP 引き数は未使用であり、0 を指定しなければならない。
 
-.BR eventfd ()
-は eventfd オブジェクトを参照するのに使用できる新しいファイルディスクリプタ
+\fBeventfd\fP()  は eventfd オブジェクトを参照するのに使用できる新しいファイルディスクリプタ
 を返す。返されたファイルディスクリプタに対しては以下の操作を実行できる。
-.TP
-.BR read (2)
-eventfd カウンタが 0 以外の値の場合、
-.BR read (2)
-はカウンタ値を格納した 8 バイトの値を返し、
-カウンタ値は 0 にリセットされる
-(返り値はホスト・バイトオーダ、つまり
-ホストマシンで整数表現に本来使用されるバイトオーダで格納される)。
+.TP 
+\fBread\fP(2)
+\fBread\fP(2) は成功すると、8 バイトの整数を返す。
+渡されたバッファの大きさが 8 バイト未満の場合、
+\fBread\fP(2)  はエラー \fBEINVAL\fP で失敗する。
 .IP
-.BR read (2)
-の時点でカウンタが 0 の場合、
-.BR read (2)
-はカウンタが 0 以外になるまで停止 (block) する、
-もしくはファイルディスクリプタが非停止 (nonblocking)
-に設定されている場合はエラー
-.B EAGAIN
-で失敗する。
+The value returned by \fBread\fP(2)  is in host byte order, i.e., the native
+byte order for integers on the host machine.
 .IP
-渡されたバッファの大きさが 8 バイト未満の場合、
-.BR read (2)
-はエラー
-.B EINVAL
-で失敗する。
-.TP
-.BR write (2)
-.BR write (2)
-は、引き数のバッファで渡された 8 バイトの整数値をカウンタに加算する。
-カウンタに格納可能な最大値は unsigned の 64 ビット整数の最大値から
-1 を引いた値 (すなわち 0xfffffffffffffffe) である。
-加算を行うとカウンタ値が最大値を超過する場合には、
-そのファイルディスクリプタに対して
-.BR read (2)
-が実行されるまで、
-.BR write (2)
-は停止 (block) する、
-もしくはファイルディスクリプタが非停止 (nonblocking)
-に設定されている場合はエラー
-.B EAGAIN
-で失敗する。
+The semantics of \fBread\fP(2)  depend on whether the eventfd counter currently
+has a nonzero value and whether the \fBEFD_SEMAPHORE\fP flag was specified when
+creating the eventfd file descriptor:
+.RS
+.IP * 3
+\fBEFD_SEMAPHORE\fP が指定されておらず、eventfd カウンタが 0 以外の値
+の場合、 \fBread\fP(2) はカウンタ値を格納した 8 バイトの値を返し、
+カウンタ値は 0 にリセットされる。
+.IP *
+\fBEFD_SEMAPHORE\fP が指定されていて eventfd カウンタが 0 以外の値の場合、
+\fBread\fP(2) は値 1 の 8 バイト値を返し、カウンタ値は 1 減算される。
+.IP *
+\fBread\fP(2) を呼び出した時点で eventfd カウンタが 0 の場合、 \fBread\fP(2)
+はカウンタが 0 以外になるまで停止 (block) する (0 以外になった時点で
+\fBread\fP(2) は上記で述べた通り実行を再開する)、 もしくはファイルディスク
+リプタが非停止 (nonblocking) に設定されている場合はエラー \fBEAGAIN\fPで
+失敗する。
+.RE
+.TP 
+\fBwrite\fP(2)
+\fBwrite\fP(2)  は、引き数のバッファで渡された 8 バイトの整数値をカウンタに加算する。 カウンタに格納可能な最大値は unsigned の
+64 ビット整数の最大値から 1 を引いた値 (すなわち 0xfffffffffffffffe) である。
+加算を行うとカウンタ値が最大値を超過する場合には、 そのファイルディスクリプタに対して \fBread\fP(2)  が実行されるまで、
+\fBwrite\fP(2)  は停止 (block) する、 もしくはファイルディスクリプタが非停止 (nonblocking)
+に設定されている場合はエラー \fBEAGAIN\fP で失敗する。
 .IP
-渡されたバッファの大きさが 8 バイト未満の場合、もしくは
-値 0xffffffffffffffff を書き込もうとした場合、
-.BR write (2)
-はエラー
-.B EINVAL
-で失敗する。
-.TP
-.BR poll "(2), " select "(2) (と同様の操作)"
-返されたファイルディスクリプタは、
-.BR poll (2)
-.RB ( epoll (7)
-も同じ) や
-.BR select (2)
+渡されたバッファの大きさが 8 バイト未満の場合、もしくは 値 0xffffffffffffffff を書き込もうとした場合、 \fBwrite\fP(2)
+はエラー \fBEINVAL\fP で失敗する。
+.TP 
+\fBpoll\fP(2), \fBselect\fP(2) (と同様の操作)
+返されたファイルディスクリプタは、 \fBpoll\fP(2)  (\fBepoll\fP(7)  も同じ) や \fBselect\fP(2)
 をサポートしており、以下のような動作をする。
 .RS
 .IP * 3
-カウンタが 0 より大きい値の場合、
-ファイルディスクリプタは読み出し可能となる
-.RB ( select (2)
-の
-.I readfds
-引き数や
-.BR poll (2)
-の
-.B POLLIN
-フラグ)。
+カウンタが 0 より大きい値の場合、 ファイルディスクリプタは読み出し可能となる (\fBselect\fP(2)  の \fIreadfds\fP 引き数や
+\fBpoll\fP(2)  の \fBPOLLIN\fP フラグ)。
 .IP *
-少なくとも値 "1" を、停止 (block) を伴わずに書き込める場合、
-ファイルディスクリプタは書き込み可能となる
-.RB ( select (2)
-の
-.I writefds
-引き数や
-.BR poll (2)
-の
-.B POLLOUT
-フラグ)。
+少なくとも値 "1" を、停止 (block) を伴わずに書き込める場合、 ファイルディスクリプタは書き込み可能となる (\fBselect\fP(2)  の
+\fIwritefds\fP 引き数や \fBpoll\fP(2)  の \fBPOLLOUT\fP フラグ)。
 .IP *
-カウンタ値のオーバーフローが検出された場合、
-.BR select (2)
-はファイルディスクリプタは読み出し可能と書き込み可能の両方を通知し、
-.BR poll (2)
-は
-.B POLLERR
-イベントを返す。
-上述の通り、
-.BR write (2)
-でカウンタがオーバーフローすることは決してない。
-しかしながら、 KAIO サブシステムによって 2^64 回の eventfd "signal posts" が
-実行された場合にはオーバーフローが起こり得る
-(理論的にはあり得るが、実用的にはあり得ない)。
-オーバーフローが発生した場合、
-.BR read (2)
-は
-.I uint64_t
-の最大値 (すなわち 0xffffffffffffffff) を返す。
+カウンタ値のオーバーフローが検出された場合、 \fBselect\fP(2)  はファイルディスクリプタは読み出し可能と書き込み可能の両方を通知し、
+\fBpoll\fP(2)  は \fBPOLLERR\fP イベントを返す。 上述の通り、 \fBwrite\fP(2)
+でカウンタがオーバーフローすることは決してない。 しかしながら、 KAIO サブシステムによって 2^64 回の eventfd "signal
+posts" が 実行された場合にはオーバーフローが起こり得る (理論的にはあり得るが、実用的にはあり得ない)。 オーバーフローが発生した場合、
+\fBread\fP(2)  は \fIuint64_t\fP の最大値 (すなわち 0xffffffffffffffff) を返す。
 .RE
 .IP
-eventfd ファイルディスクリプタは、これ以外のファイルディスクリプタ
-多重 API である
-.BR pselect (2),
-.BR ppoll (2),
-.BR epoll (7)
-もサポートしている。
-.TP
-.BR close (2)
-ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきである。
-同じ eventfd オブジェクトに関連付けられたファイルディスクリプタが全て
-クローズされると、そのオブジェクト用の資源がカーネルにより解放される。
+eventfd ファイルディスクリプタは、これ以外のファイルディスクリプタ 多重 API である \fBpselect\fP(2), \fBppoll\fP(2),
+\fBepoll\fP(7)  もサポートしている。
+.TP 
+\fBclose\fP(2)
+ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきである。 同じ eventfd
+オブジェクトに関連付けられたファイルディスクリプタが全て クローズされると、そのオブジェクト用の資源がカーネルにより解放される。
 .PP
-.BR fork (2)
-で生成された子プロセスは、
-.BR eventfd ()
-で生成されたファイルディスクリプタのコピーを継承する。
-複製されたファイルディスクリプタは同じ eventfd オブジェクトに関連付けられる。
-.BR execve (2)
-の前後で
-.BR eventfd ()
-で生成されたファイルディスクリプタは保持される。
+\fBfork\fP(2) で生成された子プロセスは、 \fBeventfd\fP() で生成されたファイル
+ディスクリプタのコピーを継承する。 複製されたファイルディスクリプタは同
+じ eventfd オブジェクトに関連付けられる。
+close\-on\-exec フラグが設定されていない場合、 \fBexecve\fP(2) の前後で
+\fBeventfd\fP() で生成されたファイルディスクリプタは保持される。
 .SH 返り値
-成功すると、
-.BR eventfd ()
-は新規の eventfd ファイルディスクリプタを返す。
-エラーの場合、\-1 を返し、
-.I errno
+成功すると、 \fBeventfd\fP()  は新規の eventfd ファイルディスクリプタを返す。 エラーの場合、\-1 を返し、 \fIerrno\fP
 にエラーを示す値を設定する。
 .SH エラー
-.TP
-.B EINVAL
-.I flags
-が無効。
-Linux 2.6.26 以前では、
-.I flags
-が 0 以外の値。
-.TP
-.B EMFILE
-オープン済みのファイルディスクリプタの数がプロセスあたりの上限に
-達していた。
-.TP
-.B ENFILE
+.TP 
+\fBEINVAL\fP
+An unsupported value was specified in \fIflags\fP.
+.TP 
+\fBEMFILE\fP
+オープン済みのファイルディスクリプタの数がプロセスあたりの上限に 達していた。
+.TP 
+\fBENFILE\fP
 オープン済みのファイル総数がシステム全体の上限に達していた。
-.TP
-.B ENODEV
+.TP 
+\fBENODEV\fP
 .\" Note from Davide:
 .\" The ENODEV error is basically never going to happen if
 .\" the kernel boots correctly. That error happen only if during
 .\" the kernel initialization, some error occur in the anonymous
 .\" inode source initialization.
 (カーネル内の) 無名 inode デバイスをマウントできなかった。
-.TP
-.B ENOMEM
+.TP 
+\fBENOMEM\fP
 新しい eventfd ファイルディスクリプタを生成するのに十分なメモリがなかった。
 .SH バージョン
-.BR eventfd ()
-はカーネル 2.6.22 以降の Linux で利用可能である。
-正しく動作する glibc 側のサポートはバージョン 2.8 以降で提供されている。
 .\" eventfd() is in glibc 2.7, but reportedly does not build
-.BR eventfd2 ()
-システムコール (「注意」参照) は
-カーネル 2.6.27 以降の Linux で利用可能である。
-バージョン 2.9 以降では、glibc の
-.BR eventfd ()
-のラッパー関数は、カーネルが対応していれば
-.BR eventfd2 ()
-システムコールを利用する。
+\fBeventfd\fP()  はカーネル 2.6.22 以降の Linux で利用可能である。 正しく動作する glibc 側のサポートはバージョン
+2.8 以降で提供されている。 \fBeventfd2\fP()  システムコール (「注意」参照) は カーネル 2.6.27 以降の Linux
+で利用可能である。 バージョン 2.9 以降では、glibc の \fBeventfd\fP()  のラッパー関数は、カーネルが対応していれば
+\fBeventfd2\fP()  システムコールを利用する。
 .SH 準拠
-.BR eventfd ()
-と
-.BR eventfd2 ()
-は Linux 固有である。
+\fBeventfd\fP()  と \fBeventfd2\fP()  は Linux 固有である。
 .SH 注意
-アプリケーションは、パイプをイベントを通知するためだけに使用している
-全ての場面において、パイプの代わりに eventfd ファイルディスクリプタを
-使用することができる。
-eventfd ファイルディスクリプタを使う方が、パイプを使う場合に比べて
-カーネルでのオーバヘッドは比べるとずっと小さく、ファイルディスクリプタも
-一つしか必要としない (パイプの場合は二つ必要である)。
+アプリケーションは、パイプをイベントを通知するためだけに使用している 全ての場面において、パイプの代わりに eventfd ファイルディスクリプタを
+使用することができる。 eventfd ファイルディスクリプタを使う方が、パイプを使う場合に比べて
+カーネルでのオーバヘッドは比べるとずっと小さく、ファイルディスクリプタも 一つしか必要としない (パイプの場合は二つ必要である)。
 
-カーネル内で使用すると、eventfd ファイルディスクリプタは
-カーネル空間とユーザ空間のブリッジ機能を提供することができ、
-例えば KAIO (kernel AIO)
-.\" や eventually syslets/threadlets
-のような機能が、あるファイルディスクリプタに何らかの操作が完了したことを
-通知することができる。
+.\" or eventually syslets/threadlets
+カーネル内で使用すると、eventfd ファイルディスクリプタは カーネル空間とユーザ空間のブリッジ機能を提供することができ、 例えば KAIO
+(kernel AIO)  のような機能が、あるファイルディスクリプタに何らかの操作が完了したことを 通知することができる。
 
-eventfd ファイルディスクリプタの重要な点は、
-eventfd ファイルディスクリプタが
-.BR select (2),
-.BR poll (2),
-.BR epoll (7)
-を使って他のファイルディスクリプタと全く同様に監視できる点である。
-このことは、アプリケーションは「従来の (traditional)」 ファイルの状態変化と
-eventfd インタフェースをサポートする他のカーネル機構の状態変化を同時に監視
-できることを意味する
-.RB ( eventfd ()
-インタフェースがない時には、これらのカーネル機構は
-.BR select (2),
-.BR poll (2),
-.BR epoll (7)
-経由で多重することはできなかった)。
-.SS 下層にある Linux のシステムコール
-下層にある Linux システムコールは二種類あり、
-.BR eventfd ()
-と、もっと新しい
-.BR eventfd2 ()
-である。
-.BR eventfd ()
-は
-.I flags
-引き数を実装していない。
-.BR eventfd2 ()
-では上記の値の
-.I flags
-が実装されている。
-glibc のラッパー関数は、
-.BR eventfd2 ()
-が利用可能であれば、これを使用する。
-.SS glibc の追加機能
+eventfd ファイルディスクリプタの重要な点は、 eventfd ファイルディスクリプタが \fBselect\fP(2), \fBpoll\fP(2),
+\fBepoll\fP(7)  を使って他のファイルディスクリプタと全く同様に監視できる点である。 このことは、アプリケーションは「従来の
+(traditional)」 ファイルの状態変化と eventfd インタフェースをサポートする他のカーネル機構の状態変化を同時に監視
+できることを意味する (\fBeventfd\fP()  インタフェースがない時には、これらのカーネル機構は \fBselect\fP(2),
+\fBpoll\fP(2), \fBepoll\fP(7)  経由で多重することはできなかった)。
+.SS "下層にある Linux のシステムコール"
+下層にある Linux システムコールは二種類あり、 \fBeventfd\fP()  と、もっと新しい \fBeventfd2\fP()  である。
+\fBeventfd\fP()  は \fIflags\fP 引き数を実装していない。 \fBeventfd2\fP()  では上記の値の \fIflags\fP
+が実装されている。 glibc のラッパー関数は、 \fBeventfd2\fP()  が利用可能であれば、これを使用する。
+.SS "glibc の追加機能"
 GNU C ライブラリは、eventfd ファイルディスクリプタの読み出しと書き込みに
-を関する詳細のいくつか抽象化するために、一つの型と、二つの関数を追加で
-定義している。
+を関する詳細のいくつか抽象化するために、一つの型と、二つの関数を追加で 定義している。
 .in +4n
 .nf
 
@@ -307,24 +187,19 @@ int eventfd_write(int fd, eventfd_t value);
 .fi
 .in
 
-これらの関数は、eventfd ファイルディスクリプタに対する読み出しと
-書き込みの操作を実行し、正しいバイト数が転送された場合には
-0 を返し、そうでない場合は \-1 を返す。
+これらの関数は、eventfd ファイルディスクリプタに対する読み出しと 書き込みの操作を実行し、正しいバイト数が転送された場合には 0
+を返し、そうでない場合は \-1 を返す。
 .SH 例
 .PP
-以下のプログラムは eventfd ファイルディスクリプタを生成し、
-その後 fork を実行して子プロセスを生成する。
-親プロセスが少しの間 sleep する間に、子プロセスは
-プログラムのコマンドライン引き数で指定された整数(列)をそれぞれ
-eventfd ファイルディスクリプタに書き込む。
-親プロセスは sleep を完了すると eventfd ファイルディスクリプタから
-読み出しを行う。
+以下のプログラムは eventfd ファイルディスクリプタを生成し、 その後 fork を実行して子プロセスを生成する。 親プロセスが少しの間
+sleep する間に、子プロセスは プログラムのコマンドライン引き数で指定された整数(列)をそれぞれ eventfd ファイルディスクリプタに書き込む。
+親プロセスは sleep を完了すると eventfd ファイルディスクリプタから 読み出しを行う。
 
 以下に示すシェルセッションにこのプログラムの使い方を示す。
 .in +4n
 .nf
 
-.RB "$" " ./a.out 1 2 4 7 14"
+$\fB ./a.out 1 2 4 7 14\fP
 Child writing 1 to efd
 Child writing 2 to efd
 Child writing 4 to efd
@@ -344,7 +219,7 @@ Parent read 28 (0x1c) from efd
 #include <stdio.h>
 #include <stdint.h>             /* Definition of uint64_t */
 
-#define handle_error(msg) \\
+#define handle_error(msg) \e
     do { perror(msg); exit(EXIT_FAILURE); } while (0)
 
 int
@@ -355,7 +230,7 @@ main(int argc, char *argv[])
     ssize_t s;
 
     if (argc < 2) {
-        fprintf(stderr, "Usage: %s <num>...\\n", argv[0]);
+        fprintf(stderr, "Usage: %s <num>...\en", argv[0]);
         exit(EXIT_FAILURE);
     }
 
@@ -366,25 +241,25 @@ main(int argc, char *argv[])
     switch (fork()) {
     case 0:
         for (j = 1; j < argc; j++) {
-            printf("Child writing %s to efd\\n", argv[j]);
+            printf("Child writing %s to efd\en", argv[j]);
             u = strtoull(argv[j], NULL, 0);
                     /* strtoull() allows various bases */
             s = write(efd, &u, sizeof(uint64_t));
             if (s != sizeof(uint64_t))
                 handle_error("write");
         }
-        printf("Child completed write loop\\n");
+        printf("Child completed write loop\en");
 
         exit(EXIT_SUCCESS);
 
     default:
         sleep(2);
 
-        printf("Parent about to read\\n");
+        printf("Parent about to read\en");
         s = read(efd, &u, sizeof(uint64_t));
         if (s != sizeof(uint64_t))
             handle_error("read");
-        printf("Parent read %llu (0x%llx) from efd\\n",
+        printf("Parent read %llu (0x%llx) from efd\en",
                 (unsigned long long) u, (unsigned long long) u);
         exit(EXIT_SUCCESS);
 
@@ -394,13 +269,10 @@ main(int argc, char *argv[])
 }
 .fi
 .SH 関連項目
-.BR futex (2),
-.BR pipe (2),
-.BR poll (2),
-.BR read (2),
-.BR select (2),
-.BR signalfd (2),
-.BR timerfd_create (2),
-.BR write (2),
-.BR epoll (7),
-.BR sem_overview (7)
+\fBfutex\fP(2), \fBpipe\fP(2), \fBpoll\fP(2), \fBread\fP(2), \fBselect\fP(2),
+\fBsignalfd\fP(2), \fBtimerfd_create\fP(2), \fBwrite\fP(2), \fBepoll\fP(7),
+\fBsem_overview\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
index b962e30..bd25ed4 100644 (file)
 .\" Written by Dave Chinner <dgc@sgi.com>
 .\" May be distributed as per GNU General Public License version 2.
 .\"
-.\" Japanese Version Copyright (c) 2007  Akihiro MOTOKI
-.\"         all rights reserved.
-.\" Translated 2007-10-16, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.66
-.\" Updated 2008-10-13, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.11
-.\" 
-.TH FALLOCATE 2 2010-09-10 "Linux" "Linux Programmer's Manual"
+.\" 2011-09-19: Added FALLOC_FL_PUNCH_HOLE
+.\" 2011-09-19: Substantial restructuring of the page
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH FALLOCATE 2 2012\-04\-23 Linux "Linux Programmer's Manual"
 .SH 名前
 fallocate \- ファイル空間の操作
 .SH 書式
 .nf
-.BR "#define _GNU_SOURCE" "             /* feature_test_macros(7) 参照 */"
-.B #include <fcntl.h>
+\fB#define _GNU_SOURCE\fP             /* feature_test_macros(7) 参照 */
+\fB#include <fcntl.h>\fP
 
-.BI "int fallocate(int " fd ", int " mode ", off_t " offset \
-", off_t " len ");"
+\fBint fallocate(int \fP\fIfd\fP\fB, int \fP\fImode\fP\fB, off_t \fP\fIoffset\fP\fB, off_t \fP\fIlen\fP\fB);\fP
 .fi
 .SH 説明
-このシステムコールは、移植性のない、Linux 固有のシステムコールである。
-移植性が必要な場合は、ファイルに対してディスク空間を確実に確保するために、
-POSIX.1 で規定された方法である
-.BR posix_fallocate (3)
-を使うこと。
+このシステムコールは、移植性のない、Linux 固有のシステムコールである。 移植性が必要な場合は、ファイルに対してディスク空間を確実に確保するために、
+POSIX.1 で規定された方法である \fBposix_fallocate\fP(3)  を使うこと。
 
-.BR fallocate ()
-を使うと、
-.I fd
-が参照するファイルに割り当てられたディスク空間を直接操作できる。
-操作対象は、
-.I offset
-から始まる長さ
-.I len
-バイトの領域である。
+\fBfallocate\fP()  を使うと、 \fIfd\fP が参照するファイルに割り当てられたディスク空間を直接操作できる。 操作対象は、
+\fIoffset\fP から始まる長さ \fIlen\fP バイトの領域である。
 
-.I mode
-引き数は、指定された領域に対して実行する操作を指定する。
-現在のところ、
-.I mode
-に指定できるフラグは以下の一つだけである。
-.TP
-.B FALLOC_FL_KEEP_SIZE
-このフラグは、
-.I offset
-と
-.I len
-で指定された領域のディスク空間を割り当て、その空間を 0 で初期化する。
-呼び出しが成功すると、それに続いてこの領域への書き込みが行われるが、
-ディスク空間の不足による書き込み失敗が発生しないことが保証される。
-ファイル末尾より後ろの領域について 0 で埋めたブロックを前もって
-割り当てておくことは、追記 (append) の作業負荷を最適化するのに
-有用である。
-ファイルサイズが
-.IR offset + len
-よりも小さい場合であっても、ブロックの前もっての割り当てにより
-.RB ( stat (2)
-が返す) ファイルサイズは変更されることはない。
-.\"
-.\" Note from Amit Arora:
-.\" There were few more flags which were discussed, but none of
-.\" them have been finalized upon. Here are these flags:
-.\" FA_FL_DEALLOC, FA_FL_DEL_DATA, FA_FL_ERR_FREE, FA_FL_NO_MTIME,
-.\" FA_FL_NO_CTIME
-.\" All of the above flags were debated upon and we can not say
-.\" if any/which one of these flags will make it to the later kernels.
-.PP
-.B FALLOC_FL_KEEP_SIZE
-フラグが
-.I mode
-に指定されなかった場合、デフォルトの動作は
-.B FALLOC_FL_KEEP_SIZE
-フラグが指定された場合とほとんど同じとなる。
-唯一の違いは、
-.I "offset + len"
-がファイルサイズよりも大きかった場合、呼び出しが成功すると
-ファイルサイズが変更される点である。
-このデフォルトの動作は、ライブラリ関数
-.BR posix_fallocate (3)
-の動作と非常に似ている。これは
-.BR posix_fallocate (3)
-を最適に実装する手段を提供することを目的としているからである。
+\fImode\fP 引き数は、指定された領域に対して実行する操作を指定する。
+サポートされている操作の詳細は以下のサブセクションで説明する。
+.SS ディスク領域の割り当て
+\fBfallocate\fP() のデフォルトの動作 (つまり \fImode\fP が 0 の場合) は、
+\fIoffset\fP と \fIlen\fP で指定された範囲のディスク領域の割り当てと初期化を行う。
+\fIoffset\fP+\fIlen\fP がファイルサイズよりも大きかった場合、
+(\fBstat\fP(2) で報告される) ファイルサイズが変更される。このデフォルトの動作は、
+ライブラリ関数 \fBposix_fallocate\fP(3) の動作と非常に似ている。これは、
+このシステムコールが \fBposix_fallocate\fP(3) を最適に実装する手段を提供する
+ことを目的としているからである。
+
+呼び出しが成功した場合、
+\fIoffset\fP と \fIlen\fP で指定された範囲へのそれ以降の書き込みでは、
+ディスクの領域不足での書き込み失敗が起こらないことが保証される。
+
+\fBFALLOC_FL_KEEP_SIZE\fP フラグが \fImode\fP に指定された場合、このシステムコール
+の動作は似ているが、 \fIoffset\fP+\fIlen\fP がファイルサイズよりも大きい場合で
+あってもファイルサイズは変更されない点が異なる。この場合のファイルの末尾
+よりも後ろの前もって割り当てられた 0 で埋められたブロックは、ファイルへの
+追記を最適化したい場合に役に立つ。
 .PP
-割り当てはブロックサイズ単位で行われるため、
-.BR fallocate ()
-は指定されたよりも大きな領域を割り当てることがある。
+割り当てはブロックサイズ単位で行われるため、 \fBfallocate\fP() は指定されたより
+も大きなディスク領域を割り当てることがある。
+.SS ファイル空間の割り当て解除
+Specifying the \fBFALLOC_FL_PUNCH_HOLE\fP flag (available since Linux 2.6.38)
+in \fImode\fP deallocates space (i.e., creates a hole)  in the byte range
+starting at \fIoffset\fP and continuing for \fIlen\fP bytes.  Within the specified
+range, partial file system blocks are zeroed, and whole file system blocks
+are removed from the file.  After a successful call, subsequent reads from
+this range will return zeroes.
+
+The \fBFALLOC_FL_PUNCH_HOLE\fP flag must be ORed with \fBFALLOC_FL_KEEP_SIZE\fP in
+\fImode\fP; in other words, even when punching off the end of the file, the
+file size (as reported by \fBstat\fP(2))  does not change.
+
+Not all file systems support \fBFALLOC_FL_PUNCH_HOLE\fP; if a file system
+doesn't support the operation, an error is returned.
 .SH 返り値
-.BR fallocate ()
-は成功すると 0 を返し、エラーの場合は \-1 を返す。
+\fBfallocate\fP()  は成功すると 0 を返し、エラーの場合は \-1 を返す。
 .SH エラー
-.TP
-.B EBADF
-.I fd
-が有効なファイルディスクリプタでないか、
-書き込み用としてオープンされていない。
-.TP
-.B EFBIG
-.I offset + len
-がファイルサイズの最大値よりも大きい。
-.TP
-.B EINTR
+.TP 
+\fBEBADF\fP
+\fIfd\fP が有効なファイルディスクリプタでないか、 書き込み用としてオープンされていない。
+.TP 
+\fBEFBIG\fP
+\fIoffset + len\fP がファイルサイズの最大値よりも大きい。
+.TP 
+\fBEINTR\fP
 実行中にシグナルが捕捉された。
-.TP
-.B EINVAL
-.I offset
-が 0 未満であるか、
-.I len
-が 0 以下である。
-.TP
-.B EIO
+.TP 
+\fBEINVAL\fP
+.\" FIXME (raise a kernel bug) Probably the len==0 case should be
+.\" a no-op, rather than an error. That would be consistent with
+.\" similar APIs for the len==0 case.
+.\" See "Re: [PATCH] fallocate.2: add FALLOC_FL_PUNCH_HOLE flag definition"
+.\" 21 Sep 2012
+.\" http://thread.gmane.org/gmane.linux.file-systems/48331/focus=1193526
+\fIoffset\fP が 0 未満だったか、 \fIlen\fP が 0 以下だった。
+.TP 
+\fBEIO\fP
 ファイルシステムとの読み書き中に入出力エラーが発生した。
-.TP
-.B ENODEV
-.I fd
-が通常のファイルかディレクトリを参照していない
-.RI ( fd
-がパイプや FIFO を参照している場合、別のエラーが発生する)。
-.TP
-.B ENOSPC
-.I fd
-が参照するファイルを含むデバイスに十分な空き領域がない。
-.TP
-.B ENOSYS
-.I fd
-が参照するファイルを含むファイルシステムが
-指定された操作をサポートしていない。
-.TP
-.B EOPNOTSUPP
-.I fd
-が参照するファイルを含むファイルシステムが
-.I mode
-をサポートしていない。
+.TP 
+\fBENODEV\fP
+\fIfd\fP が通常のファイルかディレクトリを参照していない (\fIfd\fP がパイプや FIFO を参照している場合、別のエラーが発生する)。
+.TP 
+\fBENOSPC\fP
+\fIfd\fP が参照するファイルを含むデバイスに十分な空き領域がない。
+.TP 
+\fBENOSYS\fP
+このカーネルでは \fBfallocate\fP() は実装されていない。
+.TP 
+\fBEOPNOTSUPP\fP
+\fIfd\fP が参照するファイルを含むファイルシステムが 指定された操作を
+サポートしていない。 \fIfd\fP が参照するファイルを含むファイルシステムが
+\fImode\fP をサポートしていない。
+.TP 
+\fBEPERM\fP
+The file referred to by \fIfd\fP is marked immutable (see \fBchattr\fP(1)).  Or:
+\fImode\fP specifies \fBFALLOC_FL_PUNCH_HOLE\fP and the file referred to by \fIfd\fP
+is marked append\-only (see \fBchattr\fP(1)).
+.TP 
+\fBESPIPE\fP
+\fIfd\fP がパイプか FIFO を参照している。
 .SH バージョン
-.BR fallocate ()
-はカーネル 2.6.23 以降の Linux で利用可能である。
-glibc での対応はバージョン 3.10 以降で行われている。
+\fBfallocate\fP()  はカーネル 2.6.23 以降の Linux で利用可能である。 glibc での対応はバージョン 3.10
+以降で行われている。
 .SH 準拠
-.BR fallocate ()
-は Linux 固有である。
+\fBfallocate\fP()  は Linux 固有である。
 .SH 関連項目
-.BR ftruncate (2),
-.BR posix_fadvise (3),
-.BR posix_fallocate (3)
+\fBftruncate\fP(2), \fBposix_fadvise\fP(3), \fBposix_fallocate\fP(3)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
index e8d7734..8a8cac3 100644 (file)
@@ -1,7 +1,7 @@
 .\" Hey Emacs! This file is -*- nroff -*- source.
 .\"
 .\" Copyright (c) 1992 Drew Eckhardt, March 28, 1992
-.\" and Copyright (c) 2002, 2004, 2005, 2008 Michael Kerrisk
+.\" and Copyright (c) 2002, 2004, 2005, 2008, 2010 Michael Kerrisk
 .\"
 .\" Permission is granted to make and distribute verbatim copies of this
 .\" manual provided the copyright notice and this permission notice are
 .\"          Robert Bihlmeyer <robbe@orcus.ping.at>
 .\" Modified 1996-10-22 by Eric S. Raymond <esr@thyrsus.com>
 .\" Modified 2001-05-04 by aeb, following a remark by
-.\"          Havard Lygre <hklygre@online.no>
+.\"          Håvard Lygre <hklygre@online.no>
 .\" Modified 2001-04-17 by Michael Kerrisk <mtk.manpages@gmail.com>
 .\" Modified 2002-06-13 by Michael Kerrisk <mtk.manpages@gmail.com>
 .\"     Added note on nonstandard behavior when SIGCHLD is ignored.
 .\" Modified 2002-07-09 by Michael Kerrisk <mtk.manpages@gmail.com>
-.\"    Enhanced descriptions of 'resource' values for [gs]etrlimit()
+.\"    Enhanced descriptions of 'resource' values
 .\" Modified 2003-11-28 by aeb, added RLIMIT_CORE
 .\" Modified 2004-03-26 by aeb, added RLIMIT_AS
 .\" Modified 2004-06-16 by Michael Kerrisk <mtk.manpages@gmail.com>
 .\" 2005-07-13, mtk, documented RLIMIT_MSGQUEUE limit.
 .\" 2005-07-28, mtk, Added descriptions of RLIMIT_NICE and RLIMIT_RTPRIO
 .\" 2008-05-07, mtk / Peter Zijlstra, Added description of RLIMIT_RTTIME
+.\" 2010-11-06, mtk: Added documentation of prlimit()
 .\"
-.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
-.\"         all rights reserved.
-.\" Translated 1997-02-22, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\" Updated and Modified 2001-06-02, Yuichi SATO <ysato444@yahoo.co.jp>
-.\" Updated and Modified 2001-08-18, Yuichi SATO
-.\" Updated and Modified 2002-08-25, Yuichi SATO
-.\" Updated and Modified 2004-01-17, Yuichi SATO
-.\" Updated and Modified 2004-12-30, Yuichi SATO
-.\" Updated and Modified 2005-09-10, Yuichi SATO
-.\" Updated and Modified 2005-10-11, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated and Modified 2005-10-27, Akihiro MOTOKI
-.\" Updated and Modified 2006-04-15, Akihiro MOTOKI, Catch up to LDP v2.29
-.\" Updated 2008-08-08, Akihiro MOTOKI, LDP v3.05
-.\" Updated 2008-10-13, Akihiro MOTOKI, LDP v3.11
+.\"*******************************************************************
 .\"
-.\"WORD:       resource                資源
-.\"WORD:       limit                   制限
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.TH GETRLIMIT 2 2010-09-26 "Linux" "Linux Programmer's Manual"
+.\"*******************************************************************
+.TH GETRLIMIT 2 2011\-09\-10 Linux "Linux Programmer's Manual"
 .SH 名前
-getrlimit, setrlimit \- 資源の制限を取得/設定する
+getrlimit, setrlimit, prlimit \- 資源の制限を取得/設定する
 .SH 書式
-.B #include <sys/time.h>
+\fB#include <sys/time.h>\fP
 .br
-.B #include <sys/resource.h>
+\fB#include <sys/resource.h>\fP
 .sp
-.BI "int getrlimit(int " resource ", struct rlimit *" rlim );
+\fBint getrlimit(int \fP\fIresource\fP\fB, struct rlimit *\fP\fIrlim\fP\fB);\fP
 .br
-.BI "int setrlimit(int " resource ", const struct rlimit *" rlim );
+\fBint setrlimit(int \fP\fIresource\fP\fB, const struct rlimit *\fP\fIrlim\fP\fB);\fP
+.sp
+\fBint prlimit(pid_t \fP\fIpid\fP\fB, int \fP\fIresource\fP\fB, const struct rlimit
+*\fP\fInew_limit\fP\fB,\fP
+.br
+\fB struct rlimit *\fP\fIold_limit\fP\fB);\fP
+.sp
+.in -4n
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
+.in
+.sp
+\fBprlimit\fP(): _GNU_SOURCE && _FILE_OFFSET_BITS == 64
 .SH 説明
-.BR getrlimit ()
-と
-.BR setrlimit ()
-はそれぞれ資源 (resource) の制限 (limit) の設定と取得を行う。
-各リソースには、それに対応するソフト・リミットとハード・リミットがある。
-リミットは
-.RB ( getrlimit ()
-と
-.BR setrlimit ()
-の
-.I rlim
-引き数である)
-.I rlimit
-構造体で定義される:
+\fBgetrlimit\fP() と \fBsetrlimit\fP() はそれぞれ資源 (resource) の制限
+(limit) の設定と取得を行う。 各リソースには、それに対応するソフトリミッ
+トとハードリミットがあり、 \fIrlimit\fP 構造体で定義される:
 .PP
 .in +4n
 .nf
 struct rlimit {
-    rlim_t rlim_cur;  /* ã\82½ã\83\95ã\83\88ã\83»ã\83ªã\83\9fã\83\83ã\83\88 */
-    rlim_t rlim_max;  /* ã\83\8fã\83¼ã\83\89ã\83»ã\83ªã\83\9fã\83\83ã\83\88
+    rlim_t rlim_cur;  /* ソフトリミット */
+    rlim_t rlim_max;  /* ハードリミット
                          (rlim_cur より小さくない) */
 };
 
 .fi
 .in
-ソフト・リミットは、カーネルが対応するリソースに対して課す制限値である。
-ハード・リミットはソフト・リミットの上限として働く。
-特権を持たないプロセスは、ソフト・リミットの値を
-0 からハード・リミットの範囲に設定することと、
-ハード・リミットを下げることのみができる
-(一度下げたハードリミットは上げられない)。
-特権プロセス (Linux では
-.B CAP_SYS_RESOURCE
-ケーパビリティ (capability) を持つプロセス) は
-ソフト・リミットとハード・リミットを自由に変更できる。
+ソフトリミットは、カーネルが対応するリソースに対して課す制限値である。 ハードリミットはソフトリミットの上限として働く。
+特権を持たないプロセスは、ソフトリミットの値を 0 からハードリミットの範囲に設定することと、 ハードリミットを下げることのみができる
+(一度下げたハードリミットは上げられない)。 特権プロセス (Linux では \fBCAP_SYS_RESOURCE\fP ケーパビリティ
+(capability) を持つプロセス) は ソフトリミットとハードリミットを自由に変更できる。
 .PP
-値
-.B RLIM_INFINITY
-はリソースに制限がないことを表す
-(この値は
-.BR getrlimit ()
-が返す構造体と
-.BR setrlimit ()
-に渡す構造体の両方で使用される)。
+値 \fBRLIM_INFINITY\fP はリソースに制限がないことを表す (この値は \fBgetrlimit\fP()  が返す構造体と
+\fBsetrlimit\fP()  に渡す構造体の両方で使用される)。
 .PP
-.I resource
-は次のいずれか 1 つである。
-.TP
-.B RLIMIT_AS
-プロセスの仮想メモリ (アドレス空間) の最大サイズ (バイト単位)。
-.\" 2.0.27 / 2.1.12 以降。
-この制限は
-.BR brk (2),
-.BR mmap (2),
-.BR mremap (2)
-の呼び出しに影響し、この制限を超えた場合は
-エラー
-.B ENOMEM
-で失敗する。
-また自動的なスタック拡張にも失敗する
-(さらに
-.BR sigaltstack (2)
-を使った代替スタックを利用可能にしていなかった場合には、
-.B SIGSEGV
-を生成してそのプロセスを kill する)。
-この値は \fIlong\fP 型なので、32 ビットの \fIlong\fP 型を持つマシンでは、
-この制限は最大で 2 GiB になるか、この資源が無制限になる。
-.TP
-.B RLIMIT_CORE
-.I core
-ファイルの最大サイズ。
-0 の場合、core ファイルは生成されない。
-0 以外の場合、このサイズより大きいダンプは切り詰められる。
-.TP
-.B RLIMIT_CPU
-CPU 時間の上限 (秒数)。
-プロセスがソフト・リミットに達した場合に、
-.B SIGXCPU
-シグナルを送る。
-このシグナルに対するデフォルトの動作は、プロセスの終了である。
-ただしシグナルをキャッチして、ハンドラがメインプログラムに
-制御を返すこともできる。
-プロセスが CPU 時間を使い続けた場合は、
-ハードリミットに達するまで 1 秒毎にプロセスに
-.B SIGXCPU
-を送り、
-ハードリミットに達すると
-.B SIGKILL
-を送る。
-ソフト・リミットを超過したときの動作は、
-Linux 2.2 から 2.6 のものである。
-ソフト・リミットを超えて CPU 時間を使い続けるプロセスの
-扱い方についての実装は変化してきている。
-このシグナルをキャッチする必要のある
-移植性を考えたアプリケーションでは、
-最初に
-.B SIGXCPU
-を受け取った時点で正しく終了すべきである。
-.TP
-.B RLIMIT_DATA
-プロセスのデータセグメント
-(初期化されたデータ・初期化されていないデータ・ヒープ) の最大値。
-このリミットは
-.BR brk (2)
-と
-.BR sbrk (2)
-の呼び出しに影響する。
-これらの関数は、このリソースのソフト・リミットに達すると、
-エラー
-.B ENOMEM
-で失敗する。
-.TP
-.B RLIMIT_FSIZE
-プロセスが作成できるファイルサイズの最大値。
-このサイズを超えてファイルを拡張すると、
-.B SIGXFSZ
-シグナルを送る。
-デフォルトでは、このシグナルはプロセスを終了する。
-プロセスをキャッチすることもできるが、
-関連するシステムコール
-.RB ( write (2),
-.BR truncate (2)
-など) はエラー
-.B EFBIG
-で失敗する。
-.TP
-.BR RLIMIT_LOCKS " (初期の Linux 2.4 のみ)"
-.\" 正確には Linux 2.4.0-test9 のみ。2.4.25 / 2.5.65 ではなくなっている。
-このプロセスが実行できる
-.BR flock (2)
-ロック数と
-.BR fcntl (2)
-リース数の合計値を制限する。
-.TP
-.B RLIMIT_MEMLOCK
-RAM 内にロックできるメモリの最大バイト数。
-実際には、この制限はシステムページサイズの最も近い倍数に
-切り捨てて丸められる。
-この制限は
-.BR mlock (2),
-.BR mlockall (2),
-.BR mmap (2)
-の
-.B MAP_LOCKED
-操作に影響する。
-Linux 2.6.9 以降では
-.BR shmctl (2)
-.B SHM_LOCK
-操作にも影響する。
-この操作は呼び出し元プロセスの実 (real) ユーザー ID にロックされる
-共有メモリセグメント
-.RB ( shmget (2)
-を参照) の合計バイト数の最大値を設定する。
-.BR shmctl (2)
-.B SHM_LOCK
-によるロックは、
-.BR mlock (2),
-.BR mlockall (2),
-.BR mmap (2)
-の
-.B MAP_LOCKED
-によって確立されるプロセス毎のメモリロックとは分けて数える。
-1 つのプロセスはこの制限までのバイトをロックできる。
-この制限には 2 つの種類がある。
-2.6.9 より前の Linux カーネル では、
-この制限は特権プロセスによってロックされるメモリの合計を制御していた。
-Linux 2.6.9 以降では、特権プロセスがロックするメモリの合計に制限はなく、
-代わりにこの制限は非特権プロセスがロックするメモリの合計に
-適用されるようになった。
-.TP
-.BR RLIMIT_MSGQUEUE " (Linux 2.6.8 以降)"
-呼び出し元プロセスの実ユーザー ID に対して、
-POSIX メッセージキューのために確保できるバイト数の制限を指定する。
-この制限は
-.BR mq_open (3)
-に対して適用される。
-ユーザが作成した各々のメッセージキューのバイト数は
-以下の式により計算され、(そのキューが削除されるまでの間)
-この制限の計算対象に含められる。
+\fIresource\fP 引き数は次のいずれか 1 つである。
+.TP 
+\fBRLIMIT_AS\fP
+.\" since 2.0.27 / 2.1.12
+プロセスの仮想メモリ (アドレス空間) の最大サイズ (バイト単位)。 この制限は \fBbrk\fP(2), \fBmmap\fP(2),
+\fBmremap\fP(2)  の呼び出しに影響し、この制限を超えた場合は エラー \fBENOMEM\fP で失敗する。 また自動的なスタック拡張にも失敗する
+(さらに \fBsigaltstack\fP(2)  を使った代替スタックを利用可能にしていなかった場合には、 \fBSIGSEGV\fP を生成してそのプロセスを
+kill する)。 この値は \fIlong\fP 型なので、32 ビットの \fIlong\fP 型を持つマシンでは、 この制限は最大で 2 GiB
+になるか、この資源が無制限になる。
+.TP 
+\fBRLIMIT_CORE\fP
+\fIcore\fP ファイルの最大サイズ。 0 の場合、core ファイルは生成されない。 0 以外の場合、このサイズより大きいダンプは切り詰められる。
+.TP 
+\fBRLIMIT_CPU\fP
+CPU 時間の上限 (秒数)。プロセスがソフトリミットに達した場合に、
+\fBSIGXCPU\fP シグナルを送る。このシグナルに対するデフォルトの動作は、
+プロセスの終了である。ただし、シグナルをキャッチして、ハンドラがメイン
+プログラムに制御を返すこともできる。プロセスが CPU 時間を使い続けた
+場合は、ハードリミットに達するまで 1 秒毎にプロセスに \fBSIGXCPU\fP を送り、
+ハードリミットに達すると \fBSIGKILL\fP を送る。
+(ソフトリミットを超過したときの動作は、 Linux における動作である。ソフ
+トリミットを超えて CPU 時間を使い続けるプロセスの扱い方についての実装は
+変化してきている。 このシグナルをキャッチする必要のある 移植性を考えた
+アプリケーションでは、 最初に \fBSIGXCPU\fP を受け取った時点で正しく終了
+すべきである。)
+.TP 
+\fBRLIMIT_DATA\fP
+プロセスのデータセグメント (初期化されたデータ・初期化されていないデータ・ヒープ) の最大値。 このリミットは \fBbrk\fP(2)  と
+\fBsbrk\fP(2)  の呼び出しに影響する。 これらの関数は、このリソースのソフトリミットに達すると、 エラー \fBENOMEM\fP で失敗する。
+.TP 
+\fBRLIMIT_FSIZE\fP
+プロセスが作成できるファイルサイズの最大値。 このサイズを超えてファイルを拡張すると、 \fBSIGXFSZ\fP シグナルを送る。
+デフォルトでは、このシグナルはプロセスを終了する。 プロセスをキャッチすることもできるが、 関連するシステムコール (\fBwrite\fP(2),
+\fBtruncate\fP(2)  など) はエラー \fBEFBIG\fP で失敗する。
+.TP 
+\fBRLIMIT_LOCKS\fP (初期の Linux 2.4 のみ)
+.\" to be precise: Linux 2.4.0-test9; no longer in 2.4.25 / 2.5.65
+このプロセスが実行できる \fBflock\fP(2)  ロック数と \fBfcntl\fP(2)  リース数の合計値を制限する。
+.TP 
+\fBRLIMIT_MEMLOCK\fP
+RAM 内にロックできるメモリの最大バイト数。 実際には、この制限はシステムページサイズの最も近い倍数に 切り捨てて丸められる。 この制限は
+\fBmlock\fP(2), \fBmlockall\fP(2), \fBmmap\fP(2)  の \fBMAP_LOCKED\fP 操作に影響する。 Linux
+2.6.9 以降では \fBshmctl\fP(2)  \fBSHM_LOCK\fP 操作にも影響する。 この操作は呼び出し元プロセスの実 (real) ユーザー
+ID にロックされる 共有メモリセグメント (\fBshmget\fP(2)  を参照) の合計バイト数の最大値を設定する。 \fBshmctl\fP(2)
+\fBSHM_LOCK\fP によるロックは、 \fBmlock\fP(2), \fBmlockall\fP(2), \fBmmap\fP(2)  の
+\fBMAP_LOCKED\fP によって確立されるプロセス毎のメモリロックとは分けて数える。 1 つのプロセスはこの制限までのバイトをロックできる。
+この制限には 2 つの種類がある。 2.6.9 より前の Linux カーネル では、
+この制限は特権プロセスによってロックされるメモリの合計を制御していた。 Linux 2.6.9
+以降では、特権プロセスがロックするメモリの合計に制限はなく、 代わりにこの制限は非特権プロセスがロックするメモリの合計に 適用されるようになった。
+.TP 
+\fBRLIMIT_MSGQUEUE\fP (Linux 2.6.8 以降)
+呼び出し元プロセスの実ユーザー ID に対して、 POSIX メッセージキューのために確保できるバイト数の制限を指定する。 この制限は
+\fBmq_open\fP(3)  に対して適用される。 ユーザが作成した各々のメッセージキューのバイト数は
+以下の式により計算され、(そのキューが削除されるまでの間)  この制限の計算対象に含められる。
 .nf
 
     bytes = attr.mq_maxmsg * sizeof(struct msg_msg *) +
             attr.mq_maxmsg * attr.mq_msgsize
 
 .fi
-ここで
-.I attr
-は
-.I mq_attr
-構造体であり、
-.BR mq_open (3)
-の第 4 引き数として指定される。
+ここで \fIattr\fP は \fImq_attr\fP 構造体であり、 \fBmq_open\fP(3)  の第 4 引き数として指定される。
 
-.I "sizeof(struct msg_msg *)"
-(Linux/i386 では 4 バイト) を含む最初の加数は、
-ユーザーが長さ 0 のメッセージを無制限に作れないこと保証している
-(このようなメッセージであっても、
-記録のためのオーバーヘッドでシステムメモリを消費する)。
-.TP
-.BR RLIMIT_NICE " (Linux 2.6.12 以降, 下記の「バグ」の節も参照)"
-.BR setpriority (2)
-や
-.BR nice (2)
-を使って引き上げられるプロセスの nice 値の上限を指定する。
-nice 値の実際の上限は
-.I "20\ \-\ rlim_cur"
-で計算される
-(このような変な状況は、リソース制限値として負の数を指定できないため
-発生する。通常、負の値は特別な意味を持っているからである。
-例えば、通常は
-.B RLIM_INFINITY
-の値は \-1 である)。
-.TP
-.B RLIMIT_NOFILE
-このプロセスがオープンできるファイルディスクリプタ数の最大値より
-1 大きい値を指定する。
-.RB ( open (2),
-.BR pipe (2),
-.BR dup (2)
-などにより) この上限を超えようとした場合、エラー
-.B EMFILE
-が発生する
-(歴史的に、BSD ではこの上限は
-.B RLIMIT_OFILE
-という名前となっている)。
-.TP
-.B RLIMIT_NPROC
-呼び出したプロセスの実ユーザー ID で作成できる最大プロセス数
-(より正確には Linux ではスレッド数)。
-この上限に達すると、
-.BR fork (2)
-はエラー
-.B EAGAIN
-で失敗する。
-.TP
-.B RLIMIT_RSS
-プロセスの resident set (RAM 上に存在する仮想ページの数) の
-上限を (ページ数で) 指定する。
-この制限は 2.4.30 より前でしか影響がなく、
-.BR madvise (2)
-に
-.B MADV_WILLNEED
-を指定した関数コールにしか影響しない。
-.\" カーネル 2.6.12 の時点では、
-.\" この制限はカーネル 2.6 ではまだ何も行わない。
-.\" しかし、何をさせるかについては LKML で時々話題になっている。
+\fIsizeof(struct msg_msg *)\fP (Linux/i386 では 4 バイト) を含む最初の加数は、 ユーザーが長さ 0
+のメッセージを無制限に作れないこと保証している (このようなメッセージであっても、 記録のためのオーバーヘッドでシステムメモリを消費する)。
+.TP 
+\fBRLIMIT_NICE\fP (Linux 2.6.12 以降, 下記の「バグ」の節も参照)
+\fBsetpriority\fP(2)  や \fBnice\fP(2)  を使って引き上げられるプロセスの nice 値の上限を指定する。 nice
+値の実際の上限は \fI20\ \-\ rlim_cur\fP で計算される (このような変な状況は、リソース制限値として負の数を指定できないため
+発生する。通常、負の値は特別な意味を持っているからである。 例えば、通常は \fBRLIM_INFINITY\fP の値は \-1 である)。
+.TP 
+\fBRLIMIT_NOFILE\fP
+このプロセスがオープンできるファイルディスクリプタ数の最大値より 1 大きい値を指定する。 (\fBopen\fP(2), \fBpipe\fP(2),
+\fBdup\fP(2)  などにより) この上限を超えようとした場合、エラー \fBEMFILE\fP が発生する (歴史的に、BSD ではこの上限は
+\fBRLIMIT_OFILE\fP という名前となっている)。
+.TP 
+\fBRLIMIT_NPROC\fP
+呼び出したプロセスの実ユーザー ID で作成できる最大プロセス数 (より正確には Linux ではスレッド数)。 この上限に達すると、
+\fBfork\fP(2)  はエラー \fBEAGAIN\fP で失敗する。
+.TP 
+\fBRLIMIT_RSS\fP
+.\" As at kernel 2.6.12, this limit still does nothing in 2.6 though
+.\" talk of making it do something has surfaced from time to time in LKML
 .\"       -- MTK, Jul 05
-.TP
-.BR RLIMIT_RTPRIO " (Linux 2.6.12 以降, バグの節も参照)"
-.BR sched_setscheduler (2)
-や
-.BR sched_setparam (2)
+プロセスの resident set (RAM 上に存在する仮想ページの数) の 上限を (ページ数で) 指定する。 この制限は 2.4.30
+より前でしか影響がなく、 \fBmadvise\fP(2)  に \fBMADV_WILLNEED\fP を指定した関数コールにしか影響しない。
+.TP 
+\fBRLIMIT_RTPRIO\fP (Linux 2.6.12 以降, バグの節も参照)
+\fBsched_setscheduler\fP(2)  や \fBsched_setparam\fP(2)
 を使って設定できる、そのプロセスのリアルタイム優先度の上限を指定する。
-.TP
-.BR RLIMIT_RTTIME " (Linux 2.6.25 以降)"
-リアルタイム・スケジューリング方針でスケジューリングされるプロセスが
-ブロッキング型のシステムコールを呼び出さずに消費することのできる
-CPU 時間の合計についての上限を (マイクロ秒単位で) 指定する。
-この上限の目的のため、プロセスがブロッキング型のシステムコールを
-呼び出す度に、消費された CPU 時間のカウントは 0 にリセットされる。
-プロセスが CPU を使い続けようとしたが他のプロセスに置き換えられた
-(preempted) 場合や、そのプロセスのタイムスライスが満了した場合、
-そのプロセスが
-.BR sched_yield (2)
-を呼び出した場合は、CPU 時間のカウントはリセットされない。
+.TP 
+\fBRLIMIT_RTTIME\fP (Linux 2.6.25 以降)
+リアルタイムスケジューリング方針でスケジューリングされるプロセスが ブロッキング型のシステムコールを呼び出さずに消費することのできる CPU
+時間の合計についての上限を (マイクロ秒単位で) 指定する。 この上限の目的のため、プロセスがブロッキング型のシステムコールを 呼び出す度に、消費された
+CPU 時間のカウントは 0 にリセットされる。 プロセスが CPU を使い続けようとしたが他のプロセスに置き換えられた (preempted)
+場合や、そのプロセスのタイムスライスが満了した場合、 そのプロセスが \fBsched_yield\fP(2)  を呼び出した場合は、CPU
+時間のカウントはリセットされない。
 
-ソフト・リミットに達すると、そのプロセスに
-.B SIGXCPU
-シグナルが送られる。そのプロセスがこのシグナルを捕捉するか
-無視して、CPU 時間を消費し続けた場合には、
-ハード・リミットに達するまで 1 秒に 1 回
-.B SIGXCPU
-が生成され続けることになる。
-ハード・リミットに達した時点で、そのプロセスには
-.B SIGKILL
-シグナルが送られる。
+ソフトリミットに達すると、そのプロセスに \fBSIGXCPU\fP シグナルが送られる。そのプロセスがこのシグナルを捕捉するか 無視して、CPU
+時間を消費し続けた場合には、 ハードリミットに達するまで 1 秒に 1 回 \fBSIGXCPU\fP が生成され続けることになる。
+ハードリミットに達した時点で、そのプロセスには \fBSIGKILL\fP シグナルが送られる。
 
-この上限を意図的に使用するのは、暴走したリアルタイム・プロセスを
-停止して、システムが動かなくなるのを避ける場合である。
-.TP
-.BR RLIMIT_SIGPENDING " (Linux 2.6.8 以降)"
-呼び出し元プロセスの実ユーザー ID に対して
-キューに入れられるシグナルの数の制限を指定する。
-この制限をチェックするため、
-標準シグナルとリアルタイム・シグナルの両方がカウントされる。
-しかし、この制限は
-.BR sigqueue (2)
-に対してしか強制されず、
-.BR kill (2)
-使うことで、そのプロセスに対してまだキューに入れられていない
-シグナルのインスタンスをキューに入れることができる。
-.\" これはカーネル 2.6.7 以前に存在するシステム全体の制限
-.\" /proc/sys/kernel/rtsig-max を置き換える。MTK Dec 04
-.TP
-.B RLIMIT_STACK
-プロセス・スタックの最大サイズをバイト単位で指定する。
-この上限に達すると、
-.B SIGSEGV
-シグナルが生成される。
-このシグナルを扱うためには、
-プロセスは代りのシグナルスタック
-.RB ( sigaltstack (2))
-を使用しなければならない。
+この上限を意図的に使用するのは、暴走したリアルタイムプロセスを 停止して、システムが動かなくなるのを避ける場合である。
+.TP 
+\fBRLIMIT_SIGPENDING\fP (Linux 2.6.8 以降)
+.\" This replaces the /proc/sys/kernel/rtsig-max system-wide limit
+.\" that was present in kernels <= 2.6.7.  MTK Dec 04
+呼び出し元プロセスの実ユーザー ID に対して キューに入れられるシグナルの
+数の制限を指定する。この制限をチェックするため、標準シグナルとリアルタ
+イムシグナルの両方がカウントされる。しかし、この制限は \fBsigqueue\fP(3)
+に対してしか強制されず、 \fBkill\fP(2) 使うことで、そのプロセスに対してま
+だキューに入れられていない シグナルのインスタンスをキューに入れることが
+できる。
+.TP 
+\fBRLIMIT_STACK\fP
+プロセススタックの最大サイズをバイト単位で指定する。 この上限に達すると、 \fBSIGSEGV\fP シグナルが生成される。 このシグナルを扱うためには、
+プロセスは代りのシグナルスタック (\fBsigaltstack\fP(2))  を使用しなければならない。
 
 Linux 2.6.23 以降では、この制限はプロセスのコマンドライン引き数と環境変数
-に使用される空間の合計サイズの上限の決定にも使用される。詳細については
-.BR execve (2)
-を参照。
+に使用される空間の合計サイズの上限の決定にも使用される。詳細については \fBexecve\fP(2)  を参照。
+.SS prlimit()
+.\" commit c022a0acad534fd5f5d5f17280f6d4d135e74e81
+.\" Author: Jiri Slaby <jslaby@suse.cz>
+.\" Date:   Tue May 4 18:03:50 2010 +0200
+The Linux\-specific \fBprlimit\fP()  system call combines and extends the
+functionality of \fBsetrlimit\fP()  and \fBgetrlimit\fP().  It can be used to both
+set and get the resource limits of an arbitrary process.
+
+The \fIresource\fP argument has the same meaning as for \fBsetrlimit\fP()  and
+\fBgetrlimit\fP().
+
+If the \fInew_limit\fP argument is a not NULL, then the \fIrlimit\fP structure to
+which it points is used to set new values for the soft and hard limits for
+\fIresource\fP.  If the \fIold_limit\fP argument is a not NULL, then a successful
+call to \fBprlimit\fP()  places the previous soft and hard limits for
+\fIresource\fP in the \fIrlimit\fP structure pointed to by \fIold_limit\fP.
+
+.\" FIXME this permission check is strange
+.\" Asked about this on LKML, 7 Nov 2010
+.\"     "Inconsistent credential checking in prlimit() syscall"
+The \fIpid\fP argument specifies the ID of the process on which the call is to
+operate.  If \fIpid\fP is 0, then the call applies to the calling process.  To
+set or get the resources of a process other than itself, the caller must
+have the \fBCAP_SYS_RESOURCE\fP capability, or the real, effective, and saved
+set user IDs of the target process must match the real user ID of the caller
+\fIand\fP the real, effective, and saved set group IDs of the target process
+must match the real group ID of the caller.
 .SH 返り値
-成功した場合は 0 が返される。エラーの場合は \-1 が返され、
-.I errno
-に適切な値が設定される。
+成功した場合、これらのシステムコールは 0 を返す。
+エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
 .SH エラー
-.TP
-.B EFAULT
-.I rlim
-がアクセス可能なアドレス空間の外を指している。
-.TP
-.B EINVAL
-.I resource
-が有効でない。
-または、
-.BR setrlimit ()
-で、
-.I rlim\->rlim_cur
-が
-.I rlim\->rlim_max
-よりも大きかった。
-.TP
-.B EPERM
-特権のないプロセスが
-.BR setrlimit ()
-を使用して
-ソフト・リミットまたはハード・リミットを
-現在のハード・リミットより大きくしようと試みた。
-これを行うためには
-.B CAP_SYS_RESOURCE
-ケーパビリティが必要である。
-または特権のないプロセスが
-.BR setrlimit ()
-を使用して
-ソフトまたはハード
-.B RLIMIT_NOFILE
-リミットを現在のカーネルの最大値
-.RB ( NR_OPEN )
-以上に増加させようとした。
+.TP 
+\fBEFAULT\fP
+場所を指すポインタ引き数がアクセス可能なアドレス空間外を指している。
+.TP 
+\fBEINVAL\fP
+\fIresource\fP で指定された値が有効でない。
+または、 \fBsetrlimit\fP() や \fBprlimit\fP() で、
+\fIrlim\->rlim_cur\fP が \fIrlim\->rlim_max\fP よりも大きかった。
+.TP 
+\fBEPERM\fP
+特権のないプロセスがハードリミットを上げようとした。
+これを行うためには \fBCAP_SYS_RESOURCE\fP ケーパビリティが必要である。
+または、特権のないプロセスが \fBRLIMIT_NOFILE\fP ハードリミットを
+現在のカーネルの最大値 (\fBNR_OPEN\fP) 以上に増やそうとした。
+または、呼び出したプロセスが \fIpid\fP で指定されたプロセスのリミットを
+設定する許可を持っていなかった。
+.TP 
+\fBESRCH\fP
+Could not find a process with the ID specified in \fIpid\fP.
+.SH バージョン
+The \fBprlimit\fP()  system call is available since Linux 2.6.36.  Library
+support is available since glibc 2.13.
 .SH 準拠
-SVr4, 4.3BSD, POSIX.1-2001.
-.B RLIMIT_MEMLOCK
-と
-.B RLIMIT_NPROC
-は BSD から派生し、POSIX.1-2001 には指定されていない。
+\fBgetrlimit\fP(), \fBsetrlimit\fP(): SVr4, 4.3BSD, POSIX.1\-2001.
+.br
+\fBprlimit\fP(): Linux\-specific.
+
+\fBRLIMIT_MEMLOCK\fP と \fBRLIMIT_NPROC\fP は BSD から派生し、
+POSIX.1\-2001 には指定されていない。
 これらは BSD 系と Linux に存在するが、他の実装は少ない。
-.R RLIMIT_RSS
-は BSD から派生し、POSIX.1-2001 には指定されていない。
+\fBRLIMIT_RSS\fP は BSD から派生し、POSIX.1\-2001 には指定されていない。
 それにも関わらず多くの実装で存在する。
-.BR RLIMIT_MSGQUEUE ,
-.BR RLIMIT_NICE ,
-.BR RLIMIT_RTPRIO ,
-.BR RLIMIT_RTTIME ,
-.B RLIMIT_SIGPENDING
-は Linux 固有のものである。
+\fBRLIMIT_MSGQUEUE\fP, \fBRLIMIT_NICE\fP, \fBRLIMIT_RTPRIO\fP, \fBRLIMIT_RTTIME\fP,
+\fBRLIMIT_SIGPENDING\fP は Linux 固有のものである。
 .SH 注意
-.BR fork (2)
-で作成された作成された子プロセスは、
-親プロセスのリソース制限を継承する。
-.BR execve (2)
+\fBfork\fP(2)  で作成された作成された子プロセスは、 親プロセスのリソース制限を継承する。 \fBexecve\fP(2)
 の前後でリソース制限は保存される。
 
-シェルのリソース制限は、シェルの組み込みコマンドである
-.I ulimit
-.RB ( csh (1)
-では
-.I limit )
-を使って設定することができる。
-このシェルのリソース制限は、コマンドを実行してシェルが生成するプロセス
-に引き継がれる。
+シェルのリソース制限は、シェルの組み込みコマンドである \fIulimit\fP (\fBcsh\fP(1)  では \fIlimit )\fP
+を使って設定することができる。 このシェルのリソース制限は、コマンドを実行してシェルが生成するプロセス に引き継がれる。
+
+古いシステムでは、 \fBsetrlimit\fP()  と同様の目的を持つ関数 \fBvlimit\fP()  が提供されていた。 後方互換性のため、glibc
+でも \fBvlimit\fP()  を提供している。 全ての新しいアプリケーションでは、 \fBsetrlimit\fP()  を使用すべきである。
+.SH 例
+The program below demonstrates the use of \fBprlimit\fP().
+.PP
+.nf
+#define _GNU_SOURCE
+#define _FILE_OFFSET_BITS 64
+#include <stdio.h>
+#include <time.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/resource.h>
 
-古いシステムでは、
-.BR setrlimit ()
-と同様の目的を持つ関数
-.BR vlimit ()
-が提供されていた。
-後方互換性のため、glibc でも
-.BR vlimit ()
-を提供している。
-全ての新しいアプリケーションでは、
-.BR setrlimit ()
-を使用すべきである。
+#define errExit(msg)   do { perror(msg); exit(EXIT_FAILURE); \e
+                        } while (0)
+
+int
+main(int argc, char *argv[])
+{
+    struct rlimit old, new;
+    struct rlimit *newp;
+    pid_t pid;
+
+    if (!(argc == 2 || argc == 4)) {
+        fprintf(stderr, "Usage: %s <pid> [<new\-soft\-limit> "
+                "<new\-hard\-limit>]\en", argv[0]);
+        exit(EXIT_FAILURE);
+    }
+
+    pid = atoi(argv[1]);        /* PID of target process */
+
+    newp = NULL;
+    if (argc == 4) {
+        new.rlim_cur = atoi(argv[2]);
+        new.rlim_max = atoi(argv[3]);
+        newp = &new;
+    }
+
+    /* Set CPU time limit of target process; retrieve and display
+       previous limit */
+
+    if (prlimit(pid, RLIMIT_CPU, newp, &old) == \-1)
+        errExit("prlimit\-1");
+    printf("Previous limits: soft=%lld; hard=%lld\en",
+            (long long) old.rlim_cur, (long long) old.rlim_max);
+
+    /* Retrieve and display new CPU time limit */
+
+    if (prlimit(pid, RLIMIT_CPU, NULL, &old) == \-1)
+        errExit("prlimit\-2");
+    printf("New limits: soft=%lld; hard=%lld\en",
+            (long long) old.rlim_cur, (long long) old.rlim_max);
+
+    exit(EXIT_FAILURE);
+}
+.fi
 .SH バグ
-以前の Linux カーネルでは、プロセスがソフトまたはハード
-.B RLIMIT_CPU
-リミットに達した場合に送られる
-.B SIGXCPU
-と
-.B SIGKILL
-シグナルが、本来送られるべき時点の 1 (CPU) 秒後に送られてしまう。
-これはカーネル 2.6.8 で修正された。
+.\" FIXME prlimit() does not suffer
+.\" https://bugzilla.kernel.org/show_bug.cgi?id=5042
+.\" http://sources.redhat.com/bugzilla/show_bug.cgi?id=12201
+以前の Linux カーネルでは、プロセスがソフトまたはハード \fBRLIMIT_CPU\fP リミットに達した場合に送られる \fBSIGXCPU\fP と
+\fBSIGKILL\fP シグナルが、本来送られるべき時点の 1 (CPU) 秒後に送られてしまう。 これはカーネル 2.6.8 で修正された。
 
-2.6.17 より前の 2.6.x カーネルでは、
-.B RLIMIT_CPU
-リミットが 0 の場合、
-.RB ( RLIM_INFINITY
-と同じように) 「制限なし」と間違って解釈されていた。
-Linux 2.6.17 以降では、リミットを 0 に設定した場合にも
-効果を持つようになっているが、実際にはリミットの値は 1 秒となる。
 .\" see http://marc.theaimsgroup.com/?l=linux-kernel&m=114008066530167&w=2
+2.6.17 より前の 2.6.x カーネルでは、 \fBRLIMIT_CPU\fP リミットが 0 の場合、 (\fBRLIM_INFINITY\fP
+と同じように) 「制限なし」と間違って解釈されていた。 Linux 2.6.17 以降では、リミットを 0 に設定した場合にも
+効果を持つようになっているが、実際にはリミットの値は 1 秒となる。
 
-カーネル 2.6.12 には、
-.B RLIMIT_RTPRIO
-が動作しないというバグがある。この問題はカーネル 2.6.13 で修正されている。
+カーネル 2.6.12 には、 \fBRLIMIT_RTPRIO\fP が動作しないというバグがある。この問題はカーネル 2.6.13 で修正されている。
 
-カーネル 2.6.12 では、
-.BR getpriority (2)
-と
-.B RLIMIT_NICE
-が返す優先度の範囲が一つずれていた。このため、nice 値の実際の上限が
-.I "19\ \-\ rlim_cur"
+.\" see http://marc.theaimsgroup.com/?l=linux-kernel&m=112256338703880&w=2
+カーネル 2.6.12 では、 \fBgetpriority\fP(2)  と \fBRLIMIT_NICE\fP
+が返す優先度の範囲が一つずれていた。このため、nice 値の実際の上限が \fI19\ \-\ rlim_cur\fP
 になってしまうという影響があった。これはカーネル 2.6.13 で修正された。
-.\" 参考: http://marc.theaimsgroup.com/?l=linux-kernel&m=112256338703880&w=2
 
-2.4.22 より前のカーネルでは、
-.I rlim\->rlim_cur
-が
-.I rlim\->rlim_max
-より大きかった場合、
-.BR setrlimit ()
-での
-.B EINVAL
-エラーを検出できない。
+2.4.22 より前のカーネルでは、 \fIrlim\->rlim_cur\fP が \fIrlim\->rlim_max\fP より大きかった場合、
+\fBsetrlimit\fP()  での \fBEINVAL\fP エラーを検出できない。
 .SH 関連項目
-.BR dup (2),
-.BR fcntl (2),
-.BR fork (2),
-.BR getrusage (2),
-.BR mlock (2),
-.BR mmap (2),
-.BR open (2),
-.BR quotactl (2),
-.BR sbrk (2),
-.BR shmctl (2),
-.BR sigqueue (2),
-.BR malloc (3),
-.BR ulimit (3),
-.BR core (5),
-.BR capabilities (7),
-.BR signal (7)
+\fBdup\fP(2), \fBfcntl\fP(2), \fBfork\fP(2), \fBgetrusage\fP(2), \fBmlock\fP(2),
+\fBmmap\fP(2), \fBopen\fP(2), \fBquotactl\fP(2), \fBsbrk\fP(2), \fBshmctl\fP(2),
+\fBmalloc\fP(3), \fBsigqueue\fP(3), \fBulimit\fP(3), \fBcore\fP(5), \fBcapabilities\fP(7),
+\fBsignal\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
diff --git a/release/man2/getrusage.2 b/release/man2/getrusage.2
deleted file mode 100644 (file)
index 9e6fb5a..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
-.\" Hey Emacs! This file is -*- nroff -*- source.
-.\"
-.\" Copyright (c) 1992 Drew Eckhardt, March 28, 1992
-.\" and Copyright (c) 2002 Michael Kerrisk
-.\"
-.\" Permission is granted to make and distribute verbatim copies of this
-.\" manual provided the copyright notice and this permission notice are
-.\" preserved on all copies.
-.\"
-.\" Permission is granted to copy and distribute modified versions of this
-.\" manual under the conditions for verbatim copying, provided that the
-.\" entire resulting derived work is distributed under the terms of a
-.\" permission notice identical to this one.
-.\"
-.\" Since the Linux kernel and libraries are constantly changing, this
-.\" manual page may be incorrect or out-of-date.  The author(s) assume no
-.\" responsibility for errors or omissions, or for damages resulting from
-.\" the use of the information contained herein.  The author(s) may not
-.\" have taken the same level of care in the production of this manual,
-.\" which is licensed free of charge, as they might when working
-.\" professionally.
-.\"
-.\" Formatted or processed versions of this manual, if unaccompanied by
-.\" the source, must acknowledge the copyright and authors of this work.
-.\"
-.\" 2004-11-16 -- mtk: the getrlimit.2 page, which formerly included
-.\" coverage of getrusage(2), has been split, so that the latter is
-.\" now covered in its own getrusage.2.  For older details of change
-.\" history, etc., see getrlimit.2
-.\"
-.\" Modified 2004-11-16, mtk, Noted that the nonconformance
-.\"    when SIGCHLD is being ignored is fixed in 2.6.9.
-.\" 2008-02-22, Sripathi Kodi <sripathik@in.ibm.com>: Document RUSAGE_THREAD
-.\" 2008-05-25, mtk, clarify RUSAGE_CHILDREN + other clean-ups.
-.\"
-.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
-.\"         all rights reserved.
-.\" Translated 1997-02-22, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\" Updated and Modified 2001-06-02, Yuichi SATO <ysato444@yahoo.co.jp>
-.\" Updated and Modified 2001-08-18, Yuichi SATO
-.\" Updated and Modified 2002-08-25, Yuichi SATO
-.\" Updated and Modified 2004-01-17, Yuichi SATO
-.\" Updated and Modified 2004-12-30, Yuichi SATO
-.\" Updated and Modified 2005-09-06, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated 2008-11-10, Akihiro MOTOKI, LDP v3.11
-.\"
-.TH GETRUSAGE 2 2009-08-25 "Linux" "Linux Programmer's Manual"
-.SH 名前
-getrusage \- 資源の使用量を取得する
-.SH 書式
-.B #include <sys/time.h>
-.br
-.B #include <sys/resource.h>
-.sp
-.BI "int getrusage(int " who ", struct rusage *" usage );
-.SH 説明
-.PP
-.BR getrusage ()
-は
-.I who
-の資源 (resource) の使用量を返す。
-.I who
-には以下のいずれか一つを指定できる。
-.TP
-.B RUSAGE_SELF
-呼び出したプロセスの資源使用量、
-そのプロセス内の全スレッドが使用している資源の合計を返す。
-
-前者は呼び出したプロセスのリソース使用量を要求し、
-後者は呼び出したプロセスの子供のうち
-終了して待ち状態にあるプロセスの使用量を要求する。
-.TP
-.B RUSAGE_CHILDREN
-呼び出したプロセスの子プロセスのうち、
-終了して待ち状態にある全プロセスが使用している資源使用量の統計を返す。
-これらの統計情報には、孫プロセスやその子孫のプロセスのうち、
-削除待ちのものが使用している資源も含まれる。
-.TP
-.BR RUSAGE_THREAD " (Linux 2.6.26 以降)"
-呼び出したスレッドに関する資源使用量の統計を返す。
-.PP
-資源使用量は
-.I usage
-が指す構造体に格納されて返される。
-構造体は以下の形式である。
-.PP
-.in +4n
-.nf
-struct rusage {
-    struct timeval ru_utime; /* 使用されたユーザー時間 */
-    struct timeval ru_stime; /* 使用されたシステム時間 */
-    long   ru_maxrss;        /* RAM 上に存在する仮想ページのサイズ
-                               (resident set size) の最大値 */
-    long   ru_ixrss;         /* 共有メモリの合計サイズ */
-    long   ru_idrss;         /* 非共有データの合計サイズ */
-    long   ru_isrss;         /* 非共有スタックの合計サイズ */
-    long   ru_minflt;        /* 利用されたページ */
-    long   ru_majflt;        /* ページフォールト */
-    long   ru_nswap;         /* スワップ */
-    long   ru_inblock;       /* ブロック入力操作 */
-    long   ru_oublock;       /* ブロック出力操作 */
-    long   ru_msgsnd;        /* 送信されたメッセージ */
-    long   ru_msgrcv;        /* 受信されたメッセージ */
-    long   ru_nsignals;      /* 受信されたシグナル */
-    long   ru_nvcsw;         /* 意図したコンテキスト切り替え */
-    long   ru_nivcsw;        /* 意図しないコンテキスト切り替え */
-};
-.fi
-.in
-.SH 返り値
-成功した場合は 0 が返される。エラーの場合は \-1 が返され、
-.I errno
-に適切な値が設定される。
-.SH エラー
-.TP
-.B EFAULT
-.I usage
-がアクセス可能なアドレス空間の外を指している。
-.TP
-.B EINVAL
-.I who
-が無効である。
-.SH 準拠
-SVr4, 4.3BSD.
-POSIX.1-2001 は
-.BR getrusage ()
-を規定しているが、規定しているフィールドは
-.I ru_utime
-と
-.I ru_stime
-だけである。
-
-.B RUSAGE_THREAD
-は Linux 固有である。
-.SH 注意
-.BR execve (2)
-の前後でリソース使用量の指標は保持される。
-
-今日では
-.I <sys/time.h>
-をインクルードする必要はないが、
-インクルードしておけば移植性が増す。
-(実際
-.I struct timeval
-は
-.I <sys/time.h>
-で定義されている。)
-.PP
-2.6.9 より前のバージョンの Linux カーネルでは、
-.B SIGCHLD
-の処理が
-.B SIG_IGN
-に設定されていると、
-子プロセスのリソース使用量が
-.B RUSAGE_CHILDREN
-で返される値に自動的に含められる。
-しかし POSIX.1-2001 では、これを明確に禁止している。
-この準拠していなかった点は、Linux 2.6.9 以降で改正された。
-.\" XSH の getrusage() の説明を参照すること。
-.\" 同様の記述は SUSv2 にもある。
-.LP
-このページの最初で示した構造体の定義は 4.3BSD Reno のものを採用した。
-Linux では全てのフィールドが意味を持つというわけではない。
-Linux 2.4 では、フィールド
-.IR ru_utime ,
-.IR ru_stime ,
-.IR ru_minflt ,
-.I ru_majflt
-のみがメンテナンスされている。
-Linux 2.6 以降では
-.IR ru_nvcsw ,
-.I ru_nivcsw
-もメンテナンスされている。
-Linux 2.6.22 以降では
-.IR ru_inblock ,
-.I ru_oublock
-もメンテナンスされている。
-
-.BR proc (5)
-にある
-.I /proc/PID/stat
-の説明も参照のこと。
-.SH 関連項目
-.BR clock_gettime (2),
-.BR getrlimit (2),
-.BR times (2),
-.BR wait (2),
-.BR wait4 (2),
-.BR clock (3)
index 34b981e..36ac7be 100644 (file)
@@ -1,4 +1,6 @@
+.\" t
 .\" Copyright (c) 1980, 1991 Regents of the University of California.
+.\" and Copyright (c) 2011, Michael Kerrisk <mtk.manpages@gmail.com>
 .\" All rights reserved.
 .\"
 .\" Redistribution and use in source and binary forms, with or without
 .\"
 .\"     @(#)lseek.2    6.5 (Berkeley) 3/10/91
 .\"
-.\" Modified Fri Jul 23 22:17:00 1993 by Rik Faith <faith@cs.unc.edu>
-.\" Modified 10 June 1995 by Andries Brouwer <aeb@cwi.nl>
-.\" Modified Thu Oct 31 15:18:33 1996 by Eric S. Raymond <esr@thyrsus.com>
-.\" Modified Sat Jan 17 13:00:32 MET 1998 by Michael Haardt
+.\" Modified 1993-07-23 by Rik Faith <faith@cs.unc.edu>
+.\" Modified 1995-06-10 by Andries Brouwer <aeb@cwi.nl>
+.\" Modified 1996-10-31 by Eric S. Raymond <esr@thyrsus.com>
+.\" Modified 1998-01-17 by Michael Haardt
 .\"   <michael@cantor.informatik.rwth-aachen.de>
-.\" Modified Mon Sep 24 16:18:02 CEST 2001 by Michael Haardt <michael@moria.de>
+.\" Modified 2001-09-24 by Michael Haardt <michael@moria.de>
+.\" Modified 2003-08-21 by Andries Brouwer <aeb@cwi.nl>
+.\" 2011-09-18, mtk, Added SEEK_DATA + SEEK_HOLE
 .\"
-.\" Japanese Version Copyright (c) 1997-1998 HANATAKA Shinya
-.\"         all rights reserved.
-.\" Translated 1997-02-23, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\" Modified 1998-05-11, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\" Updated 2001-12-14, Kentaro Shirakata <argrath@ub32.org>
-.\" Updated 2003-09-08, Kentaro Shirakata <argrath@ub32.org>
-.\" Updated 2005-02-24, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated 2006-03-05, Akihiro MOTOKI, catch up to LDP v2.25
+.\"*******************************************************************
 .\"
-.\"WORD:       end-of-file             ファイルの終端(end-of-file)
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.TH LSEEK 2 2010-09-11 "Linux" "Linux Programmer's Manual"
+.\"*******************************************************************
+.TH LSEEK 2 2011\-09\-25 Linux "Linux Programmer's Manual"
 .SH 名前
 lseek \- ファイルの読み書きオフセットの位置を変える
 .SH 書式
-.B #include <sys/types.h>
+\fB#include <sys/types.h>\fP
 .br
-.B #include <unistd.h>
+\fB#include <unistd.h>\fP
 .sp
-.BI "off_t lseek(int " fd ", off_t " offset ", int " whence );
+\fBoff_t lseek(int \fP\fIfd\fP\fB, off_t \fP\fIoffset\fP\fB, int \fP\fIwhence\fP\fB);\fP
 .SH 説明
-.BR lseek ()
-関数は、ファイルディスクリプタ (descriptor)
-.I fd
-に対応するオープンされたファイルのオフセットを、
-.IR  whence
-に基づき
-.I offset
-引き数の位置へ以下のように変更する:
-.TP
-.B SEEK_SET
-オフセットは
-.I offset
-バイトに設定される。
-.TP
-.B SEEK_CUR
-オフセットは現在位置に
-.I offset
-バイトを足した位置になる。
-.TP
-.B SEEK_END
-オフセットはファイルのサイズに
-.I offset
-バイトを足した位置になる。
+\fBlseek\fP()  関数は、ファイルディスクリプタ (descriptor)  \fIfd\fP に対応するオープンされたファイルのオフセットを、
+\fIwhence\fP に基づき \fIoffset\fP 引き数の位置へ以下のように変更する:
+.TP 
+\fBSEEK_SET\fP
+オフセットは \fIoffset\fP バイトに設定される。
+.TP 
+\fBSEEK_CUR\fP
+オフセットは現在位置に \fIoffset\fP バイトを足した位置になる。
+.TP 
+\fBSEEK_END\fP
+オフセットはファイルのサイズに \fIoffset\fP バイトを足した位置になる。
 .PP
-.BR lseek ()
-関数は、オフセットをファイルの末尾を越えた位置に設定できる
-(但し、これによりファイルのサイズが変わらない)。
-もしデータがこのオフセット位置以降に書き込まれた場合、
-間の空隙の部分 ("穴 (hole)") の読み出しがあると、
-実際にそこにデータを書き込まれるまでは
-NULL バイト (\(aq\\0\(aq) の列が返される。
+\fBlseek\fP()  関数は、オフセットをファイルの末尾を越えた位置に設定できる (但し、これによりファイルのサイズが変わらない)。
+もしデータがこのオフセット位置以降に書き込まれた場合、 間の空隙の部分 ("穴 (hole)") の読み出しがあると、
+実際にそこにデータを書き込まれるまでは NULL バイト (\(aq\e0\(aq) の列が返される。
+.SS "Seeking file data and holes"
+Linux バージョン 3.1 以降では、
+\fIwhence\fP に以下の値も指定することができる。
+.TP 
+\fBSEEK_DATA\fP
+Adjust the file offset to the next location in the file greater than or
+equal to \fIoffset\fP containing data.  If \fIoffset\fP points to data, then the
+file offset is set to \fIoffset\fP.
+.TP 
+\fBSEEK_HOLE\fP
+Adjust the file offset to the next hole in the file greater than or equal to
+\fIoffset\fP.  If \fIoffset\fP points into the middle of a hole, then the file
+offset is set to \fIoffset\fP.  If there is no hole past \fIoffset\fP, then the
+file offset is adjusted to the end of the file (i.e., there is an implicit
+hole at the end of any file).
+.PP
+In both of the above cases, \fBlseek\fP()  fails if \fIoffset\fP points past the
+end of the file.
+
+These operations allow applications to map holes in a sparsely allocated
+file.  This can be useful for applications such as file backup tools, which
+can save space when creating backups and preserve holes, if they have a
+mechanism for discovering holes.
+
+.\" https://lkml.org/lkml/2011/4/22/79
+.\" http://lwn.net/Articles/440255/
+.\" http://blogs.oracle.com/bonwick/entry/seek_hole_and_seek_data
+For the purposes of these operations, a hole is a sequence of zeros that
+(normally) has not been allocated in the underlying file storage.  However,
+a file system is not obliged to report holes, so these operations are not a
+guaranteed mechanism for mapping the storage space actually allocated to a
+file.  (Furthermore, a sequence of zeros that actually has been written to
+the underlying storage may not be reported as a hole.)  In the simplest
+implementation, a file system can support the operations by making
+\fBSEEK_HOLE\fP always return the offset of the end of the file, and making
+\fBSEEK_DATA\fP always return \fIoffset\fP (i.e., even if the location referred to
+by \fIoffset\fP is a hole, it can be considered to consist of data that is a
+sequence of zeros).
 .SH 返り値
-成功した場合、
-.BR lseek ()
-は結果のファイル位置をファイルの先頭からのバイト数で返す。
-エラーの場合、値 \fI(off_t)\ \-1\fP が返され、
-.I errno
-にエラーが指示される。
+成功した場合、 \fBlseek\fP()  は結果のファイル位置をファイルの先頭からのバイト数で返す。 エラーの場合、値 \fI(off_t)\ \-1\fP
+が返され、 \fIerrno\fP にエラーが指示される。
 .SH エラー
-.TP
-.B EBADF
-.I fd
-がオープンされたファイルディスクリプタでない。
-.TP
-.B EINVAL
-.I whence
-が
-.BR SEEK_SET ,
-.BR SEEK_CUR ,
-.B SEEK_END
-のどれでもない。
-または、seek の結果、ファイル・オフセットが負になってしまうか、
-seek 可能なデバイスの末尾を越えてしまう。
-.\" システムによってはキャラクタデバイスやリモートファイルシステムに対して
-.\" 負のオフセットが許されるかもしれない。
-.B EOVERFLOW
-.\" この場合 HP-UX 11 は EINVAL を返す (一方、POSIX.1 は EOVERFLOW を返す)
-結果のファイル・オフセットを
-.I off_t
-型で表現することができない。
-.TP
-.B ESPIPE
-.I fd
-がパイプ、ソケット、FIFO を参照している。
+.TP 
+\fBEBADF\fP
+\fIfd\fP がオープンされたファイルディスクリプタでない。
+.TP 
+\fBEINVAL\fP
+.\" Some systems may allow negative offsets for character devices
+.\" and/or for remote file systems.
+\fIwhence\fP が有効な値ではない。または、seek の結果、ファイルオフセットが負に
+なってしまうか、 seek 可能なデバイスの末尾を越えてしまう。
+.TP 
+\fBEOVERFLOW\fP
+.\" HP-UX 11 says EINVAL for this case (but POSIX.1 says EOVERFLOW)
+結果のファイルオフセットを \fIoff_t\fP 型で表現することができない。
+.TP 
+\fBESPIPE\fP
+\fIfd\fP がパイプ、ソケット、FIFO を参照している。
+.TP 
+\fBENXIO\fP
+\fIwhence\fP が \fBSEEK_DATA\fP か \fBSEEK_HOLE\fP で、
+現在のファイルオフセットがファイルの末尾を超えた位置である。
 .SH 準拠
-SVr4, 4.3BSD, POSIX.1-2001.
-.SH 注意
-この文章で使用した
-.I whence
-は英語として正しくないが、
-歴史的理由によりそのまま使われている。
+SVr4, 4.3BSD, POSIX.1\-2001.
 
-いくつかのデバイスでは seek ができない。
-POSIX はどのデバイスが
-.BR lseek ()
-に対応すべきかは規定していない。
+.\" FIXME . Review http://austingroupbugs.net/view.php?id=415 in the future
+\fBSEEK_DATA\fP and \fBSEEK_HOLE\fP are nonstandard extensions also present in
+Solaris, FreeBSD, and DragonFly BSD; they are proposed for inclusion in the
+next POSIX revision (Issue 8).
+.SH 注意
+いくつかのデバイスでは seek ができない。 POSIX はどのデバイスが \fBlseek\fP()  に対応すべきかは規定していない。
 
-Linux では、 tty デバイスに
-.BR lseek ()
-を使用すると
-\fBESPIPE\fP を返す。
-.\" 他のシステムでは書き込まれた文字の数を返し、
-.\" SEEK_SET を用いてカウンタを設定する。 (書き込まれた文字の。)
+.\" Other systems return the number of written characters,
+.\" using SEEK_SET to set the counter. (Of written characters.)
+Linux では、 tty デバイスに \fBlseek\fP()  を使用すると \fBESPIPE\fP を返す。
 
 古いコードを変換する時は \fIwhence\fP の値を以下のマクロに置き換えること:
 .TS
@@ -156,21 +161,15 @@ L_INCR    SEEK_CUR
 L_XTND SEEK_END
 .TE
 .\" .PP
-.\" .\"O SVr1-3 returns \fIlong\fP instead of \fIoff_t\fP,
-.\" .\"O (ancient) BSD returns \fIint\fP.
-.\" 返り値の型は、SVr1-3 では \fIoff_t\fP ではなく \fIlong\fP であり、
-.\" (古い) BSD では \fIint\fP である。
+.\" SVr1-3 returns \fIlong\fP instead of \fIoff_t\fP,
+.\" (ancient) BSD returns \fIint\fP.
 .PP
-.BR dup (2)
-や
-.BR fork (2)
-で作成されたファイルディスクリプタは、現在のファイル位置ポインタ
-(current file position pointer) を共有しているので、
-このようなファイルで移動を行うと競合状態を引き起こす可能性がある。
+\fBdup\fP(2)  や \fBfork\fP(2)  で作成されたファイルディスクリプタは、現在のファイル位置ポインタ (current file
+position pointer) を共有しているので、 このようなファイルで移動を行うと競合状態を引き起こす可能性がある。
 .SH 関連項目
-.BR dup (2),
-.BR fork (2),
-.BR open (2),
-.BR fseek (3),
-.BR lseek64 (3),
-.BR posix_fallocate (3)
+\fBdup\fP(2), \fBfork\fP(2), \fBopen\fP(2), \fBfseek\fP(3), \fBlseek64\fP(3),
+\fBposix_fallocate\fP(3)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
index 8896c2a..cb04397 100644 (file)
@@ -1,6 +1,6 @@
 .\" Hey Emacs! This file is -*- nroff -*- source.
 .\"
-.\" Copyright (C) 2001 David Gez <davidge@jazzfree.com>
+.\" Copyright (C) 2001 David Gómez <davidge@jazzfree.com>
 .\"
 .\" Permission is granted to make and distribute verbatim copies of this
 .\" manual provided the copyright notice and this permission notice are
 .\"
 .\" Based on comments from mm/filemap.c. Last modified on 10-06-2001
 .\" Modified, 25 Feb 2002, Michael Kerrisk, <mtk.manpages@gmail.com>
-.\"    Added notes on MADV_DONTNEED
-.\" FIXME
-.\" 2.6.32 added MADV_HWPOISON, MADV_MERGEABLE, and MADV_UNMERGEABLE
-.\" 2.6.33 added MADV_SOFT_OFFLINE
+.\"    Added notes on MADV_DONTNEED
+.\" 2010-06-19, mtk, Added documentation of MADV_MERGEABLE and
+.\"     MADV_UNMERGEABLE
+.\" 2010-06-15, Andi Kleen, Add documentation of MADV_HWPOISON.
+.\" 2010-06-19, Andi Kleen, Add documentation of MADV_SOFT_OFFLINE.
+.\" 2011-09-18, Doug Goldstein <cardoe@cardoe.com>
+.\"     Document MADV_HUGEPAGE and MADV_NOHUGEPAGE
 .\"
-.\" Japanese Version Copyright (c) 2001 NAKANO Takeo all rights reserved.
-.\" Translated Thu Aug 16 2001 by NAKANO Takeo <nakano@apm.seikei.ac.jp>
-.\" Updated Tue 8 Oct 2002 by NAKANO Takeo
-.\" Updated 2007-01-08, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.43
+.\"*******************************************************************
 .\"
-.TH MADVISE 2 2008-04-22 "Linux" "Linux Programmer's Manual"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH MADVISE 2 2011\-09\-18 Linux "Linux Programmer's Manual"
 .SH 名前
 madvise \- メモリ利用に関するアドバイスを与える
 .SH 書式
-.B #include <sys/mman.h>
+\fB#include <sys/mman.h>\fP
 .sp
-.BI "int madvise(void *" addr ", size_t " length ", int " advice );
+\fBint madvise(void *\fP\fIaddr\fP\fB, size_t \fP\fIlength\fP\fB, int \fP\fIadvice\fP\fB);\fP
 .sp
 .in -4n
-glibc 向けの機能検査マクロの要件
-.RB ( feature_test_macros (7)
-参照):
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
 .in
 .sp
-.BR madvise ():
-_BSD_SOURCE
+\fBmadvise\fP(): _BSD_SOURCE
 .SH 説明
-.BR madvise ()
-システムコールは、アドレス
-.I addr
-からはじまる
-.I length
-バイトのメモリブロックのページング入出力をどう扱えば良いか、
-カーネルにアドバイスする。
-これを用いると、
-アプリケーションからカーネルに、
-マップされたメモリや共有メモリをどのように扱ってほしいか伝えることができ、
-カーネルはそれに応じて先読みやキャッシュなどの適切な手法を選択できる。
-このコールはアプリケーションの動作そのものには影響しない
-.RB ( MADV_DONTNEED
-の場合は別) が、
-性能には影響しうる。
+\fBmadvise\fP()  システムコールは、アドレス \fIaddr\fP からはじまる \fIlength\fP
+バイトのメモリブロックのページング入出力をどう扱えば良いか、 カーネルにアドバイスする。 これを用いると、 アプリケーションからカーネルに、
+マップされたメモリや共有メモリをどのように扱ってほしいか伝えることができ、 カーネルはそれに応じて先読みやキャッシュなどの適切な手法を選択できる。
+このコールはアプリケーションの動作そのものには影響しない (\fBMADV_DONTNEED\fP の場合は別) が、 性能には影響しうる。
 なおこのアドバイスを受け入れるかどうかはカーネルに任される。
 .LP
-アドバイスは引き数
-.I advice
-によって与える。以下のいずれかを指定できる。
-.TP
-.B MADV_NORMAL
+アドバイスは引き数 \fIadvice\fP によって与える。以下のいずれかを指定できる。
+.TP 
+\fBMADV_NORMAL\fP
 特別な扱いは行わない。これがデフォルトである。
-.TP
-.B MADV_RANDOM
-ページ参照はランダムな順序で行われそうだ。
-(したがって、先読みはあまり効果がなさそうだ。)
-.TP
-.B MADV_SEQUENTIAL
-ページ参照はシーケンシャルな順序で行われそうだ。
-(したがって与えた範囲のページは積極的に先読みしておくと良いだろう。
+.TP 
+\fBMADV_RANDOM\fP
+ページ参照はランダムな順序で行われそうだ。 (したがって、先読みはあまり効果がなさそうだ。)
+.TP 
+\fBMADV_SEQUENTIAL\fP
+ページ参照はシーケンシャルな順序で行われそうだ。 (したがって与えた範囲のページは積極的に先読みしておくと良いだろう。
 またアクセスが終わったら速やかに解放して良い。)
-.TP
-.B MADV_WILLNEED
-近い将来にアクセスされそうだ。
-(したがってこれらのページを今のうちに先読みしておくといいだろう。)
-.TP
-.B MADV_DONTNEED
-しばらくアクセスはなさそうだ。
-(現時点でアプリケーションは与えた範囲の処理を終えている。
-したがってカーネルはこれに関連するリソースを解放して良い。)
-これ以降この範囲のページへのアクセスがあると、
-成功はするが、メモリの内容をマップ元のファイルからロードし直すことになる
-.RB ( mmap (2)
-を見よ) か、
-または元ファイルがないマップページでは
-アクセスがあったときに 0 埋めが行われることになる。
-.TP
-.BR MADV_REMOVE " (Linux 2.6.16 以降)"
-指定された範囲のページと関連するバッキングストアを解放する。
-現在のところ、
+.TP 
+\fBMADV_WILLNEED\fP
+近い将来にアクセスされそうだ。 (したがってこれらのページを今のうちに先読みしておくといいだろう。)
+.TP 
+\fBMADV_DONTNEED\fP
+しばらくアクセスはなさそうだ。 (現時点でアプリケーションは与えた範囲の処理を終えている。 したがってカーネルはこれに関連するリソースを解放して良い。)
+これ以降この範囲のページへのアクセスがあると、 成功はするが、メモリの内容をマップ元のファイルからロードし直すことになる (\fBmmap\fP(2)
+を見よ) か、 または元ファイルがないマップページでは アクセスがあったときに 0 埋めが行われることになる。
+.TP 
+\fBMADV_REMOVE\fP (Linux 2.6.16 以降)
 .\" 2.6.18-rc5
-shmfs/tmpfs だけがこれに対応している。
-他のファイルシステムでは
-.B ENOSYS
-が返される。
 .\" Databases want to use this feature to drop a section of their
 .\" bufferpool (shared memory segments) - without writing back to
-.\" disk/swap space. This feature is also useful for supporting
+.\" disk/swap space.  This feature is also useful for supporting
 .\" hot-plug memory on UML.
-.TP
-.BR MADV_DONTFORK " (Linux 2.6.16 以降)"
+指定された範囲のページと関連するバッキングストアを解放する。 現在のところ、 shmfs/tmpfs だけがこれに対応している。
+他のファイルシステムでは \fBENOSYS\fP が返される。
+.TP 
+\fBMADV_DONTFORK\fP (Linux 2.6.16 以降)
 .\" See http://lwn.net/Articles/171941/
-.BR fork (2)
-が行われた後、指定された範囲のページを子プロセスが利用できないようにする。
-この機能は、書き込み時コピー (copy-on-write) 方式で、
-.BR fork (2)
-の後で親プロセスがページに書き込みを行った場合に
-ページの物理位置が変化しないようにするのに有効である
-(ページの再配置はハードウェアがそのページに DMA 転送を行うような場合に
-問題を起こすことがある)。
 .\" [PATCH] madvise MADV_DONTFORK/MADV_DOFORK
 .\" Currently, copy-on-write may change the physical address of
 .\" a page even if the user requested that the page is pinned in
-.\" memory (either by mlock or by get_user_pages). This happens
+.\" memory (either by mlock or by get_user_pages).  This happens
 .\" if the process forks meanwhile, and the parent writes to that
 .\" page.  As a result, the page is orphaned: in case of
 .\" get_user_pages, the application will never see any data hardware
@@ -143,97 +109,138 @@ shmfs/tmpfs だけがこれに対応している。
 .\"
 .\" SEE ALSO: http://lwn.net/Articles/171941/
 .\" "Tweaks to madvise() and posix_fadvise()", 14 Feb 2006
-.TP
-.BR MADV_DOFORK " (Linux 2.6.16 以降)"
-.B MADV_DONTFORK
-の影響を取り消し、デフォルトの動作に戻す。
-つまり、
-.BR fork (2)
+\fBfork\fP(2)  が行われた後、指定された範囲のページを子プロセスが利用できないようにする。 この機能は、書き込み時コピー
+(copy\-on\-write) 方式で、 \fBfork\fP(2)  の後で親プロセスがページに書き込みを行った場合に
+ページの物理位置が変化しないようにするのに有効である (ページの再配置はハードウェアがそのページに DMA 転送を行うような場合に
+問題を起こすことがある)。
+.TP 
+\fBMADV_DOFORK\fP (Linux 2.6.16 以降)
+\fBMADV_DONTFORK\fP の影響を取り消し、デフォルトの動作に戻す。 つまり、 \fBfork\fP(2)
 の前後でマッピングは継承されるようになる。
+.TP 
+\fBMADV_HWPOISON\fP (Linux 2.6.32 以降)
+Poison a page and handle it like a hardware memory corruption.  This
+operation is only available for privileged (\fBCAP_SYS_ADMIN\fP)  processes.
+This operation may result in the calling process receiving a \fBSIGBUS\fP and
+the page being unmapped.  This feature is intended for testing of memory
+error\-handling code; it is only available if the kernel was configured with
+\fBCONFIG_MEMORY_FAILURE\fP.
+.TP 
+\fBMADV_SOFT_OFFLINE\fP (Linux 2.6.33 以降)
+Soft offline the pages in the range specified by \fIaddr\fP and \fIlength\fP.  The
+memory of each page in the specified range is preserved (i.e., when next
+accessed, the same content will be visible, but in a new physical page
+frame), and the original page is offlined (i.e., no longer used, and taken
+out of normal memory management).  The effect of the \fBMADV_SOFT_OFFLINE\fP
+operation is invisible to (i.e., does not change the semantics of)  the
+calling process.  This feature is intended for testing of memory
+error\-handling code; it is only available if the kernel was configured with
+\fBCONFIG_MEMORY_FAILURE\fP.
+.TP 
+\fBMADV_MERGEABLE\fP (Linux 2.6.32 以降)
+Enable Kernel Samepage Merging (KSM) for the pages in the range specified by
+\fIaddr\fP and \fIlength\fP.  The kernel regularly scans those areas of user
+memory that have been marked as mergeable, looking for pages with identical
+content.  These are replaced by a single write\-protected page (which is
+automatically copied if a process later wants to update the content of the
+page).  KSM only merges private anonymous pages (see \fBmmap\fP(2)).  The KSM
+feature is intended for applications that generate many instances of the
+same data (e.g., virtualization systems such as KVM).  It can consume a lot
+of processing power; use with care.  See the kernel source file
+\fIDocumentation/vm/ksm.txt\fP for more details.  The \fBMADV_MERGEABLE\fP and
+\fBMADV_UNMERGEABLE\fP operations are only available if the kernel was
+configured with \fBCONFIG_KSM\fP.
+.TP 
+\fBMADV_UNMERGEABLE\fP (Linux 2.6.32 以降)
+Undo the effect of an earlier \fBMADV_MERGEABLE\fP operation on the specified
+address range; KSM unmerges whatever pages it had merged in the address
+range specified by \fIaddr\fP and \fIlength\fP.
+.TP 
+\fBMADV_HUGEPAGE\fP (Linux 2.6.38 以降)
+.\" http://lwn.net/Articles/358904/
+.\" https://lwn.net/Articles/423584/
+Enables Transparent Huge Pages (THP) for pages in the range specified by
+\fIaddr\fP and \fIlength\fP.  Currently, Transparent Huge Pages only work with
+private anonymous pages (see \fBmmap\fP(2)).  The kernel will regularly scan
+the areas marked as huge page candidates to replace them with huge pages.
+The kernel will also allocate huge pages directly when the region is
+naturally aligned to the huge page size (see \fBposix_memalign\fP(2)).  This
+feature is primarily aimed at applications that use large mappings of data
+and access large regions of that memory at a time (e.g. virtualization
+systems such as QEMU).  It can very easily waste memory (e.g. a 2MB mapping
+that only ever accesses 1 byte will result in 2MB of wired memory instead of
+one 4KB page).  See the kernel source file \fIDocumentation/vm/transhuge.txt\fP
+for more details.  The \fBMADV_HUGEPAGE\fP and \fBMADV_NOHUGEPAGE\fP operations
+are only available if the kernel was configured with
+\fBCONFIG_TRANSPARENT_HUGEPAGE\fP.
+.TP 
+\fBMADV_NOHUGEPAGE\fP (Linux 2.6.38 以降)
+Ensures that memory in the address range specified by \fIaddr\fP and \fIlength\fP
+will not be collapsed into huge pages.
 .SH 返り値
-.BR madvise ()
-は成功すると 0 を返す。
-エラーが起こると \-1 を返し、
-.I errno
-を適切な値に設定する。
+\fBmadvise\fP()  は成功すると 0 を返す。 エラーが起こると \-1 を返し、 \fIerrno\fP を適切な値に設定する。
 .SH エラー
-.TP
-.B EAGAIN
+.TP 
+\fBEAGAIN\fP
 何らかのカーネルリソースが一時的に利用できなかった。
-.TP
-.B EBADF
+.TP 
+\fBEBADF\fP
 指定したマップは存在するが、ファイルではないところをマップしている。
-.TP
-.B EINVAL
+.TP 
+\fBEINVAL\fP
+This error can occur for the following reasons:
+.RS
+.IP * 3
 .\" .I len
 .\" is zero,
-.I len
-の値が負、
-.I addr
-がページ境界でない、
-.I advice
-が正しい値でない、
-アプリケーションがロックされたページや共有ページを
-.RB ( MADV_DONTNEED
-で) 解放しようとしている、など。
-.TP
-.B EIO
-.RB ( MADV_WILLNEED
-の場合) この範囲のページングを行うと、
-プロセスの RSS (resident set size) の最大値を越えてしまう。
-.\"nakano RSS は訳語がありましたっけ?
-.TP
-.B ENOMEM
-.RB ( MADV_WILLNEED
-の場合) メモリが足りず、ページングに失敗した。
-.TP
-.B ENOMEM
-指定した範囲のアドレスが、現在マップされていない。
-あるいはプロセスのアドレス空間の内部にない。
+\fIlen\fP が負の値である。
+.IP *
+\fIaddr\fP is not page\-aligned.
+.IP *
+\fIadvice\fP が有効な値でない。
+.IP *
+アプリケーションがロックされたページや共有ページを (\fBMADV_DONTNEED\fP で) 解放
+しようとしている。
+.IP *
+\fBMADV_MERGEABLE\fP or \fBMADV_UNMERGEABLE\fP was specified in \fIadvice\fP, but the
+kernel was not configured with \fBCONFIG_KSM\fP.
+.RE
+.TP 
+\fBEIO\fP
+(\fBMADV_WILLNEED\fP の場合) この範囲のページングを行うと、 プロセスの RSS (resident set size)
+の最大値を越えてしまう。
+.TP 
+\fBENOMEM\fP
+(\fBMADV_WILLNEED\fP の場合) メモリが足りず、ページングに失敗した。
+.TP 
+\fBENOMEM\fP
+指定した範囲のアドレスが、現在マップされていない。 あるいはプロセスのアドレス空間の内部にない。
 .SH 準拠
-POSIX.1b.
-POSIX.1-2001 では、
-.BR posix_madvise (3)
 .\" FIXME . Write a posix_fadvise(3) page.
-を
-.B POSIX_MADV_NORMAL
-などの定数とともに記述していた
-(それぞれの振る舞いはここで述べたものに近い)。
-ファイルアクセスに対しても
-.BR posix_fadvise (2)
+POSIX.1b.  POSIX.1\-2001 では、 \fBposix_madvise\fP(3)  を \fBPOSIX_MADV_NORMAL\fP
+などの定数とともに記述していた (それぞれの振る舞いはここで述べたものに近い)。 ファイルアクセスに対しても \fBposix_fadvise\fP(2)
 という類似の関数が存在する。
 
-.BR MADV_REMOVE ,
-.BR MADV_DONTFORK ,
-.B MADV_DOFORK
-は Linux 固有である。
+\fBMADV_REMOVE\fP, \fBMADV_DONTFORK\fP, \fBMADV_DOFORK\fP, \fBMADV_HWPOISON\fP,
+\fBMADV_MERGEABLE\fP, \fBMADV_UNMERGEABLE\fP は Linux 固有である。
 .SH 注意
 .SS "Linux での注意"
-現在の Linux の実装 (2.4.0) では、
-このシステムコールをアドバイスというよりは命令と見ている。
-したがってこのアドバイスに対して通常行われる動作が不可能な場合は、
-エラーを返すことがある (上記の エラー の記述を参照)。
+.LP
+現在の Linux の実装 (2.4.0) では、 このシステムコールをアドバイスというよりは命令と見ている。
+したがってこのアドバイスに対して通常行われる動作が不可能な場合は、 エラーを返すことがある (上記の エラー の記述を参照)。
 この振舞いは標準とは異なる。
 .LP
-Linux の実装では
-.I addr
-のアドレスはページ境界の値でなければならない。また
-.I length
-は 0 であっても構わない。
-また Linux 版の
-.BR madvise ()
-では、指定されたアドレス範囲にマップされていない部分があると、
-これらを無視して残りの部分にアドバイスを適用する
-(しかしシステムコールに対してはちゃんと
-.B ENOMEM
-を返す)。
-.\" .SH 歴史
+.\" .SH HISTORY
+.\" The
 .\" .BR madvise ()
-.\" 関数は 4.4BSD で最初に登場した。
+.\" function first appeared in 4.4BSD.
+Linux の実装では \fIaddr\fP のアドレスはページ境界の値でなければならない。また \fIlength\fP は 0 であっても構わない。 また
+Linux 版の \fBmadvise\fP()  では、指定されたアドレス範囲にマップされていない部分があると、
+これらを無視して残りの部分にアドバイスを適用する (しかしシステムコールに対してはちゃんと \fBENOMEM\fP を返す)。
 .SH 関連項目
-.BR getrlimit (2),
-.BR mincore (2),
-.BR mmap (2),
-.BR mprotect (2),
-.BR msync (2),
-.BR munmap (2)
+\fBgetrlimit\fP(2), \fBmincore\fP(2), \fBmmap\fP(2), \fBmprotect\fP(2), \fBmsync\fP(2),
+\fBmunmap\fP(2)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
index e323d4c..1ba33ea 100644 (file)
 .\" the source, must acknowledge the copyright and authors of this work.
 .\"
 .\" 2005-04-08 mtk, noted kernel version and added BUGS
+.\" 2010-10-09, mtk, document arm_fadvise64_64()
 .\"
-.\" Japanese Version Copyright (c) 2004-2007 Yuichi SATO
-.\"         all rights reserved.
-.\" Translated Sun Jun 20 16:23:17 JST 2004
-.\"         by Yuichi SATO <ysato444@yahoo.co.jp>, LDP v1.66
-.\" Updated & Modified Fri Apr 22 03:05:51 JST 2005 by Yuichi SATO, LDP v2.02
-.\" Updated & Modified Thu Jan  4 23:55:18 JST 2007 by Yuichi SATO, LDP v2.43
+.\"*******************************************************************
 .\"
-.TH POSIX_FADVISE 2 2003-02-14 "Linux" "Linux Programmer's Manual"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH POSIX_FADVISE 2 2010\-10\-09 Linux "Linux Programmer's Manual"
 .SH 名前
 posix_fadvise \- ファイルデータのアクセスパターンをあらかじめ宣言する
 .SH 書式
 .nf
-.B #define _XOPEN_SOURCE 600
-.B #include <fcntl.h>
+\fB#include <fcntl.h>\fP
 .sp
-.BI "int posix_fadvise(int " fd ", off_t " offset ", off_t " len \
-", int " advice ");"
+\fBint posix_fadvise(int \fP\fIfd\fP\fB, off_t \fP\fIoffset\fP\fB, off_t \fP\fIlen\fP\fB, int \fP\fIadvice\fP\fB);\fP
 .fi
+.sp
+.ad l
+.in -4n
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
+.in
+.sp
+\fBposix_fadvise\fP():
+.RS 4
+_XOPEN_SOURCE\ >=\ 600 || _POSIX_C_SOURCE\ >=\ 200112L
+.RE
+.ad
 .SH 説明
-プログラムは、将来特定のパターンでファイルデータに
-アクセスする意思を伝えるために
-.BR posix_fadvise ()
-を使うことができる。
+プログラムは、将来特定のパターンでファイルデータに アクセスする意思を伝えるために \fBposix_fadvise\fP()  を使うことができる。
 これにより、カーネルが適切な最適化を実行することが可能になる。
 
-\fIadvice\fP は  \fIfd\fP が参照しているファイルの
-\fIoffset\fP から始まる \fIlen\fP バイトの範囲内
-(\fIlen\fP が 0 の場合はファイルの終りまで) の
-(必ずしも存在しない) 領域に適用される。
-アドバイスは義務づけではない。
-アドバイスは単にアプリケーションのために可能性を構成するだけである。
+\fIadvice\fP は \fIfd\fP が参照しているファイルの \fIoffset\fP から始まる \fIlen\fP バイ
+トの範囲内 (\fIlen\fP が 0 の場合はファイルの終りまで) の (必ずしも存在しない)
+領域に適用される。 \fIadvice\fP は義務づけではない。 \fIadvice\fP は単にアプリケー
+ションのために可能性を構成するだけである。
 
 \fIadvice\fP に許される値には、以下のものが含まれる:
-.TP
-.B POSIX_FADV_NORMAL
-指定されたデータのアクセスパターンを指示するアドバイスを
-アプリケーションが何も持っていないことを示す。
-オープンされたファイルにアドバイスが指定されない場合、
-これがデフォルトで仮定される。
-.TP
-.B POSIX_FADV_SEQUENTIAL
-アプリケーションは指定されたデータがシーケンシャルに
-(大きなオフセットの前に小さなオフセットのデータを読むように)
-アクセスされることを期待する。
-.TP
-.B POSIX_FADV_RANDOM
+.TP 
+\fBPOSIX_FADV_NORMAL\fP
+指定されたデータのアクセスパターンを指示するアドバイスを アプリケーションが何も持っていないことを示す。
+オープンされたファイルにアドバイスが指定されない場合、 これがデフォルトで仮定される。
+.TP 
+\fBPOSIX_FADV_SEQUENTIAL\fP
+アプリケーションは指定されたデータがシーケンシャルに (大きなオフセットの前に小さなオフセットのデータを読むように)  アクセスされることを期待する。
+.TP 
+\fBPOSIX_FADV_RANDOM\fP
 指定されたデータがランダムな順番でアクセスされる。
-.TP
-.B POSIX_FADV_NOREUSE
+.TP 
+\fBPOSIX_FADV_NOREUSE\fP
 指定されたデータは 1 度しかアクセスされない。
-.TP
-.B POSIX_FADV_WILLNEED
+.TP 
+\fBPOSIX_FADV_WILLNEED\fP
 指定されたデータは近い将来アクセスされる。
-.TP
-.B POSIX_FADV_DONTNEED
+.TP 
+\fBPOSIX_FADV_DONTNEED\fP
 指定されたデータは近い将来アクセスされない。
 .SH 返り値
-成功した場合は 0 が返される。
-失敗した場合はエラー番号が返される。
+成功した場合は 0 が返される。 失敗した場合はエラー番号が返される。
 .SH エラー
-.TP
-.B EBADF
+.TP 
+\fBEBADF\fP
 \fIfd\fP 引き数が有効なファイルディスクリプタでない。
-.TP
-.B EINVAL
+.TP 
+\fBEINVAL\fP
 無効な値が \fIadvice\fP に指定された。
-.TP
-.B ESPIPE
-指定されたファイルディスクリプタがパイプまたは FIFO を参照している
-(この場合、Linux は実際には
-.B EINVAL
-を返す)。
+.TP 
+\fBESPIPE\fP
+指定されたファイルディスクリプタがパイプまたは FIFO を参照している (この場合、Linux は実際には \fBEINVAL\fP を返す)。
 .SH バージョン
-.BR posix_fadvise ()
-はカーネル 2.5.60 で登場した。
-.\" 実際には fadvise64() として登場した。-- MTK
-glibc でのサポートは glibc バージョン 2.2 以降で行われている。
+.\" of fadvise64_64()
+カーネルによるサポートは Linux 2.5.60 で最初に登場し、
+対応するシステムコールは \fBfadvise64\fP() という名前である。
+ライブラリによるサポートは glibc バージョン 2.2 以降で提供されており、
+ラッパー関数は \fBposix_fadvise\fP() という名前である。
 .SH 準拠
-POSIX.1-2001.
-.I len
-引き数の型が POSIX.1-2003 TC1 において
-.I size_t
-から
-.I off_t
+POSIX.1\-2001.  \fIlen\fP 引き数の型が POSIX.1\-2003 TC1 において \fIsize_t\fP から \fIoff_t\fP
 に変更された点に注意すること。
 .SH 注意
-Linux では、\fBPOSIX_FADV_NORMAL\fP はバッキングデバイスの
-デフォルトサイズに先読み (readahead) ウインドウを設定する。
-\fBPOSIX_FADV_SEQUENTIAL\fP はこのサイズを 2 倍し、
-\fBPOSIX_FADV_RANDOM\fP は先読みを全く無効にする。
-これらの変更はファイル全体に影響し、指定された領域のみに影響するわけではない
+Linux では、\fBPOSIX_FADV_NORMAL\fP はバッキングデバイスの デフォルトサイズに先読み (readahead)
+ウインドウを設定する。 \fBPOSIX_FADV_SEQUENTIAL\fP はこのサイズを 2 倍し、 \fBPOSIX_FADV_RANDOM\fP
+は先読みを全く無効にする。 これらの変更はファイル全体に影響し、指定された領域のみに影響するわけではない
 (しかし同じファイルに対する他のオープンファイルハンドルは影響を受けない)。
 
-\fBPOSIX_FADV_WILLNEED\fP は、
-ページキャッシュに指定領域のブロックされない読み込みを開始する。
-読み込まれるデータの総量は、
-仮想メモリの負荷に依ってカーネルが減らすかもしれない
-(数メガバイトであれば通常は全く十分であり、
-それより多くてもめったに役に立たない)。
+\fBPOSIX_FADV_WILLNEED\fP は、 ページキャッシュに指定領域のブロックされない読み込みを開始する。 読み込まれるデータの総量は、
+仮想メモリの負荷に依ってカーネルが減らすかもしれない (数メガバイトであれば通常は全く十分であり、 それより多くてもめったに役に立たない)。
 
-2.6.18 より前のカーネルでは、\fBPOSIX_FADV_NOREUSE\fP は
-\fBPOSIX_FADV_WILLNEED\fP と同じ意味であった。
-これは多分バグであった。
-カーネル 2.6.18 以降では、このフラグは何も行わない。
+2.6.18 より前のカーネルでは、\fBPOSIX_FADV_NOREUSE\fP は \fBPOSIX_FADV_WILLNEED\fP と同じ意味であった。
+これは多分バグであった。 カーネル 2.6.18 以降では、このフラグは何も行わない。
 
-\fBPOSIX_FADV_DONTNEED\fP は指定された領域に関連付けられた
-キャッシュページを解放しようとする。
-例えば、これは大きなファイルをストリーミングするときに役立つ。
-プログラムは、使用済みのキャッシュされたデータを解放するように、
-定期的にカーネルに要求するかもしれない。
-そうすることにより、さらに有効なキャッシュされたページが、
-代わりに破棄されることはない。
+\fBPOSIX_FADV_DONTNEED\fP は指定された領域に関連付けられた キャッシュページを解放しようとする。
+例えば、これは大きなファイルをストリーミングするときに役立つ。 プログラムは、使用済みのキャッシュされたデータを解放するように、
+定期的にカーネルに要求するかもしれない。 そうすることにより、さらに有効なキャッシュされたページが、 代わりに破棄されることはない。
 
-まだ書き出されていないページは影響を受けないので、
-そのページの解放が保証されることをアプリケーションが望んでいるなら、
-最初に
-.BR fsync (2)
-または
-.BR fdatasync (2)
-を呼ぶべきである。
+まだ書き出されていないページは影響を受けないので、 そのページの解放が保証されることをアプリケーションが望んでいるなら、 最初に \fBfsync\fP(2)
+または \fBfdatasync\fP(2)  を呼ぶべきである。
+.SS arm_fadvise()
+The ARM architecture needs 64\-bit arguments to be aligned in a suitable pair
+of registers.  On this architecture, the call signature of
+\fBposix_fadvise\fP()  is flawed, since it forces a register to be wasted as
+padding between the \fIfd\fP and \fIlen\fP arguments.  Therefore, since Linux
+2.6.14, ARM defines a different system call that orders the arguments
+suitably:
+.PP
+.in +4n
+.nf
+\fBlong arm_fadvise64_64(int \fP\fIfd\fP\fB, int \fP\fIadvice\fP\fB,\fP
+\fB                      loff_t \fP\fIoffset\fP\fB, loff_t \fP\fIlen\fP\fB);\fP
+.fi
+.in
+.PP
+.\" No ARM support in glibc.
+The behavior of this system call is otherwise exactly the same as
+\fBposix_fadvise\fP().  No library support is provided for this system call in
+glibc.
 .SH バグ
-2.6.6 より前のカーネルでは、
-.I len
-に 0 が指定された場合、
-「ファイルの終りまでの全てのバイト」という意味ではなく、
-文字通り「0 バイト」として解釈されていた。
+2.6.6 より前のカーネルでは、 \fIlen\fP に 0 が指定された場合、 「ファイルの終りまでの全てのバイト」という意味ではなく、 文字通り「0
+バイト」として解釈されていた。
 .SH 関連項目
-.BR readahead (2),
-.BR posix_fallocate (3),
-.BR posix_madvise (3)
 .\" FIXME . Write a posix_fadvise(3) page.
+\fBreadahead\fP(2), \fBsync_file_range\fP(2), \fBposix_fallocate\fP(3),
+\fBposix_madvise\fP(3)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
index e2e7c89..f79ceff 100644 (file)
 .\" 2008-06-13 Erik Bosman, <ejbosman@cs.vu.nl>
 .\"     Document PR_GET_TSC and PR_SET_TSC.
 .\" 2008-06-15 mtk, Document PR_SET_SECCOMP, PR_GET_SECCOMP
+.\" 2009-10-03 Andi Kleen, document PR_MCE_KILL
+.\" 2012-04 Cyrill Gorcunov, Document PR_SET_MM
+.\" 2012-04-25 Michael Kerrisk, Document PR_TASK_PERF_EVENTS_DISABLE and
+.\"                            PR_TASK_PERF_EVENTS_ENABLE
 .\"
-.\" Japanese Version Copyright (c) 1998-1999 HANATAKA Shinya
-.\"         all rights reserved.
-.\" Translated 1999-04-03, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\" Updated 2002-12-20, Kentaro Shirakata <argrath@ub32.org>
-.\" Updated 2005-09-06, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated 2005-10-07, Akihiro MOTOKI
-.\" Updated 2007-01-08, Akihiro MOTOKI, LDP v2.43
-.\" Updated 2007-10-12, Akihiro MOTOKI, LDP v2.66
-.\" Updated 2008-08-12, Akihiro MOTOKI, LDP v3.05
+.\" FIXME: Document PR_SET_TIMERSLACK and PR_GET_TIMERSLACK (new in 2.6.28)
+.\"            commit 6976675d94042fbd446231d1bd8b7de71a980ada
 .\"
-.\"WORD:       capability      ケーパビリティ
-.\"WORD:       keep capabilities       ケーパビリティ保持
+.\"*******************************************************************
 .\"
-.TH PRCTL 2 2008-07-16 "Linux" "Linux Programmer's Manual"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH PRCTL 2 2012\-04\-23 Linux "Linux Programmer's Manual"
 .SH 名前
 prctl \- プロセスの操作を行なう
 .SH 書式
 .nf
-.B #include <sys/prctl.h>
+\fB#include <sys/prctl.h>\fP
 .sp
-.BI "int prctl(int " option ", unsigned long " arg2 ", unsigned long " arg3 ,
-.BI "          unsigned long " arg4 ", unsigned long " arg5 );
+\fBint prctl(int \fP\fIoption\fP\fB, unsigned long \fP\fIarg2\fP\fB, unsigned long \fP\fIarg3\fP\fB,\fP
+\fB          unsigned long \fP\fIarg4\fP\fB, unsigned long \fP\fIarg5\fP\fB);\fP
 .fi
 .SH 説明
-.BR prctl ()
-の動作は最初の引き数によって決定される (この値は
-\fI<linux/prctl.h>\fP に定義されている)。
-残りの引き数は最初の引き数によって変化する。
-一番目の引き数として以下のものを指定できる:
-.TP
-.BR PR_CAPBSET_READ " (Linux 2.6.25 以降)"
-で指定されたケーパビリティが呼び出したスレッドのケーパビリティ
-バインディングセット (capability bounding set) に含まれている場合、
-(関数の返り値として) 1 を返し、そうでない場合 0 を返す
-(ケーパビリティ定数は
-.I <linux/capability.h>
-で定義されている)。
-ケーパビリティバウンディングセットは、
-.BR execve (2)
-を呼び出した際に、ファイルの許可 (permitted) ケーパビリティの中で
-そのプロセスが獲得できるケーパビリティを指示するものである。
+\fBprctl\fP()  の動作は最初の引き数によって決定される (この値は \fI<linux/prctl.h>\fP に定義されている)。
+残りの引き数は最初の引き数によって変化する。 一番目の引き数として以下のものを指定できる:
+.TP 
+\fBPR_CAPBSET_READ\fP (Linux 2.6.25 以降)
+で指定されたケーパビリティが呼び出したスレッドのケーパビリティ バインディングセット (capability bounding set)
+に含まれている場合、 (関数の返り値として) 1 を返し、そうでない場合 0 を返す (ケーパビリティ定数は
+\fI<linux/capability.h>\fP で定義されている)。 ケーパビリティバウンディングセットは、 \fBexecve\fP(2)
+を呼び出した際に、ファイルの許可 (permitted) ケーパビリティの中で そのプロセスが獲得できるケーパビリティを指示するものである。
 
-.I arg2
-に指定されたケーパビリティが有効でない場合、
-呼び出しはエラー
-.B EINVAL
-で失敗する。
-.TP
-.BR PR_CAPBSET_DROP " (Linux 2.6.25 以降)"
-呼び出したスレッドがケーパビリティ
-.B CAP_SETPCAP
-を持っている場合、
-呼び出したスレッドのケーパビリティバウンディングセットから
-.I arg2
-で指定されたケーパビリティを外す。
-呼び出したスレッドの子プロセスは変更後のバウンディングセットを
-継承する。
+\fIarg2\fP に指定されたケーパビリティが有効でない場合、 呼び出しはエラー \fBEINVAL\fP で失敗する。
+.TP 
+\fBPR_CAPBSET_DROP\fP (Linux 2.6.25 以降)
+呼び出したスレッドがケーパビリティ \fBCAP_SETPCAP\fP を持っている場合、 呼び出したスレッドのケーパビリティバウンディングセットから
+\fIarg2\fP で指定されたケーパビリティを外す。 呼び出したスレッドの子プロセスは変更後のバウンディングセットを 継承する。
 
-呼び出したスレッドが
-.B CAP_SETPCAP
-を持っていない場合、呼び出しはエラー
-.B EPERM
-で失敗する。
-.I arg2
-に指定されたケーパビリティが有効でない場合、
-.B EINVAL
-で失敗する。
-ファイルケーパビリティがカーネルで有効になっていない場合
-(この場合にはバウンディングセットがサポートされない)、
-.B EINVAL
-で失敗する。
-.TP
-.BR PR_SET_DUMPABLE " (Linux 2.3.20 以降)"
-(Linux 2.3.20 以降)
-デフォルトの振る舞いではコアダンプを引き起こすようなシグナルを受信したときに、
-コアダンプするかどうかを決定するフラグを設定する
-(通常このフラグは、デフォルトではセットされているが、
-set-user-ID あるいは set-group-ID プログラムが実行されたり、
-さまざまなシステムコールによってプロセスの UID や GID が操作されたときに
-クリアされる)。
-2.6.12 以前のカーネルでは、
-.I arg2
-は 0 (プロセスはダンプ不可) あるいは 1 (プロセスはダンプ可能) の
-どちらかでなければならない。
-2.6.13 から 2.6.17 までのカーネルでは、値 2 も認められていた。
-この値を指定すると、通常はダンプされないバイナリが root だけが
-読み込み可能な形でダンプされた。
-セキュリティ上の理由から、この機能は削除された
+呼び出したスレッドが \fBCAP_SETPCAP\fP を持っていない場合、呼び出しはエラー \fBEPERM\fP で失敗する。 \fIarg2\fP
+に指定されたケーパビリティが有効でない場合、 \fBEINVAL\fP で失敗する。 ファイルケーパビリティがカーネルで有効になっていない場合
+(この場合にはバウンディングセットがサポートされない)、 \fBEINVAL\fP で失敗する。
+.TP 
+\fBPR_SET_DUMPABLE\fP (Linux 2.3.20 以降)
 .\" See http://marc.theaimsgroup.com/?l=linux-kernel&m=115270289030630&w=2
 .\" Subject:    Fix prctl privilege escalation (CVE-2006-2451)
 .\" From:       Marcel Holtmann <marcel () holtmann ! org>
 .\" Date:       2006-07-12 11:12:00
-.RB ( proc (5)
-の
-.I /proc/sys/fs/suid_dumpable
-の説明も参照)。
-.TP
-.BR PR_GET_DUMPABLE " (Linux 2.3.20 以降)"
-(Linux 2.3.20 以降)
-呼び出し元プロセスにおけるダンプ可能フラグの
-現在の状態を (関数の返り値として) 返す。
-.\" [要修正] Linux 2.6.13 以降では、ダンプ可能フラグは値 2 をとることが
-.\" できるが、2.6.13 では PR_GET_DUMPABLE はダンプ可能フラグが 0 以外の
-.\" 値の場合 1 を返すだけである。これは 2.6.14 で修正された。
-.TP
-.BR PR_SET_ENDIAN " (Linux 2.6.18 以降、PowerPC のみ)"
-呼び出し元プロセスのエンディアン設定 (endian-ness) を
-\fIarg2\fP で指定された値に設定する。
-指定できる値は
-.\" それぞれ 0, 1, 2
-.BR PR_ENDIAN_BIG ,
-.BR PR_ENDIAN_LITTLE ,
-.B PR_ENDIAN_PPC_LITTLE
-(PowerPC 擬似リトルエンディアン)
-のいずれか一つである。
-.TP
-.BR PR_GET_ENDIAN " (Linux 2.6.18 以降、PowerPC のみ)"
-呼び出し元プロセスのエンディアン設定 (endian-ness) を
-.I "(int\ *) arg2"
-が指す場所に格納して返す。
-.TP
-.BR PR_SET_FPEMU " (Linux 2.4.18 以降, 2.5.9, ia64 のみ)"
-浮動小数点エミュレーション (floating-point emulation) 制御ビットを
-\fIarg2\fP で指定された値に設定する。
-指定できる値は \fBPR_FPEMU_NOPRINT\fP (浮動小数点命令アクセスを黙って
-エミュレートする) か \fBPR_FPEMU_SIGFPE\fP (浮動小数点命令をエミュレートせず、
-代わりに
-.B SIGFPE
-を送る) である。
-.TP
-.BR PR_GET_FPEMU " (Linux 2.4.18 以降, 2.5.9, ia64 のみ)"
-浮動小数点エミュレーション制御ビットの値を
-.I "(int\ *) arg2"
-が指す場所に格納して返す。
-.TP
-.BR PR_SET_FPEXC " (Linux 2.4.21 および 2.5.32 以降、PowerPC のみ)"
-浮動小数点例外モード (floating-point exception mode) を
-\fIarg2\fP で指定された値に設定する。
-指定できるのは以下の値である:
-\fBPR_FP_EXC_SW_ENABLE\fP (FPEXC で浮動小数点例外を有効にする)、
-\fBPR_FP_EXC_DIV\fP (0 除算)、
-\fBPR_FP_EXC_OVF\fP (オーバーフロー)、
-\fBPR_FP_EXC_UND\fP (アンダーフロー)、
-\fBPR_FP_EXC_RES\fP (不正確な結果 (inexact result))、
-\fBPR_FP_EXC_INV\fP (不正な命令 (invalid operation))、
-\fBPR_FP_EXC_DISABLED\fP (浮動小数点例外を無効にする)、
+(Linux 2.3.20 以降) デフォルトの振る舞いではコアダンプを引き起こすよう
+なシグナルを受信したときに、 コアダンプするかどうかを決定するフラグを
+設定する (通常このフラグは、デフォルトではセットされているが、
+set\-user\-ID あるいは set\-group\-ID プログラムが実行されたり、 さまざまな
+システムコールによってプロセスの UID や GID が操作されたときに クリアさ
+れる)。 2.6.12 以前のカーネルでは、 \fIarg2\fP は 0 (プロセスはダンプ不可)
+あるいは 1 (プロセスはダンプ可能) の どちらかでなければならない。
+2.6.13 から 2.6.17 までのカーネルでは、値 2 も認められていた。 この値を
+指定すると、通常はダンプされないバイナリが root だけが 読み込み可能な形
+でダンプされた。 セキュリティ上の理由から、この機能は削除された
+(\fBproc\fP(5) の \fI/proc/sys/fs/suid_dumpable\fP の説明も参照)。
+ダンプ不可のプロセスを \fBptrace(2)\fP \fBPTRACE_ATTACH\fP 経由で接続すること
+はできない。
+.TP 
+\fBPR_GET_DUMPABLE\fP (Linux 2.3.20 以降)
+.\" Since Linux 2.6.13, the dumpable flag can have the value 2,
+.\" but in 2.6.13 PR_GET_DUMPABLE simply returns 1 if the dumpable
+.\" flags has a nonzero value.  This was fixed in 2.6.14.
+(Linux 2.3.20 以降)  呼び出し元プロセスにおけるダンプ可能フラグの 現在の状態を (関数の返り値として) 返す。
+.TP 
+\fBPR_SET_ENDIAN\fP (Linux 2.6.18 以降、PowerPC のみ)
+.\" Respectively 0, 1, 2
+呼び出し元プロセスのエンディアン設定 (endian\-ness) を \fIarg2\fP で指定された値に設定する。 指定できる値は
+\fBPR_ENDIAN_BIG\fP, \fBPR_ENDIAN_LITTLE\fP, \fBPR_ENDIAN_PPC_LITTLE\fP (PowerPC
+擬似リトルエンディアン)  のいずれか一つである。
+.TP 
+\fBPR_GET_ENDIAN\fP (Linux 2.6.18 以降、PowerPC のみ)
+呼び出し元プロセスのエンディアン設定 (endian\-ness) を \fI(int\ *) arg2\fP が指す場所に格納して返す。
+.TP 
+\fBPR_SET_FPEMU\fP (Linux 2.4.18 以降, 2.5.9, ia64 のみ)
+浮動小数点エミュレーション (floating\-point emulation) 制御ビットを \fIarg2\fP で指定された値に設定する。
+指定できる値は \fBPR_FPEMU_NOPRINT\fP (浮動小数点命令アクセスを黙って エミュレートする) か \fBPR_FPEMU_SIGFPE\fP
+(浮動小数点命令をエミュレートせず、 代わりに \fBSIGFPE\fP を送る) である。
+.TP 
+\fBPR_GET_FPEMU\fP (Linux 2.4.18 以降, 2.5.9, ia64 のみ)
+浮動小数点エミュレーション制御ビットの値を \fI(int\ *) arg2\fP が指す場所に格納して返す。
+.TP 
+\fBPR_SET_FPEXC\fP (Linux 2.4.21 および 2.5.32 以降、PowerPC のみ)
+浮動小数点例外モード (floating\-point exception mode) を \fIarg2\fP で指定された値に設定する。
+指定できるのは以下の値である: \fBPR_FP_EXC_SW_ENABLE\fP (FPEXC で浮動小数点例外を有効にする)、
+\fBPR_FP_EXC_DIV\fP (0 除算)、 \fBPR_FP_EXC_OVF\fP (オーバーフロー)、 \fBPR_FP_EXC_UND\fP
+(アンダーフロー)、 \fBPR_FP_EXC_RES\fP (不正確な結果 (inexact result))、 \fBPR_FP_EXC_INV\fP
+(不正な命令 (invalid operation))、 \fBPR_FP_EXC_DISABLED\fP (浮動小数点例外を無効にする)、
 \fBPR_FP_EXC_NONRECOV\fP (async nonrecoverable exception mode)、
-\fBPR_FP_EXC_ASYNC\fP (async recoverable exception mode)、
-\fBPR_FP_EXC_PRECISE\fP (precise exception mode)。
-.TP
-.BR PR_GET_FPEXC "(Linux 2.4.21 および 2.5.32 以降、PowerPC のみ)"
-浮動小数点例外モードの値を
-.I "(int\ *) arg2"
-が指す場所に格納して返す。
-.TP
-.BR PR_SET_KEEPCAPS " (Linux 2.2.18 以降)"
+\fBPR_FP_EXC_ASYNC\fP (async recoverable exception mode)、 \fBPR_FP_EXC_PRECISE\fP
+(precise exception mode)。
+.TP 
+\fBPR_GET_FPEXC\fP(Linux 2.4.21 および 2.5.32 以降、PowerPC のみ)
+浮動小数点例外モードの値を \fI(int\ *) arg2\fP が指す場所に格納して返す。
+.TP 
+\fBPR_SET_KEEPCAPS\fP (Linux 2.2.18 以降)
 スレッドの「ケーパビリティ保持」フラグを設定する。
-このフラグは、スレッドの実 UID、実効 UID、保存 set-user-ID のうち少なくとも
-一つが 0 であった状態から、これら全てが 0 以外に変更されたとき、
-スレッドの実効/許可のケーパビリティ集合がクリアされるかどうかを決定する
-(デフォルトでは、これらのケーパビリティ集合はクリアされる)。
-.I arg2
-は 0 (ケーパビリティをクリアする) あるいは 1 (ケーパビリティを保持する) の
-どちらかでなければならない。
-.BR execve (2)
-が呼び出されると、この値は 0 にリセットされる。
-.TP
-.BR PR_GET_KEEPCAPS " (Linux 2.2.18 以降)"
-呼び出し元スレッドにおける「ケーパビリティ保持」フラグの
-現在の状態を (関数の返り値として) 返す。
-.TP
-.BR PR_SET_NAME " (Linux 2.6.9 以降)"
-呼び出し元プロセスのプロセス名を
-.I "(char\ *) arg2"
-が指す場所に格納された値を使って設定する。
-名前は最大で 16 バイトであり、
+このフラグは、スレッドの実 UID、実効 UID、保存 set\-user\-ID のうち少なく
+とも一つが 0 であった状態から、これら全てが 0 以外に変更されたとき、
+スレッドの許可ケーパビリティ集合がクリアされるかどうかを決定する。
+デフォルトでは、このような変更が行われた場合、許可ケーパビリティセット
+はクリアされる。「ケーパビリティ保持」フラグを設定すると、
+許可ケーパビリティセットはクリアされなくなる。
+\fIarg2\fP は 0 (許可ケーパビリティをクリアする) か 1 (許可ケーパビリティ
+を保持する) の どちらかでなければならない。
+(このような ID の変更が行われた場合、「ケーパビリティ保持」フラグの設定
+に関わらず、スレッドの\fI実効\fPケーパビリティセットは常にクリアされる。)
+\fBexecve\fP(2) が呼び出されると、「ケーパビリティ保持」フラグは 0
+にリセットされる。
+.TP 
+\fBPR_GET_KEEPCAPS\fP (Linux 2.2.18 以降)
+呼び出し元スレッドにおける「ケーパビリティ保持」フラグの 現在の状態を (関数の返り値として) 返す。
+.TP 
+\fBPR_SET_NAME\fP (Linux 2.6.9 以降)
 .\" TASK_COMM_LEN in include/linux/sched.h
+呼び出し元プロセスのプロセス名を \fI(char\ *) arg2\fP が指す場所に格納された値を使って設定する。 名前は最大で 16 バイトであり、
 それより少ないバイト数の場合は NULL で終端すべきである。
-.TP
-.BR PR_GET_NAME " (Linux 2.6.11 以降)"
-呼び出し元プロセスのプロセス名を
-.I "(char\ *) arg2"
-が指す場所に格納して返す。
-バッファは最大で 16 バイトを格納できるようにすべきである。
-返される文字列は、長さが 16 バイトより短い場合は NULL 終端される。
-.TP
-.BR PR_SET_PDEATHSIG " (Linux 2.1.57 以降)"
-親プロセス死亡シグナル (parent process death signal) を \fIarg2\fP に設定する
-(設定できるシグナル値の範囲は 1..maxsig であり、0 は通知の解除である)。
-呼び出し元プロセスの親プロセスが死んだ際に、ここで設定した値が
-シグナルとして通知される。この値は
-.BR fork (2)
-の子プロセスでは解除される。
-.TP
-.BR PR_GET_PDEATHSIG " (Linux 2.3.15 以降)"
-親プロセス死亡シグナルの現在の値を
-.I "(int\ *) arg2"
-が指す場所に格納して返す。
-.TP
-.BR PR_SET_SECCOMP " (Linux 2.6.23 以降)"
+.TP 
+\fBPR_GET_NAME\fP (Linux 2.6.11 以降)
+呼び出し元プロセスのプロセス名を \fI(char\ *) arg2\fP が指す場所に格納して返す。 バッファは最大で 16
+バイトを格納できるようにすべきである。 返される文字列は、長さが 16 バイトより短い場合は NULL 終端される。
+.TP 
+\fBPR_SET_PDEATHSIG\fP (Linux 2.1.57 以降)
+親プロセス死亡シグナル (parent process death signal) を \fIarg2\fP に設定
+する (設定できるシグナル値の範囲は 1..maxsig であり、0 は通知の解除であ
+る)。 呼び出し元プロセスの親プロセスが死んだ際に、ここで設定した値が シ
+グナルとして通知される。この値は \fBfork\fP(2) の子プロセスでは解除される。
+(Linux 2.5.36 以降および 2.6.23 以降では) set\-user\-ID もしくは
+set\-group\-ID されたバイナリを実行した場合にも、このフラグは解除される。
+.TP 
+\fBPR_GET_PDEATHSIG\fP (Linux 2.3.15 以降)
+親プロセス死亡シグナルの現在の値を \fI(int\ *) arg2\fP が指す場所に格納して返す。
+.TP 
+\fBPR_SET_SECCOMP\fP (Linux 2.6.23 以降)
 .\" See http://thread.gmane.org/gmane.linux.kernel/542632
 .\" [PATCH 0 of 2] seccomp updates
 .\" andrea@cpushare.com
-呼び出したスレッドの secure computing モードを設定する。
-現在の実装では、
-.I arg2
-は 1 にしなければならない。
-secure computing モードを 1 に設定すると、
-そのスレッドが呼び出しを許可されるシステムコールは
-.BR read (2),
-.BR write (2),
-.BR _exit (2),
-.BR sigreturn (2)
-だけになる。
-それ以外のシステムコールを呼び出すと、シグナル
-.B SIGKILL
-が配送される。
-パイプやソケットから読み込んだ、信頼できないバイトコードを実行する
-必要がある大量の演算を行うアプリケーションにおいて、
-secure computing モードは役立つ。
-この操作は利用できるのは、カーネルが CONFIG_SECCOMP を有効にして
-作成されている場合だけである。
-.TP
-.BR PR_GET_SECCOMP " (Linux 2.6.23 以降)"
-呼び出したスレッドの secure computing モードを返す。
-現在の実装 (モードは 1 固定) はあまり役に立たないが、
-将来他のモードが実装されると役立つようになるかもしれない。
-呼び出したスレッドが secure computing モードでなかった場合、
-この操作は 0 を返す。
-呼び出したスレッドが secure computing モードの場合、
-.BR prctl ()
-を呼び出すとシグナル
-.B SIGKILL
-がそのプロセスに送信される。
-この操作が利用できるのは、カーネルが CONFIG_SECCOMP を有効にして
-作成されている場合だけである。
-.TP
-.BR PR_SET_SECUREBITS " (Linux 2.6.26 以降)"
-呼び出したスレッドの "securebits" フラグを
-.I arg2
-で渡された値に設定する。
-.BR capabilities (7)
-参照。
-.TP
-.BR PR_GET_SECUREBITS " (Linux 2.6.26 以降)"
-呼び出したスレッドの "securebits" フラグを
-(関数の返り値として) 返す。
-.BR capabilities (7)
-参照。
-.TP
-.BR PR_SET_TIMING " (Linux 2.6.0-test4 以降)"
-(通常の、伝統的に使われてきた) 統計的なプロセスタイミングを使用するか、
-正確なタイムスタンプに基づくプロセスタイミングを使用するかを設定する。
-\fIarg2\fP に指定できる値は
-.B PR_TIMING_STATISTICAL
+呼び出したスレッドの secure computing モードを設定する。 現在の実装では、 \fIarg2\fP は 1 にしなければならない。
+secure computing モードを 1 に設定すると、 そのスレッドが呼び出しを許可されるシステムコールは \fBread\fP(2),
+\fBwrite\fP(2), \fB_exit\fP(2), \fBsigreturn\fP(2)  だけになる。 それ以外のシステムコールを呼び出すと、シグナル
+\fBSIGKILL\fP が配送される。 パイプやソケットから読み込んだ、信頼できないバイトコードを実行する
+必要がある大量の演算を行うアプリケーションにおいて、 secure computing モードは役立つ。 この操作は利用できるのは、カーネルが
+CONFIG_SECCOMP を有効にして 作成されている場合だけである。
+.TP 
+\fBPR_GET_SECCOMP\fP (Linux 2.6.23 以降)
+呼び出したスレッドの secure computing モードを返す。 現在の実装 (モードは 1 固定) はあまり役に立たないが、
+将来他のモードが実装されると役立つようになるかもしれない。 呼び出したスレッドが secure computing モードでなかった場合、 この操作は
+0 を返す。 呼び出したスレッドが secure computing モードの場合、 \fBprctl\fP()  を呼び出すとシグナル \fBSIGKILL\fP
+がそのプロセスに送信される。 この操作が利用できるのは、カーネルが CONFIG_SECCOMP を有効にして 作成されている場合だけである。
+.TP 
+\fBPR_SET_SECUREBITS\fP (Linux 2.6.26 以降)
+呼び出したスレッドの "securebits" フラグを \fIarg2\fP で渡された値に設定する。 \fBcapabilities\fP(7)  参照。
+.TP 
+\fBPR_GET_SECUREBITS\fP (Linux 2.6.26 以降)
+呼び出したスレッドの "securebits" フラグを (関数の返り値として) 返す。 \fBcapabilities\fP(7)  参照。
+.TP 
+\fBPR_SET_TIMING\fP (Linux 2.6.0\-test4 以降)
 .\" 0
-か
-.B PR_TIMING_TIMESTAMP
 .\" 1
-である。
-.B PR_TIMING_TIMESTAMP
-は現在のところ実装されていない
-(このモードに設定しようとするとエラー
-.B EINVAL
-が起こることだろう)。
-.\" 2.6.26-rc8 では PR_TIMING_TIMESTAMP は何もしない。
-.\" パッチの履歴を見たが、過去にも何かをしたこともない。
-.TP
-.BR PR_GET_TIMING " (Linux 2.6.0-test4 以降)"
+.\" PR_TIMING_TIMESTAMP doesn't do anything in 2.6.26-rc8,
+.\" and looking at the patch history, it appears
+.\" that it never did anything.
+(通常の、伝統的に使われてきた) 統計的なプロセスタイミングを使用するか、
+正確なタイムスタンプに基づくプロセスタイミングを使用するかを設定する。
+\fIarg2\fP に指定できる値は \fBPR_TIMING_STATISTICAL\fP か
+\fBPR_TIMING_TIMESTAMP\fP である。 \fBPR_TIMING_TIMESTAMP\fP は現在のところ実
+装されていない (このモードに設定しようとするとエラー \fBEINVAL\fP が起こる
+ことだろう)。
+.TP 
+\fBPR_GET_TIMING\fP (Linux 2.6.0\-test4 以降)
 現在使用中のプロセスタイミングを決める方法を返す。
-.TP
-.BR PR_SET_TSC " (Linux 2.6.26 以降, x86 のみ)"
-そのプロセスがタイムスタンプ・カウンタを読み出せるかを決定する
-フラグの状態を設定する。
-読み出しを許可する場合は
-.I arg2
-に
-.B PR_TSC_ENABLE
-を、そのプロセスがタイムスタンプ・カウンタを読み出そうとした際に
-.B SIGSEGV
-を発生させる場合には
-.B PR_TSC_SIGSEGV
-を渡す。
-.TP
-.BR PR_GET_TSC " (Linux 2.6.26 以降, x86 のみ)"
-そのプロセスがタイムスタンプ・カウンタを読み出せるかを決定する
-フラグの状態を
-.I "(int\ *) arg2"
-が指す場所に格納して返す。
-.TP
-.B PR_SET_UNALIGN
-(ia64 では Linux 2.3.48 以降;
-parisc では Linux 2.6.15 以降;
-PowerPC では Linux 2.6.18 以降;
-Alpha では Linux 2.6.22 以降;
-これらのアーキテクチャのみ)
-unaligned アクセス制御ビットを \fIarg2\fP で指定された値に設定する。
-指定できる値は \fBPR_UNALIGN_NOPRINT\fP (unaligned なユーザアクセスを黙って
-修正する) か \fBPR_UNALIGN_SIGBUS\fP (unaligned なユーザアクセスがあった場合
-.B SIGBUS
-を生成する) である。
-.TP
-.B PR_GET_UNALIGN
-(バージョンとアーキテクチャの情報は
-.B PR_SET_UNALIGN
-参照)
-unaligned アクセス制御ビットの値を
-.I "(int\ *) arg2"
-が指す場所に格納して返す。
+.TP 
+\fBPR_TASK_PERF_EVENTS_DISABLE\fP (Linux 2.6.31 以降)
+Disable all performance counters attached to the calling process, regardless
+of whether the counters were created by this process or another process.
+Performance counters created by the calling process for other processes are
+unaffected.  For more information on performance counters, see the kernel
+source file \fItools/perf/design.txt\fP.
+.IP
+.\" commit 1d1c7ddbfab358445a542715551301b7fc363e28
+Originally called \fBPR_TASK_PERF_COUNTERS_DISABLE\fP; renamed (with same
+numerical value)  in Linux 2.6.32.
+.TP 
+\fBPR_TASK_PERF_EVENTS_ENABLE\fP (Linux 2.6.31 以降)
+The converse of \fBPR_TASK_PERF_EVENTS_DISABLE\fP; enable performance counters
+attached to the calling process.
+.IP
+.\" commit 1d1c7ddbfab358445a542715551301b7fc363e28
+.\" commit cdd6c482c9ff9c55475ee7392ec8f672eddb7be6
+Originally called \fBPR_TASK_PERF_COUNTERS_ENABLE\fP; renamed in Linux 2.6.32.
+.TP 
+\fBPR_SET_TSC\fP (Linux 2.6.26 以降, x86 のみ)
+そのプロセスがタイムスタンプ・カウンタを読み出せるかを決定する フラグの状態を設定する。 読み出しを許可する場合は \fIarg2\fP に
+\fBPR_TSC_ENABLE\fP を、そのプロセスがタイムスタンプ・カウンタを読み出そうとした際に \fBSIGSEGV\fP を発生させる場合には
+\fBPR_TSC_SIGSEGV\fP を渡す。
+.TP 
+\fBPR_GET_TSC\fP (Linux 2.6.26 以降, x86 のみ)
+そのプロセスがタイムスタンプ・カウンタを読み出せるかを決定する フラグの状態を \fI(int\ *) arg2\fP が指す場所に格納して返す。
+.TP 
+\fBPR_SET_UNALIGN\fP
+(ia64 では Linux 2.3.48 以降; parisc では Linux 2.6.15 以降; PowerPC では Linux 2.6.18
+以降; Alpha では Linux 2.6.22 以降; これらのアーキテクチャのみ)  unaligned アクセス制御ビットを \fIarg2\fP
+で指定された値に設定する。 指定できる値は \fBPR_UNALIGN_NOPRINT\fP (unaligned なユーザアクセスを黙って 修正する) か
+\fBPR_UNALIGN_SIGBUS\fP (unaligned なユーザアクセスがあった場合 \fBSIGBUS\fP を生成する) である。
+.TP 
+\fBPR_GET_UNALIGN\fP
+(バージョンとアーキテクチャの情報は \fBPR_SET_UNALIGN\fP 参照)  unaligned アクセス制御ビットの値を \fI(int\ *)
+arg2\fP が指す場所に格納して返す。
+.TP 
+\fBPR_MCE_KILL\fP (Linux 2.6.32 以降)
+Set the machine check memory corruption kill policy for the current thread.
+If \fIarg2\fP is \fBPR_MCE_KILL_CLEAR\fP, clear the thread memory corruption kill
+policy and use the system\-wide default.  (The system\-wide default is defined
+by \fI/proc/sys/vm/memory_failure_early_kill\fP; see \fBproc\fP(5).)  If \fIarg2\fP
+is \fBPR_MCE_KILL_SET\fP, use a thread\-specific memory corruption kill policy.
+In this case, \fIarg3\fP defines whether the policy is \fIearly kill\fP
+(\fBPR_MCE_KILL_EARLY\fP), \fIlate kill\fP (\fBPR_MCE_KILL_LATE\fP), or the
+system\-wide default (\fBPR_MCE_KILL_DEFAULT\fP).  Early kill means that the
+thread receives a \fBSIGBUS\fP signal as soon as hardware memory corruption is
+detected inside its address space.  In late kill mode, the process is only
+killed when it accesses a corrupted page.  See \fBsigaction\fP(2)  for more
+information on the \fBSIGBUS\fP signal.  The policy is inherited by children.
+The remaining unused \fBprctl\fP()  arguments must be zero for future
+compatibility.
+.TP 
+\fBPR_MCE_KILL_GET\fP (Linux 2.6.32 以降)
+Return the current per\-process machine check kill policy.  All unused
+\fBprctl\fP()  arguments must be zero.
+.TP 
+\fBPR_SET_MM\fP (Linux 3.3 以降)
+Modify certain kernel memory map descriptor fields of the calling process.
+Usually these fields are set by the kernel and dynamic loader (see
+\fBld.so\fP(8)  for more information) and a regular application should not use
+this feature.  However, there are cases, such as self\-modifying programs,
+where a program might find it useful to change its own memory map.  This
+feature is available only if the kernel is built with the
+\fBCONFIG_CHECKPOINT_RESTORE\fP option enabled.  The calling process must have
+the \fBCAP_SYS_RESOURCE\fP capability.  The value in \fIarg2\fP is one of the
+options below, while \fIarg3\fP provides a new value for the option.
+.RS
+.TP 
+\fBPR_SET_MM_START_CODE\fP
+Set the address above which the program text can run.  The corresponding
+memory area must be readable and executable, but not writable or sharable
+(see \fBmprotect\fP(2)  and \fBmmap\fP(2)  for more information).
+.TP 
+\fBPR_SET_MM_END_CODE\fP
+Set the address below which the program text can run.  The corresponding
+memory area must be readable and executable, but not writable or sharable.
+.TP 
+\fBPR_SET_MM_START_DATA\fP
+Set the address above which initialized and uninitialized (bss) data are
+placed.  The corresponding memory area must be readable and writable, but
+not executable or sharable.
+.TP 
+\fBPR_SET_MM_END_DATA\fP
+Set the address below which initialized and uninitialized (bss) data are
+placed.  The corresponding memory area must be readable and writable, but
+not executable or sharable.
+.TP 
+\fBPR_SET_MM_START_STACK\fP
+Set the start address of the stack.  The corresponding memory area must be
+readable and writable.
+.TP 
+\fBPR_SET_MM_START_BRK\fP
+Set the address above which the program heap can be expanded with \fBbrk\fP(2)
+call.  The address must be greater than the ending address of the current
+program data segment.  In addition, the combined size of the resulting heap
+and the size of the data segment can't exceed the \fBRLIMIT_DATA\fP resource
+limit (see \fBsetrlimit\fP(2)).
+.TP 
+\fBPR_SET_MM_BRK\fP
+.\" FIXME The following (until ========) is not yet in mainline kernel,
+.\" so commented out for the moment.
+.\" .TP
+.\" .BR PR_SET_MM_ARG_START
+.\" Set the address above which the program command line is placed.
+.\" .TP
+.\" .BR PR_SET_MM_ARG_END
+.\" Set the address below which the program command line is placed.
+.\" .TP
+.\" .BR PR_SET_MM_ENV_START
+.\" Set the address above which the program environment is placed.
+.\" .TP
+.\" .BR PR_SET_MM_ENV_END
+.\" Set the address below which the program environment is placed.
+.\" .IP
+.\" The address passed with
+.\" .BR PR_SET_MM_ARG_START ,
+.\" .BR PR_SET_MM_ARG_END ,
+.\" .BR PR_SET_MM_ENV_START ,
+.\" and
+.\" .BR PR_SET_MM_ENV_END
+.\" should belong to a process stack area.
+.\" Thus, the corresponding memory area must be readable, writable, and
+.\" (depending on the kernel configuration) have the
+.\" .BR MAP_GROWSDOWN
+.\" attribute set (see
+.\" .BR mmap (2)).
+.\" .TP
+.\" .BR PR_SET_MM_AUXV
+.\" Set a new auxiliary vector.
+.\" The
+.\" .I arg3
+.\" argument should provide the address of the vector.
+.\" The
+.\" .I arg4
+.\" is the size of the vector.
+.\" .TP
+.\" .BR PR_SET_MM_EXE_FILE
+.\" Supersede the
+.\" .IR /proc/pid/exe
+.\" symbolic link with a new one pointing to a new executable file
+.\" identified by the file descriptor provided in
+.\" .I arg3
+.\" argument.
+.\" The file descriptor should be obtained with a regular
+.\" .BR open (2)
+.\" call.
+.\" .IP
+.\" To change the symbolic link, one needs to unmap all existing
+.\" executable memory areas, including those created by the kernel itself
+.\" (for example the kernel usually creates at least one executable
+.\" memory area for the ELF
+.\" .IR .text
+.\" section).
+.\" .IP
+.\" The second limitation is that such transitions can be done only once
+.\" in a process life time.
+.\" Any further attempts will be rejected.
+.\" This should help system administrators to monitor unusual
+.\" symbolic-link transitions over all process running in a system.
+.\" ========== END FIXME
+Set the current \fBbrk\fP(2)  value.  The requirements for the address are the
+same as for the \fBPR_SET_MM_START_BRK\fP option.
+.RE
+.\"
 .SH 返り値
-成功すると、
-.BR PR_GET_DUMPABLE ,
-.BR PR_GET_KEEPCAPS ,
-.BR PR_CAPBSET_READ ,
-.BR PR_GET_TIMING ,
-.BR PR_GET_SECUREBITS ,
-.BR PR_GET_SECCOMP
-は上述の負でない値を返す
-.RB ( PR_GET_SECCOMP
-は返らない場合もある)。
-.I option
-が他の値の場合は成功時に 0 を返す。
-エラーの場合、\-1 を返し、
-.I errno
-に適切な値を設定する。
+成功すると、 \fBPR_GET_DUMPABLE\fP, \fBPR_GET_KEEPCAPS\fP,
+\fBPR_CAPBSET_READ\fP, \fBPR_GET_TIMING\fP, \fBPR_GET_SECUREBITS\fP,
+\fBPR_MCE_KILL_GET\fP, \fBPR_GET_SECCOMP\fP は上述の負でない値を返す (なお、
+\fBPR_GET_SECCOMP\fP は返らない場合もある)。 \fIoption\fP が他の値の場合は
+成功時に 0 を返す。
+エラーの場合、\-1 を返し、 \fIerrno\fP に適切な値を設定する。
 .SH エラー
-.TP
-.B EFAULT
-.I arg2
-が不正なアドレスである。
-.TP
-.B EINVAL
-.I option
-の値が理解できない。
-.TP
-.B EINVAL
-.I arg2
-が指定された
-.I option
-で有効な値ではない。
-.TP
-.B EINVAL
-.I option
-が
-.BR PR_SET_SECCOMP
-か
-.BR PR_GET_SECCOMP
-だが、カーネルが
-.B CONFIG_SECCOMP
+.TP 
+\fBEFAULT\fP
+\fIarg2\fP が不正なアドレスである。
+.TP 
+\fBEINVAL\fP
+\fIoption\fP の値が理解できない。
+.TP 
+\fBEINVAL\fP
+\fIoption\fP is \fBPR_MCE_KILL\fP or \fBPR_MCE_KILL_GET\fP or \fBPR_SET_MM\fP, and
+unused \fBprctl\fP()  arguments were not specified as zero.
+.TP 
+\fBEINVAL\fP
+\fIarg2\fP が指定された \fIoption\fP で有効な値ではない。
+.TP 
+\fBEINVAL\fP
+\fIoption\fP が \fBPR_SET_SECCOMP\fP か \fBPR_GET_SECCOMP\fP だが、カーネルが \fBCONFIG_SECCOMP\fP
 を有効にして作成されていなかった。
-.TP
-.B EPERM
-.I option
-が
-.B PR_SET_SECUREBITS
-で、呼び出し元がケーパビリティ
-.B CAP_SETPCAP
-を持っていない。
-または、"locked" フラグを解除しようとした。
-または、locked フラグがセットされているフラグをセットしようとした
-.RB ( capabilities (7)
-参照)。
-.TP
-.B EPERM
-.I option
-が
-.B PR_SET_KEEPCAPS
-で、呼び出し元のフラグ
-.B SECURE_KEEP_CAPS_LOCKED
-がセットされている
-.RB ( capabilities (7)
-参照)。
-.TP
-.B EPERM
-.I option
-が
-.B PR_CAPBSET_DROP
-で、呼び出し元がケーパビリティ
-.B CAP_SETPCAP
-を持っていない。
+.TP 
+\fBEINVAL\fP
+\fIoption\fP is \fBPR_SET_MM\fP, and one of the following is true
+.RS
+.IP * 3
+\fIarg4\fP or \fIarg5\fP is nonzero;
+.IP *
+\fIarg3\fP is greater than \fBTASK_SIZE\fP (the limit on the size of the user
+address space for this architecture);
+.IP *
+\fIarg2\fP is \fBPR_SET_MM_START_CODE\fP, \fBPR_SET_MM_END_CODE\fP,
+\fBPR_SET_MM_START_DATA\fP, \fBPR_SET_MM_END_DATA\fP, or \fBPR_SET_MM_START_STACK,\fP
+and the permissions of the corresponding memory area are not as required;
+.IP *
+\fIarg2\fP is \fBPR_SET_MM_START_BRK\fP or \fBPR_SET_MM_BRK\fP, and \fIarg3\fP is less
+than or equal to the end of the data segment or specifies a value that would
+cause the \fBRLIMIT_DATA\fP resource limit to be exceeded.
+.RE
+.TP 
+\fBEPERM\fP
+\fIoption\fP が \fBPR_SET_SECUREBITS\fP で、呼び出し元がケーパビリティ \fBCAP_SETPCAP\fP を持っていない。
+または、"locked" フラグを解除しようとした。 または、locked フラグがセットされているフラグをセットしようとした
+(\fBcapabilities\fP(7)  参照)。
+.TP 
+\fBEPERM\fP
+\fIoption\fP が \fBPR_SET_KEEPCAPS\fP で、呼び出し元のフラグ \fBSECURE_KEEP_CAPS_LOCKED\fP
+がセットされている (\fBcapabilities\fP(7)  参照)。
+.TP 
+\fBEPERM\fP
+\fIoption\fP が \fBPR_CAPBSET_DROP\fP で、呼び出し元がケーパビリティ \fBCAP_SETPCAP\fP を持っていない。
+.TP 
+\fBEPERM\fP
+.\" FIXME The following (until ========) is not yet in mainline kernel,
+.\" so commented out for the moment.
+.\" .TP
+.\" .B EACCES
+.\" .I option
+.\" is
+.\" .BR PR_SET_MM ,
+.\" and
+.\" .I arg3
+.\" is
+.\" .BR PR_SET_MM_EXE_FILE ,
+.\" the file is not executable.
+.\" .TP
+.\" .B EBUSY
+.\" .I option
+.\" is
+.\" .BR PR_SET_MM ,
+.\" .I arg3
+.\" is
+.\" .BR PR_SET_MM_EXE_FILE ,
+.\" and this the second attempt to change the
+.\" .I /proc/pid/exe
+.\" symbolic link, which is prohibited.
+.\" .TP
+.\" .B EBADF
+.\" .I option
+.\" is
+.\" .BR PR_SET_MM ,
+.\" .I arg3
+.\" is
+.\" .BR PR_SET_MM_EXE_FILE ,
+.\" and the file descriptor passed in
+.\" .I arg4
+.\" is not valid.
+.\" ========== END FIXME
 .\" The following can't actually happen, because prctl() in
 .\" seccomp mode will cause SIGKILL.
 .\" .TP
@@ -426,24 +477,22 @@ unaligned アクセス制御ビットの値を
 .\" is
 .\" .BR PR_SET_SECCOMP ,
 .\" and secure computing mode is already 1.
+\fIoption\fP が \fBPR_SET_MM\fP で、呼び出し元がケーパビリティ
+\fBCAP_SYS_RESOURCE\fP を持っていない。
 .SH バージョン
-.BR prctl ()
-システムコールは Linux 2.1.57 で導入された。
-.\" ライブラリ・インタフェースは glibc 2.0.6 で追加された。
+.\" The library interface was added in glibc 2.0.6
+\fBprctl\fP()  システムコールは Linux 2.1.57 で導入された。
 .SH 準拠
-このコールは Linux 特有である。
-IRIX には
-.BR prctl ()
-システム・コールがあるが (MIPS アーキテクチャにおいて
-irix_prctl として Linux 2.1.44 で同様に導入された)、
-そのプロトタイプは
+このコールは Linux 特有である。 IRIX には \fBprctl\fP()  システム・コールがあるが (MIPS アーキテクチャにおいて
+irix_prctl として Linux 2.1.44 で同様に導入された)、 そのプロトタイプは
 .sp
-.BI "ptrdiff_t prctl(int " option ", int " arg2 ", int " arg3 );
+\fBptrdiff_t prctl(int \fP\fIoption\fP\fB, int \fP\fIarg2\fP\fB, int \fP\fIarg3\fP\fB);\fP
 .sp
-である。ユーザー当りのプロセス最大数を取得するオプション、
-プロセスの使用できる最大プロッサー数を取得するオプション、
-現在特定のプロセスが停止(block)させられているかどうか調べるオプション、
-スタックサイズの最大値の取得や設定を行なうオプションなどがある。
+である。ユーザー当りのプロセス最大数を取得するオプション、 プロセスの使用できる最大プロッサー数を取得するオプション、
+現在特定のプロセスが停止(block)させられているかどうか調べるオプション、 スタックサイズの最大値の取得や設定を行なうオプションなどがある。
 .SH 関連項目
-.BR signal (2),
-.BR core (5)
+\fBsignal\fP(2), \fBcore\fP(5)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
diff --git a/release/man2/ptrace.2 b/release/man2/ptrace.2
deleted file mode 100644 (file)
index bd9fea5..0000000
+++ /dev/null
@@ -1,566 +0,0 @@
-.\" Hey Emacs! This file is -*- nroff -*- source.
-.\"
-.\" Copyright (c) 1993 Michael Haardt
-.\" (michael@moria.de),
-.\" Fri Apr  2 11:32:09 MET DST 1993
-.\"
-.\" changes Copyright 1999 Mike Coleman (mkc@acm.org)
-.\" -- major revision to fully document ptrace semantics per recent Linux
-.\"    kernel (2.2.10) and glibc (2.1.2)
-.\" Sun Nov  7 03:18:35 CST 1999
-.\"
-.\" This is free documentation; you can redistribute it and/or
-.\" modify it under the terms of the GNU General Public License as
-.\" published by the Free Software Foundation; either version 2 of
-.\" the License, or (at your option) any later version.
-.\"
-.\" The GNU General Public License's references to "object code"
-.\" and "executables" are to be interpreted as the output of any
-.\" document formatting or typesetting system, including
-.\" intermediate and printed output.
-.\"
-.\" This manual is distributed in the hope that it will be useful,
-.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-.\" GNU General Public License for more details.
-.\"
-.\" You should have received a copy of the GNU General Public
-.\" License along with this manual; if not, write to the Free
-.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
-.\" USA.
-.\"
-.\" Modified Fri Jul 23 23:47:18 1993 by Rik Faith <faith@cs.unc.edu>
-.\" Modified Fri Jan 31 16:46:30 1997 by Eric S. Raymond <esr@thyrsus.com>
-.\" Modified Thu Oct  7 17:28:49 1999 by Andries Brouwer <aeb@cwi.nl>
-.\" Modified, 27 May 2004, Michael Kerrisk <mtk.manpages@gmail.com>
-.\"     Added notes on capability requirements
-.\"
-.\" 2006-03-24, Chuck Ebbert <76306.1226@compuserve.com>
-.\"    Added    PTRACE_SETOPTIONS, PTRACE_GETEVENTMSG, PTRACE_GETSIGINFO,
-.\"        PTRACE_SETSIGINFO, PTRACE_SYSEMU, PTRACE_SYSEMU_SINGLESTEP
-.\"    (Thanks to Blaisorblade, Daniel Jacobowitz and others who helped.)
-.\"
-.\" FIXME: Linux 3.1 adds PTRACE_SEIZE, PTRACE_INTERRUPT, and PTRACE_LISTEN.
-.\"
-.\" Japanese Version Copyright (c) 1997-1999 HANATAKA Shinya
-.\"         all rights reserved.
-.\" Translated 1999-11-20, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\" Updated 2003-10-11, Kentaro Shirakata <argrath@ub32.org>
-.\" Updated 2006-07-23, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.28
-.\" Updated 2007-01-07, Akihiro MOTOKI, LDP v2.43
-.\" Updated 2007-05-01, Akihiro MOTOKI, LDP v2.46
-.\" Updated 2008-08-06, Akihiro MOTOKI, LDP v3.05
-.\" Updated 2009-04-13, Akihiro MOTOKI, LDP v3.20
-.\"
-.\"WORD:       child process           子プロセス
-.\"WORD:       parent process          親プロセス
-.\"WORD:       core image              メモリ・イメージ
-.\"WORD:       break point             ブレーク・ポイント
-.\"WORD:       single step             シングル・ステップ実行
-.\"WORD:       trap flag               トラップ・フラグ
-.\"WORD:       attach                  接続
-.\"WORD:       detach                  分離
-.\"WORD:       process ID              プロセスID
-.\"
-.TH PTRACE 2 2009-03-30 "Linux" "Linux Programmer's Manual"
-.SH 名前
-ptrace \- プロセスのトレース
-.SH 書式
-.nf
-.B #include <sys/ptrace.h>
-.sp
-.BI "long ptrace(enum __ptrace_request " request ", pid_t " pid ", "
-.BI "            void *" addr ", void *" data );
-.fi
-.SH 説明
-.BR ptrace ()
-システムコールは、親プロセスが、別のプロセスの実行の監視/制御を
-行ったり、コアイメージ (core image) やレジスタの調査/変更を
-行ったりする手段を提供する。
-.BR ptrace ()
-は、主にブレークポイントによるデバッグやシステムコールのトレースを
-実装するのに用いられる。
-.LP
-トレースを開始するには、まず親プロセスで
-.BR fork (2)
-を呼び出す。生成された子プロセスで
-.B PTRACE_TRACEME
-を行い、続いて (典型的には)
-.BR exec (3)
-を行なう。
-別の方法としては、
-親プロセスが既存のプロセスに対して
-.B PTRACE_ATTACH
-を使用し、トレースを開始する。
-.LP
-トレースの実行中、子プロセスはシグナルが配送されるたびに、
-たとえそのシグナルが無視すべきものであっても停止する
-.RB ( SIGKILL
-は例外で、通常どおりの効果をもたらす)。
-親プロセスには次の
-.BR wait (2)
-で通知され、停止している間に子プロセスを調べたり修正したりすることができる。
-そして親プロセスは子プロセスの実行を再開させるが、配送された
-シグナルを無視することもできる (あるいは代わりに別のシグナルを
-配送することもできる) 。
-.LP
-親プロセスがトレースを終了する際には、
-.B PTRACE_KILL
-を使用して子プロセスを終了させることもできるし、
-.B PTRACE_DETACH
-を用いて通常のトレースなしのモードにして、
-実行を継続させることもできる。
-.LP
-\fIrequest\fP の値がこのシステムコールの動作を決定する:
-.TP
-.B PTRACE_TRACEME
-このプロセスが親プロセスによってトレースされることを表す。
-このプロセスに
-.RB ( SIGKILL
-以外の) シグナルが配送されると、
-プロセスは停止し、親プロセスに
-.BR wait (2)
-を通じて通知される。
-また、これ以降はこのプロセスが
-.BR execve (2)
-を呼び出す度に
-.B SIGTRAP
-が送信されるようになる。
-これによって、親プロセスは
-新しいプログラムが実行を開始する前に制御することができる。
-親プロセスが自プロセスをトレースするつもりがない場合には、
-おそらくこのプロセスは本要求を行うべきではないだろう。
-(\fIpid\fP, \fIaddr\fP, \fIdata\fP は無視される。)
-.LP
-上記の要求は子プロセスだけが行なうものである。
-残りは親プロセスだけが行なうものである。
-以下の要求では、\fIpid\fP で操作の対象となる
-子プロセスを指定する。
-.B PTRACE_KILL
-を除き、要求を行なうためには
-子プロセスは停止していなければならない。
-.TP
-.BR PTRACE_PEEKTEXT ", " PTRACE_PEEKDATA
-子プロセスのメモリの
-.I addr
-の位置から 1 ワードを読み出す。読み出したワードは
-.BR ptrace ()
-の返り値として返される。 Linux ではテキスト (text) とデータ (data) で
-同じアドレス空間を使用するため、この 2 つの要求は現在のところ
-同じものである。 (引き数 \fIdata\fP は無視される。)
-.TP
-.B PTRACE_PEEKUSER
-.\" PTRACE_PEEKUSR in kernel source, but glibc uses PTRACE_PEEKUSER,
-.\" and that is the name that seems common on other systems.
-子プロセスの USER 領域のオフセット
-.I addr
-の位置から 1 ワードを読み込む。USER 領域にはそのプロセスの
-レジスタ (registers) などの情報が保持されている
-(\fI<sys/user.h>\fP を参照)。読み込んだワードは
-.BR ptrace ()
-コールの結果として返される。
-たいていはオフセットはワード境界になければならないが、
-アーキテクチャによってはその必要はない。
-「注意」の節を参照。
-(\fIdata\fP は無視される。 )
-.TP
-.BR PTRACE_POKETEXT ", " PTRACE_POKEDATA
-ワード
-.I data
-を子プロセスのメモリの
-.I addr
-の位置へコピーする。上と同様に、現在のところ二つの
-要求は同じものである。
-.TP
-.B PTRACE_POKEUSER
-.\" PTRACE_POKEUSR in kernel source, but glibc uses PTRACE_POKEUSER,
-.\" and that is the name that seems common on other systems.
-ワード
-.I data
-を子プロセスの USER 領域のオフセット
-.I addr
-の位置にコピーする。
-上と同様に、通常、オフセットはワード境界になければならない。
-カーネルの完全性 (integrity) を維持するため、
-変更内容によっては USER 領域の変更は禁止されている。
-.TP
-.BR PTRACE_GETREGS ", " PTRACE_GETFPREGS
-それぞれ、子プロセスの汎用レジスタ、浮動小数点レジスタを親プロセスの
-\fIdata\fP の位置にコピーする。この data の書式に関しては
-\fI<sys/user.h>\fP を参照すること。(\fIaddr\fP は無視される。)
-.TP
-.BR PTRACE_GETSIGINFO " (Linux 2.3.99-pre6 以降)"
-停止の原因となったシグナルに関する情報を取得する。
-\fIsiginfo_t\fP 構造体
-.RB ( sigaction (2)
-参照) を子プロセスから親プロセスの \fIdata\fP の位置にコピーする。
-(\fIaddr\fP は無視される。)
-.TP
-.BR PTRACE_SETREGS ", " PTRACE_SETFPREGS
-それぞれ、子プロセスの汎用レジスタ、浮動小数点レジスタに
-親プロセスの \fIdate\fP の位置からコピーする。
-.B PTRACE_POKEUSER
-と同様に、汎用レジスタによっては
-変更が禁止されている場合がある。 (\fIaddr\fP は無視される。)
-.TP
-.BR PTRACE_SETSIGINFO " (Linux 2.3.99-pre6 以降)"
-シグナル情報を設定する。
-\fIsiginfo_t\fP 構造体を親プロセスのデータ \fIdata\fP の位置から
-子プロセスにコピーする。
-この処理を行うことができるのは、子プロセスに通常は配送されるはずで
-トレーサに捕捉されたシグナルについてだけである。
-これらの通常のシグナルと
-.BR ptrace ()
-自身が発生するシグナルを見分けるのは難しいかもしれない。
-(\fIaddr\fP は無視される。)
-.TP
-.BR PTRACE_SETOPTIONS " (Linux 2.4.6 以降; バグの章にある警告も参照)"
-親プロセスの \fIdata\fP に基づいて ptrace のオプションを設定する
-(\fIaddr\fP は無視される)。
-\fIdata\fP はオプションのビットマスクとして解釈され、
-オプションには以下のフラグを指定できる:
-.RS
-.TP
-.BR PTRACE_O_TRACESYSGOOD " (Linux 2.4.6 以降)"
-システムコールのトラップが配送されたときに、シグナル番号のビット 7
-を設定する (すなわち、\fISIGTRAP | 0x80\fP を配送する)。
-これにより、トレーサが通常のトラップとシステムコールによるトラップを
-区別しやすくなる。
-.RB ( PTRACE_O_TRACESYSGOOD
-はどのアーキテクチャでも動作しない可能性がある。)
-.TP
-.BR PTRACE_O_TRACEFORK " (Linux 2.5.46 以降)"
-次の
-.BR fork (2)
-呼び出し時に \fISIGTRAP | PTRACE_EVENT_FORK\ <<\ 8\fP で
-子プロセスの動作を停止させ、
-新たに fork されたプロセスのトレースを自動的に開始し、
-.B SIGSTOP
-でそのプロセスの実行を開始する。
-新しいプロセスの PID は
-.B PTRACE_GETEVENTMSG
-で取得できる。
-.TP
-.BR PTRACE_O_TRACEVFORK " (Linux 2.5.46 以降)"
-次の
-.BR vfork (2)
-呼び出し時に \fISIGTRAP | PTRACE_EVENT_VFORK\ <<\ 8\fP で
-子プロセスの動作を停止させ、
-新たに vfork されたプロセスのトレースを自動的に開始し、
-.B SIGSTOP
-でそのプロセスの実行を開始する。
-新しいプロセスの PID は
-.B PTRACE_GETEVENTMSG
-で取得できる。
-.TP
-.BR PTRACE_O_TRACECLONE " (Linux 2.5.46 以降)"
-次の
-.BR clone (2)
-呼び出し時に \fISIGTRAP | PTRACE_EVENT_CLONE\ << \8\fP で
-子プロセスの動作を停止させ、
-新たに clone で作成されたプロセスのトレースを自動的に開始し、
-.B SIGSTOP
-でプロセスの実行を開始する。
-新しいプロセスの PID は
-.B PTRACE_GETEVENTMSG
-で取得できる。
-このオプションで全ての
-.BR clone (2)
-コールを捕まえられるわけではない。
-子プロセスが
-.B CLONE_VFORK
-フラグ付きで
-.BR clone (2)
-を呼び出した場合、
-.B PTRACE_O_TRACEVFORK
-が設定されていれば代わりに
-.B PTRACE_EVENT_VFORK
-が配送される。
-また、子プロセスが終了シグナルを
-.B SIGCHLD
-に設定して
-.BR clone (2)
-を呼び出した場合は、
-.B PTRACE_O_TRACEFORK
-が設定されていれば
-.B PTRACE_EVENT_FORK
-が配送される。
-.TP
-.BR PTRACE_O_TRACEEXEC " (Linux 2.5.46 以降)"
-次の
-.BR execve (2)
-呼び出し時に
-\fISIGTRAP | PTRACE_EVENT_EXEC\ <<\ 8\fP
-で子プロセスの動作を停止させる。
-.TP
-.BR PTRACE_O_TRACEVFORKDONE " (Linux 2.5.60 以降)"
-次の
-.BR vfork (2)
-呼び出し時に
-\fISIGTRAP | PTRACE_EVENT_VFORK_DONE\ <<\ 8\fP
-で子プロセスの動作を停止させる。
-.TP
-.BR PTRACE_O_TRACEEXIT " (Linux 2.5.60 以降)"
-終了 (exit) 時に \fISIGTRAP | PTRACE_EVENT_EXIT\ <<\ 8\fP
-で子プロセスの動作を停止させる。子プロセスの終了ステータスは
-.B PTRACE_GETEVENTMSG
-で取得できる。
-この停止はレジスタがまだ参照可能であるプロセス終了処理の初期に行われ、
-トレーサはどこで終了が発生したかを知ることができる。
-通常の終了通知 (exit notification) はプロセスの終了処理が完了した後に
-行われる。コンテキストを参照することはできるにも関わらず、
-トレーサはこの時点から終了を止めることはできない。
-.RE
-.TP
-.BR PTRACE_GETEVENTMSG " (Linux 2.5.46 以降)"
-発生したばかりの ptrace イベントに関するメッセージを
-.RI ( "unsigned long"
-型で) 取得する。
-取得したメッセージは親プロセスの \fIdata\fP の位置に格納される。
-得られる内容は、
-.B PTRACE_EVENT_EXIT
-の場合は子プロセスの終了ステータスであり、
-.BR PTRACE_EVENT_FORK ,
-.BR PTRACE_EVENT_VFORK ,
-.B PTRACE_EVENT_CLONE
-の場合は新しいプロセスの PID である。
-Linux 2.6.18 以降では、新しいプロセスの PID は
-.B PTRACE_EVENT_VFORK_DONE
-で入手できる。
-(\fIaddr\fP は無視される。)
-.TP
-.B PTRACE_CONT
-停止した子プロセスの実行を再開させる。
-\fIdata\fP がゼロでなく、
-.B SIGSTOP
-でもなければ、
-子プロセスに配送されるシグナルと解釈される。
-ゼロや
-.B SIGSTOP
-の場合はシグナルは配送されない。
-これを使うと、例えば、親プロセスは
-子プロセスに送られたシグナルを実際に配送するかどうかを
-制御することができる。(\fIaddr\fP は無視される。)
-.TP
-.BR PTRACE_SYSCALL ", " PTRACE_SINGLESTEP
-.B PTRACE_CONT
-と同様に停止した子プロセスを再開する。ただし、
-.B PTRACE_SYSCALL
-の場合は子プロセスが
-次にシステムコールに入るかシステムコールから抜けるかする時に、
-.B PTRACE_SINGLESTEP
-の場合は 1 命令 (instruction) 実行した後に停止させる
-(通常どおり、子プロセスはシグナルを受け取った場合にも停止する)。
-親プロセスから見ると、子プロセスは
-.B SIGTRAP
-を受信して停止したように見える。そのため、例えば
-.B PTRACE_SYSCALL
-を使うと、1回目の停止で引き数を調べて
-.B PTRACE_SYSCALL
-を実行し、 2回目の停止でシステムコールの返り値を調べる、
-というようなことができる。
-引き数
-.I data
-は
-.B PTRACE_CONT
-の場合と同じ様に解釈される。
-(\fIaddr\fP は無視される。)
-.TP
-.BR PTRACE_SYSEMU ", " PTRACE_SYSEMU_SINGLESTEP " (Linux 2.6.14 以降)"
-.B PTRACE_SYSEMU
-は、実行を再開し、次のシステムコールに入る時に停止させる。
-システムコールは実行されない。
-.B PTRACE_SYSEMU_SINGLESTEP
-も同様だが、システムコールでない場合には
-1 命令 (singlestep) だけ実行した時点でも停止させる。
-このコールは User Mode Linux のように子プロセスのシステムコールを全て
-エミュレートしようとするプログラムで使用される。
-引き数
-.I data
-は
-.B PTRACE_CONT
-の場合と同じ様に解釈される。
-(\fIaddr\fP は無視される。
-全てのアーキテクチャでサポートされているわけではない。)
-.TP
-.B PTRACE_KILL
-子プロセスに
-.B SIGKILL
-を送り終了させる。(\fIaddr\fP と \fIdata\fP は無視される。)
-.TP
-.B PTRACE_ATTACH
-.I pid
-で指定されたプロセスに接続 (attach) し、それを呼び出し元のプロセスの
-子プロセスとしてトレースできるようにする。子プロセスは
-.B PTRACE_TRACEME
-したかのように振舞う。呼び出し元のプロセスはそのほとんどの目的において、
-その子プロセスの実際の親になる (例えば、子プロセスのイベントの
-通知を受けとったり、
-.BR ps (1)
-で親として表示されたりする)。しかし、子プロセスで
-.BR getppid (2)
-を実行した場合には元の親プロセスの PID が返される。
-子プロセスには
-.B SIGSTOP
-が送られるが、この呼び出しが完了するまでに
-必ずしも停止するとは限らない。子プロセスの停止を待つには
-.BR wait (2)
-を使用すること。(\fIaddr\fP と \fIdata\fP は無視される。)
-.TP
-.B PTRACE_DETACH
-.B PTRACE_CONT
-と同様に停止した子プロセスを再開する。ただし
-まずそのプロセスからの分離 (detach) を行い、
-.B PTRACE_ATTACH
-での親の切り換えによる効果と
-.B PTRACE_TRACEME
-の効果を取り消す。意図したものではないだろうが、
-Linux では、トレースされている子プロセスはどのような方法でトレースを
-開始されたとしても、この方法で分離 (detach) することができる。
-(\fIaddr\fP は無視される。)
-.SH 返り値
-成功すると、
-.B PTRACE_PEEK*
-の場合は要求したデータを返し、
-それ以外の場合は 0 を返す。
-エラーの場合は \-1 を返し、
-.I errno
-が適切に設定される。
-.B PTRACE_PEEK*
-が成功して返す値も \-1 になることがあるため、
-そのような要求の場合には、呼び出し元は
-.I errno
-を調べ、エラーか発生したのかどうかを判断しなければならない。
-.SH エラー
-.TP
-.B EBUSY
-(i386 のみ) デバッグレジスタの確保または解放でエラーが発生した。
-.TP
-.B EFAULT
-親プロセスまたは子プロセスのメモリの不正な領域に読み書きしようとした。
-おそらくその領域がマッピングされていないか、
-その領域へのアクセスが許されていないかである。
-不運なことに、Linux ではこのようなエラーの場合、多かれ少なかれ
-恣意的に
-.B EIO
-を返したり
-.B EFAULT
-を返したりすることがある。
-.TP
-.B EINVAL
-不正なオプションを設定しようとした。
-.TP
-.B EIO
-\fIrequest\fP が不正である。
-または、親プロセスまたは子プロセスのメモリの
-不正な領域に読み書きしようとした。
-または、ワード境界違反があった。
-または、実行再開の要求で不正なシグナルを指定した。
-.TP
-.B EPERM
-指定したプロセスをトレースすることができない。これは親プロセスが
-必要な権限 (必要なケーパビリティは
-.BR CAP_SYS_PTRACE )
-を持っていないことが原因の場合がある。
-分かりやすい理由を挙げるなら、
-非特権プロセスはシグナルを送ることができないプロセスをトレースできないし、
-set-user-ID/set-group-ID プログラムを実行しているプロセスはトレースできない。
-または、プロセスはすでにトレース中である、
-または
-.BR init (8)
-プロセス (PID が 1) である。
-.TP
-.B ESRCH
-指定したプロセスが存在しない。
-または、指定したプロセスは呼び出したプロセスが
-現在トレース中の子プロセスではない。
-または、指定したプロセスが停止していない (停止していることが必要な要求の場合)。
-.SH 準拠
-SVr4, 4.3BSD.
-.SH 注意
-.BR ptrace ()
-の引き数は上のようなプロトタイプに基づいて解釈されるが、
-glibc では、現在のところ
-.BR ptrace ()
-は \fIrequest\fP 引き数だけが固定の可変長引き数関数として
-宣言されている。
-これは必要なければ残りの引き数は省略可能であることを意味するが、
-それは
-.BR gcc (1)
-の明文化されていない動作を利用していることになる。
-.LP
-.BR init (8)
-すなわち PID が 1 のプロセスはトレースすることができない。
-.LP
-メモリや USER 領域の内容や配置は OS ごと、アーキテクチャごとに
-非常に依存する。
-オフセットが指定された場合、返されるデータは
-.I "struct user"
-の定義と完全に一致しないこともありえる。
-.\" http://lkml.org/lkml/2008/5/8/375 参照。
-.LP
-「ワード (word) 」の大きさは OS によって決まる。
-(例えば、32 ビットの Linux では 32 ビットである、など。)
-.LP
-トレースすることによってトレースされるプロセスの動作に些細な違いが
-起こることがある。例えば、プロセスが
-.B PTRACE_ATTACH
-によって接続された場合には、そのプロセスが停止した時でも本来の親は
-.BR wait (2)
-を使って通知を受けることができず、新しい親が効率よく
-この通知を真似る方法もない。
-.LP
-親プロセスが
-.B PTRACE_EVENT_*
-がセットされたイベントを受信した場合、
-子プロセスは通常通りのシグナル配送が行われる状態にない。
-つまり、親プロセスが、
-シグナルにより
-.BR ptrace (PTRACE_CONT)
-を行ったり、
-.BR ptrace (PTRACE_KILL)
-を行ったりできないということである。
-こららのメッセージの受信後は、子プロセスを終了 (kill) するのに、
-シグナル
-.B SIGKILL
-を指定して
-.BR kill (2)
-を行う方法を代わりに使用できる。
-.LP
-このマニュアルは現在の Linux における
-.BR ptrace ()
-コールの動作について記述している。他の UNIX では
-その動作は著しく異なる。
-いかなる場合も
-.BR ptrace ()
-を使うと OS やアーキテクチャに非常に依存したものになる。
-.LP
-SunOS のマニュアル・ページには
-.BR ptrace ()
-は「独特で不可解」と記述されており、まさしくそうである。
-Solaris 2 では proc ベースの
-デバッグのインターフェースとして
-.BR ptrace ()
-の上位互換関数が実装され、より強力で一貫性のあるものとなっている。
-.SH バグ
-カーネル 2.6 のヘッダがインストールされたホストでは、
-.B PTRACE_SETOPTIONS
-はカーネル 2.4 のヘッダとは異なる値で宣言される。
-このため、カーネル 2.6 のヘッダでコンパイルされたアプリケーションは
-カーネル 2.4 では正しく動作しない。
-この問題は、
-.B PTRACE_SETOPTIONS
-が定義されていた際は、
-.B PTRACE_SETOPTIONS
-を
-.B PTRACE_OLDSETOPTIONS
-に定義し直すことで対処できる。
-.SH 関連項目
-.BR gdb (1),
-.BR strace (1),
-.BR execve (2),
-.BR fork (2),
-.BR signal (2),
-.BR wait (2),
-.BR exec (3),
-.BR capabilities (7)
diff --git a/release/man2/quotactl.2 b/release/man2/quotactl.2
deleted file mode 100644 (file)
index 059c203..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-.\" Hey Emacs! This file is -*- nroff -*- source.
-.\"
-.\" Copyright (C) 1996 Andries Brouwer (aeb@cwi.nl)
-.\"
-.\" Permission is granted to make and distribute verbatim copies of this
-.\" manual provided the copyright notice and this permission notice are
-.\" preserved on all copies.
-.\"
-.\" Permission is granted to copy and distribute modified versions of this
-.\" manual under the conditions for verbatim copying, provided that the
-.\" entire resulting derived work is distributed under the terms of a
-.\" permission notice identical to this one.
-.\"
-.\" Since the Linux kernel and libraries are constantly changing, this
-.\" manual page may be incorrect or out-of-date.  The author(s) assume no
-.\" responsibility for errors or omissions, or for damages resulting from
-.\" the use of the information contained herein.  The author(s) may not
-.\" have taken the same level of care in the production of this manual,
-.\" which is licensed free of charge, as they might when working
-.\" professionally.
-.\"
-.\" Formatted or processed versions of this manual, if unaccompanied by
-.\" the source, must acknowledge the copyright and authors of this work.
-.\"
-.\" FIXME There is much that is missing and/or out of date in this page.
-.\" (There is a quotactl.2 page in the quotactl package that seems to
-.\" have more info than this page.)
-.\" As things stand the page more or less documents Linux 2.2 reality:
-.\"
-.\" Linux 2.2 has:
-.\"
-.\"    Q_GETQUOTA
-.\"    Q_GETSTATS
-.\"    Q_QUOTAOFF
-.\"    Q_QUOTAON
-.\"    Q_RSQUASH (not currently documented)
-.\"    Q_SETQLIM
-.\"    Q_SETQUOTA
-.\"    Q_SETUSE
-.\"    Q_SYNC
-.\"
-.\" Linux 2.4 has:
-.\"
-.\"    Q_COMP_QUOTAOFF
-.\"    Q_COMP_QUOTAON
-.\"    Q_COMP_SYNC
-.\"    Q_GETFMT
-.\"    Q_GETINFO
-.\"    Q_GETQUOTA
-.\"    Q_QUOTAOFF
-.\"    Q_QUOTAON
-.\"    Q_SETINFO
-.\"    Q_SETQUOTA
-.\"    Q_SYNC
-.\"    Q_V1_GETQUOTA Q_V1_GETSTATS Q_V1_RSQUASH Q_V1_SETQLIM
-.\"    Q_V1_SETQUOTA Q_V1_SETUSE
-.\"    Q_V2_GETINFO Q_V2_GETQUOTA Q_V2_SETFLAGS Q_V2_SETGRACE
-.\"    Q_V2_SETINFO Q_V2_SETQUOTA Q_V2_SETUSE
-.\"    Q_XGETQSTAT Q_XGETQUOTA Q_XQUOTAOFF Q_XQUOTAON Q_XQUOTARM
-.\"    Q_XSETQLIM
-.\"
-.\" Linux 2.6.16 has:
-.\"
-.\"    Q_GETFMT
-.\"    Q_GETINFO
-.\"    Q_GETQUOTA
-.\"    Q_QUOTAOFF
-.\"    Q_QUOTAON
-.\"    Q_SETINFO
-.\"    Q_SETQUOTA
-.\"    Q_SYNC
-.\"    Q_XGETQSTAT
-.\"    Q_XGETQUOTA
-.\"    Q_XQUOTAOFF
-.\"    Q_XQUOTAON
-.\"    Q_XQUOTARM
-.\"    Q_XQUOTASYNC
-.\"    Q_XSETQLIM
-.\"
-.\" Japanese Version Copyright (c) 1997 Kazuyoshi Furutaka
-.\"         all rights reserved.
-.\" Translated Sun Dec 21 21:58:06 JST 1997
-.\"         by Kazuyoshi Furutaka <furutaka@jb3.so-net.or.jp>
-.\" Modified Wed Dec 24 22:17:00 JST 1997
-.\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\" Updated & Modified Thu Feb 24 02:50:48 JST 2005
-.\"         by Yuichi SATO <ysato444@yahoo.co.jp>
-.\"
-.TH QUOTACTL 2 2007-06-01 "Linux" "Linux Programmer's Manual"
-.SH 名前
-quotactl \- ディスク quota を操作する
-.SH 書式
-.nf
-.B #include <sys/types.h>
-.br
-.B #include <sys/quota.h>
-.sp
-.BI "int quotactl(int " cmd ", const char *" special ", int " id \
-", caddr_t " addr );
-.fi
-.SH 説明
-quota システムは、各々のユーザ及び/またはグループに対して、
-ソフト・リミット及びハード・リミットを定める。これはあるファイル・システムで
-使用する事が出来るディスク容量を制限する。
-ハード・リミットは超過することは出来ない。
-ソフト・リミットは超過する事が出来るが、警告が発せられる。
-更に、(デフォルトでは) 一週間以上ソフト・リミットを超過したままに
-しておく事はできない: 一週間経過した後はハード・リミットを超過したと
-みなされる。
-
-.BR quotactl ()
-システムコールはこれらの quota に対する操作を行なう。
-最初の引き数は
-.BI QCMD( subcmd , type )
-という形式である。
-.I type
-には、ユーザー quota については
-.B USRQUOTA
-を、グループ quota については
-.B GRPQUOTA
-を指定する。
-.I subcmd
-は以下で説明する。
-
-二番目の引き数
-.I special
-は quota を適用するデバイスのブロック・スペシャル・ファイルである。
-そのデバイスはマウントされていなくてはならない。
-
-三番目の引き数
-.I id
-には、(必要な場合に) quota を適用するユーザーもしくはグループの ID を指定する。
-
-四番目の引き数
-.I addr
-には、コマンドごとに異ったデータ構造体のアドレスを指定する。
-
-.I subcmd
-は以下のいずれかである
-.TP 1.1i
-.B Q_QUOTAON
-quota を有効にする。
-.I addr
-引き数には、そのファイル・システムの quota が記録されているファイルの
-パス名を指定する。
-.TP
-.B Q_QUOTAOFF
-quota を無効にする。
-.TP
-.B Q_GETQUOTA
-ディスク使用量の制限値と現在の使用量を得る。
-.I addr
-引き数は
-.RI ( <sys/quota.h>
-で定義された) dqblk 構造体を指すポインタである。
-.TP
-.B Q_SETQUOTA
-制限値と現在の使用量を設定する:
-.I addr
-は同上。
-.TP
-.B Q_SETQLIM
-制限値を設定する;
-.I addr
-は同上。
-.TP
-.B Q_SETUSE
-使用量を設定する。
-.TP
-.B Q_SYNC
-ファイル・システムの quota ファイルをディスクと同期させる。
-.TP
-.B Q_GETSTATS
-収集された統計を取得する。
-.SH 返り値
-.BR quotactl ()
-は、成功時には 0 を返す。エラー時は、\-1 を返すとともに、
-.I errno
-が適切な値に設定される。
-.SH エラー
-.TP 0.9i
-.B EACCES
-quota ファイルが普通のファイルではない。
-.TP
-.B EBUSY
-.B Q_QUOTAON
-の要求がなされたが、quota(s) は既に有効になっている。
-.TP
-.B EFAULT
-.I addr
-の値に誤りがある。
-.TP
-.B EINVAL
-.I type
-が既知の quota の形式ではない。もしくは、
-.I special
-デバイスが見付からなかった。
-.TP
-.B EIO
-quota ファイルへの読み書きが出来ない。
-.TP
-.B EMFILE
-ファイルをオープンしすぎている: quota ファイルをオープン出来ない。
-.TP
-.B ENODEV
-.I special
-がマウント・テーブル内に見当たらない。
-.TP
-.B ENOPKG
-quota を使用可にしてカーネルをコンパイルしていない。
-.TP
-.B ENOTBLK
-.I special
-がブロック・スペシャル・デバイスではない。
-.TP
-.B EPERM
-プロセスが (そのファイル・システムの) root のものではなく、
-かつプロセス自身のものとは異なる
-.I id
-に対して
-.B Q_GETQUOTA
-要求を行なった。
-もしくは、
-.BR Q_GETSTATS ,
-.B Q_SYNC
-以外の要求がなされた。
-.TP
-.B ESRCH
-quota が有効になっていないファイル・システムに対して
-.BR Q_GETQUOTA ,
-.BR Q_SETQUOTA ,
-.BR Q_SETUSE ,
-.B Q_SETQLIM
-のいずれかの要求がなされた。
-.SH 準拠
-BSD.
-.SH 関連項目
-.BR quota (1),
-.BR getrlimit (2),
-.BR setrlimit (2),
-.BR ulimit (3),
-.BR quotacheck (8),
-.BR quotaon (8)
index 95debad..95343f6 100644 (file)
 .\"     added to the mainline kernel.
 .\" 2008-05-07, mtk; Rewrote and restructured various parts of the page to
 .\"     improve readability.
+.\" 2010-06-19, mtk, documented SCHED_RESET_ON_FORK
 .\"
 .\" Worth looking at: http://rt.wiki.kernel.org/index.php
 .\"
-.\" FIXME: 2.6.32 added SCHED_RESET_ON_FORK
+.\"*******************************************************************
 .\"
-.\" Japanese Version Copyright (c) 1996 Akira Yoshiyama
-.\"         all rights reserved.
-.\" Translated Thu Jul 11 01:42:52 JST 1996
-.\"         by Akira Yoshiyama <yosshy@jedi.seg.kobe-u.ac.jp>
-.\" Modified Sun Nov 21 19:36:18 JST 1999
-.\"         by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\" Updated Wed Jan  1 JST 2003 by Kentaro Shirakata <argrath@ub32.org>
-.\" Updated 2005-02-24, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated & Modified 2005-10-10, Akihiro MOTOKI
-.\" Updated 2006-04-16, Akihiro MOTOKI, Catch up to LDP v2.28
-.\" Updated 2007-10-13, Akihiro MOTOKI, LDP v2.65
-.\" Updated 2008-08-13, Akihiro MOTOKI, LDP v3.05
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.\"WORD:       privileges              特権
-.\"WORD:       resource limit          リソース制限
-.\"WORD:       scheduling policy       スケジューリング・ポリシー
-.\"
-.TH SCHED_SETSCHEDULER 2 2008-11-06 "Linux" "Linux Programmer's Manual"
+.\"*******************************************************************
+.TH SCHED_SETSCHEDULER 2 2011\-09\-19 Linux "Linux Programmer's Manual"
 .SH 名前
-sched_setscheduler, sched_getscheduler \-
-スケジューリング・ポリシーとパラメータを設定/取得する
+sched_setscheduler, sched_getscheduler \- スケジューリング・ポリシーとパラメータを設定/取得する
 .SH 書式
 .nf
-.B #include <sched.h>
+\fB#include <sched.h>\fP
 .sp
-.BI "int sched_setscheduler(pid_t " pid ", int " policy ,
+\fBint sched_setscheduler(pid_t \fP\fIpid\fP\fB, int \fP\fIpolicy\fP\fB,\fP
 .br
-.BI "                       const struct sched_param *" param );
+\fB                       const struct sched_param *\fP\fIparam\fP\fB);\fP
 .sp
-.BI "int sched_getscheduler(pid_t " pid );
+\fBint sched_getscheduler(pid_t \fP\fIpid\fP\fB);\fP
 .sp
 \fBstruct sched_param {
     ...
-    int \fIsched_priority\fB;
+    int \fP\fIsched_priority\fP\fB;
     ...
-};
+};\fP
 .fi
 .SH 説明
-.BR sched_setscheduler ()
-は \fIpid\fP で指定された ID を持つプロセスのスケジューリング・ポリシーや
-それに関連するパラメータを設定する。\fIpid\fP が 0 の場合は
-呼び出したプロセスのスケジューリング・ポリシーとパラメータが設定される。
-引き数 \fIparam\fP の解釈は選択されたポリシーによる。
-現在のところ、Linux では
-以下に示す「通常」(リアルタイムでない) スケジューリング・ポリシーが
-サポートされている。
-.TP 14
-.BR SCHED_OTHER
+\fBsched_setscheduler\fP()  は \fIpid\fP で指定された ID を持つプロセスのスケジューリング・ポリシーや
+それに関連するパラメータを設定する。\fIpid\fP が 0 の場合は 呼び出したプロセスのスケジューリング・ポリシーとパラメータが設定される。 引き数
+\fIparam\fP の解釈は選択されたポリシーによる。 現在のところ、Linux では 以下に示す「通常」(リアルタイムでない)
+スケジューリング・ポリシーが サポートされている。
+.TP  14
+\fBSCHED_OTHER\fP
+.\" In the 2.6 kernel sources, SCHED_OTHER is actually called
+.\" SCHED_NORMAL.
 標準の、ラウンドロビンによる時分割型のスケジューリング・ポリシー。
-.\" 2.6 カーネルソースでは、SCHED_OTHER は実際には
-.\" SCHED_NORMAL と呼ばれている。
-.TP
-.BR SCHED_BATCH
+.TP 
+\fBSCHED_BATCH\fP
 「バッチ」形式でのプロセスの実行用。
-.TP
-.BR SCHED_IDLE
+.TP 
+\fBSCHED_IDLE\fP
 「非常に」低い優先度で動作するバックグラウンド・ジョブ用。
 .PP
-どの実行可能プロセスを選択するかについて、より正確な制御を必要とする
-時間の制約が厳しい特別なアプリケーション用として、
+どの実行可能プロセスを選択するかについて、より正確な制御を必要とする 時間の制約が厳しい特別なアプリケーション用として、
 以下の「リアルタイム」ポリシーもサポートされている。
-.TP 14
-.BR SCHED_FIFO
+.TP  14
+\fBSCHED_FIFO\fP
 ファーストイン、ファーストアウト型のポリシー。
-.TP
-.BR SCHED_RR
+.TP 
+\fBSCHED_RR\fP
 ラウンドロビン型のポリシー。
 .PP
 これらのポリシーのそれぞれの動作については以下で説明する。
 
-.BR sched_getscheduler ()
-は \fIpid\fP で識別されるプロセスに現在適用されている
-スケジューリング・ポリシーを尋ねる。\fIpid\fP が 0 ならば、呼び出した
-プロセス自身のスケジューリング・ポリシーが返される。
 .\"
-.SS スケジューリング・ポリシー (scheduling policy)
-スケジューラ (scheduler) とはカーネルの構成要素で、
-次に CPU で実行される実行可能なプロセスを決定するものである。
-各々のプロセスには、スケジューリング・ポリシーと
-「静的」なスケジューリング優先度 \fIsched_priority\fP が対応付けられ、
-これらの設定は
-.BR sched_setscheduler ()
-で変更できる。
-スケジューラは、システム上の全プロセスのスケジューリング・ポリシーと
+\fBsched_getscheduler\fP()  は \fIpid\fP で識別されるプロセスに現在適用されている
+スケジューリング・ポリシーを尋ねる。\fIpid\fP が 0 ならば、呼び出した プロセス自身のスケジューリング・ポリシーが返される。
+.SS "スケジューリング・ポリシー (scheduling policy)"
+スケジューラ (scheduler) とはカーネルの構成要素で、 次に CPU で実行される実行可能なプロセスを決定するものである。
+各々のプロセスには、スケジューリング・ポリシーと 「静的」なスケジューリング優先度 \fIsched_priority\fP が対応付けられ、 これらの設定は
+\fBsched_setscheduler\fP()  で変更できる。 スケジューラは、システム上の全プロセスのスケジューリング・ポリシーと
 静的優先度に関する知識に基づいて決定を行う。
 
-通常のスケジューリング・ポリシー
-(\fBSCHED_OTHER\fP, \fBSCHED_IDLE\fP, \fBSCHED_BATCH\fP)
-の下でスケジューリングされるプロセスでは、
-\fIsched_priority\fP はスケジューリングの決定に使用されない
+通常のスケジューリング・ポリシー (\fBSCHED_OTHER\fP, \fBSCHED_IDLE\fP, \fBSCHED_BATCH\fP)
+の下でスケジューリングされるプロセスでは、 \fIsched_priority\fP はスケジューリングの決定に使用されない
 (\fIsched_priority\fP には 0 を指定しなければならない)。
 
-リアルタイム・スケジューリング・ポリシー (\fBSCHED_FIFO\fP, \fBSCHED_RR\fP)
-の下でスケジューリングされるプロセスは、
+リアルタイム・スケジューリング・ポリシー (\fBSCHED_FIFO\fP, \fBSCHED_RR\fP)  の下でスケジューリングされるプロセスは、
 \fIsched_priority\fP の値は 1 (最低) から 99 (最高) の範囲となる
-(数字から分かるように、リアルタイム・プロセスは常に通常のプロセスよりも
-高い優先度を持つ)。
-ここで注意すべきなのは、POSIX.1-2001 が要求しているのは、
-リアルタイム・ポリシーの実装において最低 32 種類の異なる優先度レベルが
-サポートされることだけであり、いくつかのシステムではこの最低限の数の
-優先度しか提供されていない、ということである。
-移植性が必要なプログラムでは、
-.BR sched_get_priority_min (2)
-と
-.BR sched_get_priority_max (2)
+(数字から分かるように、リアルタイム・プロセスは常に通常のプロセスよりも 高い優先度を持つ)。 ここで注意すべきなのは、POSIX.1\-2001
+が要求しているのは、 リアルタイム・ポリシーの実装において最低 32 種類の異なる優先度レベルが
+サポートされることだけであり、いくつかのシステムではこの最低限の数の 優先度しか提供されていない、ということである。 移植性が必要なプログラムでは、
+\fBsched_get_priority_min\fP(2)  と \fBsched_get_priority_max\fP(2)
 を使って、あるポリシーがサポートする優先度の範囲を調べるべきである。
 
-概念としては、
-スケジューラはその \fIsched_priority\fP の値それぞれに対して
-実行可能なプロセスのリストを管理している。
-どのプロセスを次に実行するかを決定するために、
-スケジューラは静的優先度の最も高い空でないリストを探して、
-そのリストの先頭のプロセスを選択する。
+概念としては、 スケジューラはその \fIsched_priority\fP の値それぞれに対して 実行可能なプロセスのリストを管理している。
+どのプロセスを次に実行するかを決定するために、 スケジューラは静的優先度の最も高い空でないリストを探して、 そのリストの先頭のプロセスを選択する。
 
-各プロセスのスケジューリング・ポリシーは、
-そのプロセスが同じ静的優先度を持つプロセスのリストの中のどこに挿入され、
+各プロセスのスケジューリング・ポリシーは、 そのプロセスが同じ静的優先度を持つプロセスのリストの中のどこに挿入され、
 このリストの中をどのように移動するかを決定する。
 
-全てのスケジューリングはプリエンプティブ (preemptive) である:
-より高い優先度のプロセスが実行可能になると、現在実行中のプロセスは実行権を
-取り上げられ (preempted)、そのプロセスの静的優先度レベルの待ちリストに
-戻される。スケジューリング・ポリシーは同じ静的優先度を持つ実行可能な
+全てのスケジューリングはプリエンプティブ (preemptive) である: より高い優先度のプロセスが実行可能になると、現在実行中のプロセスは実行権を
+取り上げられ (preempted)、そのプロセスの静的優先度レベルの待ちリストに 戻される。スケジューリング・ポリシーは同じ静的優先度を持つ実行可能な
 プロセスのリストの中で順番のみを決定する。
-.SS SCHED_FIFO: ファーストイン・ファーストアウト・スケジューリング
-\fBSCHED_FIFO\fP は 0 より大きな静的優先度でのみ使用できる。このポリシーでは、
-\fBSCHED_FIFO\fP プロセスが実行可能になった場合、
-そのポリシーが \fBSCHED_OTHER\fP、 \fBSCHED_BATCH\fP、 \fBSCHED_IDLE\fP の
-現在実行中のプロセスは直ちに実行権を取り上げられる。
-\fBSCHED_FIFO\fP は時分割のない単純なスケジューリング・アルゴリズムである。
-\fBSCHED_FIFO\fP ポリシーでスケジューリングされているプロセスには以下の
-ルールが適用される:
+.SS "SCHED_FIFO: ファーストイン・ファーストアウト・スケジューリング"
+\fBSCHED_FIFO\fP は 0 より大きな静的優先度でのみ使用できる。このポリシーでは、 \fBSCHED_FIFO\fP
+プロセスが実行可能になった場合、 そのポリシーが \fBSCHED_OTHER\fP、 \fBSCHED_BATCH\fP、 \fBSCHED_IDLE\fP の
+現在実行中のプロセスは直ちに実行権を取り上げられる。 \fBSCHED_FIFO\fP は時分割のない単純なスケジューリング・アルゴリズムである。
+\fBSCHED_FIFO\fP ポリシーでスケジューリングされているプロセスには以下の ルールが適用される:
 .IP * 3
-より高い優先度の他のプロセスによって取って代わられた
-\fBSCHED_FIFO\fP プロセスはその優先度のリストの先頭に留まり続け、
+より高い優先度の他のプロセスによって取って代わられた \fBSCHED_FIFO\fP プロセスはその優先度のリストの先頭に留まり続け、
 より高い優先度のプロセス全てが停止 (block) した場合に実行を再開する。
 .IP *
-\fBSCHED_FIFO\fP プロセスが実行可能になった時、その優先度のリストの最後
-に挿入される。
+\fBSCHED_FIFO\fP プロセスが実行可能になった時、その優先度のリストの最後 に挿入される。
 .IP *
-.BR sched_setscheduler ()
-や
-.BR sched_setparam (2)
-は
-\fIpid\fP で指定された \fBSCHED_FIFO\fP (または \fBSCHED_RR\fP) プロセスが
-実行可能な場合、リストの最初に置く。
-結果として、もし優先度が同じだった場合、
-現在実行中のプロセスに先んじるかもしれない。
-(POSIX.1-2001 ではプロセスはリストの最後に行くべきと規定されている。)
 .\" In 2.2.x and 2.4.x, the process is placed at the front of the queue
 .\" In 2.0.x, the Right Thing happened: the process went to the back -- MTK
+\fBsched_setscheduler\fP()  や \fBsched_setparam\fP(2)  は \fIpid\fP で指定された
+\fBSCHED_FIFO\fP (または \fBSCHED_RR\fP) プロセスが 実行可能な場合、リストの最初に置く。
+結果として、もし優先度が同じだった場合、 現在実行中のプロセスに先んじるかもしれない。 (POSIX.1\-2001
+ではプロセスはリストの最後に行くべきと規定されている。)
 .IP *
-.BR sched_yield (2)
-を呼び出したプロセスはリストの最後に置かれる。
+\fBsched_yield\fP(2)  を呼び出したプロセスはリストの最後に置かれる。
 .PP
-その他のイベントによって \fBSCHED_FIFO\fP ポリシーで
-スケジューリングされるプロセスが同じ優先度の実行可能な
+その他のイベントによって \fBSCHED_FIFO\fP ポリシーで スケジューリングされるプロセスが同じ優先度の実行可能な
 プロセスの待ちリストの中を移動することはない。
 
-\fBSCHED_FIFO\fP プロセスは I/O 要求によって停止するか、
-より高い優先度のプロセスによって置きかえられるか、
-.BR sched_yield (2)
-を呼び出すまで実行を続ける。
-.SS SCHED_RR: ラウンド・ロビン (round robin) ・スケジューリング
-\fBSCHED_RR\fP は \fBSCHED_FIFO\fP の単純な拡張である。
-上述された \fBSCHED_FIFO\fP に関する記述は全て \fBSCHED_RR\fP に
-適用できる。異なるのはそれぞれのプロセスは最大時間単位までしか実行できない
-ということである。\fBSCHED_RR\fP プロセスが時間単位と同じかそれより
-長い時間実行されると、その優先度のリストの最後に置かれる。
-より高い優先度のプロセスによって置きかえられ、その後実行を再開した
-\fBSCHED_RR\fP プロセスは、そのラウンド・ロビン時間単位を完全に使い切る
-まで実行される。その時間単位の長さは
-.BR sched_rr_get_interval (2)
-を使って取得できる。
+\fBSCHED_FIFO\fP プロセスは I/O 要求によって停止するか、 より高い優先度のプロセスによって置きかえられるか、
+\fBsched_yield\fP(2)  を呼び出すまで実行を続ける。
+.SS "SCHED_RR: ラウンドロビン (round robin) ・スケジューリング"
 .\" On Linux 2.4, the length of the RR interval is influenced
 .\" by the process nice value -- MTK
 .\"
-.SS SCHED_OTHER: Linux のデフォルトの時分割スケジューリング
-\fBSCHED_OTHER\fP は静的優先度 0 でのみ使用できる。
-\fBSCHED_OTHER\fP は Linux 標準の時分割スケジューラで、
-特別なリアルタイム機構を必要としていない全てのプロセスで使用される。
-実行するプロセスは、静的優先度 0 のリストから、このリストの中だけで
-決定される「動的な」優先度 (dynamic priority) に基いて決定される。
-動的な優先度は
-.RB ( nice (2)
-や
-.BR setpriority (2)
-により設定される) nice 値に基づいて決定されるもので、
-単位時間毎に、プロセスが実行可能だが、スケジューラにより実行が拒否された
-場合にインクリメントされる。
-これにより、全ての \fBSCHED_OTHER\fP プロセスでの公平性が保証される。
+\fBSCHED_RR\fP は \fBSCHED_FIFO\fP の単純な拡張である。 上述された
+\fBSCHED_FIFO\fP に関する記述は全て \fBSCHED_RR\fP に 適用できる。異なるのは
+それぞれのプロセスは最大時間単位までしか実行できない ということである。
+\fBSCHED_RR\fP プロセスが時間単位と同じかそれより 長い時間実行されると、
+その優先度のリストの最後に置かれる。 より高い優先度のプロセスによって
+置きかえられ、その後実行を再開した \fBSCHED_RR\fP プロセスは、そのラウンド
+ロビン時間単位を完全に使い切る まで実行される。その時間単位の長さは
+\fBsched_rr_get_interval\fP(2) を使って取得できる。
+.SS "SCHED_OTHER: Linux のデフォルトの時分割スケジューリング"
 .\"
-.SS SCHED_BATCH: バッチプロセスのスケジューリング
-(Linux 2.6.16 以降)
-\fBSCHED_BATCH\fP は静的優先度 0 でのみ使用できる。
-このポリシーは (nice 値に基づく) 動的な優先度にしたがってプロセスの
-スケジューリングが行われるという点で、\fBSCHED_OTHER\fP に似ている。
-異なるのは、このポリシーでは、プロセスが常に CPU に負荷のかかる (CPU-intensive)
-処理を行うと、スケジューラが仮定する点である。
-スケジューラはプロセスを呼び起こす毎にそのプロセスにスケジューリング上の
-ペナルティを少し課し、その結果、このプロセスはスケジューリングの決定で
+\fBSCHED_OTHER\fP は静的優先度 0 でのみ使用できる。 \fBSCHED_OTHER\fP は Linux 標準の時分割スケジューラで、
+特別なリアルタイム機構を必要としていない全てのプロセスで使用される。 実行するプロセスは、静的優先度 0 のリストから、このリストの中だけで
+決定される「動的な」優先度 (dynamic priority) に基いて決定される。 動的な優先度は (\fBnice\fP(2)  や
+\fBsetpriority\fP(2)  により設定される) nice 値に基づいて決定されるもので、
+単位時間毎に、プロセスが実行可能だが、スケジューラにより実行が拒否された 場合にインクリメントされる。 これにより、全ての \fBSCHED_OTHER\fP
+プロセスでの公平性が保証される。
+.SS "SCHED_BATCH: バッチプロセスのスケジューリング"
+(Linux 2.6.16 以降)  \fBSCHED_BATCH\fP は静的優先度 0 でのみ使用できる。 このポリシーは (nice 値に基づく)
+動的な優先度にしたがってプロセスの スケジューリングが行われるという点で、\fBSCHED_OTHER\fP に似ている。
+異なるのは、このポリシーでは、プロセスが常に CPU に負荷のかかる (CPU\-intensive)  処理を行うと、スケジューラが仮定する点である。
+スケジューラはプロセスを呼び起こす毎にそのプロセスにスケジューリング上の ペナルティを少し課し、その結果、このプロセスはスケジューリングの決定で
 若干冷遇されるようになる。
 
 .\" The following paragraph is drawn largely from the text that
 .\" accompanied Ingo Molnar's patch for the implementation of
 .\" SCHED_BATCH.
-このポリシーは、非対話的な処理だがその nice 値を下げたくない処理や、
-(処理のタスク間で) 余計なタスクの置き換えの原因とある対話的な処理なしで
-確定的な (deterministic) スケジューリング・ポリシーを適用したい処理に
-対して有効である。
 .\"
-.SS SCHED_IDLE: 非常に優先度の低いジョブのスケジューリング
-(Linux 2.6.23 以降)
-\fBSCHED_IDLE\fP は静的優先度 0 でのみ使用できる。
-このポリシーではプロセスの nice 値はスケジューリングに影響を与えない。
+このポリシーは、非対話的な処理だがその nice 値を下げたくない処理や、 (処理のタスク間で) 余計なタスクの置き換えの原因とある対話的な処理なしで
+確定的な (deterministic) スケジューリング・ポリシーを適用したい処理に 対して有効である。
+.SS "SCHED_IDLE: 非常に優先度の低いジョブのスケジューリング"
+(Linux 2.6.23 以降)  \fBSCHED_IDLE\fP は静的優先度 0 でのみ使用できる。 このポリシーではプロセスの nice
+値はスケジューリングに影響を与えない。
 
-非常に低い優先度でのジョブの実行を目的としたものである
-(非常に低い優先度とは、ポリシー
-.B SCHED_OTHER
-か
-.B SCHED_BATCH
+.\"
+非常に低い優先度でのジョブの実行を目的としたものである (非常に低い優先度とは、ポリシー \fBSCHED_OTHER\fP か \fBSCHED_BATCH\fP
 での nice 値 +19 よりさらに低い優先度である)。
+.SS "Resetting scheduling policy for child processes"
+Since Linux 2.6.32, the \fBSCHED_RESET_ON_FORK\fP flag can be ORed in \fIpolicy\fP
+when calling \fBsched_setscheduler\fP().  As a result of including this flag,
+children created by \fBfork\fP(2)  do not inherit privileged scheduling
+policies.  This feature is intended for media\-playback applications, and can
+be used to prevent applications evading the \fBRLIMIT_RTTIME\fP resource limit
+(see \fBgetrlimit\fP(2))  by creating multiple child processes.
+
+More precisely, if the \fBSCHED_RESET_ON_FORK\fP flag is specified, the
+following rules apply for subsequently created children:
+.IP * 3
+If the calling process has a scheduling policy of \fBSCHED_FIFO\fP or
+\fBSCHED_RR\fP, the policy is reset to \fBSCHED_OTHER\fP in child processes.
+.IP *
+If the calling process has a negative nice value, the nice value is reset to
+zero in child processes.
+.PP
+After the \fBSCHED_RESET_ON_FORK\fP flag has been enabled, it can only be reset
+if the process has the \fBCAP_SYS_NICE\fP capability.  This flag is disabled in
+child processes created by \fBfork\fP(2).
+
 .\"
+The \fBSCHED_RESET_ON_FORK\fP flag is visible in the policy value returned by
+\fBsched_getscheduler\fP()
 .SS 特権とリソース制限
-2.6.12 より前のバージョンの Linux カーネルでは、
-特権プロセス
-.RB ( CAP_SYS_NICE
-ケーパビリティを持つプロセス) だけが 0 以外の静的優先度を設定する
-(すなわち、リアルタイム・スケジューリング・ポリシーを設定する) ことができる。
-非特権プロセスができる変更は
-.B SCHED_OTHER
-ポリシーを設定することだけであり、さらにこの変更を行えるのは
-.BR sched_setscheduler ()
-の呼び出し元の実効ユーザ ID がポリシーの変更対象プロセス
-.RI ( pid
-で指定されたプロセス) の実ユーザ ID か実効ユーザ ID と
+2.6.12 より前のバージョンの Linux カーネルでは、 特権プロセス (\fBCAP_SYS_NICE\fP ケーパビリティを持つプロセス) だけが
+0 以外の静的優先度を設定する (すなわち、リアルタイム・スケジューリング・ポリシーを設定する) ことができる。 非特権プロセスができる変更は
+\fBSCHED_OTHER\fP ポリシーを設定することだけであり、さらにこの変更を行えるのは \fBsched_setscheduler\fP()
+の呼び出し元の実効ユーザ ID がポリシーの変更対象プロセス (\fIpid\fP で指定されたプロセス) の実ユーザ ID か実効ユーザ ID と
 一致する場合だけである。
 
-Linux 2.6.12 以降では、リソース制限
-.B RLIMIT_RTPRIO
-が定義されており、
-スケジューリング・ポリシーが
-.B SCHED_RR
-と
-.B SCHED_FIFO
-の場合の、非特権プロセスの静的優先度の上限を定めている。
+Linux 2.6.12 以降では、リソース制限 \fBRLIMIT_RTPRIO\fP が定義されており、 スケジューリング・ポリシーが
+\fBSCHED_RR\fP と \fBSCHED_FIFO\fP の場合の、非特権プロセスの静的優先度の上限を定めている。
 スケジューリング・ポリシーと優先度を変更する際のルールは以下の通りである。
-.IP * 2
-非特権プロセスに 0 以外の
-.B RLIMIT_RTPRIO
-ソフト・リミットが設定されている場合、
-非特権プロセスはそのプロセスのスケジューリング・ポリシーと優先度を
-変更できるが、優先度を現在の自身の優先度と
-.B RLIMIT_RTPRIO
+.IP * 3
+非特権プロセスに 0 以外の \fBRLIMIT_RTPRIO\fP ソフト・リミットが設定されている場合、
+非特権プロセスはそのプロセスのスケジューリング・ポリシーと優先度を 変更できるが、優先度を現在の自身の優先度と \fBRLIMIT_RTPRIO\fP
 ソフト・リミットの大きい方よりも高い値に設定できないという制限が課される。
 .IP *
-.B RLIMIT_RTPRIO
-ソフト・リミットが 0 の場合、優先度を下げるか、
-リアルタイムでないポリシーへ切り替えるかの変更だけが許可される。
+\fBRLIMIT_RTPRIO\fP ソフト・リミットが 0 の場合、優先度を下げるか、 リアルタイムでないポリシーへ切り替えるかの変更だけが許可される。
 .IP *
-ある非特権プロセスが別のプロセスに対してこれらの変更を行う際にも、
-同じルールが適用される。変更を行えるのは、変更を行おうとするプロセス
-の実効ユーザ ID が変更対象のプロセスの実ユーザ ID か実効ユーザ ID と
-一致している場合に限られる。
+ある非特権プロセスが別のプロセスに対してこれらの変更を行う際にも、 同じルールが適用される。変更を行えるのは、変更を行おうとするプロセス の実効ユーザ
+ID が変更対象のプロセスの実ユーザ ID か実効ユーザ ID と 一致している場合に限られる。
 .IP *
-.B SCHED_IDLE
-には特別なルールが適用され、
-このポリシーの下で動作する非特権プロセスは、リソース制限
-.B RLIMIT_RTPRIO
-の値にかかわらず自身のポリシーを変更することができない。
+.\" commit c02aa73b1d18e43cfd79c2f193b225e84ca497c8
+Special rules apply for the \fBSCHED_IDLE\fP.  In Linux kernels before 2.6.39,
+an unprivileged process operating under this policy cannot change its
+policy, regardless of the value of its \fBRLIMIT_RTPRIO\fP resource limit.  In
+Linux kernels since 2.6.39, an unprivileged process can switch to either the
+\fBSCHED_BATCH\fP or the \fBSCHED_NORMAL\fP policy so long as its nice value falls
+within the range permitted by its \fBRLIMIT_NICE\fP resource limit (see
+\fBgetrlimit\fP(2)).
 .PP
-特権プロセス
-.RB ( CAP_SYS_NICE
-ケーパビリティを持つプロセス) の場合、
-.B RLIMIT_RTPRIO
-の制限は無視される;
-古いカーネルと同じように、スケジューリング・ポリシーと優先度に対し
-任意の変更を行うことができる。
-.B RLIMIT_RTPRIO
-に関するもっと詳しい情報は
-.BR getrlimit (2)
-を参照のこと。
-.SS 応答時間 (response time)
-I/O 待ちで停止したより高い優先度のプロセスは再びスケジューリングされる
-前にいくらかの応答時間がかかる。デバイス・ドライバーを書く場合には
-.\" .BR request_irq (9)
-.\" に記述されている
-"slow interrupt" 割り込みハンドラーを使用することで
-この応答時間を劇的に減少させることができる。
+特権プロセス (\fBCAP_SYS_NICE\fP ケーパビリティを持つプロセス) の場合、 \fBRLIMIT_RTPRIO\fP の制限は無視される;
+古いカーネルと同じように、スケジューリング・ポリシーと優先度に対し 任意の変更を行うことができる。 \fBRLIMIT_RTPRIO\fP
+に関するもっと詳しい情報は \fBgetrlimit\fP(2)  を参照のこと。
+.SS "応答時間 (response time)"
+.\" as described in
+.\" .BR request_irq (9).
+I/O 待ちで停止したより高い優先度のプロセスは再びスケジューリングされる 前にいくらかの応答時間がかかる。デバイス・ドライバーを書く場合には
+"slow interrupt" 割り込みハンドラーを使用することで この応答時間を劇的に減少させることができる。
 .SS その他
-子プロセスは
-.BR fork (2)
-の際に親プロセスのスケジューリング・ポリシーとパラメータを継承する。
-.BR execve (2)
+子プロセスは \fBfork\fP(2)  の際に親プロセスのスケジューリング・ポリシーとパラメータを継承する。 \fBexecve\fP(2)
 の前後で、スケジューリング・ポリシーとパラメータは保持される。
 
-リアルタイム・プロセスは大抵、ページングの待ち時間を避けるために
-.BR mlock (2)
-や
-.BR mlockall (2)
+リアルタイム・プロセスは大抵、ページングの待ち時間を避けるために \fBmlock\fP(2)  や \fBmlockall\fP(2)
 を使ってメモリ・ロックをしなければならない。
 
-\fBSCHED_FIFO\fP や \fBSCHED_RR\fP でスケジューリングされる
-プロセスが停止せずに無限ループに陥ると、
-他の全てのより低い優先度のプロセスを永久に停止 (block) させてしまうので、
-ソフトウェア開発者はコンソールのシェルの静的優先度をテストする
-アプリケーションよりも常に高く保つべきである。
-これによって期待通りに停止したり終了したりしないリアルタイム・
-アプリケーションを緊急終了させることが可能になる。
-.BR getrlimit (2)
-のリソース制限
-.B RLIMIT_RTTIME
+\fBSCHED_FIFO\fP や \fBSCHED_RR\fP でスケジューリングされる プロセスが停止せずに無限ループに陥ると、
+他の全てのより低い優先度のプロセスを永久に停止 (block) させてしまうので、 ソフトウェア開発者はコンソールのシェルの静的優先度をテストする
+アプリケーションよりも常に高く保つべきである。 これによって期待通りに停止したり終了したりしないリアルタイム・
+アプリケーションを緊急終了させることが可能になる。 \fBgetrlimit\fP(2)  のリソース制限 \fBRLIMIT_RTTIME\fP
 の説明も参照のこと。
 
-POSIX システムでは \fI<unistd.h>\fP に
-.B _POSIX_PRIORITY_SCHEDULING
-が定義されている場合にのみ
-.BR sched_setscheduler ()
-と
-.BR sched_getscheduler ()
-が使用できる。
+POSIX システムでは \fI<unistd.h>\fP に \fB_POSIX_PRIORITY_SCHEDULING\fP
+が定義されている場合にのみ \fBsched_setscheduler\fP()  と \fBsched_getscheduler\fP()  が使用できる。
 .SH 返り値
-成功した場合、
-.BR sched_setscheduler ()
-は 0 を返す。
-成功した場合、
-.BR sched_getscheduler ()
-は現在のそのプロセスのポリシー (非負の整数) を返す。
-エラーの場合、\-1 が返され、
-.I errno
-が適切に設定される。
+成功した場合、 \fBsched_setscheduler\fP()  は 0 を返す。 成功した場合、 \fBsched_getscheduler\fP()
+は現在のそのプロセスのポリシー (非負の整数) を返す。 エラーの場合、\-1 が返され、 \fIerrno\fP が適切に設定される。
 .SH エラー
-.TP
-.B EINVAL
-スケジューリング・ポリシー \fIpolicy\fP が間違っているか、
-\fIparam\fP がそのポリシーでは意味をなさない。
-.TP
-.B EPERM
+.TP 
+\fBEINVAL\fP
+スケジューリング・ポリシー \fIpolicy\fP が間違っている。
+または \fIparam\fP が NULL である。
+または \fIparam\fP がそのポリシーでは意味をなさない。
+.TP 
+\fBEPERM\fP
 呼び出したプロセスが適切な特権を持っていない。
-.TP
-.B ESRCH
-IDが \fIpid\fP のプロセスが見つからない
+.TP 
+\fBESRCH\fP
+プロセス ID \fIpid\fP のプロセスが見つからなかった
 .SH 準拠
-POSIX.1-2001 (但し、下記のバグの節も参照)。
-\fBSCHED_BATCH\fP と \fBSCHED_IDLE\fP ポリシーは Linux 固有である。
+POSIX.1\-2001 (但し、下記のバグの節も参照)。 \fBSCHED_BATCH\fP と \fBSCHED_IDLE\fP ポリシーは Linux
+固有である。
 .SH 注意
-POSIX.1 は、非特権プロセスが
-.BR sched_setscheduler ()
-を呼び出すために必要な権限の詳細を規定しておらず、
-詳細はシステムにより異なる。
-例えば、Solaris 7 のマニュアルページでは、
-呼び出し元プロセスの実ユーザ ID または実効ユーザ ID が
-設定対象のプロセスの実ユーザ ID か保存 (save) set-user-ID と
-一致していなければならない、となっている。
+POSIX.1 は、非特権プロセスが \fBsched_setscheduler\fP()  を呼び出すために必要な権限の詳細を規定しておらず、
+詳細はシステムにより異なる。 例えば、Solaris 7 のマニュアルページでは、 呼び出し元プロセスの実ユーザ ID または実効ユーザ ID が
+設定対象のプロセスの実ユーザ ID か保存 (save) set\-user\-ID と 一致していなければならない、となっている。
 .PP
-もともとは、標準の Linux は一般目的のオペレーティングシステムとして
-設計されており、バックグラウンド・プロセスや対話的アプリケーション、
-リアルタイム性の要求が厳しくないリアルタイム・アプリケーション
-(普通はタイミングの応答期限 (deadline) を満たす必要があるアプリケーション)
-を扱うことができた。
-Linux カーネル 2.6 では、
-カーネルのプリエンプション (タスクの置き換え) が可能であり、
-新たに導入された O(1) スケジューラにより、
-アクティブなタスクの数に関わらずスケジューリングに必要な時間は
-固定で確定的 (deterministic) であることが保証されている。
-それにも関わらず、カーネル 2.6.17 までは
-真のリアルタイム・コンピューティングは実現できなかった。
-.SS 本流の Linux カーネルでのリアルタイム機能
+もともとは、標準の Linux は一般目的のオペレーティングシステムとして 設計されており、バックグラウンド・プロセスや対話的アプリケーション、
+リアルタイム性の要求が厳しくないリアルタイム・アプリケーション (普通はタイミングの応答期限 (deadline) を満たす必要があるアプリケーション)
+を扱うことができた。 Linux カーネル 2.6 では、 カーネルのプリエンプション (タスクの置き換え) が可能であり、 新たに導入された O(1)
+スケジューラにより、 アクティブなタスクの数に関わらずスケジューリングに必要な時間は 固定で確定的 (deterministic)
+であることが保証されている。 それにも関わらず、カーネル 2.6.17 までは 真のリアルタイム・コンピューティングは実現できなかった。
+.SS "本流の Linux カーネルでのリアルタイム機能"
 .\" FIXME . Probably this text will need some minor tweaking
 .\" by about the time of 2.6.30; ask Carsten Emde about this then.
-カーネル 2.6.18 から現在まで、
-Linux は徐々にリアルタイム機能を備えつつあるが、
-これらの機能のほとんどは、
-Ingo Molnar, Thomas Gleixner, Steven Rostedt らによって開発された、
-以前の
-.I realtime-preempt
-パッチからのものである。
-これらのパッチが本流のカーネルに完全にマージされるまでは
-(マージの完了はカーネル 2.6.30 あたりの予定)、
-最高のリアルタイム性能を達成するには realtime-preempt パッチを
-組み込まなければならない。
+カーネル 2.6.18 から現在まで、 Linux は徐々にリアルタイム機能を備えつつ
+あるが、 これらの機能のほとんどは、 Ingo Molnar, Thomas Gleixner,
+Steven Rostedt らによって開発された、 以前の \fIrealtime\-preempt\fP パッチ
+からのものである。 これらのパッチが本流のカーネルに完全にマージされるま
+では (マージの完了はカーネル 2.6.30 あたりの予定)、 最高のリアルタイム
+性能を達成するには realtime\-preempt パッチを 組み込まなければならない。
 これらのパッチは
 .in +4n
 .nf
 
-patch-\fIkernelversion\fP-rt\fIpatchversion\fP
+patch\-\fIkernelversion\fP\-rt\fIpatchversion\fP
 .fi
 .in
-という名前で、
-.I http://www.kernel.org/pub/linux/kernel/projects/rt/
-からダウンロードできる。
+.PP
+という名前で、 \fIhttp://www.kernel.org/pub/linux/kernel/projects/rt/\fP からダウンロードできる。
 
-このパッチが適用されず、かつパッチの内容の本流のカーネルへのマージが
-完了するまでは、カーネルの設定では
-.BR CONFIG_PREEMPT_NONE ,
-.BR CONFIG_PREEMPT_VOLUNTARY ,
-.B CONFIG_PREEMPT_DESKTOP
-の 3つのプリエンプション・クラス (preemption class) だけが提供される。
-これらのクラスでは、最悪の場合のスケジューリング遅延がそれぞれ
+このパッチが適用されず、かつパッチの内容の本流のカーネルへのマージが 完了するまでは、カーネルの設定では \fBCONFIG_PREEMPT_NONE\fP,
+\fBCONFIG_PREEMPT_VOLUNTARY\fP, \fBCONFIG_PREEMPT_DESKTOP\fP の 3つのプリエンプション・クラス
+(preemption class) だけが提供される。 これらのクラスでは、最悪の場合のスケジューリング遅延がそれぞれ
 全く減らない、いくらか減る、かなり減る。
 
-パッチが適用された場合、またはパッチの内容の本流のカーネルへのマージが
-完了した後では、上記に加えて設定項目として
-.B CONFIG_PREEMPT_RT
-が利用可能になる。この項目を選択すると、
-Linux は通常のリアルタイム・オペレーティングシステムに変身する。
-この場合には、
-.BR sched_setscheduler ()
-で選択できる FIFO と RR のスケジューリング・ポリシーは、
-真のリアルタイム優先度を持つプロセスを最悪の場合のスケジューリング遅延が
+パッチが適用された場合、またはパッチの内容の本流のカーネルへのマージが 完了した後では、上記に加えて設定項目として
+\fBCONFIG_PREEMPT_RT\fP が利用可能になる。この項目を選択すると、 Linux
+は通常のリアルタイム・オペレーティングシステムに変身する。 この場合には、 \fBsched_setscheduler\fP()  で選択できる FIFO と
+RR のスケジューリング・ポリシーは、 真のリアルタイム優先度を持つプロセスを最悪の場合のスケジューリング遅延が
 最小となる環境で動作させるために使われることになる。
 .SH バグ
-POSIX では、成功時に
-.BR sched_setscheduler ()
-は直前のスケジューリング・ポリシーを返すべきとされている。
-Linux の
-.BR sched_setscheduler ()
-はこの要求仕様に準拠しておらず、
-成功時には常に 0 を返す。
+POSIX では、成功時に \fBsched_setscheduler\fP()  は直前のスケジューリング・ポリシーを返すべきとされている。 Linux の
+\fBsched_setscheduler\fP()  はこの要求仕様に準拠しておらず、 成功時には常に 0 を返す。
 .SH 関連項目
-.BR getpriority (2),
-.BR mlock (2),
-.BR mlockall (2),
-.BR munlock (2),
-.BR munlockall (2),
-.BR nice (2),
-.BR sched_get_priority_max (2),
-.BR sched_get_priority_min (2),
-.BR sched_getaffinity (2),
-.BR sched_getparam (2),
-.BR sched_rr_get_interval (2),
-.BR sched_setaffinity (2),
-.BR sched_setparam (2),
-.BR sched_yield (2),
-.BR setpriority (2),
-.BR capabilities (7),
-.BR cpuset (7)
+\fBgetpriority\fP(2), \fBmlock\fP(2), \fBmlockall\fP(2), \fBmunlock\fP(2),
+\fBmunlockall\fP(2), \fBnice\fP(2), \fBsched_get_priority_max\fP(2),
+\fBsched_get_priority_min\fP(2), \fBsched_getaffinity\fP(2), \fBsched_getparam\fP(2),
+\fBsched_rr_get_interval\fP(2), \fBsched_setaffinity\fP(2), \fBsched_setparam\fP(2),
+\fBsched_yield\fP(2), \fBsetpriority\fP(2), \fBcapabilities\fP(7), \fBcpuset\fP(7)
 .PP
-.I Programming for the real world \- POSIX.4
-by Bill O. Gallmeister, O'Reilly & Associates, Inc., ISBN 1-56592-074-0
+\fIProgramming for the real world \- POSIX.4\fP by Bill O. Gallmeister, O'Reilly
+& Associates, Inc., ISBN 1\-56592\-074\-0
 .PP
-カーネル・ソース内のファイル
-.I Documentation/scheduler/sched-rt-group.txt
-(カーネル 2.6.25 以降)
+カーネル・ソース内のファイル \fIDocumentation/scheduler/sched\-rt\-group.txt\fP (カーネル 2.6.25
+以降)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
index 3dda4ba..0ed556a 100644 (file)
@@ -1,4 +1,4 @@
-'\" t
+.\" t
 .\" Copyright (c) 1994,1995 Mike Battersby <mib@deakin.edu.au>
 .\" and Copyright 2004, 2005 Michael Kerrisk <mtk.manpages@gmail.com>
 .\" based on work by faith@cs.unc.edu
 .\" 2004-12-09, mtk, added SI_TKILL + other minor changes
 .\" 2005-09-15, mtk, split sigpending(), sigprocmask(), sigsuspend()
 .\"    out of this page into separate pages.
+.\" 2010-06-11 Andi Kleen, add hwpoison signal extensions
+.\" 2010-06-11 mtk, improvements to discussion of various siginfo_t fields.
 .\"
-.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya all rights reserved.
-.\" Translated 1997-03-03, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\" Modified 2000-10-02, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
-.\" Modified 2001-10-18, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated 2005-03-15, Akihiro MOTOKI
-.\" Updated 2005-10-05, Akihiro MOTOKI
-.\" Updated 2007-09-08, Akihiro MOTOKI, LDP v2.64
-.\" Updated 2008-08-08, Akihiro MOTOKI, LDP v3.05
-.\" Updated 2010-04-18, Akihiro MOTOKI, LDP v3.24
+.\"*******************************************************************
 .\"
-.\"WORD:       signal                  シグナル
-.\"WORD:       process                 プロセス
-.\"WORD:       signal handler          シグナルハンドラ
-.\"WORD:       pointer                 ポインター
-.\"WORD:       mask                    マスク
-.\"WORD:       block                   禁止(block)
-.\"WORD:       suspend                 停止(suspend)
-.\"WORD:       stop                    停止(stop)
-.\"WORD:       catch                   捕獲(catch)
-.\"WORD:       architecture            アーキテクチャー
-.\"WORD:       compatible              互換性
-.\"WORD:       pottable                移植性
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.TH SIGACTION 2 2009-07-25 "Linux" "Linux Programmer's Manual"
+.\"*******************************************************************
+.TH SIGACTION 2 2012\-04\-26 Linux "Linux Programmer's Manual"
 .SH 名前
 sigaction \- シグナルの動作の確認と変更
 .SH 書式
 .nf
-.B #include <signal.h>
+\fB#include <signal.h>\fP
 .sp
-.BI "int sigaction(int " signum ", const struct sigaction *" act ,
-.BI "              struct sigaction *" oldact );
+\fBint sigaction(int \fP\fIsignum\fP\fB, const struct sigaction *\fP\fIact\fP\fB,\fP
+\fB              struct sigaction *\fP\fIoldact\fP\fB);\fP
 .fi
 .sp
 .in -4n
-glibc 向けの機能検査マクロの要件
-.RB ( feature_test_macros (7)
-参照):
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
 .in
 .sp
 .ad l
-.BR sigaction ():
-_POSIX_C_SOURCE\ >=\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE
+\fBsigaction\fP(): _POSIX_C_SOURCE\ >=\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE
 .ad b
 .SH 説明
-.BR sigaction ()
-システムコールは、特定のシグナルを受信した際の
-プロセスの動作を変更するのに使用される
-(シグナルの概要については
-.BR signal (7)
-を参照)。
+\fBsigaction\fP()  システムコールは、特定のシグナルを受信した際の プロセスの動作を変更するのに使用される (シグナルの概要については
+\fBsignal\fP(7)  を参照)。
 .PP
-.I signum
-には、
-.B SIGKILL
-と
-.B SIGSTOP
-以外の有効なシグナルをどれでも指定できる。
+\fIsignum\fP には、 \fBSIGKILL\fP と \fBSIGSTOP\fP 以外の有効なシグナルをどれでも指定できる。
 .PP
-.I act
-が NULL 以外であれば、シグナル
-.I signum
-の新しい動作 (action) として
-.I act
-が設定される。
-.I oldact
-が NULL でなければ、今までの動作が
-.I oldact
-に格納される。
+\fIact\fP が NULL 以外であれば、シグナル \fIsignum\fP の新しい動作 (action) として \fIact\fP が設定される。
+\fIoldact\fP が NULL でなければ、今までの動作が \fIoldact\fP に格納される。
 .PP
-.I sigaction
-構造体は以下のような感じに定義される。
+\fIsigaction\fP 構造体は以下のような感じに定義される。
 .sp
 .in +4n
 .nf
@@ -125,165 +88,85 @@ struct sigaction {
 .fi
 .in
 .PP
-アーキテクチャによっては共用体 (union) が用いられており、その場合には
-.I sa_handler
-と
-.I sa_sigaction
+アーキテクチャによっては共用体 (union) が用いられており、その場合には \fIsa_handler\fP と \fIsa_sigaction\fP
 の両方を同時に割り当てることはできない。
 .PP
-.I sa_restorer
-要素は廃止予定であり使用すべきではない。
-POSIX には
-.I sa_restorer
-要素に関する規定はない。
+\fIsa_restorer\fP 要素は廃止予定であり使用すべきではない。 POSIX には \fIsa_restorer\fP 要素に関する規定はない。
 .PP
-.I sa_handler
-は
-.I signum
-に対応する動作を指定するもので、
-デフォルトの動作を行う
-.BR SIG_DFL 、
-そのシグナルを無視する
-.BR SIG_IGN 、
-シグナルハンドラ関数へのポインタが設定できる。
-シグナルハンドラ関数の引き数は一つであり、シグナル番号が引き数として
-渡される。
+\fIsa_handler\fP は \fIsignum\fP に対応する動作を指定するもので、 デフォルトの動作を行う \fBSIG_DFL\fP、
+そのシグナルを無視する \fBSIG_IGN\fP、 シグナルハンドラ関数へのポインタが設定できる。
+シグナルハンドラ関数の引き数は一つであり、シグナル番号が引き数として 渡される。
 .PP
-.I sa_flags
-に
-.B SA_SIGINFO
-が指定された場合、
-.RI ( sa_handler
-ではなく)
-.I sa_sigaction
-により
-.I signum
-に対応するシグナルハンドル関数が指定される。
-指定される関数は、最初の引き数としてシグナル番号を、
-二番目の引き数として
-.I siginfo_t
-へのポインタを、三番目の引き数として (\fIvoid\ *\fP にキャストした)
-.I ucontext_t
-へのポインタを受けとる。
+\fIsa_flags\fP に \fBSA_SIGINFO\fP が指定された場合、 (\fIsa_handler\fP ではなく)
+\fIsa_sigaction\fP により \fIsignum\fP に対応するシグナルハンドラ関数が指定さ
+れる。指定される関数は、最初の引き数としてシグナル番号を、二番目の引き
+数として \fIsiginfo_t\fP へのポインタを、三番目の引き数として (\fIvoid\ *\fP
+にキャストした) \fIucontext_t\fP へのポインタを受けとる。 (一般的には、
+ハンドラ関数の三番目の引き数が使用されない。\fIucontext_t\fP についての
+詳しい情報は \fBgetcontext\fP(2) を参照。)
 .PP
-.I sa_mask
-は、シグナル・ハンドラ実行中に禁止 (block) すべきシグナルのマスクを指定する
-(ハンドラ実行中のシグナルの禁止は、シグナル・ハンドラが起動されたスレッド
-のシグナルのマスクに追加することで行われる)。
-さらに、
-.B SA_NODEFER
-フラグが指定されていない場合は、ハンドラを起動するきっかけとなる
-シグナルにも
-.I sa_mask
-が適用される。
+\fIsa_mask\fP は、シグナル・ハンドラ実行中に禁止 (block) すべきシグナルのマスクを指定する
+(ハンドラ実行中のシグナルの禁止は、シグナル・ハンドラが起動されたスレッド のシグナルのマスクに追加することで行われる)。 さらに、
+\fBSA_NODEFER\fP フラグが指定されていない場合は、ハンドラを起動するきっかけとなる シグナルにも \fIsa_mask\fP が適用される。
 .PP
-.I sa_flags
-はシグナル・ハンドラの動作を変更するためのフラグの集合を指定する。
-.I sa_flags
-には、以下に示すフラグの (0 個以上の) 論理和をとったものを指定する。
+\fIsa_flags\fP はシグナル・ハンドラの動作を変更するためのフラグの集合を指定する。 \fIsa_flags\fP には、以下に示すフラグの (0
+個以上の) 論理和をとったものを指定する。
 .RS 4
-.TP
-.B SA_NOCLDSTOP
-.I signum
-が
-.B SIGCHLD
-の場合、
-子プロセスが停止したり
-(子プロセスが
-.BR SIGSTOP ", " SIGTSTP ", " SIGTTIN ", " SIGTTOU
-を受けたとき) 再開したり (子プロセスが
-.B SIGCONT
-を受けたとき) したときに
-.B SIGCHLD
-の通知を受けない。
-このフラグは、
-.B SIGCHLD
-に対してハンドラを設定する際にのみ意味を持つ。
-.TP
-.BR SA_NOCLDWAIT " (Linux 2.6 以降)"
-(Linux 2.6 以降)
-.\" 正確には Linux 2.5.60 以降 -- MTK
-.I signum
-が
-.B SIGCHLD
-の場合、子プロセスが終了したときに
-子プロセスをゾンビプロセスに変化させない
-.RB ( waitpid (2)
-も参照)。
-このフラグは、
-.B SIGCHLD
-に対してハンドラを設定する際、もしくはそのシグナルの処理方法を
-.B SIG_DFL
-に設定する際にのみ意味を持つ。
+.TP 
+\fBSA_NOCLDSTOP\fP
+\fIsignum\fP が \fBSIGCHLD\fP の場合、 子プロセスが停止したり (子プロセスが \fBSIGSTOP\fP, \fBSIGTSTP\fP,
+\fBSIGTTIN\fP, \fBSIGTTOU\fP を受けたとき) 再開したり (子プロセスが \fBSIGCONT\fP を受けたとき) したときに
+\fBSIGCHLD\fP の通知を受けない。 このフラグは、 \fBSIGCHLD\fP に対してハンドラを設定する際にのみ意味を持つ。
+.TP 
+\fBSA_NOCLDWAIT\fP (Linux 2.6 以降)
+.\" To be precise: Linux 2.5.60 -- MTK
+(Linux 2.6 以降)  \fIsignum\fP が \fBSIGCHLD\fP の場合、子プロセスが終了したときに
+子プロセスをゾンビプロセスに変化させない (\fBwaitpid\fP(2)  も参照)。 このフラグは、 \fBSIGCHLD\fP
+に対してハンドラを設定する際、もしくはそのシグナルの処理方法を \fBSIG_DFL\fP に設定する際にのみ意味を持つ。
 
-.BR SIGCHLD
-に対してハンドラを設定する際に
-.B SA_NOCLDWAIT
-フラグをセットした場合、
-子プロセスが終了した際に
-.B SIGCHLD
-シグナルが生成されるかどうかは、
-POSIX.1 では規定されていない。
-Linux では、この状況で
-.B SIGCHLD
-シグナルは生成される。
-いくつかの他の実装では生成されない。
-.TP
-.B SA_NODEFER
-それ自身のシグナル・ハンドラーの内部にいる時でも
-そのシグナルをマスクしないようにする。
-このフラグはシグナルハンドラを設定する際にのみ意味を持つ。
-.B SA_NOMASK
-はこのフラグと同じ意味だが、廃止されており、非標準である。
-.TP
-.B SA_ONSTACK
-.BR sigaltstack (2)
-で提供される別のシグナル・スタックでシグナルハンドラを呼び出す。
-別のシグナル・スタックが利用可能でなければ、デフォルトのスタックが
-使用される。
-このフラグはシグナルハンドラを設定する際にのみ意味を持つ。
-.TP
-.BR SA_RESETHAND
-シグナルハンドラが呼ばれる度に、シグナルの動作をデフォルトに戻す。
-このフラグはシグナルハンドラを設定する際にのみ意味を持つ。
-.B SA_ONESHOT
-はこのフラグと同じ意味だが、廃止されており、非標準である。
-.TP
-.B SA_RESTART
-いくつかのシステムコールをシグナルの通知の前後で再開できるようにして、
-BSD シグナル方式 (semantics) と互換性のある動作を提供する。
-このフラグはシグナルハンドラを設定する際にのみ意味を持つ。
-.BR signal (7)
-に書かれているシステムコールの再開に関する議論を参照のこと。
-.TP
-.BR SA_SIGINFO " (Linux 2.2 以降)"
-シグナルハンドラは一つではなく、三つの引き数を持つ。この場合は
-.I sa_handler
-のかわりに
-.I sa_sigaction
-を設定しなければならない
-このフラグはシグナルハンドラを設定する際にのみ意味を持つ。
-.\" .RI ( sa_sigaction
-.\" フィールドは Linux 2.1.86 で追加された)。
+\fBSIGCHLD\fP に対してハンドラを設定する際に \fBSA_NOCLDWAIT\fP フラグをセットした場合、 子プロセスが終了した際に
+\fBSIGCHLD\fP シグナルが生成されるかどうかは、 POSIX.1 では規定されていない。 Linux では、この状況で \fBSIGCHLD\fP
+シグナルは生成される。 いくつかの他の実装では生成されない。
+.TP 
+\fBSA_NODEFER\fP
+それ自身のシグナル・ハンドラーの内部にいる時でも そのシグナルをマスクしないようにする。 このフラグはシグナルハンドラを設定する際にのみ意味を持つ。
+\fBSA_NOMASK\fP はこのフラグと同じ意味だが、廃止されており、非標準である。
+.TP 
+\fBSA_ONSTACK\fP
+\fBsigaltstack\fP(2)  で提供される別のシグナル・スタックでシグナルハンドラを呼び出す。
+別のシグナル・スタックが利用可能でなければ、デフォルトのスタックが 使用される。 このフラグはシグナルハンドラを設定する際にのみ意味を持つ。
+.TP 
+\fBSA_RESETHAND\fP
+シグナルハンドラが呼ばれる度に、シグナルの動作をデフォルトに戻す。 このフラグはシグナルハンドラを設定する際にのみ意味を持つ。
+\fBSA_ONESHOT\fP はこのフラグと同じ意味だが、廃止されており、非標準である。
+.TP 
+\fBSA_RESTART\fP
+いくつかのシステムコールをシグナルの通知の前後で再開できるようにして、 BSD シグナル方式 (semantics) と互換性のある動作を提供する。
+このフラグはシグナルハンドラを設定する際にのみ意味を持つ。 \fBsignal\fP(7)  に書かれているシステムコールの再開に関する議論を参照のこと。
+.TP 
+\fBSA_SIGINFO\fP (Linux 2.2 以降)
+.\" (The
+.\" .I sa_sigaction
+.\" field was added in Linux 2.1.86.)
+シグナルハンドラは一つではなく、三つの引き数を持つ。この場合は \fIsa_handler\fP のかわりに \fIsa_sigaction\fP
+を設定しなければならない このフラグはシグナルハンドラを設定する際にのみ意味を持つ。
 .RE
 .PP
-.I sa_sigaction
-のパラメータ
-.I siginfo_t
-は以下の要素を持つ構造体である:
+\fIsa_sigaction\fP のパラメータ \fIsiginfo_t\fP は以下の要素を持つ構造体である:
 .sp
 .in +4n
 .nf
+.\" FIXME
+.\" si_trapno seems to be only used on SPARC and Alpha;
+.\" this page could use a little more detail on its purpose there.
+.\" In the kernel: si_tid
 siginfo_t {
     int      si_signo;    /* Signal number */
     int      si_errno;    /* An errno value */
     int      si_code;     /* Signal code */
     int      si_trapno;   /* Trap number that caused
-                             hardware-generated signal
+                             hardware\-generated signal
                              (unused on most architectures) */
-.\" FIXME
-.\" si_trapno seems to be only used on SPARC and Alpha;
-.\" this page could use a little more detail on its purpose there.
     pid_t    si_pid;      /* Sending process ID */
     uid_t    si_uid;      /* Real user ID of sending process */
     int      si_status;   /* Exit value or signal */
@@ -294,59 +177,38 @@ siginfo_t {
     void    *si_ptr;      /* POSIX.1b signal */
     int      si_overrun;  /* Timer overrun count; POSIX.1b timers */
     int      si_timerid;  /* Timer ID; POSIX.1b timers */
-.\" In the kernel: si_tid
     void    *si_addr;     /* Memory location which caused fault */
-    int      si_band;     /* Band event */
+    long     si_band;     /* Band event (was \fIint\fP in
+                             glibc 2.3.2 and earlier) */
     int      si_fd;       /* File descriptor */
+    short    si_addr_lsb; /* Least significant bit of address
+                             (since kernel 2.6.32) */
 }
 .fi
 .in
 
-.IR si_signo ", " si_errno ", " si_code
-は全てのシグナルに対して定義されている
-.RI ( si_errno
-は Linux では一般的には使用されない)。
-構造体の残りの部分は、共用体 (union) になっているかもしれない。
-その場合は該当するシグナルにおいて意味のあるフィールドのみを読み込む
-ことができる。
+\fIsi_signo\fP, \fIsi_errno\fP, \fIsi_code\fP は全てのシグナルに対して定義されている (\fIsi_errno\fP は
+Linux では一般的には使用されない)。 構造体の残りの部分は、共用体 (union) になっているかもしれない。
+その場合は該当するシグナルにおいて意味のあるフィールドのみを読み込む ことができる。
 .IP * 2
-POSIX.1b シグナルと
-.B SIGCHLD
-は
-.IR si_pid " と " si_uid
-を設定する。
+Signals sent with \fBkill\fP(2)  and \fBsigqueue\fP(3)  fill in \fIsi_pid\fP and
+\fIsi_uid\fP.  In addition, signals sent with \fBsigqueue\fP(3)  fill in \fIsi_int\fP
+and \fIsi_ptr\fP with the values specified by the sender of the signal; see
+\fBsigqueue\fP(3)  for more details.
+.IP *
+POSIX.1b タイマ (Linux 2.6 以降) は \fIsi_overrun\fP と \fIsi_timerid\fP を
+設定する。 \fIsi_timerid\fP フィールドはカーネルがタイマを特定するのに
+使用する内部 ID であり、 \fBtimer_create\fP(2) が返すタイマ ID と同じではない。
+\fIsi_overrun\fP フィールドはタイマが回り切った回数である。
+これは \fBtimer_getoverrun\fP(2) の呼び出しで取得できる情報と同じである。
+これらのフィールドは非標準で Linux による拡張である。
 .IP *
-POSIX.1b タイマ (Linux 2.6 以降) は
-.I si_overrun
-と
-.I si_timerid
-を設定する。
-.I si_timerid
-フィールドはカーネルがタイマを特定するのに使用する内部 ID であり、
-.BR timer_create (2)
-が返すタイマ ID と同じではない。
+Signals sent for message queue notification (see the description of
+\fBSIGEV_SIGNAL\fP in \fBmq_notify\fP(3))  fill in \fIsi_int\fP/\fIsi_ptr\fP, with the
+\fIsigev_value\fP supplied to \fBmq_notify\fP(3); \fIsi_pid\fP, with the process ID
+of the message sender; and \fIsi_uid\fP, with the real user ID of the message
+sender.
 .IP *
-.B SIGCHLD
-は
-.IR si_status ", " si_utime ", " si_stime
-を設定する。
-.RB ( getrusage (2)
-や
-.BR time (2)
-と異なり) フィールド
-.I si_utime
-と
-.I si_stime
-には wait 待ちの子プロセスにより使用された時間は含まれない。
-2.6 より前と 2.6.27 以降のカーネルでは、
-これらのフィールドに格納される CPU 時間の単位は
-.I sysconf(_SC_CLK_TCK)
-である。
-2.6.27 より前の 2.6 系のカーネルでは、バグがあり、
-これらのフィールドの CPU 時間の単位が
-(カーネルのコンフィグで指定される) システムの jiffy であった
-.RB ( time (7)
-参照)。
 .\" FIXME .
 .\" When si_utime and si_stime where originally implemented, the
 .\" measurement unit was HZ, which was the same as clock ticks
@@ -361,366 +223,286 @@ POSIX.1b タイマ (Linux 2.6 以降) は
 .\" But note that these fields still don't return the times of
 .\" waited-for children (as is done by getrusage() and times()
 .\" and wait4()).  Solaris 8 does include child times.
+\fBSIGCHLD\fP は \fIsi_pid\fP, \fIsi_uid\fP, \fIsi_status\fP, \fIsi_utime\fP,
+\fIsi_stime\fP を設定し、子プロセスに関する情報を提供する。
+\fIsi_pid\fP フィールドは子プロセスのプロセス ID で、
+\fIsi_uid\fP フィールドは子プロセスの実ユーザ ID である。
+\fIsi_stime\fP フィールドには、 (\fIsi_code\fP が \fBCLD_EXITED\fP の場合は)
+子プロセスの終了ステータスが、それ以外の場合は状態が変化する原因と
+なったシグナル番号が格納される。
+\fIsi_utime\fP と \fIsi_stime\fP には子プロセスが使用したユーザ CPU 時間とシ
+ステム CPU 時間がそれぞれ格納される。(\fBgetrusage\fP(2) や \fBtime\fP(2) と
+異なり) これらのフィールドには wait 待ちの子プロセスにより使用された時
+間は含まれない。 2.6 より前と 2.6.27 以降のカーネルでは、 これらのフィー
+ルドに格納される CPU 時間の単位は \fIsysconf(_SC_CLK_TCK)\fP である。
+2.6.27 より前の 2.6 系のカーネルでは、バグがあり、 これらのフィールドの
+CPU 時間の単位が (カーネルのコンフィグで指定される) システムの jiffy で
+あった (\fBtime\fP(7) 参照)。
 .IP *
-.IR si_int " と " si_ptr
-は POSIX.1b シグナルの送信者によって指定される。
-詳細は
-.BR sigqueue (2)
-を参照のこと。
+.\" FIXME SIGTRAP also sets the following for ptrace_notify() ?
+.\"     info.si_code = exit_code;
+.\"     info.si_pid = task_pid_vnr(current);
+.\"     info.si_uid = current_uid();  /* Real UID */
+\fBSIGILL\fP, \fBSIGFPE\fP, \fBSIGSEGV\fP, \fBSIGBUS\fP, and \fBSIGTRAP\fP fill in
+\fIsi_addr\fP with the address of the fault.  On some architectures, these
+signals also fill in the \fIsi_trapno\fP filed.  Some suberrors of \fBSIGBUS\fP,
+in particular \fBBUS_MCEERR_AO\fP and \fBBUS_MCEERR_AR\fP, also fill in
+\fIsi_addr_lsb\fP.  This field indicates the least significant bit of the
+reported address and therefore the extent of the corruption.  For example,
+if a full page was corrupted, \fIsi_addr_lsb\fP contains
+\fIlog2(sysconf(_SC_PAGESIZE))\fP.  \fBBUS_MCERR_*\fP and \fIsi_addr_lsb\fP are
+Linux\-specific extensions.
 .IP *
-.BR SIGILL ,
-.BR SIGFPE ,
-.BR SIGSEGV ,
-.B SIGBUS
-は
-.I si_addr
-にエラーが発生したアドレスを設定する。
-SIGPOLL は
-.IR si_band " と " si_fd
-を設定する。
+\fBSIGIO\fP/\fBSIGPOLL\fP (the two names are synonyms on Linux)  fills in
+\fIsi_band\fP and \fIsi_fd\fP.  The \fIsi_band\fP event is a bit mask containing the
+same values as are filled in the \fIrevents\fP field by \fBpoll\fP(2).  The
+\fIsi_fd\fP field indicates the file descriptor for which the I/O event
+occurred.
 .PP
-.I si_code
-は、そのシグナルが送信された理由を示す値である (ビットマスクではない)。
-以下のリストに、どのシグナルの場合でも
-.I si_code
-に入りうる値を、シグナルが生成された理由とともに記載する。
+\fIsi_code\fP は、そのシグナルが送信された理由を示す値である (ビットマスクではない)。 以下のリストに、どのシグナルの場合でも
+\fIsi_code\fP に入りうる値を、シグナルが生成された理由とともに記載する。
 .RS 4
-.TP 15
-.B SI_USER
-.BR kill (2)
-または
-.BR raise (3)
-.TP
-.B SI_KERNEL
+.TP  15
+\fBSI_USER\fP
+\fBkill\fP(2)
+.TP 
+\fBSI_KERNEL\fP
 カーネルにより送信された
-.TP
-.B SI_QUEUE
-.BR sigqueue (2)
-.TP
-.B SI_TIMER
+.TP 
+\fBSI_QUEUE\fP
+\fBsigqueue\fP(3)
+.TP 
+\fBSI_TIMER\fP
 POSIX タイマが満了した
-.TP
-.B SI_MESGQ
-POSIX メッセージキューの状態が変化した (Linux 2.6.6 以降)。
-.BR mq_notify (3) 参照。
-.TP
-.B SI_ASYNCIO
+.TP 
+\fBSI_MESGQ\fP
+POSIX メッセージキューの状態が変化した (Linux 2.6.6 以降)。 \fBmq_notify\fP(3)\fB参照。\fP
+.TP 
+\fBSI_ASYNCIO\fP
 非同期 IO (AIO) が完了した
-.TP
-.B SI_SIGIO
-キューイングされた SIGIO
-.TP
-.B SI_TKILL
-.BR tkill (2)
-または
-.BR tgkill (2)
-(Linux 2.4.19 以降)
+.TP 
+\fBSI_SIGIO\fP
+Queued \fBSIGIO\fP (only in kernels up to Linux 2.2; from Linux 2.4 onward
+\fBSIGIO\fP/\fBSIGPOLL\fP fills in \fIsi_code\fP as described below).
+.TP 
+\fBSI_TKILL\fP
 .\" SI_DETHREAD is defined in 2.6.9 sources, but isn't implemented
 .\" It appears to have been an idea that was tried during 2.5.6
 .\" through to 2.5.24 and then was backed out.
+\fBtkill\fP(2)  または \fBtgkill\fP(2)  (Linux 2.4.19 以降)
 .RE
 .PP
-.B SIGILL
-シグナルの場合、
-.I si_code
-には以下の値を指定できる:
+\fBSIGILL\fP シグナルの場合、 \fIsi_code\fP には以下の値を指定できる:
 .RS 4
-.TP 15
-.B ILL_ILLOPC
+.TP  15
+\fBILL_ILLOPC\fP
 不正な命令コード (opcode)
-.TP
-.B ILL_ILLOPN
+.TP 
+\fBILL_ILLOPN\fP
 不正なオペランド
-.TP
-.B ILL_ILLADR
+.TP 
+\fBILL_ILLADR\fP
 不正なアドレッシングモード
-.TP
-.B ILL_ILLTRP
+.TP 
+\fBILL_ILLTRP\fP
 不正なトラップ
-.TP
-.B ILL_PRVOPC
+.TP 
+\fBILL_PRVOPC\fP
 特権が必要な命令コード (opcode)
-.TP
-.B ILL_PRVREG
+.TP 
+\fBILL_PRVREG\fP
 特権が必要なレジスタ
-.TP
-.B ILL_COPROC
+.TP 
+\fBILL_COPROC\fP
 コプロセッサのエラー
-.TP
-.B ILL_BADSTK
+.TP 
+\fBILL_BADSTK\fP
 内部スタックエラー
 .RE
 .PP
-.B SIGFPE
-シグナルの場合、
-.I si_code
-には以下の値を指定できる:
+\fBSIGFPE\fP シグナルの場合、 \fIsi_code\fP には以下の値を指定できる:
 .RS 4
-.TP 15
-.B FPE_INTDIV
+.TP  15
+\fBFPE_INTDIV\fP
 整数の 0 による除算
-.TP
-.B FPE_INTOVF
+.TP 
+\fBFPE_INTOVF\fP
 整数のオーバーフロー
-.TP
-.B FPE_FLTDIV
+.TP 
+\fBFPE_FLTDIV\fP
 浮動小数点の 0 による除算
-.TP
-.B FPE_FLTOVF
+.TP 
+\fBFPE_FLTOVF\fP
 浮動小数点のオーバーフロー
-.TP
-.B FPE_FLTUND
+.TP 
+\fBFPE_FLTUND\fP
 浮動小数点のアンダーフロー
-.TP
-.B FPE_FLTRES
+.TP 
+\fBFPE_FLTRES\fP
 浮動小数点の不正確な演算結果 (inexact result)
-.TP
-.B FPE_FLTINV
+.TP 
+\fBFPE_FLTINV\fP
 浮動小数点の不正な操作
-.TP
-.B FPE_FLTSUB
+.TP 
+\fBFPE_FLTSUB\fP
 範囲外の添字 (subscript)
 .RE
 .PP
-.B SIGSEGV
-シグナルの場合、
-.I si_code
-には以下の値を指定できる:
+\fBSIGSEGV\fP シグナルの場合、 \fIsi_code\fP には以下の値を指定できる:
 .RS 4
-.TP 15
-.B SEGV_MAPERR
+.TP  15
+\fBSEGV_MAPERR\fP
 オブジェクトにマッピングされていないアドレス
-.TP
-.B SEGV_ACCERR
+.TP 
+\fBSEGV_ACCERR\fP
 マッピングされたオブジェクトに対するアクセス許可がない
 .RE
 .PP
-.B SIGBUS
-シグナルの場合、
-.I si_code
-には以下の値を指定できる:
+\fBSIGBUS\fP シグナルの場合、 \fIsi_code\fP には以下の値を指定できる:
 .RS 4
-.TP 15
-.B BUS_ADRALN
+.TP  15
+\fBBUS_ADRALN\fP
 不正なアドレス・アライメント (alignment)
-.TP
-.B BUS_ADRERR
+.TP 
+\fBBUS_ADRERR\fP
 存在しない物理アドレス
-.TP
-.B BUS_OBJERR
+.TP 
+\fBBUS_OBJERR\fP
 オブジェクト固有のハードウェアエラー
+.TP 
+\fBBUS_MCEERR_AR\fP (Linux 2.6.32 以降)
+Hardware memory error consumed on a machine check; action required.
+.TP 
+\fBBUS_MCEERR_AO\fP (Linux 2.6.32  以降)
+Hardware memory error detected in process but not consumed; action optional.
 .RE
 .PP
-.B SIGTRAP
-シグナルの場合、
-.I si_code
-には以下の値を指定できる:
+\fBSIGTRAP\fP シグナルの場合、 \fIsi_code\fP には以下の値を指定できる:
 .RS 4
-.TP 15
-.B TRAP_BRKPT
+.TP  15
+\fBTRAP_BRKPT\fP
 プロセスのブレークポイント
-.TP
-.B TRAP_TRACE
+.TP 
+\fBTRAP_TRACE\fP
 プロセスのトレース・トラップ
+.TP 
+\fBTRAP_BRANCH\fP (Linux 2.4 以降)
+process taken branch trap
+.TP 
+\fBTRAP_HWBKPT\fP (Linux 2.4 以降)
+hardware breakpoint/watchpoint
 .RE
 .PP
-.B SIGCHLD
-シグナルの場合、
-.I si_code
-には以下の値を指定できる:
+\fBSIGCHLD\fP シグナルの場合、 \fIsi_code\fP には以下の値を指定できる:
 .RS 4
-.TP 15
-.B CLD_EXITED
+.TP  15
+\fBCLD_EXITED\fP
 子プロセスが終了した (exited)
-.TP
-.B CLD_KILLED
+.TP 
+\fBCLD_KILLED\fP
 子プロセスが kill された
-.TP
-.B CLD_DUMPED
+.TP 
+\fBCLD_DUMPED\fP
 子プロセスが異常終了した
-.TP
-.B CLD_TRAPPED
+.TP 
+\fBCLD_TRAPPED\fP
 トレース対象の子プロセスがトラップを上げた
-.TP
-.B CLD_STOPPED
+.TP 
+\fBCLD_STOPPED\fP
 子プロセスが停止 (stop) した
-.TP
-.B CLD_CONTINUED
+.TP 
+\fBCLD_CONTINUED\fP
 停止していた子プロセスが再開した (Linux 2.6.9 以降)
 .RE
 .PP
-.B SIGPOLL
-シグナルの場合、
-.I si_code
-には以下の値を指定できる:
+\fBSIGIO\fP/\fBSIGPOLL\fP シグナルの場合、 \fIsi_code\fP には以下の値を
+指定できる:
 .RS 4
-.TP 15
-.B POLL_IN
+.TP  15
+\fBPOLL_IN\fP
 入力データが利用可能
-.TP
-.B POLL_OUT
+.TP 
+\fBPOLL_OUT\fP
 出力バッファが利用可能
-.TP
-.B POLL_MSG
+.TP 
+\fBPOLL_MSG\fP
 入力メッセージが利用可能
-.TP
-.B POLL_ERR
+.TP 
+\fBPOLL_ERR\fP
 I/O エラー
-.TP
-.B POLL_PRI
+.TP 
+\fBPOLL_PRI\fP
 高優先の入力が利用可能
-.TP
-.B POLL_HUP
+.TP 
+\fBPOLL_HUP\fP
 デバイスが接続されていない
 .RE
 .SH 返り値
-.BR sigaction ()
-は成功すれば 0 を返し、エラーならば \-1 を返す。
+\fBsigaction\fP()  は成功すれば 0 を返し、エラーならば \-1 を返す。
 .SH エラー
-.TP
-.B EFAULT
-.IR act " か " oldact
-が指しているメモリが正しいプロセスのアドレス空間にない。
-.TP
-.B EINVAL
-無効なシグナルが指定された。補足 (catch) したり無視したりできない
-シグナルである
-.BR SIGKILL " や " SIGSTOP
+.TP 
+\fBEFAULT\fP
+\fIact\fP か \fIoldact\fP が指しているメモリが正しいプロセスのアドレス空間にない。
+.TP 
+\fBEINVAL\fP
+無効なシグナルが指定された。補足 (catch) したり無視したりできない シグナルである \fBSIGKILL\fP や \fBSIGSTOP\fP
 に対する動作を変更しようとした場合にも発生する。
 .SH 準拠
-POSIX.1-2001, SVr4.
-.\" SVr4 には EINTR についての記述はない。
+.\" SVr4 does not document the EINTR condition.
+POSIX.1\-2001, SVr4.
 .SH 注意
-.BR fork (2)
-経由で作成された子プロセスは、親プロセスのシグナルの処理方法の
-コピーを継承する。
-.BR execve (2)
-の前後で、ハンドラが設定されているシグナルの処理方法はデフォルトにリセットされ、
+\fBfork\fP(2) 経由で作成された子プロセスは、親プロセスのシグナルの処理方法の コピーを継承する。
+\fBexecve\fP(2) の前後で、ハンドラが設定されているシグナルの処理方法はデフォルトにリセットされ、
 無視が設定されているシグナルの処理方法は変更されずそのままとなる。
 
-POSIX では、
-.BR kill (2)
-や
-.BR raise (3)
-関数で生成できないシグナル
-.BR SIGFPE ,
-.BR SIGILL ,
-.B SIGSEGV
-を無視 (ignore) した場合、その後の動作は未定義である。
-ゼロによる整数割り算の結果は未定義となる。
-アーキテクチャーによっては、このとき
-.B SIGFPE
-シグナルが生成される。
-(同様に負の最大整数を \-1 で割ると
-.B SIGFPE
-が生成されるかもしれない)
-このシグナルを無視すると無限ループに陥るかもしれない。
+POSIX では、 \fBkill\fP(2)  や \fBraise\fP(3)  で生成できないシグナル \fBSIGFPE\fP, \fBSIGILL\fP,
+\fBSIGSEGV\fP を無視 (ignore) した場合、その後の動作は未定義である。 ゼロによる整数割り算の結果は未定義となる。
+アーキテクチャーによっては、このとき \fBSIGFPE\fP シグナルが生成される。 (同様に負の最大整数を \-1 で割ると \fBSIGFPE\fP
+が生成されるかもしれない)  このシグナルを無視すると無限ループに陥るかもしれない。
 .PP
-POSIX.1-1990 では
-.B SIGCHLD
-に
-.B SIG_IGN
-を設定することを認めていない。
-POSIX.1-2001 では認められており、
-.B SIGCHLD
-を無視することでゾンビプロセスの生成を防止することができる
-.RB ( wait (2)
-を参照)。
-さらに、BSD と SystemV では
-.B SIGCHLD
-を無視した際の動作が異なっている。
-そのため、完全に移植性がある方法で、終了した子プロセスがゾンビにならないこと
-を保証するには、
-.B SIGCHLD
-シグナルを補足し、
-.BR wait (2)
-などを実行するしかない。
+POSIX.1\-1990 では \fBSIGCHLD\fP に \fBSIG_IGN\fP を設定することを認めていない。 POSIX.1\-2001
+では認められており、 \fBSIGCHLD\fP を無視することでゾンビプロセスの生成を防止することができる (\fBwait\fP(2)  を参照)。
+さらに、BSD と SystemV では \fBSIGCHLD\fP を無視した際の動作が異なっている。
+そのため、完全に移植性がある方法で、終了した子プロセスがゾンビにならないこと を保証するには、 \fBSIGCHLD\fP シグナルを補足し、
+\fBwait\fP(2)  などを実行するしかない。
 .PP
-POSIX.1-1990 の仕様では
-.B SA_NOCLDSTOP
-のみが定義されている。
-POSIX.1-2001 では
-.BR SA_NOCLDWAIT ,
-.BR SA_RESETHAND ,
-.BR SA_NODEFER ,
-.B SA_SIGINFO
-が追加された。
-Unix の古い実装で動かすアプリケーションで、
-他の
-.I sa_flags
-フラグを使用すると移植性が下がる。
+POSIX.1\-1990 の仕様では \fBSA_NOCLDSTOP\fP のみが定義されている。
+POSIX.1\-2001 では \fBSA_NOCLDWAIT\fP, \fBSA_RESETHAND\fP, \fBSA_NODEFER\fP,
+\fBSA_SIGINFO\fP が追加された。 UNIX の古い実装で動かすアプリケーションで、
+他の \fIsa_flags\fP フラグを使用すると移植性が下がる。
 .PP
-.B SA_RESETHAND
-フラグは SVr4 の同じ名前のフラグと互換性がある。
+\fBSA_RESETHAND\fP フラグは SVr4 の同じ名前のフラグと互換性がある。
 .PP
-.B SA_NODEFER
-フラグは 1.3.9 以降のカーネルでは同じ名前の SVr4 のフラグと互換性がある。
-ぞれ以前の Linux カーネルの実装では、このフラグを設定しているシグナル
-だけでなく、どのシグナルでも受けることを許していた (実際には
-.I sa_mask
+\fBSA_NODEFER\fP フラグは 1.3.9 以降のカーネルでは同じ名前の SVr4 のフラグと互換性がある。 ぞれ以前の Linux
+カーネルの実装では、このフラグを設定しているシグナル だけでなく、どのシグナルでも受けることを許していた (実際には \fIsa_mask\fP
 の設定により無効にできる)。
 .PP
-.BR sigaction ()
-の二番目の引き数に NULL を指定して呼び出すと、現在のシグナルハンドラを確認する
-ことができる。また、二番目と三番目の引き数を NULL にて呼び出すことで、
-指定されたシグナルが現在のマシンで使えるかどうかチェックできる。
+\fBsigaction\fP()  の二番目の引き数に NULL を指定して呼び出すと、現在のシグナルハンドラを確認する
+ことができる。また、二番目と三番目の引き数を NULL にて呼び出すことで、 指定されたシグナルが現在のマシンで使えるかどうかチェックできる。
 .PP
-.B SIGKILL
-や
-.B SIGSTOP
-を
-.RI ( sa_mask
-に指定して) 禁止することはできない。
-禁止しようとしても黙って無視される。
+\fBSIGKILL\fP や \fBSIGSTOP\fP を (\fIsa_mask\fP に指定して) 禁止することはできない。 禁止しようとしても黙って無視される。
 .PP
-シグナル集合の操作に関する詳細は
-.BR sigsetops (3)
-を参照すること。
+シグナル集合の操作に関する詳細は \fBsigsetops\fP(3)  を参照のこと。
 .PP
-シグナルハンドラ内から安全に呼び出すことができる、
-async-signal-safe functions (非同期シングルで安全な関数) の
-リストについては
-.BR signal (7)
-を参照。
+シグナルハンドラ内から安全に呼び出すことができる、 async\-signal\-safe functions (非同期シングルで安全な関数) の
+リストについては \fBsignal\fP(7)  を参照。
 .SS 非公式
-.B SA_SIGINFO
-が導入される前は、
-.I "struct sigcontext"
-型の二番目の引き数と一緒に
-.I sa_handler
-を使用することで、
-いくつかの追加の情報を入手することができた。
-詳細についてはカーネルソースの関連部分を見てほしい。
+\fBSA_SIGINFO\fP が導入される前は、 \fIstruct sigcontext\fP 型の二番目の引き数と一緒に \fIsa_handler\fP
+を使用することで、 いくつかの追加の情報を入手することができた。 詳細についてはカーネルソースの関連部分を見てほしい。
 現在はこの使用法は廃止されている。
 .SH バグ
-2.6.13 以前のカーネルでは、
-.I sa_flags
-に
-.B SA_NODEFER
-を指定した場合、
-ハンドラが実行中に配送されたシグナル自身がマスクされなくなるだけでなく、
-.I sa_mask
-に指定されたシグナルもマスクされなくなる。
+2.6.13 以前のカーネルでは、 \fIsa_flags\fP に \fBSA_NODEFER\fP を指定した場合、
+ハンドラが実行中に配送されたシグナル自身がマスクされなくなるだけでなく、 \fIsa_mask\fP に指定されたシグナルもマスクされなくなる。
 このバグは、カーネル 2.6.14 で修正された。
 .SH 例
-.BR mprotect (2)
-参照。
+\fBmprotect\fP(2)  参照。
 .SH 関連項目
-.BR kill (1),
-.BR kill (2),
-.BR killpg (2),
-.BR pause (2),
-.BR sigaltstack (2),
-.BR signal (2),
-.BR signalfd (2),
-.BR sigpending (2),
-.BR sigprocmask (2),
-.BR sigqueue (2),
-.BR sigsuspend (2),
-.BR wait (2),
-.BR raise (3),
-.BR siginterrupt (3),
-.BR sigsetops (3),
-.BR sigvec (3),
-.BR core (5),
-.BR signal (7)
+\fBkill\fP(1), \fBkill\fP(2), \fBkillpg\fP(2), \fBpause\fP(2), \fBsigaltstack\fP(2),
+\fBsignal\fP(2), \fBsignalfd\fP(2), \fBsigpending\fP(2), \fBsigprocmask\fP(2),
+\fBsigsuspend\fP(2), \fBwait\fP(2), \fBraise\fP(3), \fBsiginterrupt\fP(3),
+\fBsigqueue\fP(3), \fBsigsetops\fP(3), \fBsigvec\fP(3), \fBcore\fP(5),
+\fBsignal\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
diff --git a/release/man2/spu_create.2 b/release/man2/spu_create.2
deleted file mode 100644 (file)
index e058dda..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-.\" This is _*_ nroff _*_ source. Emacs, gimme all those colors :)
-.\"
-.\" Copyright (c) International Business Machines Corp., 2006
-.\"
-.\" This program is free software; you can redistribute it and/or
-.\" modify it under the terms of the GNU General Public License as
-.\" published by the Free Software Foundation; either version 2 of
-.\" the License, or (at your option) any later version.
-.\"
-.\" This program is distributed in the hope that it will be useful,
-.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
-.\" the GNU General Public License for more details.
-.\"
-.\" You should have received a copy of the GNU General Public License
-.\" along with this program; if not, write to the Free Software
-.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-.\" MA 02111-1307 USA
-.\"
-.\" HISTORY:
-.\" 2005-09-28, created by Arnd Bergmann <arndb@de.ibm.com>
-.\" 2006-06-16, revised by Eduardo M. Fleury <efleury@br.ibm.com>
-.\" 2007-07-10, some polishing by mtk
-.\"
-.\" Japanese Version Copyright (c) 2007  Akihiro MOTOKI
-.\"         all rights reserved.
-.\" Translated 2007-10-23, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\"
-.TH SPU_CREATE 2 2007-07-10 "Linux" "Linux Programmer's Manual"
-.SH 名前
-spu_create \- 新しい SPU コンテキストを生成する
-.SH 書式
-.nf
-.B #include <sys/types.h>
-.B #include <sys/spu.h>
-
-.BI "int spu_create(const char *" pathname ", int " flags ", mode_t " mode ");"
-.fi
-.SH 説明
-.BR spu_create ()
-システムコールは、Cell Broadband Engine アーキテクチャを実装した
-PowerPC マシンにおいて、Synergistic Processor Unit (SPU) にアクセスする
-ために使用される。
-このシステムコールは、SPU に対する新しい論理コンテキストを
-.I pathname
-に生成し、そのコンテキストに関連付けられたファイルディスクリプタを返す。
-.I pathname
-は SPU ファイルシステム (SPUFS) のマウントポイント内の
-存在しないディレクトリを指していなければならない。
-.BR spu_create ()
-が成功すると、
-.I pathname
-にディレクトリが生成され、そのディレクトリに
-.BR spufs (7)
-で説明されているファイル群が配置される。
-
-返されたファイルハンドラは、
-.BR spu_run (2)
-に渡すか、クローズするかしかできない。
-他の操作は定義されていない。
-論理 SPU コンテキストが破棄されるのは、
-コンテキスト自身へのファイルディスクリプタがクローズされ、
-その中のファイルへのファイルディスクリプタが全てクローズされたときである。
-SPU コンテキストが破棄されると、SPUFS 内のそのディレクトリの全てのエントリ
-が削除される。
-
-引き数
-.I flags
-にはゼロか以下の定数を指定できる。
-.TP
-.B SPU_RAWIO
-SPU のハードウェアレジスタのいくつかをユーザ空間にマッピングすることを
-許可する。このフラグを指定するには
-.B CAP_SYS_RAWIO
-ケーパビリティが必要である。
-.PP
-SPUFS 内に新しく生成されたディレクトリとファイルのアクセス許可は、
-.I mode
-引き数からそのプロセスの
-.BR umask (2)
-を引いた値に設定される。
-各ファイルの実際のアクセス許可は、そのファイルが読み出しアクセスや
-書き込みアクセスをサポートしているかも考慮して決まる。
-.SH 返り値
-成功すると、
-.BR spu_create (2)
-は新しいファイルディスクリプタを返す。
-エラーの場合、\-1 を返し、
-.I errno
-に以下のリストに記載のエラーコードのいずれかを設定する。
-.SH エラー
-.TP
-.B EACCES
-現在のユーザが SPUFS のマウントポイントへの書き込み許可を持っていない。
-.TP
-.B EEXIST
-指定されたパス名の SPU コンテキストがすでに生成されている。
-.TP
-.B EFAULT
-.I pathname
-が現在のアドレス空間で有効な文字列ポインタではない。
-.TP
-.B EINVAL
-.I pathname
-が SPUFS マウントポインタ内のディレクトリではない。
-.TP
-.B ELOOP
-.I pathname
-を解決するまでに辿ったシンボリックリンクが多過ぎた。
-.TP
-.B EMFILE
-そのプロセスがオープンできるファイル数の上限に達していた。
-.TP
-.B ENAMETOOLONG
-.I pathname
-が長過ぎる。
-.TP
-.B ENFILE
-システム全体でオープンできるファイル数の上限に達していた。
-.TP
-.B ENOENT
-.I pathname
-の一部が解決できなかった。
-.TP
-.B ENOMEM
-カーネルが必要なリソースの全てを割り当てることができなかった。
-.TP
-.B ENOSPC
-新しいコンテキストを生成するのに十分な SPU リソースがなかった、
-または SPU コンテキスト数がそのユーザの特定の上限に達していた。
-.TP
-.B ENOSYS
-機能が動作中のシステムで提供されていない。理由は、
-ハードウェアで SPU が提供されていないか、
-spufs モジュールがロードされていないか、のどちらかである。
-.TP
-.B ENOTDIR
-.I pathname
-の一部がディレクトリではない。
-.SH ファイル
-.I pathname
-は SPUFS のマウントポイントの配下の場所を指していなければならない。
-慣例では、SPUFS は
-.I /spu
-にマウントされる。
-.SH バージョン
-.BR spu_create (2)
-システムコールはカーネル 2.6.16 で Linux に追加された。
-.SH 準拠
-このシステムコールは Linux 固有であり、
-ppc64 アーキテクチャでのみ実装されている。
-このシステムコールを使ったプログラムは移植性がない。
-.SH 注意
-glibc はこのシステムコールに対するラッパー関数を提供していない。
-.BR syscall (2)
-を使うこと。ただし、
-.BR spu_create ()
-は より抽象度の高い SPU へのインタフェースを実装するライブラリから
-利用されることを意図したものであり、通常のアプリケーションから
-使用は意図されていない。推奨のライブラリについては
-.I http://www.bsc.es/projects/deepcomputing/linuxoncell/
-を参照のこと。
-.SH バグ
-実際のコードではここで述べた全ての機能が完全に実装されているわけではない。
-.\" .SH AUTHOR
-.\" Arnd Bergmann <arndb@de.ibm.com>
-.SH 関連項目
-.BR close (2),
-.BR spu_run (2),
-.BR capabilities (7),
-.BR spufs (7)
index 77da33d..e79c111 100644 (file)
 .\"
 .\" 2006-07-05 Initial creation, Michael Kerrisk based on
 .\"     Andrew Morton's comments in fs/sync.c
+.\" 2010-10-09, mtk, Document sync_file_range2()
 .\"
-.\" Japanese Version Copyright (c) 2007 Akihiro MOTOKI
-.\"         all rights reserved.
-.\" Translated 2007-01-09, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.43
-.\" Updated 2008-08-06, Akihiro MOTOKI, LDP v3.05
-.\" Updated 2010-04-23, Akihiro MOTOKI, LDP v3.24
+.\"*******************************************************************
 .\"
-.TH SYNC_FILE_RANGE 2 2010-01-17 "Linux" "Linux Programmer's Manual"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH SYNC_FILE_RANGE 2 2010\-10\-09 Linux "Linux Programmer's Manual"
 .SH 名前
 sync_file_range \- ファイルセグメントをディスクと同期する
 .SH 書式
 .nf
-.BR "#define _GNU_SOURCE" "         /* feature_test_macros(7) 参照 */"
-.B #include <fcntl.h>
+\fB#define _GNU_SOURCE\fP         /* feature_test_macros(7) 参照 */
+\fB#include <fcntl.h>\fP
 
-.BI "int sync_file_range(int " fd ", off64_t " offset ", off64_t " nbytes ,
-.BI "                    unsigned int " flags );
+\fBint sync_file_range(int \fP\fIfd\fP\fB, off64_t \fP\fIoffset\fP\fB, off64_t \fP\fInbytes\fP\fB,\fP
+\fB                    unsigned int \fP\fIflags\fP\fB);\fP
 .fi
 .SH 説明
-.BR sync_file_range ()
-を使うと、ファイルディスクリプタ
-.I fd
-で参照されるオープンされたファイルのディスクとの同期に関して、
+\fBsync_file_range\fP()  を使うと、ファイルディスクリプタ \fIfd\fP で参照されるオープンされたファイルのディスクとの同期に関して、
 きめ細かな制御が可能となる。
 
-.I offset
-は、同期を行うファイルの領域の開始バイトである。
-.I nbytes
-には同期を行う領域の長さをバイト単位で指定する。
-.I nbytes
-が 0 の場合は、
-.I offset
-からファイル末尾までの全バイトを同期する。
-同期はシステムのページサイズの単位で行われる。
-.I offset
-はページ境界にあわせて切り下げられ、
-.I (offset+nbytes-1)
-はページ境界にあわせて切り上げられる。
+\fIoffset\fP は、同期を行うファイルの領域の開始バイトである。 \fInbytes\fP には同期を行う領域の長さをバイト単位で指定する。
+\fInbytes\fP が 0 の場合は、 \fIoffset\fP からファイル末尾までの全バイトを同期する。 同期はシステムのページサイズの単位で行われる。
+\fIoffset\fP はページ境界にあわせて切り下げられ、 \fI(offset+nbytes\-1)\fP はページ境界にあわせて切り上げられる。
 
-ビットマスク引き数
-.I flags
-には以下の値を指定することができる:
-.TP
-.B SYNC_FILE_RANGE_WAIT_BEFORE
-何らかの書き込みを行う前に、指定された領域のページで
-書き出しを行うようにデバイスドライバにすでに要求が発行されている
+ビットマスク引き数 \fIflags\fP には以下の値を指定することができる:
+.TP 
+\fBSYNC_FILE_RANGE_WAIT_BEFORE\fP
+何らかの書き込みを行う前に、指定された領域のページで 書き出しを行うようにデバイスドライバにすでに要求が発行されている
 ページの書き出しが全て完了するのを待つ。
-.TP
-.B SYNC_FILE_RANGE_WRITE
-指定された領域のページで、書き出し要求が発行されていない
-全ての dirty (キャッシュだけが変更されている) ページの
-書き出しを開始する。
-リクエストキューの大きさより多く書き込もうとした場合には、
-この処理は停止 (block) する可能性がある点に注意すること。
-.TP
-.B SYNC_FILE_RANGE_WAIT_AFTER
-何らかの書き込み後に、指定された領域の全てのページの
-書き出しが行われるのを待つ。
+.TP 
+\fBSYNC_FILE_RANGE_WRITE\fP
+指定された領域のページで、書き出し要求が発行されていない 全ての dirty (キャッシュだけが変更されている) ページの 書き出しを開始する。
+リクエストキューの大きさより多く書き込もうとした場合には、 この処理は停止 (block) する可能性がある点に注意すること。
+.TP 
+\fBSYNC_FILE_RANGE_WAIT_AFTER\fP
+何らかの書き込み後に、指定された領域の全てのページの 書き出しが行われるのを待つ。
 .PP
-.I flags
-に 0 を指定した場合、何もしないことを表す。
+\fIflags\fP に 0 を指定した場合、何もしないことを表す。
 .SS 警告
-このシステムコールは非常に危険であり、
-移植性が必要なプログラムで使用すべきではない。
-これらの操作ではどれもファイルのメタデータの書き出しを行わない。
-したがって、アプリケーションにより作成済みのディスクブロックの
-上書きの実行が確実に行われない限り、クラッシュの後でもデータが
-利用できる保証はない。
-書き込みが上書きだけであるかを知るためのユーザインタフェースは存在しない。
-.RI ( btrfs
-などの) copy-on-write 動作を使ったファイルシステムでは、
-既存の割り当て済みのブロックに対する上書き自体ができない。
-前もって割り当てられた領域に書き込みを行う場合、
-多くのファイルシステムでは block allocator への書き込みも必要となるが、
-このシステムコールは block allocator のディスクへの同期を行わない。
-このシステムコールはディスク書き込みキャッシュのフラッシュを
-行わないので、揮発性のディスク書き込みキャッシュを使ったシステムでは
-このシステムコールではデータの一貫性を確保できないことになる。
+このシステムコールは非常に危険であり、 移植性が必要なプログラムで使用すべきではない。 これらの操作ではどれもファイルのメタデータの書き出しを行わない。
+したがって、アプリケーションにより作成済みのディスクブロックの 上書きの実行が確実に行われない限り、クラッシュの後でもデータが 利用できる保証はない。
+書き込みが上書きだけであるかを知るためのユーザインタフェースは存在しない。 (\fIbtrfs\fP などの) copy\-on\-write
+動作を使ったファイルシステムでは、 既存の割り当て済みのブロックに対する上書き自体ができない。 前もって割り当てられた領域に書き込みを行う場合、
+多くのファイルシステムでは block allocator への書き込みも必要となるが、 このシステムコールは block allocator
+のディスクへの同期を行わない。 このシステムコールはディスク書き込みキャッシュのフラッシュを
+行わないので、揮発性のディスク書き込みキャッシュを使ったシステムでは このシステムコールではデータの一貫性を確保できないことになる。
 .SS 詳細
-.B SYNC_FILE_RANGE_WAIT_BEFORE
-と
-.B SYNC_FILE_RANGE_WAIT_AFTER
-は I/O エラーや
-.B ENOSPC
-状態を検出し、呼び出し元にこれらの情報を返す。
+\fBSYNC_FILE_RANGE_WAIT_BEFORE\fP と \fBSYNC_FILE_RANGE_WAIT_AFTER\fP は I/O エラーや
+\fBENOSPC\fP 状態を検出し、呼び出し元にこれらの情報を返す。
 
-.I flags
-の役に立つビットの組み合わせを以下に示す:
-.TP
-.B SYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE
-指定された範囲内のページで、
-.BR sync_file_range ()
-が呼び出された際に dirty であった全てのページが、
-確実に書き出し対象となるようにする。
-これは、start-write-for-data-integrity 操作
+\fIflags\fP の役に立つビットの組み合わせを以下に示す:
+.TP 
+\fBSYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE\fP
+指定された範囲内のページで、 \fBsync_file_range\fP()  が呼び出された際に dirty であった全てのページが、
+確実に書き出し対象となるようにする。 これは、start\-write\-for\-data\-integrity 操作
 (データ完全性確保のための書き込み開始の操作) である。
-.TP
-.B SYNC_FILE_RANGE_WRITE
-指定された範囲内のページで、現在書き出し中でない全ての dirty ページの
-書き出しを開始する。これは非同期のディスクへのフラッシュ (flush-to-disk)
-操作である。データ完全性確保が必要な操作としては適切ではない。
-.TP
-.BR SYNC_FILE_RANGE_WAIT_BEFORE " (or " SYNC_FILE_RANGE_WAIT_AFTER )
-指定された範囲内の全てのページの書き出しの完了を待つ。
-このフラグは、前に行われた操作
-.B SYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE
-の後に使用でき、この操作の完了を待ち、結果を取得することができる。
-.TP
-.B SYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE | \
-SYNC_FILE_RANGE_WAIT_AFTER
-これは write-for-data-integrity 操作
-(データ完全性確保のための書き込み) であり、指定された範囲内の、
-.BR sync_file_range ()
-が呼ばれた時点で dirty な全てのページが
-ディスクに格納されることが保証される。
+.TP 
+\fBSYNC_FILE_RANGE_WRITE\fP
+指定された範囲内のページで、現在書き出し中でない全ての dirty ページの 書き出しを開始する。これは非同期のディスクへのフラッシュ
+(flush\-to\-disk)  操作である。データ完全性確保が必要な操作としては適切ではない。
+.TP 
+\fBSYNC_FILE_RANGE_WAIT_BEFORE\fP (or \fBSYNC_FILE_RANGE_WAIT_AFTER\fP)
+指定された範囲内の全てのページの書き出しの完了を待つ。 このフラグは、前に行われた操作 \fBSYNC_FILE_RANGE_WAIT_BEFORE |
+SYNC_FILE_RANGE_WRITE\fP の後に使用でき、この操作の完了を待ち、結果を取得することができる。
+.TP 
+\fBSYNC_FILE_RANGE_WAIT_BEFORE | SYNC_FILE_RANGE_WRITE | SYNC_FILE_RANGE_WAIT_AFTER\fP
+これは write\-for\-data\-integrity 操作 (データ完全性確保のための書き込み) であり、指定された範囲内の、
+\fBsync_file_range\fP()  が呼ばれた時点で dirty な全てのページが ディスクに格納されることが保証される。
 .SH 返り値
-成功の場合、
-.BR sync_file_range ()
-は 0 を返す。失敗の場合、\-1 を返し、
-.I error
-にエラーを示す値を設定する。
+成功の場合、 \fBsync_file_range\fP()  は 0 を返す。失敗の場合、\-1 を返し、 \fIerror\fP にエラーを示す値を設定する。
 .SH エラー
-.TP
-.B EBADF
-.I fd
-が有効なファイルディスクリプタではない。
-.TP
-.B EINVAL
-.I flags
-に不正なビットが指定されている。または
-.I offset
-か
-.I nbytes
-が不正である。
-.TP
-.B EIO
+.TP 
+\fBEBADF\fP
+\fIfd\fP が有効なファイルディスクリプタではない。
+.TP 
+\fBEINVAL\fP
+\fIflags\fP に不正なビットが指定されている。または \fIoffset\fP か \fInbytes\fP が不正である。
+.TP 
+\fBEIO\fP
 I/O エラー。
-.TP
-.B ENOMEM
+.TP 
+\fBENOMEM\fP
 メモリ不足である。
-.TP
-.B ENOSPC
+.TP 
+\fBENOSPC\fP
 ディスク領域不足である。
-.TP
-.B ESPIPE
-.I fd
-が、通常のファイル、ブロックデバイス、ディレクトリ、シンボリックリンク
-以外のものを指している。
+.TP 
+\fBESPIPE\fP
 .\" FIXME . (bug?) Actually, how can 'fd' refer to a symbolic link (S_ISLNK)?
 .\" (In userspace at least) it isn't possible to obtain a file descriptor
 .\" for a symbolic link.
+\fIfd\fP が、通常のファイル、ブロックデバイス、ディレクトリ、シンボリックリンク 以外のものを指している。
 .SH バージョン
-.BR sync_file_range ()
-はカーネル 2.6.17 で Linux に登場した。
+\fBsync_file_range\fP()  はカーネル 2.6.17 で Linux に登場した。
 .SH 準拠
-このシステムコールは Linux 独自であり、
-移植性が必要なプログラムでは使用を避けるべきである。
+このシステムコールは Linux 独自であり、 移植性が必要なプログラムでは使用を避けるべきである。
+.SH 注意
+.\" See kernel commit edd5cd4a9424f22b0fa08bef5e299d41befd5622
+Some architectures (e.g., PowerPC, ARM)  need 64\-bit arguments to be aligned
+in a suitable pair of registers.  On such architectures, the call signature
+of \fBsync_file_range\fP()  is flawed, since it forces a register to be wasted
+as padding between the \fIfd\fP and \fIoffset\fP arguments.  Therefore, these
+architectures define a different system call that orders the arguments
+suitably:
+.PP
+.in +4n
+.nf
+\fBint sync_file_range2(int \fP\fIfd\fP\fB, unsigned int \fP\fIflags\fP\fB,\fP
+\fB                     off64_t \fP\fIoffset\fP\fB, off64_t \fP\fInbytes\fP\fB);\fP
+.fi
+.in
+.PP
+The behavior of this system call is otherwise exactly the same as
+\fBsync_file_range\fP().
+
+A system call with this signature first appeared on the ARM architecture in
+Linux 2.6.20, with the name \fBarm_sync_file_range\fP().  It was renamed in
+Linux 2.6.22, when the analogous system call was added for PowerPC.  On
+architectures where glibc support is provided, glibc transparently wraps
+\fBsync_file_range2\fP()  under the name \fBsync_file_range\fP().
 .SH 関連項目
-.BR fdatasync (2),
-.BR fsync (2),
-.BR msync (2),
-.BR sync (2)
+\fBfdatasync\fP(2), \fBfsync\fP(2), \fBmsync\fP(2), \fBsync\fP(2)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
index 66a5d5d..0cd4de0 100644 (file)
@@ -3,85 +3,61 @@
 .\" Heavily based on glibc documentation
 .\" Polished, added docs, removed glibc doc bug, 2002-07-20, aeb
 .\"
-.\" FIXME
-.\" According to a Fedora downstream patch, malloc hooks are deprecated
-.\" https://bugzilla.redhat.com/show_bug.cgi?id=450187
-.\" Integrate this upstream?
+.\"*******************************************************************
 .\"
-.\" Japanese Version Copyright (c) 2002 Akihiro MOTOKI all rights reserved.
-.\" Translated Thu 05 Dec 2002 by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.TH MALLOC_HOOK 3 2002-07-20 "GNU" "Linux Programmer's Manual"
+.\"*******************************************************************
+.TH MALLOC_HOOK 3 2010\-10\-13 GNU "Linux Programmer's Manual"
 .SH 名前
-__malloc_hook, __malloc_initialize_hook,
-__memalign_hook, __free_hook, __realloc_hook,
-__after_morecore_hook \- malloc デバッグ用の変数
+__malloc_hook, __malloc_initialize_hook, __memalign_hook, __free_hook,
+__realloc_hook, __after_morecore_hook \- malloc デバッグ用の変数
 .SH 書式
 .nf
-.B "#include <malloc.h>"
+\fB#include <malloc.h>\fP
 .sp
-.BI "void *(*__malloc_hook)(size_t " size ", const void *" caller );
+\fBvoid *(*__malloc_hook)(size_t \fP\fIsize\fP\fB, const void *\fP\fIcaller\fP\fB);\fP
 .sp
-.BI "void *(*__realloc_hook)(void *" ptr ", size_t " size \
-", const void *" caller );
+\fBvoid *(*__realloc_hook)(void *\fP\fIptr\fP\fB, size_t \fP\fIsize\fP\fB, const void *\fP\fIcaller\fP\fB);\fP
 .sp
-.BI "void *(*__memalign_hook)(size_t " alignment ", size_t " size ,
-.BI "                         const void *" caller );
+\fBvoid *(*__memalign_hook)(size_t \fP\fIalignment\fP\fB, size_t \fP\fIsize\fP\fB,\fP
+\fB                         const void *\fP\fIcaller\fP\fB);\fP
 .sp
-.BI "void (*__free_hook)(void *" ptr ", const void *" caller );
+\fBvoid (*__free_hook)(void *\fP\fIptr\fP\fB, const void *\fP\fIcaller\fP\fB);\fP
 .sp
-.B "void (*__malloc_initialize_hook)(void);"
+\fBvoid (*__malloc_initialize_hook)(void);\fP
 .sp
-.B "void (*__after_morecore_hook)(void);"
+\fBvoid (*__after_morecore_hook)(void);\fP
 .fi
 .SH 説明
-GNU C ライブラリでは、適切なフック関数 (hook function) を指定することで
-.BR malloc (3),
-.BR realloc (3),
-.BR free (3)
-の動作を変更することができる。例えば、動的にメモリ割り当てを行う
-プログラムのデバッグにこれらのフックを使うことができる。
+GNU C ライブラリでは、適切なフック関数 (hook function) を指定することで \fBmalloc\fP(3), \fBrealloc\fP(3),
+\fBfree\fP(3)  の動作を変更することができる。例えば、動的にメモリ割り当てを行う プログラムのデバッグにこれらのフックを使うことができる。
 .LP
-変数
-.B __malloc_initialize_hook
-は malloc の実装が初期化される際に一度だけ呼ばれる関数へのポインタである。
-この変数は書き換え可能 (weak) であり、アプリケーション内で
-以下のような定義で上書きできる:
-
+変数 \fB__malloc_initialize_hook\fP は malloc の実装が初期化される際に一度だけ呼ばれる関数へのポインタである。
+この変数は書き換え可能 (weak) であり、アプリケーション内で 以下のような定義で上書きできる:
 .nf
+
     void (*__malloc_initialize_hook)(void) = my_init_hook;
-.fi
 
-なお、関数
-.IR my_init_hook ()
-で全てのフックの初期化をすることができる。
+.fi
+なお、関数 \fImy_init_hook\fP()  で全てのフックの初期化をすることができる。
 .LP
-.BR __malloc_hook ,
-.BR __realloc_hook ,
-.BR __memalign_hook ,
-.B __free_hook
-で指される 4 つの関数は、各々
-.BR malloc (3),
-.BR realloc (3),
-.BR memalign (3),
-.BR free (3)
-とよく似たプロトタイプを持っているが、
-一番最後の引き数
-.I caller
-をとる点が異なる。
-引き数
-.I caller
-には、
-.BR malloc (3)
-などの呼び出し元 (caller) のアドレスが格納される。
+\fB__malloc_hook\fP, \fB__realloc_hook\fP, \fB__memalign_hook\fP, \fB__free_hook\fP
+で指される 4 つの関数は、各々 \fBmalloc\fP(3), \fBrealloc\fP(3), \fBmemalign\fP(3), \fBfree\fP(3)
+とよく似たプロトタイプを持っているが、 一番最後の引き数 \fIcaller\fP をとる点が異なる。 引き数 \fIcaller\fP には、
+\fBmalloc\fP(3)  などの呼び出し元 (caller) のアドレスが格納される。
 .LP
-変数
-.B __after_morecore_hook
-は、領域の追加要求があり
-.BR sbrk (2)
+変数 \fB__after_morecore_hook\fP は、領域の追加要求があり \fBsbrk\fP(2)
 が呼ばれた後で毎回呼び出される関数へのポインタである。
 .SH 準拠
 これらの関数は GNU による拡張である。
+.SH 注意
+.\" https://bugzilla.redhat.com/show_bug.cgi?id=450187
+.\" http://sourceware.org/bugzilla/show_bug.cgi?id=9957
+The use of these hook functions is not safe in multithreaded programs, and
+they are now deprecated.  Programmers should instead preempt calls to the
+relevant functions by defining and exporting functions such as "malloc" and
+"free".
 .SH 例
 これらの変数の使い方の簡単な例を以下に示す。
 .sp
@@ -122,7 +98,7 @@ my_malloc_hook(size_t size, const void *caller)
 
     /* printf() は malloc() を呼び出す可能性があるので
         ここでもガードを行う (元々のフックのままにしておく) */
-    printf("malloc(%u) called from %p returns %p\\n",
+    printf("malloc(%u) called from %p returns %p\en",
             (unsigned int) size, caller, result);
 
     /* ユーザが使おうとするフックを再設定する */
@@ -132,7 +108,8 @@ my_malloc_hook(size_t size, const void *caller)
 }
 .fi
 .SH 関連項目
-.BR mallinfo (3),
-.BR malloc (3),
-.BR mcheck (3),
-.BR mtrace (3)
+\fBmallinfo\fP(3), \fBmalloc\fP(3), \fBmcheck\fP(3), \fBmtrace\fP(3)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
diff --git a/release/man3/mtrace.3 b/release/man3/mtrace.3
deleted file mode 100644 (file)
index 83cbb69..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-.\"  Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
-.\"  Distributed under GPL
-.\"  the glibc-info pages are very helpful here
-.\"
-.\" Japanese Version Copyright (c) 2002 Akihiro MOTOKI all rights reserved.
-.\" Translated Thu 05 Dec 2002 by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\"
-.TH MTRACE 3 2002-07-20 "GNU" "Linux Programmer's Manual"
-.SH 名前
-mtrace, muntrace \- malloc debugging
-.SH 書式
-.B "#include <mcheck.h>"
-.sp
-.B "void mtrace(void);"
-.sp
-.B "void muntrace(void);"
-.SH 説明
-関数
-.BR mtrace ()
-は、
-.BR malloc (3),
-.BR realloc (3),
-.BR free (3)
-のハンドラを組み込む。
-関数
-.BR muntrace ()
-はこれらのハンドラを解除する。
-.br
-環境変数
-.B MALLOC_TRACE
-は
-.BR mtrace ()
-が出力を書き出すファイルを指定する。
-ユーザが書き込み権限を持つファイルを指定しなければならない。
-書き込み権限がない場合、
-.BR mtrace ()
-は何もしない。
-.\" motoki: truncate って「後ろを切ってしまう」ような意味のはずだけど
-.\" motoki: 実際に試してみると、元のファイルを上書きするようです・・・
-ファイルが空でない場合、ファイルの元の内容を上書きする。
-.SH 準拠
-この関数は GNU 拡張である。
-.SH 注意
-.BR mtrace ()
-の出力は ASCII 形式だが、人が読みやすいフォーマットではない。
-そこで、glibc には mtrace 出力を分かりやすい形式に変換する
-perl スクリプトが付属している。
-.SH 関連項目
-.BR malloc (3),
-.BR malloc_hook (3)
index ecc1c5d..250e9d4 100644 (file)
 .\"     Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
 .\"     386BSD man pages
 .\" Modified Sat Jul 24 18:45:17 1993 by Rik Faith (faith@cs.unc.edu)
-.\" FIXME glibc 2.10 adds psiginfo(), specified in SUSv4.  This function
-.\" should be documented, probably on this page.
+.\"*******************************************************************
 .\"
-.\" Japanese Version Copyright (c) 1997 HIROFUMI Nishizuka
-.\"    all rights reserved.
-.\" Translated Fri Dec 26 13:19:15 JST 1997
-.\"    by HIROFUMI Nishizuka <nishi@rpts.cl.nec.co.jp>
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.TH PSIGNAL 3  2008-08-21 "GNU" "Linux Programmer's Manual"
+.\"*******************************************************************
+.TH PSIGNAL 3 2010\-10\-06 GNU "Linux Programmer's Manual"
 .SH 名前
-psignal \- シグナルメッセージを表示
+psignal, psiginfo \- シグナルメッセージを表示
 .SH 書式
 .nf
-.B #include <signal.h>
+\fB#include <signal.h>\fP
 .sp
-.BI "void psignal(int " sig ", const char *" s );
+\fBvoid psignal(int \fP\fIsig\fP\fB, const char *\fP\fIs\fP\fB);\fP
+\fBvoid psiginfo(const siginfo_t *\fP\fIpinfo\fP\fB, const char *\fP\fIs\fP\fB);\fP
 .sp
-.BI "extern const char *const " sys_siglist [];
+\fBextern const char *const \fP\fIsys_siglist\fP\fB[];\fP
 .fi
 .sp
 .in -4n
-glibc 向けの機能検査マクロの要件
-.RB ( feature_test_macros (7)
-参照):
+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7)  参照):
 .in
 .sp
-.BR psignal ():
-_SVID_SOURCE || _BSD_SOURCE
+\fBpsignal\fP(): _SVID_SOURCE || _BSD_SOURCE
 .br
-.IR sys_siglist :
-_BSD_SOURCE
-\"O .SH DESCRIPTION
+\fBpsiginfo\fP(): _XOPEN_SOURCE\ >=\ 700 || _POSIX_C_SOURCE\ >=\ 200809L
+.br
+\fIsys_siglist\fP: _BSD_SOURCE
 .SH 説明
-.BR psignal ()
-関数は、文字列 \fIs\fP、コロン、スペース、
-シグナル番号 \fIsig\fP を説明する文字列から構成されるメッセージを
-\fIstderr\fP に表示する。もし \fIsig\fP が不正ならば、表示される
-メッセージは未知のシグナルを示す。
-.PP
-配列 \fIsys_siglist\fP はシグナルを説明する文字列を保持しており、
-配列へのアクセスにはシグナル番号を添え字として用いる事ができる。
+\fBpsignal\fP() 関数は、文字列 \fIs\fP、コロン、スペース、
+シグナル番号 \fIsig\fP を説明する文字列、終端の改行から
+構成されるメッセージを \fIstderr\fP に表示する。
+文字列 \fIs\fP が NULL か空の場合、コロンとスペースは省略される。
+\fIsig\fP が不正ならば、表示される メッセージは未知のシグナルを示す。
+
+The \fBpsiginfo\fP()  function is like \fBpsignal\fP(), except that it displays
+information about the signal described by \fIpinfo\fP, which should point to a
+valid \fIsiginfo_t\fP structure.  As well as the signal description,
+\fBpsiginfo\fP()  displays information about the origin of the signal, and
+other information relevant to the signal (e.g., the relevant memory address
+for hardware\-generated signals, the child process ID for \fBSIGCHLD\fP, and the
+user ID and process ID of the sender, for signals set using \fBkill\fP(2)  or
+\fBsigqueue\fP(3)).
+
+配列 \fIsys_siglist\fP はシグナルを説明する文字列を保持しており、 配列へのアクセスにはシグナル番号を添え字として用いる事ができる。
 .SH 返り値
-.BR psignal ()
-関数は、値を返さない。
+関数 \fBpsignal\fP() と \fBpsiginfo\fP() は、値を返さない。
+.SH バージョン
+\fBpsiginfo\fP() 関数は glibc バージョン 2.10 で追加された。
 .SH 準拠
-POSIX.1-2008, 4.3BSD.
+POSIX.1\-2008, 4.3BSD.
+.SH バグ
+バージョン 2.12 までの glibc では \fBpsiginfo\fP() には以下のバグがあった。
+.IP * 3
+.\" FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12107
+.\" Reportedly now fixed; check glibc 2.13
+In some circumstances, a trailing newline is not printed.
+.IP *
+.\" FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12108
+.\" Reportedly now fixed; check glibc 2.13
+Additional details are not displayed for real\-time signals.
 .SH 関連項目
-.BR perror (3),
-.BR strsignal (3)
+\fBsigaction\fP(2), \fBperror\fP(3), \fBstrsignal\fP(3), \fBsignal\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
diff --git a/release/man3/pthread_setcancelstate.3 b/release/man3/pthread_setcancelstate.3
new file mode 100644 (file)
index 0000000..f1179b7
--- /dev/null
@@ -0,0 +1,140 @@
+.\" Copyright (c) 2008 Linux Foundation, written by Michael Kerrisk
+.\"     <mtk.manpages@gmail.com>
+.\"
+.\" Permission is granted to make and distribute verbatim copies of this
+.\" manual provided the copyright notice and this permission notice are
+.\" preserved on all copies.
+.\"
+.\" Permission is granted to copy and distribute modified versions of this
+.\" manual under the conditions for verbatim copying, provided that the
+.\" entire resulting derived work is distributed under the terms of a
+.\" permission notice identical to this one.
+.\"
+.\" Since the Linux kernel and libraries are constantly changing, this
+.\" manual page may be incorrect or out-of-date.  The author(s) assume no
+.\" responsibility for errors or omissions, or for damages resulting from
+.\" the use of the information contained herein.  The author(s) may not
+.\" have taken the same level of care in the production of this manual,
+.\" which is licensed free of charge, as they might when working
+.\" professionally.
+.\"
+.\" Formatted or processed versions of this manual, if unaccompanied by
+.\" the source, must acknowledge the copyright and authors of this work.
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH PTHREAD_SETCANCELSTATE 3 2008\-11\-24 Linux "Linux Programmer's Manual"
+.SH 名前
+pthread_setcancelstate, pthread_setcanceltype \- cancelability state と
+type を設定する
+.SH 書式
+.nf
+\fB#include <pthread.h>\fP
+
+\fBint pthread_setcancelstate(int \fP\fIstate\fP\fB, int *\fP\fIoldstate\fP\fB);\fP
+\fBint pthread_setcanceltype(int \fP\fItype\fP\fB, int *\fP\fIoldtype\fP\fB);\fP
+.sp
+\fI\-pthread\fP でコンパイルしてリンクする。
+.fi
+.SH 説明
+\fBpthread_setcancelstate\fP() は、呼び出したスレッドの
+cancelability state に \fIstate\fP で指定された値を設定する。
+変更前のスレッドの cancelability state は
+\fIoldstate\fP が指すバッファで返される。
+\fIstate\fP 引き数には以下の値のいずれか一つを指定しなければならない。
+.TP 
+\fBPTHREAD_CANCEL_ENABLE\fP
+スレッドは取り消し可能 (cancelable) である。
+これが全ての新しく作成されるスレッドでのデフォルトの cancelability
+state である。これには最初のスレッドも含まれる。
+スレッドの cancelability type により、取り消し可能なスレッドが
+取り消し要求にいつ反応するかが決まる。
+.TP 
+\fBPTHREAD_CANCEL_DISABLE\fP
+スレッドは取り消しできない。取り消し要求を受信した際は、
+取り消し可能に設定されるまでその要求はブロックされる。
+.PP
+\fBpthread_setcanceltype\fP() は、呼び出したスレッドの
+cancelability type に \fItype\fP で指定された値を設定する。
+変更前のスレッドの cancelability type は
+\fIoldtype\fP が指すバッファで返される。
+\fItype\fP 引き数には以下の値のいずれか一つを指定しなければならない。
+.TP 
+\fBPTHREAD_CANCEL_DEFERRED\fP
+そのスレッドが次に取り消しポイント (cancellation point) の関数を
+呼び出すまで取り消し要求が遅延される。これが全ての新しく作成される
+スレッドでのデフォルトの cancellation type である。
+これには最初のスレッドも含まれる。
+.TP 
+\fBPTHREAD_CANCEL_ASYNCHRONOUS\fP
+スレッドはいつでも取り消すことができる (通常はすぐにキャンセルされるが、
+システムがそのことを保証しているわけではない)。
+.PP
+The set\-and\-get operation performed by each of these functions is atomic
+with respect to other threads in the process calling the same function.
+.SH 返り値
+成功すると、これらの関数は 0 を返す。
+エラーの場合、0 以外のエラー番号を返す。
+.SH エラー
+\fBpthread_setcancelstate\fP() は以下のエラーで失敗する場合がある。
+.TP 
+\fBEINVAL\fP
+\fIstate\fP に無効な値が指定された。
+.PP
+\fBpthread_setcanceltype\fP() は以下のエラーで失敗する場合がある。
+.TP 
+\fBEINVAL\fP
+.\" .SH VERSIONS
+.\" Available since glibc 2.0
+\fItype\fP に無効な値が指定された。
+.SH 準拠
+POSIX.1\-2001.
+.SH 注意
+スレッドが取り消された場合に何が起こるかの詳細については
+\fBpthread_cancel\fP(3) を参照。
+
+Briefly disabling cancelability is useful if a thread performs some critical
+action that must not be interrupted by a cancellation request.  Beware of
+disabling cancelability for long periods, or around operations that may
+block for long periods, since that will render the thread unresponsive to
+cancellation requests.
+
+Setting the cancelability type to \fBPTHREAD_CANCEL_ASYNCHRONOUS\fP is rarely
+useful.  Since the thread could be canceled at \fIany\fP time, it cannot safely
+reserve resources (e.g., allocating memory with \fBmalloc\fP(3)), acquire
+mutexes, semaphores, or locks, and so on.  Reserving resources is unsafe
+because the application has no way of knowing what the state of these
+resources is when the thread is canceled; that is, did cancellation occur
+before the resources were reserved, while they were reserved, or after they
+were released? Furthermore, some internal data structures (e.g., the linked
+list of free blocks managed by the \fBmalloc\fP(3)  family of functions) may be
+left in an inconsistent state if cancellation occurs in the middle of the
+function call.  Consequently, clean\-up handlers cease to be useful.
+Functions that can be safely asynchronously canceled are called
+\fIasync\-cancel\-safe functions\fP.  POSIX.1\-2001 only requires that
+\fBpthread_cancel\fP(3), \fBpthread_setcancelstate\fP(), and
+\fBpthread_setcanceltype\fP()  be async\-cancel\-safe.  In general, other library
+functions can't be safely called from an asynchronously cancelable thread.
+One of the few circumstances in which asynchronous cancelability is useful
+is for cancellation of a thread that is in a pure compute\-bound loop.
+
+.\" It looks like at least Solaris, FreeBSD and Tru64 support this.
+The Linux threading implementations permit the \fIoldstate\fP argument of
+\fBpthread_setcancelstate\fP()  to be NULL, in which case the information about
+the previous cancelability state is not returned to the caller.  Many other
+implementations also permit a NULL \fIoldstat\fP argument, but POSIX.1\-2001
+does not specify this point, so portable applications should always specify
+a non\-NULL value in \fIoldstate\fP.  A precisely analogous set of statements
+applies for the \fIoldtype\fP argument of \fBpthread_setcanceltype\fP().
+.SH 例
+\fBpthread_cancel\fP(3) を参照。
+.SH 関連項目
+\fBpthread_cancel\fP(3), \fBpthread_cleanup_push\fP(3), \fBpthread_testcancel\fP(3),
+\fBpthreads\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
index 4c1856c..8b6c25e 100644 (file)
 .\" to see what information could be imported from that file
 .\" into this file.
 .\"
-.\" Japanese Version Copyright (c) 1998,1999 Hiroaki Nagoya,
-.\"     Copyright (c) 2001-2005 Yuichi SATO,
-.\"     and Copyright (c) 2005-2008 Akihiro MOTOKI
-.\"         all rights reserved.
-.\" Translated 1998-07-09, Hiroaki Nagoya <nagoya@cc.hit-u.ac.jp>
-.\" Proofreaded 1998-07-24, Hiroaki Nagoya <nagoya@cc.hit-u.ac.jp> ,
-.\"                         Nakano Takeo <nakano@apm.seikei.ac.jp> and
-.\"                         Shinya Hanataka <hanataka@abyss.rim.or.jp>.
-.\" Matched with man-pages-1.22 1999-01-21, Hiroaki Nagoya
-.\" Updated 1999-12-04, Kentaro Shirakata <argrath@yo.rim.or.jp>
-.\" Updated 2001-04-24, Yuichi SATO <ysato444@yahoo.co.jp>
-.\" Updated 2002-01-14, Yuichi SATO
-.\" Updated 2002-11-04, Yuichi SATO
-.\" Updated 2003-03-01, Yuichi SATO
-.\" Updated 2003-10-18, Yuichi SATO
-.\" Updated 2003-11-27, Yuichi SATO
-.\" Updated 2005-01-22, Yuichi SATO
-.\" Updated 2005-09-14, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated 2005-11-19, Akihiro MOTOKI, LDP v2.14
-.\" Updated 2006-01-18, Akihiro MOTOKI, LDP v2.21
-.\" Updated 2006-02-15, Akihiro MOTOKI, LDP v2.23
-.\" Updated 2006-03-05, Akihiro MOTOKI, LDP v2.25
-.\" Updated 2006-04-15, Akihiro MOTOKI, LDP v2.29
-.\" Updated 2007-01-05, Akihiro MOTOKI, LDP v2.43
-.\" Updated 2007-07-04, Akihiro MOTOKI, LDP v2.58
-.\" Updated 2007-09-03, Akihiro MOTOKI, LDP v2.64
-.\" Updated 2007-10-11, Akihiro MOTOKI, LDP v2.65
-.\" Updated 2008-02-06, Akihiro MOTOKI, LDP v2.76
-.\" Updated 2008-09-21, Akihiro MOTOKI, LDP v3.09
-.\" Updated 2009-03-03, Akihiro MOTOKI, LDP v3.19
-.\" Updated 2009-03-13, Akihiro MOTOKI, LDP v3.20
+.\"*******************************************************************
 .\"
-.\"WORD:        pseudo-filesystem       擬似ファイルシステム
-.\"WORD:        major                   メジャーデバイス番号
-.\"WORD:        minor                   マイナーデバイス番号
-.\"WORD:        inode                   iノード番号
-.\"WORD:        executable              実行形式
-.\"WORD:        file descriptor         ファイルディスクリプタ
-.\"WORD:        swap in/out             スワップイン/アウト
-.\"WORD:        page in/out             ページイン/アウト
-.\"WORD:        minor/major fault       マイナー/メジャーフォールト
-.\"WORD:        demand-loaded in        要求時ロードイン
-.\"WORD:        channels                チャネル
-.\"WORD:        core file               コアファイル
-.\"WORD:        loadable module         ローダブルモジュール
-.\"WORD:        hotplugged              活線挿抜
-.\"WORD:        context switches        コンテクスト・スイッチ
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.TH PROC 5 2009-09-30 "Linux" "Linux Programmer's Manual"
+.\"*******************************************************************
+.TH PROC 5 2012\-02\-08 Linux "Linux Programmer's Manual"
 .SH 名前
 proc \- プロセスの情報を含む擬似ファイルシステム
 .SH 説明
-.I proc
-ファイルシステムは擬似的なファイルシステムであり、
-カーネル内のデータへのインターフェースとして使用される。
-一般的には
-.I /proc
-にマウントされる。
-大部分のファイルは読み出し専用 (read-only) であるが、
-いくつかのファイルは書き込み可能であり、
+\fIproc\fP ファイルシステムは擬似的なファイルシステムであり、 カーネル内のデータへのインターフェースとして使用される。 一般的には
+\fI/proc\fP にマウントされる。 大部分のファイルは読み出し専用 (read\-only) であるが、 いくつかのファイルは書き込み可能であり、
 そのファイルに書き込めばカーネルの内部変数を変更できる。
 .LP
-以下は
-.I /proc
-階層の簡単なあらましである。
+以下は \fI/proc\fP 階層の簡単なあらましである。
 .PD 1
-.TP
-.I /proc/[pid]
-実行中のプロセスについてのサブディレクトリ。
-サブディレクトリ名は (そのプロセスの) プロセス ID である。
-各サブディレクトリは、以下の擬似ファイルとディレクトリを含む。
+.TP 
+\fI/proc/[pid]\fP
 .\" FIXME Describe /proc/[pid]/attr and
 .\"       /proc/[pid]/task/[tid]/attr
 .\"      This is a directory
 .\"       Added in ???
 .\"      CONFIG_SECURITY
 .\"
-.TP
-.IR /proc/[number]/auxv " (カーネル 2.6.0-test7 以降)"
-実行時にプロセスに渡された ELF インタプリタ情報が格納されている。
-個々のエントリは、\fIunsigned long\fP 型の ID 1 個に
-\fIunsigned long\fP 型の値 1 個が続くフォーマットである。
-最後のエントリには 0 が 2 個入っている。
+実行中のプロセスについてのサブディレクトリ。 サブディレクトリ名は (そのプロセスの) プロセス ID である。
+各サブディレクトリは、以下の擬似ファイルとディレクトリを含む。
+.TP 
+\fI/proc/[number]/auxv\fP (カーネル 2.6.0\-test7 以降)
 .\" FIXME Describe /proc/[pid]/cgroup and
 .\"       /proc/[pid]/task/[tid]/cgroup
 .\"      Info in Documentation/cgroups.txt
@@ -152,227 +96,158 @@ proc \- プロセスの情報を含む擬似ファイルシステム
 .\"       "Clears page referenced bits shown in smaps output"
 .\"       write-only
 .\"       CONFIG_PROC_PAGE_MONITOR
-.TP
-.I /proc/[pid]/cmdline
-プロセスの完全なコマンド行を保持する。
-ただし、そのプロセスがゾンビプロセスの場合は、このファイルは空となる。
-.\" Linux 2.3.26 では、プロセスがスワップアウトされている場合も、
-.\" このファイルは空となっていた。
-つまり、このファイルを読み出しても一文字も返らない。
-このファイルではコマンドライン引き数が、
-ヌル文字で区切られた文字列として書かれており、
-最後の文字列の後にヌルバイト (\(aq\\0\(aq) が一つ置かれる。
-.TP
-.IR /proc/[pid]/coredump_filter " (kernel 2.6.23 以降)"
-.BR core (5)
-参照。
-.TP
-.IR /proc/[pid]/cpuset " (kernel 2.6.12 以降)"
+実行時にプロセスに渡された ELF インタプリタ情報が格納されている。 個々のエントリは、\fIunsigned long\fP 型の ID 1 個に
+\fIunsigned long\fP 型の値 1 個が続くフォーマットである。 最後のエントリには 0 が 2 個入っている。
+.TP 
+\fI/proc/[pid]/cmdline\fP
+.\" In 2.3.26, this also used to be true if the process was swapped out.
+プロセスの完全なコマンド行を保持する。ただし、そのプロセスがゾンビプロセス
+の場合は、このファイルは空となる。つまり、このファイルを読み出しても一文字
+も返らない。このファイルではコマンドライン引き数が、
+NULL バイト (\(aq\e0\(aq) で区切られた文字列として書かれており、
+最後の文字列の後に NULL バイトが一つ置かれる。
+.TP 
+\fI/proc/[pid]/coredump_filter\fP (kernel 2.6.23 以降)
+\fBcore\fP(5)  参照。
+.TP 
+\fI/proc/[pid]/cpuset\fP (kernel 2.6.12 以降)
 .\" and/proc/[pid]/task/[tid]/cpuset
-.BR cpuset (7)
-参照。
-.TP
-.I /proc/[pid]/cwd
-プロセスのカレントワーキングディレクトリへのシンボリックリンク。
-例えば、プロセス 20 のカレントワーキングディレクトリを見つけるためには、
+\fBcpuset\fP(7)  参照。
+.TP 
+\fI/proc/[pid]/cwd\fP
+プロセスのカレントワーキングディレクトリへのシンボリックリンク。 例えば、プロセス 20 のカレントワーキングディレクトリを見つけるためには、
 次のようにすればよい。
 
 .in +4n
 .nf
-.RB "$" " cd /proc/20/cwd; /bin/pwd"
+$\fB cd /proc/20/cwd; /bin/pwd\fP
 .fi
 .in
 
-.I pwd
-コマンドはシェルの内部コマンドのことがよくあり、
+\fIpwd\fP コマンドはシェルの内部コマンドのことがよくあり、
 うまく動作しないかもしれない。
-.BR bash (1)
-では
-.I "pwd \-P"
-を使ってもよい。
-
-.\" 以下の内容は カーネル 2.6.13 ではまだ正しい。
-マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、
-このシンボリックリンクの内容は参照できない
-(スレッドの終了は通常
-.BR pthread_exit (3)
-を呼び出しにより行われる)。
-.TP
-.I /proc/[pid]/environ
-このファイルはプロセスの環境変数を含んでいる。
-各エントリは NULL バイト (\(aq\\0\(aq) で区切られていて、
-末尾に NULL バイトがあるかもしれない。
-したがって、プロセス 1 の環境変数を表示するためには
-次のようにすればよい。
+\fBbash\fP(1) では \fIpwd\ \-P\fP を使ってもよい。
+
+.\" The following was still true as at kernel 2.6.13
+マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、 このシンボリックリンクの内容は参照できない (スレッドの終了は通常
+\fBpthread_exit\fP(3)  を呼び出しにより行われる)。
+.TP 
+\fI/proc/[pid]/environ\fP
+このファイルはプロセスの環境変数を含んでいる。 各エントリは NULL バイト (\(aq\e0\(aq) で区切られていて、 末尾に NULL
+バイトがあるかもしれない。 したがって、プロセス 1 の環境変数を表示するためには 次のようにすればよい。
 .in +4n
 .nf
 
-.ft CW
-.RB "$" " (cat /proc/1/environ; echo) | tr \(aq\e000\(aq \(aq\en\(aq"
+$\fB (cat /proc/1/environ; echo) | tr \(aq\e000\(aq \(aq\en\(aq\fP
 .fi
-.ft P
 .in
-.TP
-.I /proc/[pid]/exe
-Linux 2.2 以降では、このファイルはシンボリックリンクで、
-実行可能コマンドの実際のパス名を格納している。
-このシンボリックリンクは通常のように辿ることができる;
-これをオープンすると実行可能ファイルがオープンされる。
-(コマンドラインで)
-.I /proc/[pid]/exe
-と入力すると、プロセス番号 [pid] で実行されている
-実行可能ファイルをもう一つ実行することができる。
-.\" 以下の内容は カーネル 2.6.13 ではまだ正しい。
-マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、
-このシンボリックリンクの内容は参照できない
-(スレッドの終了は通常
-.BR pthread_exit (3)
-を呼び出しにより行われる)。
-
-Linux 2.0 以前では、
-.I /proc/[pid]/exe
-は実行されたバイナリへのポインタで、シンボリックリンクのように見える。
-Linux 2.0 以前では、このファイルに対して
-.BR readlink (2)
-を実行すると、
+.TP 
+\fI/proc/[pid]/exe\fP
+.\" The following was still true as at kernel 2.6.13
+Linux 2.2 以降では、このファイルはシンボリックリンクで、 実行可能コマンドの実際のパス名を格納している。
+このシンボリックリンクは通常のように辿ることができる; これをオープンすると実行可能ファイルがオープンされる。 (コマンドラインで)
+\fI/proc/[pid]/exe\fP と入力すると、プロセス番号 [pid] で実行されている 実行可能ファイルをもう一つ実行することができる。
+マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、 このシンボリックリンクの内容は参照できない (スレッドの終了は通常
+\fBpthread_exit\fP(3)  を呼び出しにより行われる)。
+
+Linux 2.0 以前では、 \fI/proc/[pid]/exe\fP は実行されたバイナリへのポインタで、シンボリックリンクのように見える。 Linux
+2.0 以前では、このファイルに対して \fBreadlink\fP(2)  を実行すると、次のフォーマットの文字列が返る。
 
     [デバイス番号]:iノード番号
 
-というフォーマットの文字列が返る。
-
-たとえば、[0301]:1502 はメジャーデバイス番号 03 (IDE, MFM などのドライブ)
-マイナーデバイス番号 01 (最初のドライブの最初のパーティション) の
-デバイス上の iノード番号 1502 である。
-
-.I \-inum
-オプションをつけて
-.BR find (1)
-を使うと、このファイルの所在を探すことができる。
-.TP
-.I /proc/[pid]/fd
-プロセスがオープンしたファイル各々に対するエントリを含むサブディレクトリ。
-ファイルディスクリプタがファイル名で、
-実際のファイルへのシンボリックリンクになっている。
-したがって 0 は標準入力、1 は標準出力、2 は標準エラー出力、などとなる。
-
-.\" 以下の内容は カーネル 2.6.13 ではまだ正しい。
-マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、
-このディレクトリの内容は参照できない
-(スレッドの終了は通常
-.BR pthread_exit (3)
-を呼び出しにより行われる)。
-
-コマンドライン引き数としてファイル名を受け取るが、引き数が
-渡されなかった場合に標準入力から入力を受け取らないようなプログラムや、
-コマンドライン引き数として書き込みファイルを受け取るが、引き数が
-渡されなかった場合に標準出力に出力を行わないようなプログラムであっても、
-.I /proc/[pid]/fd
-を使うことで標準入力や標準出力を使用できるようになる。
-例えば、
-.I \-i
-を入力ファイルを指定するフラグ、
-.I \-o
-を出力ファイルを指定するフラグと仮定すると、以下のコマンドを
-実行することにより、フィルタとして動作させることができる。
+たとえば、[0301]:1502 はメジャーデバイス番号 03 (IDE, MFM などのドライブ)  マイナーデバイス番号 01
+(最初のドライブの最初のパーティション) の デバイス上の iノード番号 1502 である。
+
+\fI\-inum\fP オプションをつけて \fBfind\fP(1) を使うと、
+このファイルの所在を探すことができる。
+.TP 
+\fI/proc/[pid]/fd\fP
+プロセスがオープンしたファイル各々に対するエントリを含むサブディレクトリ。 ファイルディスクリプタがファイル名で、
+実際のファイルへのシンボリックリンクになっている。 したがって 0 は標準入力、1 は標準出力、2 は標準エラー出力、などとなる。
+
+.\" The following was still true as at kernel 2.6.13
+マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、 このディレクトリの内容は参照できない (スレッドの終了は通常
+\fBpthread_exit\fP(3)  を呼び出しにより行われる)。
+
+コマンドライン引き数としてファイル名を受け取るが、引き数が 渡されなかった場合
+に標準入力から入力を受け取らないようなプログラムや、 コマンドライン引き数とし
+て書き込みファイルを受け取るが、引き数が 渡されなかった場合に標準出力に出力を
+行わないようなプログラムであっても、 \fI/proc/[pid]/fd\fP を使うことで標準入力や
+標準出力を使用できるようになる。 例えば、 \fI\-i\fP を入力ファイルを指定するフラ
+グ、 \fI\-o\fP を出力ファイルを指定するフラグと仮定すると、
 .in +4n
 .nf
 
-.RB "$" " foobar \-i /proc/self/fd/0 \-o /proc/self/fd/1 ..."
+$\fB foobar \-i /proc/self/fd/0 \-o /proc/self/fd/1 ...\fP
 .fi
 .in
 
-.\" 私のテストでは、以下は正しくなかった (MTK):
-.\" ただし fd ディレクトリ内のファイルはシーク (seek) できないので、
-.\" この方法はファイルをシークするようなプログラムではうまく働かない。
-
-.I /proc/self/fd/N
-は、ある種の Unix や Unix 風のシステムにある
-.I /dev/fd/N
-とだいたい同じである。
-事実 Linux のたいていの MAKEDEV スクリプトは、
-.I /dev/fd
-を
-.I /proc/self/fd
-へのシンボリックリンクにしている。
-
-ほとんどのシステムでは、シンボリックリンク
-.IR /dev/stdin ,
-.IR /dev/stdout ,
-.IR /dev/stderr
-が提供されており、それぞれ
-.I /proc/self/fd
-内のファイル
-.IR 0 ,
-.IR 1 ,
-.IR 2
-にリンクされている。
+.\" The following is not true in my tests (MTK):
+.\" Note that this will not work for
+.\" programs that seek on their files, as the files in the fd directory
+.\" are not seekable.
+を実行することにより、フィルタとして動作させることができる。
+
+\fI/proc/self/fd/N\fP は、ある種の UNIX や UNIX 風のシステムにある \fI/dev/fd/N\fP
+とだいたい同じである。 事実 Linux のたいていの MAKEDEV スクリプトは、
+\fI/dev/fd\fP を \fI/proc/self/fd\fP へのシンボリックリンクにしている。
+
+ほとんどのシステムでは、シンボリックリンク \fI/dev/stdin\fP, \fI/dev/stdout\fP, \fI/dev/stderr\fP
+が提供されており、それぞれ \fI/proc/self/fd\fP 内のファイル \fI0\fP, \fI1\fP, \fI2\fP にリンクされている。
 したがって、上述のサンプルコマンドは次のようにも書くことができる。
 .in +4n
 .nf
 
-.RB "$" " foobar \-i /dev/stdin \-o /dev/stdout ..."
+$\fB foobar \-i /dev/stdin \-o /dev/stdout ...\fP
 .fi
 .in
 .\" FIXME Describe /proc/[pid]/loginuid
 .\"       Added in 2.6.11; updating requires CAP_AUDIT_CONTROL
 .\"       CONFIG_AUDITSYSCALL
-.TP
-.IR /proc/[pid]/fdinfo/ " (kernel 2.6.22 以降)"
-このサブディレクトリには、そのプロセスがオープンしているファイル毎の
-エントリが入っており、ファイルディスクリプタがファイル名となっている。
-各ファイルの内容を読み出すことで、対応するファイルディスクリプタに関する
-情報を得ることができる。以下に例を示す。
+.TP 
+\fI/proc/[pid]/fdinfo/\fP (kernel 2.6.22 以降)
+このサブディレクトリには、そのプロセスがオープンしているファイル毎の エントリが入っており、ファイルディスクリプタがファイル名となっている。
+各ファイルの内容を読み出すことで、対応するファイルディスクリプタに関する 情報を得ることができる。以下に例を示す。
 .in +4n
 .nf
 
-.RB "$" " cat /proc/12015/fdinfo/4"
+$\fB cat /proc/12015/fdinfo/4\fP
 pos:    1000
 flags:  01002002
 .fi
 .in
 
-.I pos
-フィールドは 10 進数で、現在のファイルオフセットを示す。
-.I flags
-フィールドは 8 進数で、
-ファイルのアクセスモードとファイル状態フラグを示す
-.RB ( open (2)
-参照)。
+\fIpos\fP フィールドは 10 進数で、現在のファイルオフセットを示す。 \fIflags\fP フィールドは 8 進数で、
+ファイルのアクセスモードとファイル状態フラグを示す (\fBopen\fP(2)  参照)。
 
-このディレクトリのファイルは、プロセスの所有者だけが読み出すことができる。
 .\" FIXME document /proc/[pid]/io
 .\" .TP
 .\" .IR /proc/[pid]/io " (since kernel 2.6.20)"
-.TP
-.IR /proc/[pid]/limits " (kernel 2.6.24 以降)"
-このファイルは、そのプロセスの各リソース制限について、
-ソフト・リミット、ハード・リミット、計測単位を表示する
-.RB ( getrlimit (2)
-参照)。
-このファイルは、プロセスの実 UID を持つものだけが読み出すことができる。
-.TP
-.I /proc/[pid]/maps
+このディレクトリのファイルは、プロセスの所有者だけが読み出すことができる。
+.TP 
+\fI/proc/[pid]/limits\fP (kernel 2.6.24 以降)
+このファイルは、そのプロセスの各リソース制限について、 ソフト・リミット、ハード・リミット、計測単位を表示する (\fBgetrlimit\fP(2)
+参照)。 このファイルは、プロセスの実 UID を持つものだけが読み出すことができる。
+.TP 
+\fI/proc/[pid]/maps\fP
 現在マップされているメモリ領域とそのアクセスパーミッションを含む。
 
 フォーマットは以下のとおり:
 
 .nf
-.ft CW
-address           perms offset  dev   inode   pathname
-08048000-08056000 r-xp 00000000 03:0c 64593   /usr/sbin/gpm
-08056000-08058000 rw-p 0000d000 03:0c 64593   /usr/sbin/gpm
-08058000-0805b000 rwxp 00000000 00:00 0
-40000000-40013000 r-xp 00000000 03:0c 4165    /lib/ld-2.2.4.so
-40013000-40015000 rw-p 00012000 03:0c 4165    /lib/ld-2.2.4.so
-4001f000-40135000 r-xp 00000000 03:0c 45494   /lib/libc-2.2.4.so
-40135000-4013e000 rw-p 00115000 03:0c 45494   /lib/libc-2.2.4.so
-4013e000-40142000 rw-p 00000000 00:00 0
-bffff000-c0000000 rwxp 00000000 00:00 0
-.ft
+\f(CWaddress           perms offset  dev   inode   pathname
+08048000\-08056000 r\-xp 00000000 03:0c 64593   /usr/sbin/gpm
+08056000\-08058000 rw\-p 0000d000 03:0c 64593   /usr/sbin/gpm
+08058000\-0805b000 rwxp 00000000 00:00 0
+40000000\-40013000 r\-xp 00000000 03:0c 4165    /lib/ld\-2.2.4.so
+40013000\-40015000 rw\-p 00012000 03:0c 4165    /lib/ld\-2.2.4.so
+4001f000\-40135000 r\-xp 00000000 03:0c 45494   /lib/libc\-2.2.4.so
+40135000\-4013e000 rw\-p 00115000 03:0c 45494   /lib/libc\-2.2.4.so
+4013e000\-40142000 rw\-p 00000000 00:00 0
+bffff000\-c0000000 rwxp 00000000 00:00 0\fP
 .fi
 
-ここで "address" はプロセスのアドレス空間でそのメモリ領域が占めている
-アドレスで、"perms" はパーミッションのセットである。
+ここで "address" はプロセスのアドレス空間でそのメモリ領域が占めている アドレスで、"perms" はパーミッションのセットである。
 
 .nf
 .in +5
@@ -384,125 +259,94 @@ p = private (copy on write)
 .fi
 .in
 
-\&"offset" はファイル (などの) 中でのオフセット、
-\&"dev" はデバイス (メジャーデバイス番号:マイナーデバイス番号)、
-\&"inode" はそのデバイスの i ノード番号である。
-これが 0 のときは、bss (初期化されていないデータ領域) の場合のように
+\&"offset" はファイル (などの) 中でのオフセット、 \&"dev" はデバイス (メジャーデバイス番号:マイナーデバイス番号)、
+\&"inode" はそのデバイスの i ノード番号である。 これが 0 のときは、bss (初期化されていないデータ領域) の場合のように
 このメモリ領域にはどの i ノードも割り当てられていないことを意味している。
 
 Linux 2.0 ではパス名を書いたフィールドがない。
-.TP
-.I /proc/[pid]/mem
-このファイルは、
-.BR open (2),
-.BR read (2),
-.BR lseek (2)
+.TP 
+\fI/proc/[pid]/mem\fP
+このファイルは、 \fBopen\fP(2), \fBread\fP(2), \fBlseek\fP(2)
 を通して、プロセスのメモリのページにアクセスするために使われる。
-.TP
-.IR /proc/[pid]/mountinfo " (Linux 2.6.26 以降)"
+.TP 
+\fI/proc/[pid]/mountinfo\fP (Linux 2.6.26 以降)
 .\" This info adapted from Documentation/filesystems/proc.txt
-このファイルには、マウントポイントについての情報が入っている。
-以下のような形式の行から構成される。
+このファイルには、マウントポイントについての情報が入っている。 以下のような形式の行から構成される。
 .nf
-.ft CW
 
-36 35 98:0 /mnt1 /mnt2 rw,noatime master:1 - ext3 /dev/root rw,errors=continue
-(1)(2)(3)   (4)   (5)      (6)      (7)   (8) (9)   (10)         (11)
-.ft
+\f(CW36 35 98:0 /mnt1 /mnt2 rw,noatime master:1 \- ext3 /dev/root rw,errors=continue
+(1)(2)(3)   (4)   (5)      (6)      (7)   (8) (9)   (10)         (11)\fP
 .fi
 .IP
 括弧付きの数字は、以下の説明のためのものである。
 .RS 7
-.TP 5
+.TP  5
 (1)
-マウント ID: マウントの一意な識別子
-.RB ( umount (2)
-の後は再利用されるかもしれない)。
-.TP
+マウント ID: マウントの一意な識別子 (\fBumount\fP(2)  の後は再利用されるかもしれない)。
+.TP 
 (2)
-parent ID: 親マウントの ID
-(マウントツリーの最上位の場合は自分自身の ID となる)。
-.TP
+parent ID: 親マウントの ID (マウントツリーの最上位の場合は自分自身の ID となる)。
+.TP 
 (3)
-major:minor: ファイルシステム上のファイルの
-.I st_dev
-の値
-.RB ( stat (2)
-参照)。
-.TP
+major:minor: ファイルシステム上のファイルの \fIst_dev\fP の値 (\fBstat\fP(2)  参照)。
+.TP 
 (4)
 ルート: そのファイルシステム内のマウントのルート。
-.TP
+.TP 
 (5)
 マウントポイント: マウントポイントのそのプロセスのルートからの相対パス。
-.TP
+.TP 
 (6)
 マウントオプション: 各マウントのオプション。
-.TP
+.TP 
 (7)
 オプションフィールド: "tag[:value]" 形式のフィールドが 0 個以上並ぶ。
-.TP
+.TP 
 (8)
 セパレータ: オプションフィールドの終わりを示す。
-.TP
+.TP 
 (9)
-ファイルシステム種別: ファイルシステムの名前。
-"type[.subtype]" という形式となる。
-.TP
+ファイルシステム種別: ファイルシステムの名前。 "type[.subtype]" という形式となる。
+.TP 
 (10)
 マウント元: ファイルシステム固有の情報。ない場合は "none" となる。
-.TP
+.TP 
 (11)
 super options: スーパーブロック単位のオプション。
 .RE
 .IP
-解釈する側は認識できないオプションフィールドは全て無視すべきである。
-現在のところ、オプションフィールドとしては以下のようなものがある。
+解釈する側は認識できないオプションフィールドは全て無視すべきである。 現在のところ、オプションフィールドとしては以下のようなものがある。
 .RS 12
-.TP 18
+.TP  18
 shared:X
 マウントはピアグループ (peer group) X で共有されている。
-.TP
+.TP 
 master:X
 マウントはピアグループ (peer group) X のスレーブである。
-.TP
+.TP 
 propagate_from:X
-マウントはスレーブであり、ピアグループ X (*) から
-mount propagation を受信する。
-.TP
+マウントはスレーブであり、ピアグループ X (*) から mount propagation を受信する。
+.TP 
 unbindable
 マウントは unbind できない。
 .RE
 .IP
-(*) X は、プロセスの root で直近の dominant peer group である。
-X がマウントの直接のマスターである場合や、
-同じ root に dominant peer group がない場合は、
-"master:X" フィールドだけが存在し、
+(*) X は、プロセスの root で直近の dominant peer group である。 X がマウントの直接のマスターである場合や、 同じ
+root に dominant peer group がない場合は、 "master:X" フィールドだけが存在し、
 "propagate_from:X" フィールドは存在しない。
 
 mount propagation の詳細については、カーネルソースツリー内の
-.I Documentation/filesystems/sharedsubtree.txt
-を参照。
-.TP
-.IR /proc/[pid]/mounts " (Linux 2.4.19 以降)"
-そのプロセスのマウント名前空間に現在マウントされている
-全ファイルシステムのリスト。
-このファイルのフォーマットは
-.BR fstab (5)
-に載っている。
-カーネル 2.6.15 以降では、このファイルを監視することができる (pollable)。
-このファイルを読み出し用にオープンした後で、このファイルに変更があると
-(つまりファイルシステムのマウントやアンマウントがあると)、
-.BR select (2)
-ではそのファイルディスクリプタは読み出し可能となり、
-.BR poll (2)
-と
-.BR epoll_wait (2)
+\fIDocumentation/filesystems/sharedsubtree.txt\fP を参照。
+.TP 
+\fI/proc/[pid]/mounts\fP (Linux 2.4.19 以降)
+そのプロセスのマウント名前空間に現在マウントされている 全ファイルシステムのリスト。 このファイルのフォーマットは \fBfstab\fP(5)
+に載っている。 カーネル 2.6.15 以降では、このファイルを監視することができる (pollable)。
+このファイルを読み出し用にオープンした後で、このファイルに変更があると (つまりファイルシステムのマウントやアンマウントがあると)、
+\fBselect\fP(2)  ではそのファイルディスクリプタは読み出し可能となり、 \fBpoll\fP(2)  と \fBepoll_wait\fP(2)
 ではそのファイルはエラー状態として通知される。
-.TP
-.IR /proc/[pid]/mountstats " (Linux 2.6.17 以降)"
-このファイルを通じて、そのプロセスの名前空間内のマウントポイントに関する
-各種情報 (統計、設定情報) を参照できる。
+.TP 
+\fI/proc/[pid]/mountstats\fP (Linux 2.6.17 以降)
+このファイルを通じて、そのプロセスの名前空間内のマウントポイントに関する 各種情報 (統計、設定情報) を参照できる。
 ファイルの各行は以下のフォーマットである。
 .nf
 
@@ -512,99 +356,109 @@ device /dev/sda7 mounted on /home with fstype ext3 [statistics]
 .IP
 各行のフィールドは以下の通りである。
 .RS 7
-.TP 5
+.TP  5
 (1)
-マウントされているデバイス名
-(対応するデバイスがない場合は "nodevice" となる)。
-.TP
+マウントされているデバイス名 (対応するデバイスがない場合は "nodevice" となる)。
+.TP 
 (2)
 マウントポイントのファイルシステムツリーにおけるパス名。
-.TP
+.TP 
 (3)
 ファイルシステム種別。
-.TP
+.TP 
 (4)
-追加の統計や設定情報。
-現在のところ (Linux 2.6.26 時点では)、
-このフィールドで情報が提供されているのは NFS ファイルシステムだけである。
+追加の統計や設定情報。 現在のところ (Linux 2.6.26 時点では)、 このフィールドで情報が提供されているのは NFS
+ファイルシステムだけである。
 .RE
 .IP
 このファイルはプロセスの所有者だけが読み出すことができる。
-.TP
-.IR /proc/[pid]/numa_maps " (Linux 2.6.14 以降)"
-.BR numa (7)
-を参照。
-.TP
-.IR /proc/[pid]/oom_adj " (Linux 2.6.11 以降)"
-このファイルは、メモリ不足 (OOM) の状況下で
-どのプロセスを殺すべきかを選択するのに使用されるスコアを
-調整するのに使用される。
-カーネルは、プロセスの
-.I oom_score
-値のビットシフト操作に、この値を使用する。
-この値として有効な値は \-16 から +15 までと、
-特別な意味を持つ \-17 である。
-\-17 はそのプロセスに対する OOM-killing を完全に無効にすることを意味する。
-正の値ほど、そのプロセスが OOM-killer により殺される可能性が高くなり、
-負の値ほど可能性が低くなる。
-このファイルのデフォルト値は 0 である。
-新しいプロセスは親プロセスの
-.I oom_adj
-の設定を継承する。
-このファイルを変更するためには、プロセスは特権
-.RB ( CAP_SYS_RESOURCE )
-を持っていなければならない。
-.TP
-.IR /proc/[pid]/oom_score " (Linux 2.6.11 以降)"
+.TP 
+\fI/proc/[pid]/ns/\fP (Linux 3.0 以降)
+.\" See commit 6b4e306aa3dc94a0545eb9279475b1ab6209a31f
+This is a subdirectory containing one entry for each namespace that supports
+being manipulated by \fBsetns\fP(2).  For information about namespaces, see
+\fBclone\fP(2).
+.TP 
+\fI/proc/[pid]/ns/ipc\fP (Linux 3.0 以降)
+Bind mounting this file (see \fBmount\fP(2))  to somewhere else in the
+filesystem keeps the IPC namespace of the process specified by \fIpid\fP alive
+even if all processes currently in the namespace terminate.
+
+Opening this file returns a file handle for the IPC namespace of the process
+specified by \fIpid\fP.  As long as this file descriptor remains open, the IPC
+namespace will remain alive, even if all processes in the namespace
+terminate.  The file descriptor can be passed to \fBsetns\fP(2).
+.TP 
+\fI/proc/[pid]/ns/net\fP (Linux 3.0 以降)
+Bind mounting this file (see \fBmount\fP(2))  to somewhere else in the
+filesystem keeps the network namespace of the process specified by \fIpid\fP
+alive even if all processes in the namespace terminate.
+
+Opening this file returns a file handle for the network namespace of the
+process specified by \fIpid\fP.  As long as this file descriptor remains open,
+the network namespace will remain alive, even if all processes in the
+namespace terminate.  The file descriptor can be passed to \fBsetns\fP(2).
+.TP 
+\fI/proc/[pid]/ns/uts\fP (Linux 3.0 以降)
+Bind mounting this file (see \fBmount\fP(2))  to somewhere else in the
+filesystem keeps the UTS namespace of the process specified by \fIpid\fP alive
+even if all processes currently in the namespace terminate.
+
+Opening this file returns a file handle for the UTS namespace of the process
+specified by \fIpid\fP.  As long as this file descriptor remains open, the UTS
+namespace will remain alive, even if all processes in the namespace
+terminate.  The file descriptor can be passed to \fBsetns\fP(2).
+.TP 
+\fI/proc/[pid]/numa_maps\fP (Linux 2.6.14 以降)
+\fBnuma\fP(7)  を参照。
+.TP 
+\fI/proc/[pid]/oom_adj\fP (Linux 2.6.11 以降)
+このファイルは、メモリ不足 (OOM) の状況下で どのプロセスを殺すべきかを選択す
+るのに使用されるスコアを 調整するのに使用される。 カーネルは、プロセスの
+\fIoom_score\fP 値のビットシフト操作に、この値を使用する。 この値として有効な値
+は \-16 から +15 までと、 特別な意味を持つ \-17 である。 \-17 はそのプロセス
+に対する OOM\-killing を完全に無効にすることを意味する。 正の値ほど、そのプロ
+セスが OOM\-killer により殺される可能性が高くなり、 負の値ほど可能性が低くなる。
+このファイルのデフォルト値は 0 である。 新しいプロセスは親プロセスの
+\fIoom_adj\fP の設定を継承する。 このファイルを変更するためには、プロセスは特権
+(\fBCAP_SYS_RESOURCE\fP) を持っていなければならない。
+.TP 
+\fI/proc/[pid]/oom_score\fP (Linux 2.6.11 以降)
 .\" See mm/oom_kill.c::badness() in the 2.6.25 sources
-このファイルは、OOM-killer のプロセス選択用として、カーネルが
-このプロセスに対して与えた現在のスコアを表示する。
-高いスコアは、そのプロセスが OOM-killer により選択される
-可能性が高いことを意味する。
-このスコアの基本はそのプロセスが使用しているメモリ量であり、
-以下の要因により加算 (+) 減算 (\-) が行われる。
 .\" See mm/oom_kill.c::badness() in the 2.6.25 sources
+このファイルは、OOM\-killer のプロセス選択用として、カーネルが このプロセス
+に対して与えた現在のスコアを表示する。 高いスコアは、そのプロセスが
+OOM\-killer により選択される 可能性が高いことを意味する。 このスコアの基本は
+そのプロセスが使用しているメモリ量であり、 以下の要因により加算 (+) 減算 (\-)
+が行われる。
 .RS
 .IP * 2
-そのプロセスが多くの子プロセスを
-.BR fork (2)
-を使って作成しているか (+)。
+そのプロセスが多くの子プロセスを \fBfork\fP(2)  を使って作成しているか (+)。
 .IP *
-そのプロセスが長時間実行されて来たか、もしくは
-多くの CPU 時間を使用しているか (\-)。
+そのプロセスが長時間実行されて来たか、
+もしくは 多くの CPU 時間を使用しているか (\-)。
 .IP *
 そのプロセスが低い nice 値 (> 0) を持っているか (+)。
 .IP *
+.\" More precisely, if it has CAP_SYS_ADMIN or CAP_SYS_RESOURCE
 そのプロセスが特権を持っているか (\-)。
-.\" より正確には、CAP_SYS_ADMIN か CAP_SYS_RESOURCE を持っているか。
 .IP *
+.\" More precisely, if it has CAP_SYS_RAWIO
 そのプロセスが direct hardware access を行っているか (\-)。
-.\" より正確には、CAP_SYS_RAWIO を持っているか。
 .RE
 .IP
-.I oom_score
-は、そのプロセスの
-.I oom_adj
-設定で規定されるビットシフト調整にも影響を与える。
 .\" FIXME Describe /proc/[pid]/pagemap
 .\"       Added in 2.6.25
 .\"       CONFIG_PROC_PAGE_MONITOR
-.TP
-.I /proc/[pid]/root
-Unix と Linux では、
-ファイルシステムのルート (/) をプロセスごとに別々にできる。
-これはシステムコール
-.BR chroot (2)
-によって設定する。
-このファイルはプロセスのルートディレクトリを指すシンボリックリンクで、
-exe や fd/* などと同じような動作をする。
-
-.\" 以下の内容は カーネル 2.6.13 ではまだ正しい。
-マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、
-このシンボリックリンクの内容は参照できない
-(スレッドの終了は通常
-.BR pthread_exit (3)
-を呼び出しにより行われる)。
+\fIoom_score\fP は、そのプロセスの \fIoom_adj\fP 設定で規定されるビットシフト調整にも影響を与える。
+.TP 
+\fI/proc/[pid]/root\fP
+UNIX と Linux では、 ファイルシステムのルート (/) をプロセスごとに別々に
+できる。これはシステムコール \fBchroot\fP(2) によって設定する。 このファイルは
+プロセスのルートディレクトリを指すシンボリックリンクで、 exe や fd/* など
+と同じような動作をする。
+
+.\" The following was still true as at kernel 2.6.13
 .\" FIXME Describe /proc/[pid]/seccomp
 .\"       Added in 2.6.12
 .\" FIXME Describe /proc/[pid]/sessionid
@@ -619,15 +473,16 @@ exe や fd/* などと同じような動作をする。
 .\"       /proc/[pid]/task/[tid]/schedstats
 .\"       Added in 2.6.9
 .\"       CONFIG_SCHEDSTATS
-.TP
-.IR /proc/[pid]/smaps " (Linux 2.6.14 以降)"
+マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、 このシンボリックリンクの内容は参照できない (スレッドの終了は通常
+\fBpthread_exit\fP(3)  を呼び出しにより行われる)。
+.TP 
+\fI/proc/[pid]/smaps\fP (Linux 2.6.14 以降)
 .\"       CONFIG_PROC_PAGE_MONITOR
-このファイルは、そのプロセスの各マッピングのメモリ消費量を表示する。
-マッピングのそれぞれについて、以下のような内容が表示される。
+このファイルは、そのプロセスの各マッピングのメモリ消費量を表示する。 マッピングのそれぞれについて、以下のような内容が表示される。
 .in +4n
 .nf
 
-08048000-080bc000 r-xp 00000000 03:02 13130      /bin/bash
+08048000\-080bc000 r\-xp 00000000 03:02 13130      /bin/bash
 Size:               464 kB
 Rss:                424 kB
 Shared_Clean:       424 kB
@@ -637,332 +492,233 @@ Private_Dirty:        0 kB
 
 .fi
 .in
-最初の行には、
-.I /proc/[pid]/maps
-で表示されるマッピングと同じ情報が表示される。
-残りの行には、マッピングのサイズ、現在 RAM 上に存在するマッピングの量、
-マッピング内の共有ページのうちクリーンなページ数、ダーティなページ数、
-マッピング内のプライベートページのうちクリーンなページ数、
-ダーティなページ数、を示す。
-
-このファイルが存在するのは、カーネルのコンフィギュレーション・オプション
-.B CONFIG_MMU
-を有効にした場合だけである。
-.TP
-.I /proc/[pid]/stat
-プロセスの状態についての情報。
-これは
-.BR ps (1)
-で使われ、
-.I /usr/src/linux/fs/proc/array.c
+最初の行には、 \fI/proc/[pid]/maps\fP で表示されるマッピングと同じ情報が表示される。 残りの行には、マッピングのサイズ、現在 RAM
+上に存在するマッピングの量、 マッピング内の共有ページのうちクリーンなページ数、ダーティなページ数、
+マッピング内のプライベートページのうちクリーンなページ数、 ダーティなページ数、を示す。
+
+このファイルが存在するのは、カーネルのコンフィギュレーション・オプション \fBCONFIG_MMU\fP を有効にした場合だけである。
+.TP 
+\fI/proc/[pid]/stat\fP
+プロセスの状態についての情報。 これは \fBps\fP(1)  で使われ、 \fI/usr/src/linux/fs/proc/array.c\fP
 で定義されている。
 
-各フィールドを順番に、
-.BR scanf (3)
-のフォーマット指定子付きで以下に示す。
+各フィールドを順番に、 \fBscanf\fP(3)  のフォーマット指定子付きで以下に示す。
 .RS
-.TP 12
+.TP  12
 \fIpid\fP %d
 プロセス ID。
-.TP
+.TP 
 \fIcomm\fP %s
-括弧でくくられた実行形式のファイル名。
-実行形式がスワップアウトされているかどうかによらず、見ることができる。
-.TP
+括弧でくくられた実行形式のファイル名。 実行形式がスワップアウトされているかどうかによらず、見ることができる。
+.TP 
 \fIstate\fP %c
-"RSDZTW" のどれか 1 文字。
-R は実行中 (running)、
-S は割り込み可能な休眠状態 (sleeping in an interruptible wait)、
-D は割り込み不可能なディスクスリープの待機状態
-(waiting in uninterruptible disk sleep)、
-Z はゾンビ状態 (zombie)、
-T はトレースされている (traced) か
-(シグナルにより) 停止している状態 (stopped)、
-W はページング中 (paging) を表している。
-.TP
+"RSDZTW" のどれか 1 文字。 R は実行中 (running)、 S は割り込み可能な休眠状態 (sleeping in an
+interruptible wait)、 D は割り込み不可能なディスクスリープの待機状態 (waiting in uninterruptible
+disk sleep)、 Z はゾンビ状態 (zombie)、 T はトレースされている (traced) か (シグナルにより) 停止している状態
+(stopped)、 W はページング中 (paging) を表している。
+.TP 
 \fIppid\fP %d
 親プロセスの PID。
-.TP
+.TP 
 \fIpgrp\fP %d
 プロセスのプロセスグループ ID。
-.TP
+.TP 
 \fIsession\fP %d
 プロセスのセッション ID。
-.TP
+.TP 
 \fItty_nr\fP %d
-プロセスの制御端末
-(マイナー・デバイス番号はビット 31〜20 と 7〜0 にまたがって格納され、
-メジャー・デバイス番号はビット 15〜8 に格納される)。
-.TP
+プロセスの制御端末 (マイナー・デバイス番号はビット 31〜20 と 7〜0 にまたがって格納され、 メジャー・デバイス番号はビット 15〜8
+に格納される)。
+.TP 
 \fItpgid\fP %d
-.\" このフィールドから wchan までは 0.99.1 で追加された。
+.\" This field and following, up to and including wchan added 0.99.1
 プロセスの制御端末のフォアグランド・プロセス・グループの ID。
-.TP
+.TP 
 \fIflags\fP %u (Linux 2.6.22 より前は %lu)
-プロセスのカーネルフラグワード。
-ビットの意味は、
-.I <linux/sched.h>
-で定義されている PF_* を参照すること。
+プロセスのカーネルフラグワード。 ビットの意味は、 \fI<linux/sched.h>\fP で定義されている PF_* を参照すること。
 詳細はカーネルのバージョンに依存する。
-.TP
+.TP 
 \fIminflt\fP %lu
-プロセスが引き起こしたマイナーフォールト (minor fault、ディスクから
-メモリページへのロードを必要としないフォールト) の回数。
-.TP
+プロセスが引き起こしたマイナーフォールト (minor fault、ディスクから メモリページへのロードを必要としないフォールト) の回数。
+.TP 
 .\" field 11
 \fIcminflt\fP %lu
-(そのプロセスが終了を待っている)
-子プロセスが引き起こしたマイナーフォールトの回数。
-.TP
+(そのプロセスが終了を待っている)  子プロセスが引き起こしたマイナーフォールトの回数。
+.TP 
 \fImajflt\fP %lu
-プロセスが引き起こしたメジャーフォールト (major fault、ディスクから
-メモリページへのロードを必要とするフォールト) の回数。
-.TP
+プロセスが引き起こしたメジャーフォールト (major fault、ディスクから メモリページへのロードを必要とするフォールト) の回数。
+.TP 
 \fIcmajflt\fP %lu
-(そのプロセスが終了を待っている)
-子プロセスが引き起こしたメジャーフォールトの回数。
-.TP
+(そのプロセスが終了を待っている)  子プロセスが引き起こしたメジャーフォールトの回数。
+.TP 
 \fIutime\fP %lu
-このプロセスがユーザーモードでスケジューリングされた時間の合計。
-clock tick 単位で計測される
-.RI ( sysconf(_SC_CLK_TCK)
-で割った値が表示される)。
-この値にはゲスト時間 \fIguest_time\fP (仮想 CPU の実行に消費された時間)
-も含まれる。これは、ゲスト時間のフィールドを認識しないアプリケーション
+このプロセスがユーザーモードでスケジューリングされた時間の合計。 clock tick 単位で計測される
+(\fIsysconf(_SC_CLK_TCK)\fP で割った値が表示される)。 この値にはゲスト時間 \fIguest_time\fP (仮想 CPU
+の実行に消費された時間)  も含まれる。これは、ゲスト時間のフィールドを認識しないアプリケーション
 において、ゲスト時間分を計算に入れ損ねないようにするためである。
-.TP
+.TP 
 \fIstime\fP %lu
-プロセスのカーネルモードでの実行時間 (単位 jiffies)。
-このプロセスがカーネルモードでスケジューリングされた時間の合計。
-clock tick 単位で計測される
-.RI ( sysconf(_SC_CLK_TCK)
-で割った値が表示される)。
-.TP
+プロセスのカーネルモードでの実行時間 (単位 jiffies)。 このプロセスがカーネルモードでスケジューリングされた時間の合計。 clock tick
+単位で計測される (\fIsysconf(_SC_CLK_TCK)\fP で割った値が表示される)。
+.TP 
 \fIcutime\fP %ld
-このプロセスの子プロセスで、終了待ち (waited-for) のプロセスが、
-ユーザモードでスケジューリングされた時間の合計。
-clock tick 単位で計測される
-.RI ( sysconf(_SC_CLK_TCK)
-で割った値が表示される)。
-.RB ( times (2)
-も参照すること。)
-この値にはゲスト時間 \fIcguest_time\fP
-(仮想 CPU を実行するのに消費した時間、下記参照) も含まれる。
-.TP
+このプロセスの子プロセスで、終了待ち (waited\-for) のプロセスが、 ユーザモードでスケジューリングされた時間の合計。 clock tick
+単位で計測される (\fIsysconf(_SC_CLK_TCK)\fP で割った値が表示される)。 (\fBtimes\fP(2)  も参照すること。)
+この値にはゲスト時間 \fIcguest_time\fP (仮想 CPU を実行するのに消費した時間、下記参照) も含まれる。
+.TP 
 \fIcstime\fP %ld
-このプロセスの子プロセスで、終了待ち (waited-for) のプロセスが、
-カーネルモードでスケジューリングされた時間の合計。
-clock tick 単位で計測される
-.RI ( sysconf(_SC_CLK_TCK)
-で割った値が表示される)。
-.TP
+このプロセスの子プロセスで、終了待ち (waited\-for) のプロセスが、 カーネルモードでスケジューリングされた時間の合計。 clock tick
+単位で計測される (\fIsysconf(_SC_CLK_TCK)\fP で割った値が表示される)。
+.TP 
 \fIpriority\fP %ld
-(Linux 2.6 の場合の説明)
-リアルタイム・スケジューリングポリシー
-(下記の
-.I policy ;
-.BR sched_setscheduler (2)
-参照) で動作しているプロセスでは、
-この値はスケジューリング優先度を反転した値 (スケジューリング優先度を
-マイナスにした値) となる。値は \-2 から \-100 までの範囲の数値で、
-それぞれリアルタイム優先度の 1 から 9 に対応する。
-リアルタイム以外のスケジューリングポリシーで動作しているプロセスでは、
-この値はカーネル内で管理されている nice 値そのもの
-.RB ( setpriority (2))
-となる。
-カーネルは nice 値を 0 (高) から 39 (低) の範囲の値として保持しており、
-それぞれユーザに見える nice 値の \-20 から 19 に対応する。
-
-Linux 2.6 より前では、このプロセスに割り当てられたスケジューリング
-重みを変換した値が表示されていた。
+(Linux 2.6 の場合の説明) リアルタイム・スケジューリングポリシー (下記の
+\fIpolicy ;\fP \fBsched_setscheduler\fP(2) 参照) で動作しているプロセスでは、 この
+値はスケジューリング優先度を反転した値 (スケジューリング優先度を マイナスにし
+た値) となる。値は \-2 から \-100 までの範囲の数値で、 それぞれリアルタイム優先
+度の 1 から 9 に対応する。 リアルタイム以外のスケジューリングポリシーで動作し
+ているプロセスでは、 この値はカーネル内で管理されている nice 値そのもの
+(\fBsetpriority\fP(2)) となる。 カーネルは nice 値を 0 (高) から 39 (低) の範囲
+の値として保持しており、 それぞれユーザに見える nice 値の \-20 から 19 に対応
+する。
+
 .\" And back in kernel 1.2 days things were different again.
-.TP
+Linux 2.6 より前では、このプロセスに割り当てられたスケジューリング 重みを変換した値が表示されていた。
+.TP 
 \fInice\fP %ld
-nice 値
-.RB ( setpriority (2)
-参照)。
-19 (最低優先) から \-20 (最高優先) の範囲の値である。
 .\" Back in kernel 1.2 days things were different.
-.TP
+nice 値 (\fBsetpriority\fP(2) 参照)。 19 (最低優先) から \-20 (最高優先)
+の範囲の値である。
+.TP 
 .\" .TP
 .\" \fIcounter\fP %ld
-.\" このプロセスが現在実行中である場合、
-.\" 次のタイムスライスにおける現時点でのプロセスの最大使用時間 (単位 jiffies)、
-.\" または現在のタイムスライスにおける残り時間を表す。
+.\" The current maximum size in jiffies of the process's next timeslice,
+.\" or what is currently left of its current timeslice, if it is the
+.\" currently running process.
 .\" .TP
 .\" \fItimeout\fP %u
-.\" プロセスの次のタイムアウト時間(単位 jiffies)。
+.\" The time in jiffies of the process's next timeout.
+.\" timeout was removed sometime around 2.1/2.2
 \fInum_threads\fP %ld
-このプロセスのスレッド数 (Linux 2.6 以降)。
-カーネル 2.6 より前では、このフィールドは削除されたフィールドの
-場所埋めとして 0 にハードコードされていた。
-.TP
+このプロセスのスレッド数 (Linux 2.6 以降)。 カーネル 2.6 より前では、このフィールドは削除されたフィールドの 場所埋めとして 0
+にハードコードされていた。
+.TP 
 .\" field 21
 \fIitrealvalue\fP %ld
-インターバルタイマによって、次に
-.B SIGALRM
-がプロセスへ送られるまでの時間 (単位 jiffies)。
-カーネル 2.6.17 以降では、このフィールドはメンテナンスされなくなり、
-0 にハードコードされている。
-.TP
+インターバルタイマによって、次に \fBSIGALRM\fP がプロセスへ送られるまでの時間 (単位 jiffies)。 カーネル 2.6.17
+以降では、このフィールドはメンテナンスされなくなり、 0 にハードコードされている。
+.TP 
 \fIstarttime\fP %llu (Linux 2.6 より前は %lu)
 プロセスの起動時刻。システムが起動した時刻が起点 (単位 jiffies)。
-.TP
+.TP 
 \fIvsize\fP %lu
 仮想メモリのサイズ。単位はバイト。
-.TP
+.TP 
 \fIrss\fP %ld
 Resident Set Size。プロセスが持っている実メモリ上のページ数。
-これはちょうどテキスト、データ、スタック空間に使われているページ数である。
-デマンドロードされていないページや
+これはちょうどテキスト、データ、スタック空間に使われているページ数である。 デマンドロードされていないページや
 スワップアウトされたページの数は含んでいない。
-.TP
+.TP 
 \fIrsslim\fP %lu
-このプロセスの rss の現在のソフト・リミット (バイト単位)。
-.BR getpriority (2)
-の
-.B RLIMIT_RSS
-の説明を参照。
-.TP
+このプロセスの rss の現在のソフト・リミット (バイト単位)。 \fBgetpriority\fP(2)  の \fBRLIMIT_RSS\fP の説明を参照。
+.TP 
 \fIstartcode\fP %lu
 プログラムテキストが実行可能であるような領域の先頭アドレス。
-.TP
+.TP 
 \fIendcode\fP %lu
 プログラムテキストが実行可能であるような領域の末尾アドレス。
-.TP
+.TP 
 \fIstartstack\fP %lu
 スタックの開始アドレス (すなわち、スタックの底)。
-.TP
+.TP 
 \fIkstkesp\fP %lu
-現在の ESP (スタックポインタ) の値。
-プロセスのカーネルスタックページにある。
-.TP
+現在の ESP (スタックポインタ) の値。 プロセスのカーネルスタックページにある。
+.TP 
 \fIkstkeip\fP %lu
 現在の EIP (インストラクションポインタ) の値。
-.TP
+.TP 
 .\" field 31
 \fIsignal\fP %lu
-処理待ちのシグナルのビットマップ。
-10 進数で表示される。
-このフィールドは廃止予定である。
-リアルタイム・シグナルに関する情報は表示されないからである。
-代わりに
-.I /proc/[pid]/status
-を使うこと。
-.TP
+処理待ちのシグナルのビットマップ。 10 進数で表示される。 このフィールドは廃止予定である。
+リアルタイム・シグナルに関する情報は表示されないからである。 代わりに \fI/proc/[pid]/status\fP を使うこと。
+.TP 
 \fIblocked\fP %lu
-ブロックされた (blocked) シグナルのビットマップ。
-10 進数で表示される。
-このフィールドは廃止予定である。
-リアルタイム・シグナルに関する情報は表示されないからである。
-代わりに
-.I /proc/[pid]/status
-を使うこと。
-.TP
+ブロックされた (blocked) シグナルのビットマップ。 10 進数で表示される。 このフィールドは廃止予定である。
+リアルタイム・シグナルに関する情報は表示されないからである。 代わりに \fI/proc/[pid]/status\fP を使うこと。
+.TP 
 \fIsigignore\fP %lu
-無視された (ignored) シグナルのビットマップ。
-10 進数で表示される。
-このフィールドは廃止予定である。
-リアルタイム・シグナルに関する情報は表示されないからである。
-代わりに
-.I /proc/[pid]/status
-を使うこと。
-.TP
+無視された (ignored) シグナルのビットマップ。 10 進数で表示される。 このフィールドは廃止予定である。
+リアルタイム・シグナルに関する情報は表示されないからである。 代わりに \fI/proc/[pid]/status\fP を使うこと。
+.TP 
 \fIsigcatch\fP %lu
-捕捉された (caught) シグナルのビットマップ。
-10 進数で表示される。
-このフィールドは廃止予定である。
-リアルタイム・シグナルに関する情報は表示されないからである。
-代わりに
-.I /proc/[pid]/status
-を使うこと。
-.TP
+捕捉された (caught) シグナルのビットマップ。 10 進数で表示される。 このフィールドは廃止予定である。
+リアルタイム・シグナルに関する情報は表示されないからである。 代わりに \fI/proc/[pid]/status\fP を使うこと。
+.TP 
 \fIwchan\fP %lu
-プロセスが待っている「チャネル」。
-これはシステムコールのアドレスであり、文字名が必要ならば
-(アドレスとシステムコール名との) 対応表から見つけられる
-(もし
-.I /etc/psdatabase
-[訳注: このファイル名はパッケージによる] を更新しているならば、
-\fIps \-l\fP して WCHAN フィールドを見よ)。
-.TP
+プロセスが待っている「チャネル」。 これはシステムコールのアドレスであり、
+文字名が必要ならば (アドレスとシステムコール名との) 対応表から見つけられる
+(もし \fI/etc/psdatabase\fP [訳注: このファイル名はパッケージによる] を更新
+しているならば、 \fIps \-l\fP して WCHAN フィールドを見よ)。
+.TP 
 \fInswap\fP %lu
 .\" nswap was added in 2.0
 スワップされたページ数 (メンテナンスされていない)。
-.TP
+.TP 
 \fIcnswap\fP %lu
 .\" cnswap was added in 2.0
 子プロセスの \fInswap\fP の累計 (メンテナンスされていない)。
-.TP
+.TP 
 \fIexit_signal\fP %d (Linux 2.1.22 以降)
 プロセスが死んだときに親プロセスに送られるシグナル。
-.TP
+.TP 
 \fIprocessor\fP %d (Linux 2.2.8 以降)
 このプロセスを最後に実行した CPU の番号。
-.TP
+.TP 
 \fIrt_priority\fP %u (Linux 2.5.19 以降; Linux 2.6.22 より前は %lu)
-リアルタイム・スケジューリングの優先度。
-リアルタイム・ポリシーの元でスケジューリングされるプロセスでは
-1 から 99 の範囲の値となり、
-リアルタイム以外のスケジューリングポリシーのプロセスでは 0 となる
-.RB ( sched_setscheduler (2)
-参照)。
-.TP
+リアルタイム・スケジューリングの優先度。 リアルタイム・ポリシーの元でスケジューリングされるプロセスでは 1 から 99 の範囲の値となり、
+リアルタイム以外のスケジューリングポリシーのプロセスでは 0 となる (\fBsched_setscheduler\fP(2)  参照)。
+.TP 
 .\" field 41
 \fIpolicy\fP %u (Linux 2.5.19 以降; Linux 2.6.22 より前は %lu)
-スケジューリング・ポリシー
-.RB ( sched_setscheduler (2)
-参照)。
-値は、
-.I linux/sched.h
-の SCHED_* 定数を使ってデコードすればよい。
-.TP
+スケジューリング・ポリシー (\fBsched_setscheduler\fP(2)  参照)。 値は、 \fIlinux/sched.h\fP の SCHED_*
+定数を使ってデコードすればよい。
+.TP 
 \fIdelayacct_blkio_ticks\fP %llu (Linux 2.6.18 以降)
 (clock tick (100分の1秒) 単位での) ブロック I/O の総遅延量。
-.TP
+.TP 
 \fIguest_time\fP %lu (Linux 2.6.24 以降)
-プロセスのゲスト時間 (ゲスト OS の仮想 CPU を実行するのに消費された時間)。
-clock tick 単位で計測される
-.RI ( sysconf(_SC_CLK_TCK)
-で割った値が表示される)。
-.TP
+プロセスのゲスト時間 (ゲスト OS の仮想 CPU を実行するのに消費された時間)。 clock tick 単位で計測される
+(\fIsysconf(_SC_CLK_TCK)\fP で割った値が表示される)。
+.TP 
 \fIcguest_time\fP %ld (Linux 2.6.24 以降)
-プロセスの子プロセスのゲスト時間。
-clock tick 単位で計測される
-.RI ( sysconf(_SC_CLK_TCK)
-で割った値が表示される)。
+プロセスの子プロセスのゲスト時間。 clock tick 単位で計測される (\fIsysconf(_SC_CLK_TCK)\fP で割った値が表示される)。
 .RE
-.TP
-.I /proc/[pid]/statm
-(ページ単位で計測した) メモリ使用量についての情報を提供する。
-各列は以下の通りである。
+.TP 
+\fI/proc/[pid]/statm\fP
+(ページ単位で計測した) メモリ使用量についての情報を提供する。 各列は以下の通りである。
 .in +4n
 .nf
 
+.\" (not including libs; broken, includes data segment)
+.\" (including libs; broken, includes library text)
 size       プログラムサイズの総計
            (\fI/proc/[pid]/status\fP の VmSize と同じ)
 resident   実メモリ上に存在するページ
            (\fI/proc/[pid]/status\fP の VmRSS と同じ)
 share      共有ページ (共有マッピングされているページ)
 text       テキスト (コード)
-.\" (libs は含まれない; おかしなことに、data セグメントは含まれる)
 lib        ライブラリ (Linux 2.6 では未使用)
 data       データ + スタック
-.\" (libs を含む; おかしなことに、library text も含まれる)
 dt         ダーティページ (Linux 2.6 では未使用)
 .fi
 .in
-.TP
-.I /proc/[pid]/status
-.I /proc/[pid]/stat
-と
-.I /proc/[pid]/statm
-にある多くの情報を、人間が解析しやすい形式で提供する。
+.TP 
+\fI/proc/[pid]/status\fP
+\fI/proc/[pid]/stat\fP と \fI/proc/[pid]/statm\fP にある多くの情報を、人間が解析しやすい形式で提供する。
 以下に例を示す。
 .in +4n
 .nf
 
-.RB "$" " cat /proc/$$/status"
+$\fB cat /proc/$$/status\fP
 Name:   bash
 State:  S (sleeping)
 Tgid:   3515
@@ -1006,285 +762,169 @@ nonvoluntary_ctxt_switches:     545
 フィールドの詳細は以下の通りである。
 .RS
 .IP * 2
-.IR Name :
-このプロセスにより実行されたコマンド。
+\fIName\fP: このプロセスにより実行されたコマンド。
 .IP *
-.IR State :
-プロセスの現在の状態。
-"R (running; 実行中)",
-"S (sleeping; 休眠状態)",
-"D (disk sleep; ディスク待ちの休眠状態)",
-"T (stopped; 停止状態)",
-"T (tracing stop; トレースによる停止)",
-"Z (zombie; ゾンビ状態)",
-"X (dead; 死亡)"
-のいずれかである。
+\fIState\fP: プロセスの現在の状態。 "R (running; 実行中)", "S (sleeping; 休眠状態)", "D (disk
+sleep; ディスク待ちの休眠状態)", "T (stopped; 停止状態)", "T (tracing stop; トレースによる停止)", "Z
+(zombie; ゾンビ状態)", "X (dead; 死亡)" のいずれかである。
 .IP *
-.IR Tgid :
-スレッドグループ ID (すなわち、プロセス ID)。
+\fITgid\fP: スレッドグループ ID (すなわち、プロセス ID)。
 .IP *
-.IR Pid :
-スレッド ID
-.RB ( gettid (2)
-参照)。
+\fIPid\fP: スレッド ID (\fBgettid\fP(2)  参照)。
 .IP *
-.IR TracerPid :
-このプロセスをトレースしているプロセスの PID
-(トレースされていない場合は 0)。
+\fIPPid\fP: PID of parent process.
 .IP *
-.IR Uid ", " Gid :
-実 UID/GID、実効 UID/GID、保存 set-UID/GID、ファイルシステム UID/GID。
+\fITracerPid\fP: このプロセスをトレースしているプロセスの PID (トレースされていない場合は 0)。
 .IP *
-.IR FDSize :
-現在割り当てられているファイルディスクリプタのスロット数。
+\fIUid\fP, \fIGid\fP: 実 UID/GID、実効 UID/GID、保存 set\-UID/GID、ファイルシステム UID/GID。
 .IP *
-.IR Groups :
-補助グループのリスト。
+\fIFDSize\fP: 現在割り当てられているファイルディスクリプタのスロット数。
 .IP *
-.IR VmPeak :
-仮想メモリサイズのピーク値。
+\fIGroups\fP: 補助グループのリスト。
 .IP *
-.IR VmSize :
-仮想メモリサイズ。
+\fIVmPeak\fP: 仮想メモリサイズのピーク値。
 .IP *
-.IR VmLck :
-ロックされているメモリサイズ
-.RB ( mlock (3)
-参照)。
+\fIVmSize\fP: 仮想メモリサイズ。
 .IP *
-.IR VmHWM :
-実メモリ上に存在するページサイズ (resident set size)
-のピーク値 ("high water mark")。
+\fIVmLck\fP: ロックされているメモリサイズ (\fBmlock\fP(3) 参照)。
 .IP *
-.IR VmRSS :
-実メモリ上に存在するページサイズ。
+\fIVmHWM\fP: 実メモリ上に存在するページサイズ (resident set size)  のピーク値 ("high water mark")。
 .IP *
-.IR VmData ", " VmStk ", " VmExe :
-データ、スタック、テキストセグメントのサイズ。
+\fIVmRSS\fP: 実メモリ上に存在するページサイズ。
 .IP *
-.IR VmLib :
-共有ライブラリ・コードのサイズ。
+\fIVmData\fP, \fIVmStk\fP, \fIVmExe\fP: データ、スタック、テキストセグメントのサイズ。
 .IP *
-.IR VmPTE :
-ページ・テーブル・エントリのサイズ (Linux 2.6.10 以降)。
+\fIVmLib\fP: 共有ライブラリ・コードのサイズ。
 .IP *
-.IR Threads :
-このスレッドが属するプロセスのスレッド数。
+\fIVmPTE\fP: ページ・テーブル・エントリのサイズ (Linux 2.6.10 以降)。
 .IP *
-.IR SigPnd ", " ShdPnd :
-スレッド宛およびプロセス全体宛の処理待ちシグナルの数
-.RB ( pthreads (7),
-.BR signal (7)
-参照)。
+\fIThreads\fP: このスレッドが属するプロセスのスレッド数。
 .IP *
-.IR SigBlk ", " SigIgn ", " SigCgt :
-ブロックされるシグナル、無視されるシグナル、捕捉待ちのシグナルを
-示すマスク値
-.RB ( signal (7))。
+\fISigQ\fP: This field contains two slash\-separated numbers that relate to
+queued signals for the real user ID of this process.  The first of these is
+the number of currently queued signals for this real user ID, and the second
+is the resource limit on the number of queued signals for this process (see
+the description of \fBRLIMIT_SIGPENDING\fP in \fBgetrlimit\fP(2)).
 .IP *
-.IR CapInh ", " CapPrm ", " CapEff :
-継承可能 (inheritable)、許可 (permitted)、実効 (effective)
-の各ケーパビリティセットで有効になっているケーパビリティのマスク値
-.RB ( capabilities (7)
-参照)。
+\fISigPnd\fP, \fIShdPnd\fP: スレッド宛およびプロセス全体宛の処理待ちシグナルの数 (\fBpthreads\fP(7),
+\fBsignal\fP(7)  参照)。
 .IP *
-.IR CapBnd :
-ケーパビリティ・バウンディングセット
-(カーネル 2.6.26 以降、
-.BR capabilities (7)
-参照)。
+\fISigBlk\fP, \fISigIgn\fP, \fISigCgt\fP: ブロックされるシグナル、無視されるシグナル、捕捉待ちのシグナルを 示すマスク値
+(\fBsignal\fP(7))。
+.IP *
+\fICapInh\fP, \fICapPrm\fP, \fICapEff\fP: 継承可能 (inheritable)、許可 (permitted)、実効
+(effective)  の各ケーパビリティセットで有効になっているケーパビリティのマスク値 (\fBcapabilities\fP(7)  参照)。
 .IP *
-.IR Cpus_allowed :
-このプロセスが実行を許可されている CPU のマスク値
-(Linux 2.6.24 以降、
-.BR cpuset (7)
+\fICapBnd\fP: ケーパビリティ・バウンディングセット (カーネル 2.6.26 以降、 \fBcapabilities\fP(7)  参照)。
+.IP *
+\fICpus_allowed\fP: このプロセスが実行を許可されている CPU のマスク値 (Linux 2.6.24 以降、 \fBcpuset\fP(7)
 参照)。
 .IP *
-.IR Cpus_allowed_list :
-前項と同じだが、「リスト形式」での表示
-(Linux 2.6.26 以降、
-.BR cpuset (7)
+\fICpus_allowed_list\fP: 前項と同じだが、「リスト形式」での表示 (Linux 2.6.26 以降、 \fBcpuset\fP(7)
 参照)。
 .IP *
-.IR Mems_allowed :
-このプロセスが使用できるメモリノードのマスク値
-(Linux 2.6.24 以降、
-.BR cpuset (7)
+\fIMems_allowed\fP: このプロセスが使用できるメモリノードのマスク値 (Linux 2.6.24 以降、 \fBcpuset\fP(7)
 参照)。
 .IP *
-.IR Mems_allowed_list :
-前項と同じだが、「リスト形式」での表示
-(Linux 2.6.26 以降、
-.BR cpuset (7)
+\fIMems_allowed_list\fP: 前項と同じだが、「リスト形式」での表示 (Linux 2.6.26 以降、 \fBcpuset\fP(7)
 参照)。
 .IP *
-.IR voluntary_context_switches ", " nonvoluntary_context_switches :
-自発的/非自発的なコンテキストスイッチの回数
-(Linux 2.6.23 以降)。
+\fIvoluntary_context_switches\fP, \fInonvoluntary_context_switches\fP:
+自発的/非自発的なコンテキストスイッチの回数 (Linux 2.6.23 以降)。
 .RE
-.TP
-.IR /proc/[pid]/task " (Linux 2.6.0-test6 以降)"
-このディレクトリには、そのプロセスのスレッド情報を含む
-サブディレクトリが 1 スレッドにつき 1 つ置かれる。
-各サブディレクトリの名前はスレッドのスレッド ID
-.RI ( [tid] )
-を示す数字である
-.BR ( gettid (2)
-を参照)。
-これらの各サブディレクトリには、
-.I /proc/[pid]
-ディレクトリ以下と同じ名前と内容のファイル群がある。
-すべてのスレッドで共有される属性の場合、
-.I task/[tid]
-サブディレクトリ以下の各ファイルの内容は
-親ディレクトリ
-.I /proc/[pid]
-の対応するファイルと同じになることだろう
-(例えば、マルチスレッド・プロセスではファイル
-.I task/[tid]/cwd
-はいずれも親ディレクトリ内の
-.I /proc/[pid]/cwd
-と同じ値を持つことになる。なぜなら、一つのプロセスに属すすべての
-スレッドは作業ディレクトリを共有するからである)。
-スレッド毎に独立な属性の場合、
-.I task/[tid]
-サブディレクトリ以下の各ファイルは異なる値を持つことがある
-(例えば、ファイル
-.I task/[tid]/status
+.TP 
+\fI/proc/[pid]/task\fP (Linux 2.6.0\-test6 以降)
+このディレクトリには、そのプロセスのスレッド情報を含む サブディレクトリが 1 スレッドにつき 1 つ置かれる。
+各サブディレクトリの名前はスレッドのスレッド ID (\fI[tid]\fP)  を示す数字である \fB(\fPgettid\fB(2)\fP を参照)。
+これらの各サブディレクトリには、 \fI/proc/[pid]\fP ディレクトリ以下と同じ名前と内容のファイル群がある。
+すべてのスレッドで共有される属性の場合、 \fItask/[tid]\fP サブディレクトリ以下の各ファイルの内容は 親ディレクトリ
+\fI/proc/[pid]\fP の対応するファイルと同じになることだろう (例えば、マルチスレッド・プロセスではファイル
+\fItask/[tid]/cwd\fP はいずれも親ディレクトリ内の \fI/proc/[pid]/cwd\fP
+と同じ値を持つことになる。なぜなら、一つのプロセスに属すすべての スレッドは作業ディレクトリを共有するからである)。 スレッド毎に独立な属性の場合、
+\fItask/[tid]\fP サブディレクトリ以下の各ファイルは異なる値を持つことがある (例えば、ファイル \fItask/[tid]/status\fP
 はスレッド毎に異なる値を持つ可能性がある)。
 
-.\" 以下の内容は カーネル 2.6.13 ではまだ正しい。
-マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、
-.I /proc/[pid]/task
-ディレクトリの内容は参照できない
-(スレッドの終了は通常
-.BR pthread_exit (3)
-を呼び出しにより行われる)。
-.TP
-.I /proc/apm
-Advanced Power Management のバージョンとバッテリ情報。
-カーネルのコンパイル時に
-.B CONFIG_APM
+.\" The following was still true as at kernel 2.6.13
+マルチスレッドプロセスでは、メインスレッドがすでに終了している場合、 \fI/proc/[pid]/task\fP ディレクトリの内容は参照できない
+(スレッドの終了は通常 \fBpthread_exit\fP(3)  を呼び出しにより行われる)。
+.TP 
+\fI/proc/apm\fP
+Advanced Power Management のバージョンとバッテリ情報。 カーネルのコンパイル時に \fBCONFIG_APM\fP
 を定義したときに存在する。
-.TP
-.I /proc/bus
+.TP 
+\fI/proc/bus\fP
 インストールされている各バス用にサブディレクトリがある。
-.TP
-.I /proc/bus/pccard
-PCMCIA デバイスの情報が書かれるサブディレクトリ。
-カーネルのコンパイル時に
-.B CONFIG_PCMCIA
-を定義したときに存在する。
-.TP
-.I /proc/bus/pccard/drivers
-.TP
-.I /proc/bus/pci
-いくつかのサブディレクトリがあり、
-PCI バス・インストールされているデバイス・
-デバイスドライバの情報が書かれた仮想ファイルがある。
+.TP 
+\fI/proc/bus/pccard\fP
+PCMCIA デバイスの情報が書かれるサブディレクトリ。 カーネルのコンパイル時に \fBCONFIG_PCMCIA\fP を定義したときに存在する。
+.TP 
+\fI/proc/bus/pccard/drivers\fP
+.TP 
+\fI/proc/bus/pci\fP
+いくつかのサブディレクトリがあり、 PCI バス・インストールされているデバイス・ デバイスドライバの情報が書かれた仮想ファイルがある。
 これらのファイルのうちいくつかは ASCII フォーマットではない。
-.TP
-.I /proc/bus/pci/devices
-PCI デバイスの情報。
-.BR lspci (8)
-や
-.BR setpci (8)
-でアクセスすることができる。
-.TP
-.I /proc/cmdline
-ブート時に Linux カーネルに渡された引き数。
-引き数の受け渡しは、たいてい
-.BR lilo (8)
-や
-.BR grub (8)
+.TP 
+\fI/proc/bus/pci/devices\fP
+PCI デバイスの情報。 \fBlspci\fP(8)  や \fBsetpci\fP(8)  でアクセスすることができる。
+.TP 
+\fI/proc/cmdline\fP
+ブート時に Linux カーネルに渡された引き数。 引き数の受け渡しは、たいてい \fBlilo\fP(8)  や \fBgrub\fP(8)
 といったブートマネージャを使って行われる。
-.TP
-.IR /proc/config.gz " (Linux 2.6 以降)"
-このファイルでは、現在実行中のカーネルの構築時に使用された
-設定オプションを参照できる。
-書式は、
-.RI ( "make xconfig" ,
-.IR "make config"
-などを使って) カーネルの設定を変更した際に生成される
-.I .config
-ファイルのものと同じである。
-ファイルの内容は圧縮されており、
-.BR zcat (1),
-.BR zgrep (1)
-などを使うと、表示や検索ができる。
-ファイルが変更されていない限り、
-.I /proc/config.gz
-の内容は次のコマンドで得られる内容と同じである。
+.TP 
+\fI/proc/config.gz\fP (Linux 2.6 以降)
+このファイルでは、現在実行中のカーネルの構築時に使用された 設定オプションを参照できる。 書式は、 (\fImake xconfig\fP, \fImake
+config\fP などを使って) カーネルの設定を変更した際に生成される \fI.config\fP ファイルのものと同じである。
+ファイルの内容は圧縮されており、 \fBzcat\fP(1), \fBzgrep\fP(1)  などを使うと、表示や検索ができる。 ファイルが変更されていない限り、
+\fI/proc/config.gz\fP の内容は次のコマンドで得られる内容と同じである。
 .in +4n
 .nf
 
-cat /lib/modules/$(uname -r)/build/.config
+cat /lib/modules/$(uname \-r)/build/.config
 .fi
 .in
 .IP
-.I /proc/config.gz
-が提供されるのは、カーネルの設定で
-.B CONFIG_IKCONFIG_PROC
+\fI/proc/config.gz\fP が提供されるのは、カーネルの設定で \fBCONFIG_IKCONFIG_PROC\fP
 が有効になっている場合のみである。
-.TP
-.I /proc/cpuinfo
-このファイルは、CPU およびシステムアーキテクチャに依存する項目を
-集めたもので、リストの内容はサポートされているアーキテクチャ毎に異なる。
-2 つだけ共通の項目がある。
-\fIprocessor\fP はプロセッサ番号で、
-\fIbogomips\fP はカーネルの初期化時に計算されるシステム定数である。
+.TP 
+\fI/proc/cpuinfo\fP
+このファイルは、CPU およびシステムアーキテクチャに依存する項目を 集めたもので、リストの内容はサポートされているアーキテクチャ毎に異なる。 2
+つだけ共通の項目がある。 \fIprocessor\fP はプロセッサ番号で、 \fIbogomips\fP はカーネルの初期化時に計算されるシステム定数である。
 SMP マシンでは各 CPU についての情報が書かれている。
-.TP
-.I /proc/devices
-メジャーデバイス番号とデバイスグループのテキスト形式のリスト。
-MAKEDEV スクリプトはこのファイルを使って、
+.TP 
+\fI/proc/devices\fP
+メジャーデバイス番号とデバイスグループのテキスト形式のリスト。 MAKEDEV スクリプトはこのファイルを使って、
 カーネルとの整合性を保つことができる。
-.TP
-.IR /proc/diskstats " (Linux 2.5.69 以降)"
-このファイルには各ディスクデバイスのディスク I/O 統計情報が書かれている。
-更に詳しい情報は、カーネルソースファイル
-.I Documentation/iostats.txt
-を参照すること。
-.TP
-.I /proc/dma
+.TP 
+\fI/proc/diskstats\fP (Linux 2.5.69 以降)
+このファイルには各ディスクデバイスのディスク I/O 統計情報が書かれている。 更に詳しい情報は、カーネルソースファイル
+\fIDocumentation/iostats.txt\fP を参照すること。
+.TP 
+\fI/proc/dma\fP
 登録されている \fIISA\fP DMA (direct memory access) チャネルのリスト。
-.TP
-.I /proc/driver
+.TP 
+\fI/proc/driver\fP
 空のサブディレクトリ。
-.TP
-.I /proc/execdomains
+.TP 
+\fI/proc/execdomains\fP
 実行ドメインのリスト (ABI パーソナリティ)。
-.TP
-.I /proc/fb
-カーネルのコンパイル時に
-.B CONFIG_FB
-が定義されている場合、フレームバッファの情報が書かれる。
-.TP
-.I /proc/filesystems
-カーネルが対応しているファイルシステムのテキスト形式のリスト。
-カーネルに組み込まれてコンパイルされたファイルシステムと、
-カーネルモジュールが現在ロードされているファイルシステムが列挙される
-.RB ( filesystems (5)
-参照)。
-ファイルシステムに "nodev" という印が付いている場合、
-そのファイルシステムがマウントするためのブロックデバイスを
-必要としないことを意味する (例えば、
+.TP 
+\fI/proc/fb\fP
+カーネルのコンパイル時に \fBCONFIG_FB\fP が定義されている場合、フレームバッファの情報が書かれる。
+.TP 
+\fI/proc/filesystems\fP
+カーネルが対応しているファイルシステムのテキスト形式のリスト。 カーネルに組み込まれてコンパイルされたファイルシステムと、
+カーネルモジュールが現在ロードされているファイルシステムが列挙される (\fBfilesystems\fP(5)  参照)。 ファイルシステムに
+"nodev" という印が付いている場合、 そのファイルシステムがマウントするためのブロックデバイスを 必要としないことを意味する (例えば、
 仮想ファイルシステム、ネットワークファイルシステムなど)。
 
-ちなみに、マウント時にファイルシステムが指定されず、
-どうやってもファイルシステムの種類を判定できなかった際に、
-このファイルを
-.BR mount (8)
-が使用するかもしれない。
-その場合、このファイルに含まれるファイルシステムが試される
-(ただし、"nodev" の印がついたものは除く)。
-.TP
-.I /proc/fs
+ちなみに、マウント時にファイルシステムが指定されず、 どうやってもファイルシステムの種類を判定できなかった際に、 このファイルを \fBmount\fP(8)
+が使用するかもしれない。 その場合、このファイルに含まれるファイルシステムが試される (ただし、"nodev" の印がついたものは除く)。
+.TP 
+\fI/proc/fs\fP
 空のサブディレクトリ。
-.TP
-.I /proc/ide
-このディレクトリは IDE バスをもつシステムに存在する。
-各 IDE チャネルとそれに取り付けられている各デバイスごとにディレクトリがあり、
+.TP 
+\fI/proc/ide\fP
+このディレクトリは IDE バスをもつシステムに存在する。 各 IDE チャネルとそれに取り付けられている各デバイスごとにディレクトリがあり、
 以下のファイルが含まれている。
 
 .in +4n
@@ -1302,188 +942,120 @@ smart_values       16 進数表記
 .fi
 .in
 
-.BR hdparm (8)
-ユーティリティは、分かりやすい形式で
-この情報にアクセスするための手段を提供する。
-.TP
-.I /proc/interrupts
-IO デバイス毎の CPU 別の割り込み回数の記録に使われる。
-Linux 2.6.24 以降、少なくとも i386 と x86_64 アーキテクチャでは、
-(デバイスと関連がない) システム内部の割り込みについても記録される。
-システム内部の割り込みには、NMI (nonmaskable interrupt),
-LOC (local timer interrupt) や、SMP システムでは TLB (TLB flush interrupt),
-RES (rescheduling interrupt), CAL (remote function call interrupt)
-などがある。
-簡単に読むことのできるフォーマットで、ASCII で表記されている。
-.TP
-.I /proc/iomem
+\fBhdparm\fP(8)  ユーティリティは、分かりやすい形式で この情報にアクセスするための手段を提供する。
+.TP 
+\fI/proc/interrupts\fP
+IO デバイス毎の CPU 別の割り込み回数の記録に使われる。 Linux 2.6.24 以降、少なくとも i386 と x86_64
+アーキテクチャでは、 (デバイスと関連がない) システム内部の割り込みについても記録される。 システム内部の割り込みには、NMI
+(nonmaskable interrupt), LOC (local timer interrupt) や、SMP システムでは TLB (TLB
+flush interrupt), RES (rescheduling interrupt), CAL (remote function call
+interrupt)  などがある。 簡単に読むことのできるフォーマットで、ASCII で表記されている。
+.TP 
+\fI/proc/iomem\fP
 Linux 2.4 における I/O メモリマップ。
-.TP
-.I /proc/ioports
+.TP 
+\fI/proc/ioports\fP
 現在登録され使われている I/O ポート領域のリスト。
-.TP
-.IR /proc/kallsyms " (Linux 2.5.71 以降)"
-カーネルの外部シンボル定義を保持する。
-.BR modules (X)
-関係のツールがローダブルモジュールを動的にリンクしたり
-バインド (bind) するのに使われる。
-Linux 2.5.47 以前では、微妙に異なる書式の似たようなファイルが
-.I ksyms
-という名前であった。
-.TP
-.I /proc/kcore
-このファイルはシステムの物理メモリを表現しており、
-ELF コアファイル形式 (core file format) で保持されている。
-この擬似ファイルと strip されていないカーネルのバイナリ
-.RI ( /usr/src/linux/vmlinux )
-[訳注: パッケージに依存する]) があれば、
-GDB はカーネル内の任意のデータ構造の現在の状態を調べられる。
+.TP 
+\fI/proc/kallsyms\fP (Linux 2.5.71 以降)
+カーネルの外部シンボル定義を保持する。 \fBmodules\fP(X)  関係のツールがローダブルモジュールを動的にリンクしたり バインド (bind)
+するのに使われる。 Linux 2.5.47 以前では、微妙に異なる書式の似たようなファイルが \fIksyms\fP という名前であった。
+.TP 
+\fI/proc/kcore\fP
+このファイルはシステムの物理メモリを表現しており、 ELF コアファイル形式 (core file format) で保持されている。
+この擬似ファイルと strip されていないカーネルのバイナリ (\fI/usr/src/linux/vmlinux\fP)  [訳注:
+パッケージに依存する]) があれば、 GDB はカーネル内の任意のデータ構造の現在の状態を調べられる。
 
 このファイルの大きさは物理メモリ (RAM) のサイズに 4KB を加えた値である。
-.TP
-.I /proc/kmsg
-このファイルは
-.BR syslog (2)
-システムコールでカーネルメッセージを読み出す代りに使える。
-プロセスがこのファイルを読むためにはスーパーユーザー権限が必要であり、
-ファイルを読み出すのは 1 つのプロセスのみに限るべきである。
-カーネルメッセージを記録するために、
-.BR syslog (2)
-システムコールの機能を使う syslog プロセスが稼働している場合、
+.TP 
+\fI/proc/kmsg\fP
+このファイルは \fBsyslog\fP(2)  システムコールでカーネルメッセージを読み出す代りに使える。
+プロセスがこのファイルを読むためにはスーパーユーザー権限が必要であり、 ファイルを読み出すのは 1 つのプロセスのみに限るべきである。
+カーネルメッセージを記録するために、 \fBsyslog\fP(2)  システムコールの機能を使う syslog プロセスが稼働している場合、
 このファイルを読み出すべきではない。
 
-このファイルの中の情報は
-.BR dmesg (1)
-によって表示される。
-.TP
-.IR /proc/ksyms " (Linux 1.1.23-2.5.47)"
-.I /proc/kallsyms
-を参照。
-.TP
-.I /proc/loadavg
-このファイルの最初の 3 つのフィールドはロードアベレージの数値で、
-1, 5, 15 分あたりの実行キュー内 (state R) または
-ディスク I/O 待ち (state D) のジョブ数を与える。
-これは
-.BR uptime (1)
-などのプログラムによって得られる値と同じである。
+このファイルの中の情報は \fBdmesg\fP(1)  によって表示される。
+.TP 
+\fI/proc/ksyms\fP (Linux 1.1.23\-2.5.47)
+\fI/proc/kallsyms\fP を参照。
+.TP 
+\fI/proc/loadavg\fP
+このファイルの最初の 3 つのフィールドはロードアベレージの数値で、 1, 5, 15 分
+あたりの実行キュー内 (state R) または ディスク I/O 待ち (state D) のジョブ数
+を与える。 これは \fBuptime\fP(1) などのプログラムによって得られる値と同じである。
 4 番目のフィールドはスラッシュ (/) で区切られた 2 つの数値から構成される。
-この数値のうち最初のものは、現在実行されている
-カーネルスケジュールエンティティ (プロセス、スレッド) の数である。
-この数値は CPU の数以下になる。
-スラッシュの後の数値は、現在システム上に存在する
-カーネルスケジュールエンティティの数である。
-5 番目のフィールドはシステム上に最も最近生成されたプロセスの PID である。
-.TP
-.I /proc/locks
-このファイルは現在のファイルロック
-.RB ( flock "(2) と " fcntl (2))
-とリース
-.RB ( fcntl (2))
-を表示する。
-.TP
-.IR /proc/malloc " (Linux 2.2 以前のみ)"
+この数値のうち最初のものは、現在実行可能なカーネルスケジュールエンティティ
+(プロセス、スレッド) の数である。スラッシュの後の数値は、現在システム上に
+存在するカーネルスケジュールエンティティの数である。 5 番目のフィールドは
+システム上に最も最近生成されたプロセスの PID である。
+.TP 
+\fI/proc/locks\fP
+このファイルは現在のファイルロック (\fBflock\fP(2) と \fBfcntl\fP(2))  とリース (\fBfcntl\fP(2))  を表示する。
+.TP 
+\fI/proc/malloc\fP (Linux 2.2 以前のみ)
 .\" It looks like this only ever did something back in 1.0 days
-コンパイルのときに
-.B CONFIGDEBUGMALLOC
-が定義されているときのみ、このファイルは存在する。
-.TP
-.I /proc/meminfo
-このファイルはシステム上のメモリ使用量に関する統計情報を表示する。
-.BR free (1)
-は、このファイルを参照し、
-システムの未使用および使用中のメモリ量 (物理メモリとスワップ) と、
-カーネルに使われている共有メモリとバッファの情報を報告する。
-.TP
-.I /proc/modules
-現在システムにロードされているモジュールのテキスト形式のリスト。
-.BR lsmod (8)
-も参照。
-.TP
-.I /proc/mounts
-カーネル 2.4.19 より前では、このファイルは現在システムにマウントされている
-全てのファイルシステムのリストであった。
-Linux 2.4.19 でプロセス単位のマウント名前空間が導入されたことに伴い、
-このファイルは
-.I /proc/self/mounts
-へのリンクとなった。
-.I /proc/self/mounts
-はそのプロセス自身のマウント名前空間のマウントポイントのリストである。
-このファイルのフォーマットは
-.BR fstab (5)
-に記述されている。
-.TP
-.I /proc/mtrr
-Memory Type Range Registers。
-詳細は、カーネルソースファイル
-.I Documentation/mtrr.txt
+コンパイルのときに \fBCONFIGDEBUGMALLOC\fP が定義されているときのみ、このファイルは存在する。
+.TP 
+\fI/proc/meminfo\fP
+このファイルはシステム上のメモリ使用量に関する統計情報を表示する。 \fBfree\fP(1)  は、このファイルを参照し、
+システムの未使用および使用中のメモリ量 (物理メモリとスワップ) と、 カーネルに使われている共有メモリとバッファの情報を報告する。
+.TP 
+\fI/proc/modules\fP
+現在システムにロードされているモジュールのテキスト形式のリスト。 \fBlsmod\fP(8)  も参照。
+.TP 
+\fI/proc/mounts\fP
+カーネル 2.4.19 より前では、このファイルは現在システムにマウントされている 全てのファイルシステムのリストであった。 Linux 2.4.19
+でプロセス単位のマウント名前空間が導入されたことに伴い、 このファイルは \fI/proc/self/mounts\fP へのリンクとなった。
+\fI/proc/self/mounts\fP はそのプロセス自身のマウント名前空間のマウントポイントのリストである。 このファイルのフォーマットは
+\fBfstab\fP(5)  に記述されている。
+.TP 
+\fI/proc/mtrr\fP
+Memory Type Range Registers。 詳細は、カーネルソースファイル \fIDocumentation/mtrr.txt\fP
 を参照すること。
-.TP
-.I /proc/net
-さまざまなネットワークについての擬似ファイルで、
-それぞれがネットワーク層の各種の状態を与える。
-これらのファイルの内容は ASCII 形式なので、
-.BR cat (1)
-で読み出せる。
-とはいえ基本コマンドの
-.BR netstat (8)
-はこれらのファイルの内容のよりすっきりとした表示を提供する。
-.TP
-.I /proc/net/arp
-アドレス解決に使われるカーネルの ARP テーブルの
-ASCII 可読なダンプを保持している。
-動的結合されたものと固定 (preprogrammed) の両方の
-APP エントリを見ることができる。フォーマットは以下のとおり:
+.TP 
+\fI/proc/net\fP
+さまざまなネットワークについての擬似ファイルで、 それぞれがネットワーク層の各種の状態を与える。 これらのファイルの内容は ASCII 形式なので、
+\fBcat\fP(1)  で読み出せる。 とはいえ基本コマンドの \fBnetstat\fP(8)  はこれらのファイルの内容のよりすっきりとした表示を提供する。
+.TP 
+\fI/proc/net/arp\fP
+アドレス解決に使われるカーネルの ARP テーブルの ASCII 可読なダンプを保持している。 動的結合されたものと固定 (preprogrammed)
+の両方の APP エントリを見ることができる。フォーマットは以下のとおり:
 
 .nf
-.ft CW
 .in 8n
-IP address     HW type   Flags     HW address          Mask   Device
+\f(CWIP address     HW type   Flags     HW address          Mask   Device
 192.168.0.50   0x1       0x2       00:50:BF:25:68:F3   *      eth0
-192.168.0.250  0x1       0xc       00:00:00:00:00:00   *      eth0
-.ft
+192.168.0.250  0x1       0xc       00:00:00:00:00:00   *      eth0\fP
 .fi
 .in
 
-ここで IP address はマシンの IPv4 アドレス、
-HW type はそのアドレスの RFC\ 826 で定められているハードウェアの形式、
-Flags は ARP 構造体
-.RI ( /usr/include/linux/if_arp.h
-内で定義されている) の内部フラグ、
-HW address はその IP アドレスにマップされているデータリンク層のアドレス
-(もしわかっていれば) である。
-.TP
-.I /proc/net/dev
-擬似ファイル dev はネットワークデバイスの状態情報を含んでいる。
-これは送受信したパケット数、エラーとコリジョン (collision) の回数、
-その他の基本的な統計を与える。
-これらは
-.BR ifconfig (8)
-がデバイスの状態を報告するのに使われる。
-フォーマットは以下のとおり:
+ここで IP address はマシンの IPv4 アドレス、 HW type はそのアドレスの RFC\ 826 で定められているハードウェアの形式、
+Flags は ARP 構造体 (\fI/usr/include/linux/if_arp.h\fP 内で定義されている) の内部フラグ、 HW
+address はその IP アドレスにマップされているデータリンク層のアドレス (もしわかっていれば) である。
+.TP 
+\fI/proc/net/dev\fP
+擬似ファイル dev はネットワークデバイスの状態情報を含んでいる。 これは送受信したパケット数、エラーとコリジョン (collision) の回数、
+その他の基本的な統計を与える。 これらは \fBifconfig\fP(8)  がデバイスの状態を報告するのに使われる。 フォーマットは以下のとおり:
 
 .nf
-.ft CW
 .in 1n
-Inter-|   Receive                                                |  Transmit
+\f(CWInter\-|   Receive                                                |  Transmit
  face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
     lo: 2776770   11307    0    0    0     0          0         0  2776770   11307    0    0    0     0       0          0
   eth0: 1215645    2751    0    0    0     0          0         0  1782404    4324    0    0    0   427       0          0
   ppp0: 1622270    5552    1    0    0     0          0         0   354130    5669    0    0    0     0       0          0
-  tap0:    7714      81    0    0    0     0          0         0     7714      81    0    0    0     0       0          0
+  tap0:    7714      81    0    0    0     0          0         0     7714      81    0    0    0     0       0          0\fP
 .in
-.ft
 .fi
 .\" .TP
 .\" .I /proc/net/ipx
-.\" 情報なし。
+.\" No information.
 .\" .TP
 .\" .I /proc/net/ipx_route
-.\" 情報なし。
-.TP
-.I /proc/net/dev_mcast
-.I /usr/src/linux/net/core/dev_mcast.c
-で定義されており、以下の形式である。
+.\" No information.
+.TP 
+\fI/proc/net/dev_mcast\fP
+\fI/usr/src/linux/net/core/dev_mcast.c\fP で定義されており、以下の形式である。
 .nf
 .in +5
 indx interface_name  dmi_u dmi_g dmi_address
@@ -1492,653 +1064,415 @@ indx interface_name  dmi_u dmi_g dmi_address
 4    eth2            1     0     01005e000001
 .in
 .fi
-.TP
-.I /proc/net/igmp
+.TP 
+\fI/proc/net/igmp\fP
 Internet Group Management Protocol (インターネットグループ管理プロトコル)。
-.I /usr/src/linux/net/core/igmp.c
-で定義されている。
-.TP
-.I /proc/net/rarp
-このファイルは
-.I arp
-と同じフォーマットで
-逆アドレス解決サービス (reverse address lookup services)
-.BR rarp (8)
-に提供するために使われる現在の逆マップデータベースの内容を含んでいる。
-RARP がカーネルコンフィグレーションに設定されていなければ、
-このファイルは存在しない。
-.TP
-.I /proc/net/raw
-RAW ソケットテーブルのダンプを保持している。
-ほとんどの情報はデバッグ以外では使われない。
-\&"sl" の値はソケットのカーネルハッシュスロット、
-\&"local_address" はローカルアドレスとプロトコル番号のペア
-[訳者追加: "rem_address" はリモートアドレスとプロトコル番号のペア]。
-\&"st" はソケットの内部状態。
-\&"tx_queue" と "rx_queue" はカーネルメモリを消費している
-送信/受信データキューのサイズ。
-\&"tr" と "tm\->when" と "rexmits" フィールドは RAW では使われていない。
-\&"uid" フィールドはソケット生成者の実効 UID を保持している。
+\fI/usr/src/linux/net/core/igmp.c\fP で定義されている。
+.TP 
+\fI/proc/net/rarp\fP
+このファイルは \fIarp\fP と同じフォーマットで 逆アドレス解決サービス (reverse address lookup services)
+\fBrarp\fP(8)  に提供するために使われる現在の逆マップデータベースの内容を含んでいる。 RARP
+がカーネルコンフィグレーションに設定されていなければ、 このファイルは存在しない。
+.TP 
+\fI/proc/net/raw\fP
 .\" .TP
 .\" .I /proc/net/route
-.\" 情報なし。
-.\" .BR route (8)
-.\" (の出力) のように見える。
-.TP
-.I /proc/net/snmp
-このファイルは SNMP エージェントが必要とする
-IP, ICMP, TCP, UDP 管理情報を ASCII データとして保持している。
-.TP
-.I /proc/net/tcp
-TCP ソケットテーブルのダンプを保持している。
-大部分の情報はデバッグ以外には使われない。
-sl はソケットのカーネルハッシュスロットの値、
-\&"local_address" はローカルアドレスとポート番号のペアである。
-(ソケットが接続している場合は)
-\&"rem_address" はリモートアドレスとポート番号の対である。
-\&"st" はソケットの内部状態である。
-\&"tx_queue" と "rx_queue" はカーネルメモリを消費している
-送信/受信データキューのサイズ。
-\&"tr" と "tm\->when" と "rexmits" フィールドはソケット状態のカーネル
-内部情報を保持しているが、これらはデバッグのときにしか役に立たない。
+.\" No information, but looks similar to
+.\" .BR route (8).
+RAW ソケットテーブルのダンプを保持している。 ほとんどの情報はデバッグ以外では
+使われない。 \&"sl" の値はソケットのカーネルハッシュスロット、
+\&"local_address" はローカルアドレスとプロトコル番号のペア
+[訳者追加: "rem_address" はリモートアドレスとプロトコル番号のペア]。
+\&"st" はソケットの内部状態。 \&"tx_queue" と "rx_queue" はカーネルメモリを
+消費している 送信/受信データキューのサイズ。 \&"tr" と "tm\->when" と
+"rexmits" フィールドは RAW では使われていない。
 \&"uid" フィールドはソケット生成者の実効 UID を保持している。
-.TP
-.I /proc/net/udp
-UDP ソケットテーブルのダンプを保持している。
-大部分の情報はデバッグ以外には使われない。
-sl はソケットのカーネルハッシュスロットの値、
-"local_address" はローカルアドレスとポート番号のペアである。
-(ソケットが接続している場合は)
-"rem_address" はリモートアドレスとポート番号のペアである。
-"st" はソケットの内部状態である。
-"tx_queue" と "rx_queue" はカーネルメモリを消費している
-送信/受信データキューのサイズ。
-"tr" と "tm\->when" と "rexmits" フィールドは UDP では使われていない。
-"uid" フィールドはソケット生成者の実効 UID を保持している。
-フォーマットは以下のとおり:
+.TP 
+\fI/proc/net/snmp\fP
+このファイルは SNMP エージェントが必要とする IP, ICMP, TCP, UDP 管理情報を ASCII データとして保持している。
+.TP 
+\fI/proc/net/tcp\fP
+TCP ソケットテーブルのダンプを保持している。 大部分の情報はデバッグ以外には
+使われない。 sl はソケットのカーネルハッシュスロットの値、 \&"local_address"
+はローカルアドレスとポート番号のペアである。 (ソケットが接続している場合は)
+\&"rem_address" はリモートアドレスとポート番号の対である。 \&"st" はソケット
+の内部状態である。 \&"tx_queue" と "rx_queue" はカーネルメモリを消費している
+送信/受信データキューのサイズ。 \&"tr" と "tm\->when" と "rexmits"
+フィールドはソケット状態のカーネル 内部情報を保持しているが、
+これらはデバッグのときにしか役に立たない。 \&"uid" フィールドはソケット
+生成者の実効 UID を保持している。
+.TP 
+\fI/proc/net/udp\fP
+UDP ソケットテーブルのダンプを保持している。 大部分の情報はデバッグ以外には
+使われない。 sl はソケットのカーネルハッシュスロットの値、 "local_address"
+はローカルアドレスとポート番号のペアである。 (ソケットが接続している場合は)
+"rem_address" はリモートアドレスとポート番号のペアである。 "st" はソケットの
+内部状態である。 "tx_queue" と "rx_queue" はカーネルメモリを消費している
+送信/受信データキューのサイズ。 "tr" と "tm\->when" と "rexmits"
+フィールドは UDP では使われていない。 "uid" フィールドはソケット生成者の
+実効 UID を保持している。 フォーマットは以下のとおり:
 
 .nf
-.ft CW
 .in 1n
-sl  local_address rem_address   st tx_queue rx_queue tr rexmits  tm\->when uid
+\f(CWsl  local_address rem_address   st tx_queue rx_queue tr rexmits  tm\->when uid
  1: 01642C89:0201 0C642C89:03FF 01 00000000:00000001 01:000071BA 00000000 0
  1: 00000000:0801 00000000:0000 0A 00000000:00000000 00:00000000 6F000100 0
- 1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0
+ 1: 00000000:0201 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0\fP
 .in
-.ft
 .fi
-.TP
-.I /proc/net/unix
-Unix ドメインソケットのリスト。
-フォーマットは以下のとおり:
+.TP 
+\fI/proc/net/unix\fP
+UNIX ドメインソケットのリスト。 フォーマットは以下のとおり:
 .nf
 .sp .5
-.ft CW
-Num RefCount Protocol Flags    Type St Path
+\f(CWNum RefCount Protocol Flags    Type St Path
  0: 00000002 00000000 00000000 0001 03
- 1: 00000001 00000000 00010000 0001 01 /dev/printer
-.ft
+ 1: 00000001 00000000 00010000 0001 01 /dev/printer\fP
 .sp .5
 .fi
 
-ここで、Num はカーネルのテーブルスロット数、
-RefCount はソケットを使用しているユーザー数、
-Protocol はいまのところいつも 0 で、Flags はソケットの状態を保持している
-カーネル内部のフラグである。
-Type はいまのところいつも 1
+ここで、Num はカーネルのテーブルスロット数、 RefCount はソケットを使用して
+いるユーザー数、 Protocol はいまのところいつも 0 で、Flags はソケットの状態
+を保持している カーネル内部のフラグである。 Type はいまのところいつも 1
 (UNIX ドメインのデータグラムソケットは、現在のカーネルではサポートされていない
 [訳注: 2.0.34 ではサポートされているようだ])。
-St はソケットの内部状態で、Path は (もしあれば) ソケットのパス名である。
-.TP
-.I /proc/partitions
-各パーティションのメジャー番号とマイナー番号が書かれている。
-さらに、ブロック数とパーティション名も書かれている。
-.TP
-.I /proc/pci
-カーネルの初期化時に見つかったすべての PCI デバイスのリストと
-その設定。
-
-このファイルは非推奨であり、新しい PCI 用の
-.I /proc
-インターフェイス
-.RI ( /proc/bus/pci )
-を使うこと。
-このファイルは Linux 2.2 でオプションになった (カーネルのコンパイル時に
-.B CONFIG_PCI_OLD_PROC
-をセットすると利用可能であった)。
-Linux 2.4 で再びオプションなしで有効に戻った。
-さらに、Linux 2.6 で非推奨となり
-.RB ( CONFIG_PCI_LEGACY_PROC
-をセットするとまだ利用可能であった)、
-最終的に Linux 2.6.17 以降で完全に削除された。
+St はソケットの内部状態で、Path は(もしあれば) ソケットのパス名である。
+.TP 
+\fI/proc/partitions\fP
+各パーティションのメジャー番号とマイナー番号が書かれている。 さらに、ブロック数とパーティション名も書かれている。
+.TP 
+\fI/proc/pci\fP
+カーネルの初期化時に見つかったすべての PCI デバイスのリストと その設定。
+
 .\" FIXME /proc/sched_debug
 .\" .TP
 .\" .IR /proc/sched_debug " (since Linux 2.6.23)"
 .\" See also /proc/[pid]/sched
-.TP
-.I /proc/scsi
-.I scsi
-中間レベル擬似ファイルといくつかの SCSI 低レベルドライバの
-ディレクトリを含むディレクトリ。
-これらのファイルは ASCII で表現されているので
-.BR cat (1)
-で読める。
-
-いくつかのファイルは書き込み可能で、サブシステムの設定を変更したり、
-特定の機能をオン/オフすることができる。
-.TP
-.I /proc/scsi/scsi
-カーネルが知っているすべての SCSI デバイスのリスト。
-このリストは起動時に (コンソールで) 見られるものとほぼ同じである。
-scsi は現在のところ \fIadd-single-device\fP コマンドのみをサポートしている。
-これによりルート (root) は既知のデバイスリストへ活線挿抜 (hotplugged)
-デバイスを加えることができる。
+このファイルは非推奨であり、新しい PCI 用の \fI/proc\fP インターフェイス (\fI/proc/bus/pci\fP)  を使うこと。
+このファイルは Linux 2.2 でオプションになった (カーネルのコンパイル時に \fBCONFIG_PCI_OLD_PROC\fP
+をセットすると利用可能であった)。 Linux 2.4 で再びオプションなしで有効に戻った。 さらに、Linux 2.6 で非推奨となり
+(\fBCONFIG_PCI_LEGACY_PROC\fP をセットするとまだ利用可能であった)、 最終的に Linux 2.6.17
+以降で完全に削除された。
+.TP 
+\fI/proc/scsi\fP
+\fIscsi\fP 中間レベル擬似ファイルといくつかの SCSI 低レベルドライバの ディレクトリを含むディレクトリ。 これらのファイルは ASCII
+で表現されているので \fBcat\fP(1)  で読める。
+
+いくつかのファイルは書き込み可能で、サブシステムの設定を変更したり、 特定の機能をオン/オフすることができる。
+.TP 
+\fI/proc/scsi/scsi\fP
+カーネルが知っているすべての SCSI デバイスのリスト。 このリストは起動時に (コンソールで) 見られるものとほぼ同じである。 scsi
+は現在のところ \fIadd\-single\-device\fP コマンドのみをサポートしている。 これによりルート (root)
+は既知のデバイスリストへ活線挿抜 (hotplugged)  デバイスを加えることができる。
 
 次のコマンドを実行すると、
 .in +4n
 .nf
 
-echo \(aqscsi add-single-device 1 0 5 0\(aq > /proc/scsi/scsi
+echo \(aqscsi add\-single\-device 1 0 5 0\(aq > /proc/scsi/scsi
+
 .fi
 .in
-ホストアダプタ scsi1 は SCSI チャネル 0 で
-ID 5 LUN 0 のデバイスを探す。
-もしこのアドレスに既知のデバイスがあるか、
+ホストアダプタ scsi1 は SCSI チャネル 0 で ID 5 LUN 0 のデバイスを探す。 もしこのアドレスに既知のデバイスがあるか、
 不正なアドレスであったならばエラーが返る。
-.TP
-.I /proc/scsi/[drivername]
-いまのところ \fI[drivername]\fP は NCR53c7xx, aha152x, aha1542, aha1740,
-aic7xxx, buslogic, eata_dma, eata_pio, fdomain, in2000, pas16, qlogic,
-scsi_debug, seagate, t128, u15-24f, ultrastore, wd7000
-のどれかである。
-少なくとも 1 つの SCSI ホストバスアダプタ (HBA) に
-ドライバが割り当てられていると、そのドライバに対応したディレクトリが現れる。
-それぞれのディレクトリには、
-登録されたホストアダプタに対応してファイルが作られる。
-このファイルの名前は、システムの初期化の際に
-ホストアダプタに割り当てられた番号になる。
-
-これらのファイルを読めばドライバとホストアダプタの設定や
-統計などを見ることができる。
-
-これらのファイルへの書き込みはホストアダプタごとに異なる動作を引き起こす。
-たとえば \fIlatency\fP と \fInolatency\fP コマンドを用いると、
-ルート (root、スーパーユーザー) は eata_dma ドライバの隠し測定コードの
-オン/オフを切り替えることができる。
-また \fI lockup\fP と \fIunlock\fP コマンドを用いると、ルートは
-scsi_debug ドライバがシミュレートするバスロックアップ (bus lockup) を
-制御することができる。
-.TP
-.I /proc/self
-このディレクトリはプロセスに (プロセス自身の)
-.I /proc
-ファイルシステムへのアクセスを参照させる。
-これは
-.I /proc
-内の (このプロセスの) プロセス ID が名前となっている
-ディレクトリと全く同一である。
-.TP
-.I /proc/slabinfo
-Linux 2.6.16 以降では、
-カーネル設定オプション
-.B CONFIG_SLAB
-が有効の場合にのみ、このファイルは存在する。
-カーネルキャッシュの情報。
-.I /proc/slabinfo
-のフィールドは以下のとおり。
+.TP 
+\fI/proc/scsi/[drivername]\fP
+いまのところ \fI[drivername]\fP は NCR53c7xx, aha152x, aha1542, aha1740, aic7xxx,
+buslogic, eata_dma, eata_pio, fdomain, in2000, pas16, qlogic, scsi_debug,
+seagate, t128, u15\-24f, ultrastore, wd7000 のどれかである。 少なくとも 1 つの SCSI
+ホストバスアダプタ (HBA) に ドライバが割り当てられていると、そのドライバに対応したディレクトリが現れる。 それぞれのディレクトリには、
+登録されたホストアダプタに対応してファイルが作られる。 このファイルの名前は、システムの初期化の際に ホストアダプタに割り当てられた番号になる。
+
+これらのファイルを読めばドライバとホストアダプタの設定や 統計などを見ることができる。
+
+これらのファイルへの書き込みはホストアダプタごとに異なる動作を引き起こす。 たとえば \fIlatency\fP と \fInolatency\fP
+コマンドを用いると、 ルート (root、スーパーユーザー) は eata_dma ドライバの隠し測定コードの オン/オフを切り替えることができる。
+また \fI lockup\fP と \fIunlock\fP コマンドを用いると、ルートは scsi_debug ドライバがシミュレートするバスロックアップ
+(bus lockup) を 制御することができる。
+.TP 
+\fI/proc/self\fP
+このディレクトリはプロセスに (プロセス自身の)  \fI/proc\fP ファイルシステムへのアクセスを参照させる。 これは \fI/proc\fP 内の
+(このプロセスの) プロセス ID が名前となっている ディレクトリと全く同一である。
+.TP 
+\fI/proc/slabinfo\fP
+Linux 2.6.16 以降では、 カーネル設定オプション \fBCONFIG_SLAB\fP が有効の場合にのみ、このファイルは存在する。
+カーネルキャッシュの情報。 \fI/proc/slabinfo\fP のフィールドは以下のとおり。
 .in +4n
 .nf
 
-cache-name
-num-active-objs
-total-objs
-object-size
-num-active-slabs
-total-slabs
-num-pages-per-slab
+cache\-name
+num\-active\-objs
+total\-objs
+object\-size
+num\-active\-slabs
+total\-slabs
+num\-pages\-per\-slab
 .fi
 .in
 
-詳細は
-.BR slabinfo (5)
-を参照すること。
-.TP
-.I /proc/stat
-カーネル/システムの統計。
-アーキテクチャによって異なる。
-共通エントリには以下のものが含まれる。
+詳細は \fBslabinfo\fP(5)  を参照すること。
+.TP 
+\fI/proc/stat\fP
+カーネル/システムの統計。 アーキテクチャによって異なる。 共通エントリには以下のものが含まれる。
 .RS
-.TP
+.TP 
 \fIcpu  3357 0 4313 1362393\fP
-ユーザーモード、
-低い優先度 (nice) でのユーザーモード、
-システムモード、
-タスク待ち (idle task)、
-でそれぞれシステムが消費した時間を
-USER_HZ を単位として計測した積算値。
-(ほとんどのアーキテクチャでは USER_HZ は 1/100 秒である。
-正しい値は
-.I sysconf(_SC_CLK_TCK)
-を使って取得できる。)
-.\" Alpha と ia64 では 1024 である。
-.\" FIXME: 実際には、/proc/stat の 'cpu' フィールドについての以下の情報は
-.\"        正しいとは言えないようである (少なくとも 2.6.12 では)。
-最後の値 (タスク待ち) は疑似ファイル uptime の 2番目のエントリの値を
-USER_HZ 倍したものである。
+.\" 1024 on Alpha and ia64
+.\" FIXME Actually, the following info about the /proc/stat 'cpu' field
+.\"       does not seem to be quite right (at least in 2.6.12)
+ユーザーモード、 低い優先度 (nice) でのユーザーモード、 システムモード、 タスク待ち (idle task)、
+でそれぞれシステムが消費した時間を USER_HZ を単位として計測した積算値。 (ほとんどのアーキテクチャでは USER_HZ は 1/100
+秒である。 正しい値は \fIsysconf(_SC_CLK_TCK)\fP を使って取得できる。)  最後の値 (タスク待ち) は疑似ファイル uptime
+の 2番目のエントリの値を USER_HZ 倍したものである。
 
 Linux 2.6 では、この行に 3つの欄が追加されている:
-.I iowait
-(I/O の完了を待っていた時間; 2.5.41 以降);
-.I irq
-(割り込み処理を行った時間; 2.6.0-test4 以降);
-.I softirq
-(ソフト割り込みの処理を行った時間; 2.6.0-test4 以降)。
-
-Linux 2.6.11 以降では、8 個目の欄として
-.I steal
-(盗まれた時間; stolen time) が存在する。
+\fIiowait\fP (I/O の完了を待っていた時間; 2.5.41 以降);
+\fIirq\fP (割り込み処理を行った時間; 2.6.0\-test4 以降);
+\fIsoftirq\fP (ソフト割り込みの処理を行った時間; 2.6.0\-test4 以降)。
+
+Linux 2.6.11 以降では、
+8 個目の欄として \fIsteal\fP (盗まれた時間; stolen time) が存在する。
 これは、仮想化環境での動作時に他のオペレーティングシステムにより
 消費された時間である。
 
-Linux 2.6.24 以降では、9 個目の欄として、
-.I guest
-がある。これは、
-Linux カーネルの制御下のゲストオペレーティングシステムの仮想 CPU の
-実行に消費された時間である。
 .\" See Changelog entry for 5e84cfde51cf303d368fcb48f22059f37b3872de
-.TP
+Linux 2.6.24 以降では、9 個目の欄として、 \fIguest\fP がある。これは、 Linux
+カーネルの制御下のゲストオペレーティングシステムの仮想 CPU の 実行に消費された時間である。
+.TP 
 \fIpage 5741 1808\fP
 システムが (ディスクから) ページイン/ページアウトしたページ数。
-.TP
+.TP 
 \fIswap 1 0\fP
 スワップイン/スワップアウトされたページ数。
-.TP
-.\" FIXME 以下の説明は、カーネル 2.6 の /proc/stat 'intr' フィールドの
-.\"       完全な説明ではない。書かれていないことがある。
+.TP 
+.\" FIXME The following is not the full picture for the 'intr' of
+.\"       /proc/stat on 2.6:
 \fIintr 1462898\fP
-この行はシステム起動時以降に処理された割り込みの回数を示す。
-最初の欄は処理された割り込み全ての合計であり、それ以降の欄は
+この行はシステム起動時以降に処理された割り込みの回数を示す。 最初の欄は処理された割り込み全ての合計であり、それ以降の欄は
 個々の割り込みについての合計数である。
-.TP
+.TP 
 \fIdisk_io: (2,0):(31,30,5764,1,2) (3,0):\fP...
-(メジャー番号, ディスクインデックス番号):(情報なし (noinfo), 読み込み回数,
-読み込みブロック数, 書き出し回数, 書き出しブロック数)
+(メジャー番号, ディスクインデックス番号):(情報なし (noinfo), 読み込み回数, 読み込みブロック数, 書き出し回数, 書き出しブロック数)
 .br
 (Linux 2.4 のみ)
-.TP
+.TP 
 \fIctxt 115315\fP
 コンテクスト・スイッチの延べ回数。
-.TP
+.TP 
 \fIbtime 769041601\fP
-起動時刻、紀元 (Epoch; 1970-01-01 00:00:00 +0000 (UTC)) からの秒数。
-.TP
+起動時刻、紀元 (Epoch; 1970\-01\-01 00:00:00 +0000 (UTC)) からの秒数。
+.TP 
 \fIprocesses 86031\fP
 システム起動時からの延べフォーク (fork) 数。
-.TP
+.TP 
 \fIprocs_running 6\fP
 実行中状態のプロセス数 (Linux 2.5.45 以降)。
-.TP
+.TP 
 \fIprocs_blocked 2\fP
-I/O 完了待ちで停止 (blocked) しているプロセス数
-(Linux 2.5.45 以降)。
+I/O 完了待ちで停止 (blocked) しているプロセス数 (Linux 2.5.45 以降)。
 .RE
-.TP
-.I /proc/swaps
-使用中のスワップ領域。
-.BR swapon (8)
-も参照すること。
-.TP
-.I /proc/sys
+.TP 
+\fI/proc/swaps\fP
+使用中のスワップ領域。 \fBswapon\fP(8)  も参照すること。
+.TP 
+\fI/proc/sys\fP
 このディレクトリ (1.3.57 以降に存在) はカーネル変数に対応するいくつかの
-ファイルとサブディレクトリを含む。
-これらの変数は読み出し可能である。
-また場合によっては \fI/proc\fP ファイルシステムや、
-(非推奨の) システムコール
-.BR sysctl (2)
-を用いて書き換えることもできる。
-いまのところ
-.IR abi ", " debug ", " dev ", " fs ", " kernel ", " net ", " proc ", "
-.IR rxrpc ", " sunrpc ", " vm
-というサブディレクトリがあって、
-それぞれがファイルとサブディレクトリを含んでいる。
-.TP
-.IR /proc/sys/abi " (Linux 2.4.10 以降)"
-このディレクトリにはアプリケーションのバイナリ情報が入ったファイルが置かれる。
-.\" このファイルが存在しないシステムもある。
-更に詳しい情報は、カーネルソースファイル
-.I Documentation/sysctl/abi.txt
-を参照すること。
-.TP
-.I /proc/sys/debug
+ファイルとサブディレクトリを含む。 これらの変数は読み出し可能である。
+また場合によっては \fI/proc\fP ファイルシステムや、 (非推奨の) システムコール
+\fBsysctl\fP(2) を用いて書き換えることもできる。
+.TP 
+\fI/proc/sys/abi\fP (Linux 2.4.10 以降)
+.\" On some systems, it is not present.
+このディレクトリにはアプリケーションのバイナリ情報が入ったファイルが置かれる。 更に詳しい情報は、カーネルソースファイル
+\fIDocumentation/sysctl/abi.txt\fP を参照すること。
+.TP 
+\fI/proc/sys/debug\fP
 このディレクトリは空の場合もある。
-.TP
-.I /proc/sys/dev
-このディレクトリにはデバイス特有の情報 (たとえば
-.IR dev/cdrom/info )
-が含まれる。
+.TP 
+\fI/proc/sys/dev\fP
+このディレクトリにはデバイス特有の情報 (たとえば \fIdev/cdrom/info\fP)  が含まれる。
 このディレクトリが空になっているシステムもある。
-.TP
-.I /proc/sys/fs
-このディレクトリには、サブディレクトリ
-.IR binfmt_misc ", " epoll ", " inotify ", " mqueue
-と以下のファイルがある:
-.IR dentry-state ", " dir-notify-enable ", " dquot-nr ", " file-max ", "
-.IR file-nr ", " inode-max ", " inode-nr ", " inode-state ", "
-.IR lease-break-time ", " leases-enable ", "
-.IR overflowgid ", " overflowuid ", "
-.IR suid_dumpable ", "
-.IR super-max ", " super-nr .
-.TP
-.I /proc/sys/fs/binfmt_misc
-このディレクトリ以下のファイルについてのドキュメントは、
-カーネルソースの
-.I Documentation/binfmt_misc.txt
-にある。
-.TP
-.IR /proc/sys/fs/dentry-state " (Linux 2.2 以降)"
-このファイルには、ディレクトリキャッシュ (dcache) の状態に関する情報が
-入っている。ファイルには、
-.IR nr_dentry ", " nr_unused ", " age_limit " (秒単位の age), " want_pages
-(システムがリクエストしたページ数), ダミーの 2 つの値、
-という 6 つの数字が書かれている。
+.TP 
+\fI/proc/sys/fs\fP
+このディレクトリには、ファイルシステムに関連するカーネル変数用の
+ディレクトリとサブディレクトリが含まれる。
+.TP 
+\fI/proc/sys/fs/binfmt_misc\fP
+このディレクトリ以下のファイルについてのドキュメントは、 カーネルソースの \fIDocumentation/binfmt_misc.txt\fP にある。
+.TP 
+\fI/proc/sys/fs/dentry\-state\fP (Linux 2.2 以降)
+このファイルには、ディレクトリキャッシュ (dcache) の状態に関する情報が 入っている。ファイルには、 \fInr_dentry\fP,
+\fInr_unused\fP, \fIage_limit\fP (秒単位の age), \fIwant_pages\fP (システムがリクエストしたページ数),
+ダミーの 2 つの値、 という 6 つの数字が書かれている。
 .RS
 .IP * 2
-.I nr_dentry
-は割り当てられた dentry (dcache エントリ) の数である。
-このフィールドは Linux 2.2 では使用されない。
+\fInr_dentry\fP は割り当てられた dentry (dcache エントリ) の数である。 このフィールドは Linux 2.2
+では使用されない。
 .IP *
-.I nr_unused
-は未使用の dentry 数である。
+\fInr_unused\fP は未使用の dentry 数である。
 .IP *
-.I age_limit
-は、メモリが不足している場合に次に dcache entry を再要求できるように
-なるまでの残り時間 (秒数) である。
+.\" looks like this is unused in kernels 2.2 to 2.6
+\fIage_limit\fP は、メモリが不足している場合に次に dcache entry を再要求できるように なるまでの残り時間 (秒数) である。
 .IP *
 .\" looks like this is unused in kernels 2.2 to 2.6
-.I want_pages
-は、カーネルが shrink_dcache_pages() を呼び出したが
-dcache がまだ縮小されていない場合に、0 以外の値となる。
+\fIwant_pages\fP は、カーネルが shrink_dcache_pages() を呼び出したが dcache がまだ縮小されていない場合に、0
+以外の値となる。
 .RE
-.TP
-.I /proc/sys/fs/dir-notify-enable
-このファイルは
-.BR fcntl (2)
-に記述されている
-.I dnotify
-インターフェースをシステム全体で無効にしたり有効にしたりする。
-このファイルに値 0 が書かれている場合はインターフェースが無効になり、
-値 1 の場合は有効になる。
-.TP
-.I /proc/sys/fs/dquot-max
-このファイルにはキャッシュされるディスク quota エントリの最大数が書かれている。
-(2.4 系の) システムの中には、このファイルが存在しないものもある。
-キャッシュされるディスク quota エントリの空きが非常に少なく、
-とても多くのシステムユーザーが同時に存在する場合、
-この制限を上げるといいかもしれない。
-.TP
-.I /proc/sys/fs/dquot-nr
-このファイルには割り当てられているディスク quota のエントリ数と、
-空いているディスク quota のエントリ数が書かれている。
-.TP
-.IR /proc/sys/fs/epoll " (Linux 2.6.28 以降)"
-このディレクトリには、ファイル
-.I max_user_watches
-がある。
-これらは、
-.I epoll
-インタフェースが消費するカーネルメモリ量を制限するのに使用できる。
-詳細は
-.BR epoll (7)
-を参照。
-.TP
-.I /proc/sys/fs/file-max
-このファイルはシステム全体でプロセスがオープンできる
-ファイル数の上限を定義する。
-(各プロセスがオープンできるファイル数の上限を
-.B RLIMIT_NOFILE
-によって設定する
-.BR setrlimit (2)
-も参照すること。)
-ファイルハンドルを使い果たして大量にエラーメッセージが出る場合は、
-以下のようにしてこの値を増加させてみよ:
+.TP 
+\fI/proc/sys/fs/dir\-notify\-enable\fP
+このファイルは \fBfcntl\fP(2)  に記述されている \fIdnotify\fP インターフェースをシステム全体で無効にしたり有効にしたりする。
+このファイルに値 0 が書かれている場合はインターフェースが無効になり、 値 1 の場合は有効になる。
+.TP 
+\fI/proc/sys/fs/dquot\-max\fP
+このファイルにはキャッシュされるディスク quota エントリの最大数が書かれている。 (2.4 系の)
+システムの中には、このファイルが存在しないものもある。 キャッシュされるディスク quota エントリの空きが非常に少なく、
+とても多くのシステムユーザーが同時に存在する場合、 この制限を上げるといいかもしれない。
+.TP 
+\fI/proc/sys/fs/dquot\-nr\fP
+このファイルには割り当てられているディスク quota のエントリ数と、 空いているディスク quota のエントリ数が書かれている。
+.TP 
+\fI/proc/sys/fs/epoll\fP (Linux 2.6.28 以降)
+このディレクトリには、ファイル \fImax_user_watches\fP がある。 これらは、 \fIepoll\fP
+インタフェースが消費するカーネルメモリ量を制限するのに使用できる。 詳細は \fBepoll\fP(7)  を参照。
+.TP 
+\fI/proc/sys/fs/file\-max\fP
+このファイルはシステム全体でプロセスがオープンできる ファイル数の上限を定義する。 (各プロセスがオープンできるファイル数の上限を
+\fBRLIMIT_NOFILE\fP によって設定する \fBsetrlimit\fP(2)  も参照すること。)
+ファイルハンドルを使い果たして大量にエラーメッセージが出る場合は、 以下のようにしてこの値を増加させてみよ:
 .br
 
 .br
 .nf
-.ft CW
-echo 100000 > /proc/sys/fs/file-max
+\f(CWecho 100000 > /proc/sys/fs/file\-max\fP
 .fi
-.ft
-
-.I file-max
-に書かれている値は、カーネル定数
-.B NR_OPEN
-に制限される。
-
-.I /proc/sys/fs/file-max
-を増やした場合は、
-.I /proc/sys/fs/inode-max
-を新しい
-.I /proc/sys/fs/file-max
-の値の 3-4 倍に増やしておくこと。
-こうしないと inode を使い果たしてしまうだろう。
-.TP
-.I /proc/sys/fs/file-nr
-(このファイルは読み出し専用で) 読み出すと
-現在オープンされているファイルの数が得られる。
-このファイルには、割り当てられているファイルハンドル数・
-空いているファイルハンドル数・ファイルハンドル数の最大値、
-という 3 つの数値が書かれている。
-カーネルはファイルハンドルを動的に割り当てるが、
-それを再び解放しない。
-割り当てられているファイル数が最大値に近づいた場合は、
-最大値を大きくすることを考慮すべきである。
-空いているファイルハンドル数が多い場合は、
-ファイルハンドルの使用のピークを経験したことがあり、
-最大値を大きくする必要はないだろう。
-.TP
-.I /proc/sys/fs/inode-max
-このファイルには、メモリ内 inode の最大値が書かれている。
-(2.4 系の) システムによっては、このファイルが存在しないかもしれない。
-この値は
-.I file-max
-の値の 3-4 倍にすべきである。
-これは \fIstdin\fP, \fIstdout\fP, ネットワークソケットを扱うにも
-inode が必要なためである。
-日常的に inode を使い果たしている場合は、この値を増やす必要がある。
-.TP
-.I /proc/sys/fs/inode-nr
-このファイルには、
-.I inode-state
-の最初の 2 つの値が書かれている。
-.TP
-.I /proc/sys/fs/inode-state
-このファイルには 7 個の値が書かれている:
-.IR nr_inodes,
-.IR nr_free_inodes ,
-.IR preshrink
-と 4 つのダミーの値である。
-.I nr_inodes
-はシステムが確保する inode の数である。
-Linux は 1 度に 1 ページ分いっぱいに nr_inode を確保するので、この値が
-.I inode-max
-より幾分大きくなることもある。
-.I nr_free_inodes
-は空いている inode の数を表す。
-.IR nr_inodes " > " inode-max
-の場合、
-.I preshrink
-は 0 以外の値になる。
-この場合システムは inode をさらに確保するのではなく、
-inode リストを切り詰める必要がある。
-.TP
-.IR /proc/sys/fs/inotify " (Linux 2.6.13 以降)"
-このディレクトリには、ファイル
-.IR max_queued_events ", " max_user_instances ", and " max_user_watches
-がある。これらは、
-.I inotify
-インタフェースが消費するカーネルメモリ量を制限するのに利用できる。
-詳細は
-.BR inotify (7)
-を参照。
-.TP
-.I /proc/sys/fs/lease-break-time
-このファイルは、ファイルを保持しているプロセスに対して
-カーネルがシグナルを送り、
-他のプロセスがそのファイルをオープンするのを待っていることを通知してから、
-そのプロセスに対してカーネルがファイルのリース (lease, 貸し出し)
-.RB ( fcntl (2)
-を参照) を許す猶予期間を指定する。
-リースホルダ (lease holder: ファイルの貸し出しを受けているプロセス) が
-猶予期間中にリースを削除するか階級を低くしない場合、
-カーネルはファイルのリースを強制的に止める。
-.TP
-.I /proc/sys/fs/leases-enable
-このファイルはシステム全体でのファイルリース
-.RB ( fcntl (2)
-を参照) を有効または無効にする。
-ファイルに値 0 が書き込まれている場合、リースは無効である。
-0 以外の場合にはリースは有効である。
-.TP
-.IR /proc/sys/fs/mqueue " (Linux 2.6.6 以降)"
-このディレクトリにはファイル
-.IR msg_max ", " msgsize_max ", and " queues_max
-がある。これらは POSIX メッセージキューで使用されるリソースの
-制御を行う。
-詳細は
-.BR mq_overview (7)
-を参照。
-.TP
-.IR /proc/sys/fs/overflowgid " と " /proc/sys/fs/overflowuid
-これらのファイルにより、ユーザーは固定 UID と固定 GID の値を変更できる。
-デフォルトは 65534 である。
-Linux の UID と GID は 32 ビットであるが、
-16 ビットの UID と GID しかサポートしないファイルシステムもある。
-このようなファイルシステムが書き込みを許可してマウントされた場合、
-65535 を超える UID と GID は、
+
+\fIfile\-max\fP に書かれている値は、カーネル定数 \fBNR_OPEN\fP に制限される。
+
+\fI/proc/sys/fs/file\-max\fP を増やした場合は、 \fI/proc/sys/fs/inode\-max\fP を新しい
+\fI/proc/sys/fs/file\-max\fP の値の 3\-4 倍に増やしておくこと。 こうしないと inode を使い果たしてしまうだろう。
+.TP 
+\fI/proc/sys/fs/file\-nr\fP
+(このファイルは読み出し専用で) 読み出すと 現在オープンされているファイルの数が得られる。 このファイルには、割り当てられているファイルハンドル数・
+空いているファイルハンドル数・ファイルハンドル数の最大値、 という 3 つの数値が書かれている。 カーネルはファイルハンドルを動的に割り当てるが、
+それを再び解放しない。 割り当てられているファイル数が最大値に近づいた場合は、 最大値を大きくすることを考慮すべきである。
+空いているファイルハンドル数が多い場合は、 ファイルハンドルの使用のピークを経験したことがあり、 最大値を大きくする必要はないだろう。
+.TP 
+\fI/proc/sys/fs/inode\-max\fP
+このファイルには、メモリ内 inode の最大値が書かれている。 (2.4 系の) システムによっては、このファイルが存在しないかもしれない。 この値は
+\fIfile\-max\fP の値の 3\-4 倍にすべきである。 これは \fIstdin\fP, \fIstdout\fP, ネットワークソケットを扱うにも inode
+が必要なためである。 日常的に inode を使い果たしている場合は、この値を増やす必要がある。
+.TP 
+\fI/proc/sys/fs/inode\-nr\fP
+このファイルには、 \fIinode\-state\fP の最初の 2 つの値が書かれている。
+.TP 
+\fI/proc/sys/fs/inode\-state\fP
+このファイルには 7 個の値が書かれている: \fInr_inodes,\fP \fInr_free_inodes\fP, \fIpreshrink\fP と 4
+つのダミーの値である。 \fInr_inodes\fP はシステムが確保する inode の数である。 Linux は 1 度に 1 ページ分いっぱいに
+nr_inode を確保するので、この値が \fIinode\-max\fP より幾分大きくなることもある。 \fInr_free_inodes\fP は空いている
+inode の数を表す。 \fInr_inodes\fP > \fIinode\-max\fP の場合、 \fIpreshrink\fP は 0 以外の値になる。
+この場合システムは inode をさらに確保するのではなく、 inode リストを切り詰める必要がある。
+.TP 
+\fI/proc/sys/fs/inotify\fP (Linux 2.6.13 以降)
+このディレクトリには、ファイル \fImax_queued_events\fP, \fImax_user_instances\fP, and
+\fImax_user_watches\fP がある。これらは、 \fIinotify\fP インタフェースが消費するカーネルメモリ量を制限するのに利用できる。
+詳細は \fBinotify\fP(7)  を参照。
+.TP 
+\fI/proc/sys/fs/lease\-break\-time\fP
+このファイルは、ファイルを保持しているプロセスに対して カーネルがシグナルを送り、
+他のプロセスがそのファイルをオープンするのを待っていることを通知してから、 そのプロセスに対してカーネルがファイルのリース (lease, 貸し出し)
+(\fBfcntl\fP(2)  を参照) を許す猶予期間を指定する。 リースホルダ (lease holder: ファイルの貸し出しを受けているプロセス)
+が 猶予期間中にリースを削除するか階級を低くしない場合、 カーネルはファイルのリースを強制的に止める。
+.TP 
+\fI/proc/sys/fs/leases\-enable\fP
+このファイルはシステム全体でのファイルリース (\fBfcntl\fP(2)  を参照) を有効または無効にする。 ファイルに値 0
+が書き込まれている場合、リースは無効である。 0 以外の場合にはリースは有効である。
+.TP 
+\fI/proc/sys/fs/mqueue\fP (Linux 2.6.6 以降)
+このディレクトリにはファイル \fImsg_max\fP, \fImsgsize_max\fP, and \fIqueues_max\fP がある。これらは POSIX
+メッセージキューで使用されるリソースの 制御を行う。 詳細は \fBmq_overview\fP(7)  を参照。
+.TP 
+\fI/proc/sys/fs/overflowgid\fP と \fI/proc/sys/fs/overflowuid\fP
+これらのファイルにより、ユーザーは固定 UID と固定 GID の値を変更できる。 デフォルトは 65534 である。 Linux の UID と
+GID は 32 ビットであるが、 16 ビットの UID と GID しかサポートしないファイルシステムもある。
+このようなファイルシステムが書き込みを許可してマウントされた場合、 65535 を超える UID と GID は、
 ディスクに書き込まれる前にオーバーフロー値に変換される。
-.TP
-.IR /proc/sys/fs/suid_dumpable " (Linux 2.6.13 以降)"
-.\" 以下は Documentation/sysctl/kernel.txt の内容に基いている。
-このファイルの値により、set-user-ID されたバイナリや、
-保護がかかった (protected) バイナリ / tainted な (汚染された;
-ライセンスがカーネルと適合しない) バイナリに対して、コアダンプファイルを
-生成するかどうかが決定される。
-以下の 3つの値を指定することができる:
+.TP 
+\fI/proc/sys/fs/pipe\-max\-size\fP (Linux 2.6.35 以降)
+The value in this file defines an upper limit for raising the capacity of a
+pipe using the \fBfcntl\fP(2)  \fBF_SETPIPE_SZ\fP operation.  This limit applies
+only to unprivileged processes.  The default value for this file is
+1,048,576.  The value assigned to this file may be rounded upward, to
+reflect the value actually employed for a convenient implementation.  To
+determine the rounded\-up value, display the contents of this file after
+assigning a value to it.  The minimum value that can be assigned to this
+file is the system page size.
+.TP 
+\fI/proc/sys/fs/suid_dumpable\fP (Linux 2.6.13 以降)
+.\" The following is based on text from Documentation/sysctl/kernel.txt
+このファイルの値により、set\-user\-ID されたバイナリや、 保護がかかった (protected) バイナリ / tainted な
+(汚染された; ライセンスがカーネルと適合しない) バイナリに対して、コアダンプファイルを 生成するかどうかが決定される。 以下の
+3つの値を指定することができる:
 .sp
-\fI0\ (default)\fP
-この値を指定すると、以前と同じ (Linux 2.6.13 より前の) 動作をする。
-.RB ( seteuid (2),
-.BR setgid (2)
-などを呼び出すことや、set-user-ID や set-group-ID されたプログラムを
-実行することで) 資格情報 (credentials) が変更されているプロセスや、
-プロセスの実行バイナリの読み出し許可がないプロセスに対して、
-コアダンプを生成しない。
+\fI0\ (default)\fP この値を指定すると、以前と同じ (Linux 2.6.13 より前の) 動作をする。 (\fBseteuid\fP(2),
+\fBsetgid\fP(2)  などを呼び出すことや、set\-user\-ID や set\-group\-ID されたプログラムを 実行することで) 資格情報
+(credentials) が変更されているプロセスや、 プロセスの実行バイナリの読み出し許可がないプロセスに対して、 コアダンプを生成しない。
 .sp
-\fI1\ ("debug")\fP
-すべてのプロセスで、可能であればコアダンプを行う。
-コアダンプファイルの所有者は、ダンプを行うプロセスのファイルシステム UID
-となり、セキュリティ上の考慮は行われない。
-この値は、システムデバッグの場面だけを想定して設けられている。
-ptrace のチェックも行われない。
+\fI1\ ("debug")\fP すべてのプロセスで、可能であればコアダンプを行う。 コアダンプファイルの所有者は、ダンプを行うプロセスのファイルシステム
+UID となり、セキュリティ上の考慮は行われない。 この値は、システムデバッグの場面だけを想定して設けられている。 ptrace
+のチェックも行われない。
 .sp
-\fI2\ ("suidsafe")\fP
-通常はダンプされないようなバイナリ (上記の "0" 参照) を
-root だけが読み出し可能な形でダンプする。
-この場合、ユーザはそのコアダンプファイルを削除することはできるが、
-読むことはできない。
-セキュリティ上の理由から、このモードのコアダンプでは、
-既存のダンプファイルや他のファイルを上書きすることはない。
-このモードは、管理者が通常の環境で問題を解析しようとする際に
-適している。
-.TP
+\fI2\ ("suidsafe")\fP 通常はダンプされないようなバイナリ (上記の "0" 参照) を root だけが読み出し可能な形でダンプする。
+この場合、ユーザはそのコアダンプファイルを削除することはできるが、 読むことはできない。 セキュリティ上の理由から、このモードのコアダンプでは、
+既存のダンプファイルや他のファイルを上書きすることはない。 このモードは、管理者が通常の環境で問題を解析しようとする際に 適している。
+.TP 
 このファイルはスーパブロックの値を制御する。
-この値はカーネルがマウントできるファイルシステムの最大値になる。
-現在、
-.I super-max
-で許可されているファイルシステム数以上に
+この値はカーネルがマウントできるファイルシステムの最大値になる。 現在、 \fIsuper\-max\fP で許可されているファイルシステム数以上に
 マウントする必要がある場合は、この値を増加させるだけでよい。
-.TP
-.I /proc/sys/fs/super-nr
+.TP 
+\fI/proc/sys/fs/super\-nr\fP
 このファイルには現在マウントされているファイルシステム数が書かれている。
-.TP
-.I /proc/sys/kernel
-このディレクトリには、以下で説明する様々なカーネルパラメータを
-制御するためのファイルが配置されている。
-.TP
-.I /proc/sys/kernel/acct
-このファイルには 3 つの値が含まれている:
-.IR highwater ,
-.IR lowwater ,
-.IR frequency
-である。
-BSD-style process accounting が有効になっている場合、
-これら 3 つの値が動作を制御する。
-ログファイルのあるファイルシステムの空き領域が
-.I lowwater
-パーセント以下になった場合は、ログ記録を一時停止する。
-空き領域が
-.I highwater
-パーセント以上になった場合に、ログ記録を再開する。
-.I frequency
-はカーネルが空き領域のチェックをする頻度である (単位は秒)。
-デフォルトの値は、4, 2, 30 である。
-つまり、空き領域が 2% 以下になるとログ記録を一時停止し、
-空き領域が 4% 以上となったときに再開する。
-空き領域についての情報は 30 秒間有効である点に注意すること。
-.TP
-.IR /proc/sys/kernel/cap-bound " (Linux 2.2 to 2.6.24 以降)"
-.I /proc/sys/kernel/cap-bound
-このファイルにはカーネルの
-.I "capability bounding set"
-(符号付き 10 進数表現) の値が書かれている。
-.BR execve (2)
-中は、このセットとプロセスに許可されている権限の AND がとられる。
-Linux 2.6.25 以降では、システム全体のケーパビリティバウンディングセットは
-なくなり、スレッド単位のバウンディングセットに置き換えられた。
-.BR capabilities (7)
-を参照。
-.TP
-.I /proc/sys/kernel/core_pattern
-.BR core (5)
-参照。
-.TP
-.I /proc/sys/kernel/core_uses_pid
-.BR core (5)
-参照。
-.TP
-.I /proc/sys/kernel/ctrl-alt-del
-このファイルはキーボードの Ctrl-Alt-Del の扱いを制御する。
-このファイルにある値が 0 の場合、
-Ctrl-Alt-Del が捕捉されると
-.BR init (8)
-プログラムに送られて、正しく再起動される。
-値が 0 より大きい場合、Vulcan Nerve Pinch (tm) に反応して、
-Linux はダーティバッファを同期させることなく、すぐに再起動を行う。
-注意: プログラム (dosemu など) に "raw" モードのキーボードがある場合、
-ctrl-alt-del はカーネルの tty レイヤーに到達する前に
-プログラムに遮断され、
+.TP 
+\fI/proc/sys/kernel\fP
+このディレクトリには、以下で説明する様々なカーネルパラメータを 制御するためのファイルが配置されている。
+.TP 
+\fI/proc/sys/kernel/acct\fP
+このファイルには 3 つの値が含まれている: \fIhighwater\fP, \fIlowwater\fP, \fIfrequency\fP である。
+BSD\-style process accounting が有効になっている場合、 これら 3 つの値が動作を制御する。
+ログファイルのあるファイルシステムの空き領域が \fIlowwater\fP パーセント以下になった場合は、ログ記録を一時停止する。 空き領域が
+\fIhighwater\fP パーセント以上になった場合に、ログ記録を再開する。 \fIfrequency\fP はカーネルが空き領域のチェックをする頻度である
+(単位は秒)。 デフォルトの値は、4, 2, 30 である。 つまり、空き領域が 2% 以下になるとログ記録を一時停止し、 空き領域が 4%
+以上となったときに再開する。 空き領域についての情報は 30 秒間有効である点に注意すること。
+.TP 
+\fI/proc/sys/kernel/cap\-bound\fP (Linux 2.2 to 2.6.24 以降)
+\fI/proc/sys/kernel/cap\-bound\fP このファイルにはカーネルの \fIcapability bounding set\fP (符号付き
+10 進数表現) の値が書かれている。 \fBexecve\fP(2)  中は、このセットとプロセスに許可されている権限の AND がとられる。 Linux
+2.6.25 以降では、システム全体のケーパビリティバウンディングセットは なくなり、スレッド単位のバウンディングセットに置き換えられた。
+\fBcapabilities\fP(7)  を参照。
+.TP 
+\fI/proc/sys/kernel/core_pattern\fP
+\fBcore\fP(5)  参照。
+.TP 
+\fI/proc/sys/kernel/core_uses_pid\fP
+\fBcore\fP(5)  参照。
+.TP 
+\fI/proc/sys/kernel/ctrl\-alt\-del\fP
+このファイルはキーボードの Ctrl\-Alt\-Del の扱いを制御する。 このファイルにある値が 0 の場合、 Ctrl\-Alt\-Del が捕捉されると
+\fBinit\fP(8)  プログラムに送られて、正しく再起動される。 値が 0 より大きい場合、Vulcan Nerve Pinch (tm)
+に反応して、 Linux はダーティバッファを同期させることなく、すぐに再起動を行う。 注意: プログラム (dosemu など) に "raw"
+モードのキーボードがある場合、 ctrl\-alt\-del はカーネルの tty レイヤーに到達する前に プログラムに遮断され、
 プログラムに送られてどのように扱うかが決められる。
-.TP
-.I /proc/sys/kernel/hotplug
-このファイルはホットプラグ・ポリシー・エージェントのパスが書かれている。
-このファイルのデフォルト値は
-.I /sbin/hotplug
-である。
-.TP
-.IR /proc/sys/kernel/domainname " と " /proc/sys/kernel/hostname
-これらのファイルは、コマンド
-.BR domainname (1),
-.BR hostname (1)
-と全く同じ方法で、
-マシンの NIS/YP ドメイン名とホスト名の設定に使える。
-すなわち
+.TP 
+\fI/proc/sys/kernel/hotplug\fP
+このファイルはホットプラグ・ポリシー・エージェントのパスが書かれている。 このファイルのデフォルト値は \fI/sbin/hotplug\fP である。
+.TP 
+\fI/proc/sys/kernel/domainname\fP と \fI/proc/sys/kernel/hostname\fP
+これらのファイルは、コマンド \fBdomainname\fP(1), \fBhostname\fP(1)  と全く同じ方法で、 マシンの NIS/YP
+ドメイン名とホスト名の設定に使える。 すなわち
 
 .in +4n
 .nf
-.RB "#" " echo \(aqdarkstar\(aq > /proc/sys/kernel/hostname"
-.RB "#" " echo \(aqmydomain\(aq > /proc/sys/kernel/domainname"
+#\fB echo \(aqdarkstar\(aq > /proc/sys/kernel/hostname\fP
+#\fB echo \(aqmydomain\(aq > /proc/sys/kernel/domainname\fP
 .fi
 .in
 
@@ -2146,383 +1480,286 @@ ctrl-alt-del はカーネルの tty レイヤーに到達する前に
 
 .in +4n
 .nf
-.RB "#" " hostname \(aqdarkstar\(aq"
-.RB "#" " domainname \(aqmydomain\(aq"
+#\fB hostname \(aqdarkstar\(aq\fP
+#\fB domainname \(aqmydomain\(aq\fP
 .fi
 .in
 
-注意: 典型的な darkstar.frop.org という名前には、
-ホスト名 "darkstar" と DNS (Internet Domain Name Server)
-ドメイン名 "frop.org" が含まれているが、DNS ドメイン名と
-NIS (Network Information Service) または
-YP (Yellow Pages) のドメイン名を混同してはならない。
-一般にこれら 2 つのドメイン名は異なる。
-詳細な議論は、
-.BR hostname (1)
-の man ページを参照すること。
-.TP
-.I /proc/sys/kernel/htab-reclaim
-(PowerPC のみ) このファイルを 0 以外の値に設定すると、
-PowerPC htab
-(カーネルソースファイル
-.I Documentation/powerpc/ppc_htab.txt
-参照) を、システムがアイドルループになるたびに切り詰める。
-.TP
-.I /proc/sys/kernel/l2cr
-(PowerPC のみ) このファイルには G3 プロセッサボードの
-L2 キャッシュを制御するフラグが含まれる。
-0 の場合、キャッシュは無効になる。
+注意: 典型的な darkstar.frop.org という名前には、 ホスト名 "darkstar" と DNS (Internet Domain
+Name Server)  ドメイン名 "frop.org" が含まれているが、DNS ドメイン名と NIS (Network Information
+Service) または YP (Yellow Pages) のドメイン名を混同してはならない。 一般にこれら 2 つのドメイン名は異なる。
+詳細な議論は、 \fBhostname\fP(1)  の man ページを参照すること。
+.TP 
+\fI/proc/sys/kernel/htab\-reclaim\fP
+(PowerPC のみ) このファイルを 0 以外の値に設定すると、 PowerPC htab (カーネルソースファイル
+\fIDocumentation/powerpc/ppc_htab.txt\fP 参照) を、システムがアイドルループになるたびに切り詰める。
+.TP 
+\fI/proc/sys/kernel/l2cr\fP
+(PowerPC のみ) このファイルには G3 プロセッサボードの L2 キャッシュを制御するフラグが含まれる。 0 の場合、キャッシュは無効になる。
 0 以外の場合は有効になる。
-.TP
-.I /proc/sys/kernel/modprobe
-このファイルには、カーネルモジュールローダへのパスが含まれる。
-デフォルトの値は
-.I /sbin/modprobe
-である。このファイルは、
-.B CONFIG_KMOD
-オプションを有効にしてカーネルが作成されている場合にのみ存在する。
-このファイルについては、カーネルソースファイル
-.I Documentation/kmod.txt
-(カーネル 2.4 以前のみに存在) に記述されている。
-.TP
-.I /proc/sys/kernel/msgmax
-このファイルは、System V メッセージキューに書き込まれる 1 つのメッセージの
-最大バイト数を、システム全体で制限する。
-.TP
-.I /proc/sys/kernel/msgmni
+.TP 
+\fI/proc/sys/kernel/modprobe\fP
+このファイルには、カーネルモジュールローダへのパスが含まれる。 デフォルトの値は \fI/sbin/modprobe\fP である。このファイルは、
+\fBCONFIG_KMOD\fP オプションを有効にしてカーネルが作成されている場合にのみ存在する。 このファイルについては、カーネルソースファイル
+\fIDocumentation/kmod.txt\fP (カーネル 2.4 以前のみに存在) に記述されている。
+.TP 
+\fI/proc/sys/kernel/msgmax\fP
+このファイルは、System V メッセージキューに書き込まれる 1 つのメッセージの 最大バイト数を、システム全体で制限する。
+.TP 
+\fI/proc/sys/kernel/msgmni\fP
 このファイルはメッセージキュー識別子の最大数をシステム全体で制限する。
 (このファイルは Linux 2.4 以降にしか存在しない)。
-.TP
-.I /proc/sys/kernel/msgmnb
-このファイルは、
-.I msg_qbytes
-の設定を初期化するシステム全体のパラメータである。
-.I msg_qbytes
-は以降で作成されるメッセージキューで使われる。
-.I msg_qbytes
-設定では、メッセージキューに書き込まれる最大バイト数を指定する。
-.TP
-.IR /proc/sys/kernel/ostype " と " /proc/sys/kernel/osrelease
-これらのファイルは文字列
-.I /proc/version
-の各部分を与える。
-.TP
-.IR /proc/sys/kernel/overflowgid " と " /proc/sys/kernel/overflowuid
-これらのファイルは
-.I /proc/sys/fs/overflowgid
-と
-.I /proc/sys/fs/overflowuid
+.TP 
+\fI/proc/sys/kernel/msgmnb\fP
+このファイルは、 \fImsg_qbytes\fP の設定を初期化するシステム全体のパラメータで
+ある。 \fImsg_qbytes\fP は以降で作成されるメッセージキューで使われる。
+\fImsg_qbytes\fP 設定では、メッセージキューに書き込まれる最大バイト数を指定する。
+.TP 
+\fI/proc/sys/kernel/ostype\fP と \fI/proc/sys/kernel/osrelease\fP
+これらのファイルは文字列 \fI/proc/version\fP の各部分を与える。
+.TP 
+\fI/proc/sys/kernel/overflowgid\fP と \fI/proc/sys/kernel/overflowuid\fP
+これらのファイルは \fI/proc/sys/fs/overflowgid\fP と \fI/proc/sys/fs/overflowuid\fP
 を複製したものである。
-.TP
-.I /proc/sys/kernel/panic
-このファイルはカーネル変数
-.I panic_timeout
-への読み出しと書き込みのアクセスを与える。
-この値が 0 ならば、パニック時にカーネルは (無限) ループに入る。
-0 でなければ、その秒数だけ待ってから自動的に再起動する。
-ソフトウェア watchdog ドライバを使っている場合、
+.TP 
+\fI/proc/sys/kernel/panic\fP
+このファイルはカーネル変数 \fIpanic_timeout\fP への読み出しと書き込みのアクセスを与える。 この値が 0 ならば、パニック時にカーネルは
+(無限) ループに入る。 0 でなければ、その秒数だけ待ってから自動的に再起動する。 ソフトウェア watchdog ドライバを使っている場合、
 推奨される設定は 60 である。
-.TP
-.IR /proc/sys/kernel/panic_on_oops " (Linux 2.5.68 以降)"
-このファイルは、oops や BUG が起こった場合のカーネルの動作を制御する。
-ファイルに 0 が書かれている場合、システムは操作を続行しようとする。
-1 が書かれている場合、システムは
-(klogd が oops 出力を記録する時間を与えるために) 数秒間遅延した後、
-panic を起こす。
-.I /proc/sys/kernel/panic
-ファイルも 0 でない場合、マシンは再起動される。
-.TP
-.IR /proc/sys/kernel/pid_max " (Linux 2.5.34 以降)"
-このファイルは、PID をいくつで終了にするかを指定する
-(すなわち、このファイルの値は最大 PID より 1 大きい)。
-このファイルのデフォルト値は 32768 であり、
-その場合には以前のカーネルと同じ PID の範囲になる。
-32ビットのプラットフォームでは、
-.I pid_max
-の最大値は 32768 である。
-64ビットのプラットフォームでは、
-2^22
-.RB ( PID_MAX_LIMIT ,
-約 4,000,000) までの任意の値を設定できる。
+.TP 
+\fI/proc/sys/kernel/panic_on_oops\fP (Linux 2.5.68 以降)
+このファイルは、oops や BUG が起こった場合のカーネルの動作を制御する。 ファイルに 0 が書かれている場合、システムは操作を続行しようとする。
+1 が書かれている場合、システムは (klogd が oops 出力を記録する時間を与えるために) 数秒間遅延した後、 panic を起こす。
+\fI/proc/sys/kernel/panic\fP ファイルも 0 でない場合、マシンは再起動される。
+.TP 
+\fI/proc/sys/kernel/pid_max\fP (Linux 2.5.34 以降)
 .\" Prior to 2.6.10, pid_max could also be raised above 32768 on 32-bit
 .\" platforms, but this broke /proc/[pid]
 .\" See http://marc.theaimsgroup.com/?l=linux-kernel&m=109513010926152&w=2
-.TP
-.IR /proc/sys/kernel/powersave-nap " (PowerPC のみ)"
-このファイルにはフラグが書かれている。
-フラグが設定されると、Linux-PPC は
-省電力の "nap" モードを使う。
+このファイルは、PID をいくつで終了にするかを指定する (すなわち、このファイルの値は最大 PID より 1 大きい)。 このファイルのデフォルト値は
+32768 であり、 その場合には以前のカーネルと同じ PID の範囲になる。 32ビットのプラットフォームでは、 \fIpid_max\fP の最大値は
+32768 である。 64ビットのプラットフォームでは、 2^22 (\fBPID_MAX_LIMIT\fP, 約 4,000,000)
+までの任意の値を設定できる。
+.TP 
+\fI/proc/sys/kernel/powersave\-nap\fP (PowerPC のみ)
+このファイルにはフラグが書かれている。 フラグが設定されると、Linux\-PPC は 省電力の "nap" モードを使う。
 設定されない場合は、"doze" モードが使われる。
-.TP
-.I /proc/sys/kernel/printk
-このファイルにある 4 つの値は、
-.IR console_loglevel ,
-.IR default_message_loglevel ,
-.IR minimum_console_loglevel ,
-.IR default_console_loglevel
-である。
-これらの値はエラーメッセージを表示したり記録したりする
-.I printk()
-の動作に影響する。
-各 loglevel の情報については、
-.BR syslog (2)
-を参照すること。
-優先度が
-.I console_loglevel
-以上のメッセージは、コンソールに表示される。
-優先度が明示されていないメッセージは、優先度が
-.I default_message_level
-のときに表示される。
-.I minimum_console_loglevel
-は
-.I console_loglevel
-に設定できる最小 (最高) の値である。
-.I default_console_loglevel
-は
-.I console_loglevel
-のデフォルトの値である。
-.TP
-.IR /proc/sys/kernel/pty " (Linux 2.6.4 以降)"
-このディレクトリは、Unix 98 疑似端末
-.RB ( pts (4)
-を参照) の数に関連する 2 つのファイルを含む。
-.TP
-.I /proc/sys/kernel/pty/max
+.TP 
+\fI/proc/sys/kernel/printk\fP
+このファイルにある 4 つの値は、 \fIconsole_loglevel\fP, \fIdefault_message_loglevel\fP,
+\fIminimum_console_loglevel\fP, \fIdefault_console_loglevel\fP である。
+これらの値はエラーメッセージを表示したり記録したりする \fIprintk()\fP の動作に影響する。 各 loglevel の情報については、
+\fBsyslog\fP(2)  を参照すること。 優先度が \fIconsole_loglevel\fP 以上のメッセージは、コンソールに表示される。
+優先度が明示されていないメッセージは、優先度が \fIdefault_message_level\fP のときに表示される。
+\fIminimum_console_loglevel\fP は \fIconsole_loglevel\fP に設定できる最小 (最高) の値である。
+\fIdefault_console_loglevel\fP は \fIconsole_loglevel\fP のデフォルトの値である。
+.TP 
+\fI/proc/sys/kernel/pty\fP (Linux 2.6.4 以降)
+このディレクトリは、UNIX 98 疑似端末 (\fBpts\fP(4) を参照) の数に関連する
+2 つのファイルを含む。
+.TP 
+\fI/proc/sys/kernel/pty/max\fP
 このファイルは疑似端末の最大数を定義する。
-.TP
-.I /proc/sys/kernel/pty/nr
+.TP 
+\fI/proc/sys/kernel/pty/nr\fP
 この読み出し専用のファイルは、現在いくつの疑似端末が使われているかを表す。
-.TP
-.I /proc/sys/kernel/random
-このディレクトリは、ファイル
-.I /dev/random
-の操作を制御する様々なパラメータが書かれている。
-詳細は
-.BR random (4)
+.TP 
+\fI/proc/sys/kernel/random\fP
+このディレクトリは、ファイル \fI/dev/random\fP の操作を制御する様々なパラメータが書かれている。 詳細は \fBrandom\fP(4)
 を参照。
-.TP
-.I /proc/sys/kernel/real-root-dev
-このファイルはカーネルソースファイル
-.I Documentation/initrd.txt
-に記述されている。
-.TP
-.IR /proc/sys/kernel/reboot-cmd " (Sparc のみ) "
-このファイルは SPARC ROM/Flash ブートローダに引き数を渡す方法を
-提供しているように思われる。
+.TP 
+\fI/proc/sys/kernel/real\-root\-dev\fP
+このファイルはカーネルソースファイル \fIDocumentation/initrd.txt\fP に記述されている。
+.TP 
+\fI/proc/sys/kernel/reboot\-cmd\fP (Sparc のみ) 
+このファイルは SPARC ROM/Flash ブートローダに引き数を渡す方法を 提供しているように思われる。
 再起動後に何をするかを指定しているのだろうか?
-.TP
-.I /proc/sys/kernel/rtsig-max
-(2.6.7 までのカーネルにのみ存在する。
-.BR setrlimit (2)
-を参照すること)
-このファイルはシステムで発行される POSIX real-time (queued) signal の
-最大数を調整するのに使用される。
-.TP
-.I /proc/sys/kernel/rtsig-nr
-(2.6.7 までのカーネルにのみ存在する)
-このファイルは現在キューに入っている POSIX real-time signal の数を表す。
-.TP
-.IR /proc/sys/kernel/sem " (Linux 2.4 以降)"
-このファイルには System V IPC セマフォを制限する 4 つの値が書かれている。
-これらのフィールドは次の順番に並んでいる:
+.TP 
+\fI/proc/sys/kernel/rtsig\-max\fP
+(2.6.7 までのカーネルにのみ存在する。 \fBsetrlimit\fP(2)  を参照すること)  このファイルはシステムで発行される POSIX
+real\-time (queued) signal の 最大数を調整するのに使用される。
+.TP 
+\fI/proc/sys/kernel/rtsig\-nr\fP
+(2.6.7 までのカーネルにのみ存在する)  このファイルは現在キューに入っている POSIX real\-time signal の数を表す。
+.TP 
+\fI/proc/sys/kernel/sem\fP (Linux 2.4 以降)
+このファイルには System V IPC セマフォを制限する 4 つの値が書かれている。 これらのフィールドは次の順番に並んでいる:
 .RS
 .IP SEMMSL 8
 セマフォ集合ごとのセマフォ数の最大値。
 .IP SEMMNS 8
 システム全体での、全てのセマフォ集合におけるセマフォ数の制限。
 .IP SEMOPM 8
-.BR semop (2)
-コールに指定されるオペレーション数の最大値。
+\fBsemop\fP(2)  コールに指定されるオペレーション数の最大値。
 .IP SEMMNI 8
 システム全体でのセマフォ識別子の最大値。
 .RE
-.TP
-.I /proc/sys/kernel/sg-big-buff
-このファイルは、汎用 SCSI デバイス (sg) のバッファサイズの最大値を表す。
-今はこれを変更することはできないが、
-コンパイル時に
-.I include/scsi/sg.h
-を編集して
-.B SG_BIG_BUFF
-の値を変えれば変更できる。
+.TP 
+\fI/proc/sys/kernel/sg\-big\-buff\fP
+このファイルは、汎用 SCSI デバイス (sg) のバッファサイズの最大値を表す。 今はこれを変更することはできないが、 コンパイル時に
+\fIinclude/scsi/sg.h\fP を編集して \fBSG_BIG_BUFF\fP の値を変えれば変更できる。
 ただし、この値を変更する理由はないだろう。
-.TP
-.I /proc/sys/kernel/shmall
-このファイルには System V 共有メモリの総ページ数の
-システム全体での制限が書かれている。
-.TP
-.I /proc/sys/kernel/shmmax
-このファイルを通じて、(System V IPC) 共有メモリセグメントを作成するときの
-最大サイズの実行時上限 (run-time limit) を取得または設定できる。
-現在は 1GB までの共有メモリセグメントが
-カーネルでサポートされている。
-この値のデフォルトは
-.B SHMMAX
+.TP 
+\fI/proc/sys/kernel/shmall\fP
+このファイルには System V 共有メモリの総ページ数の システム全体での制限が書かれている。
+.TP 
+\fI/proc/sys/kernel/shmmax\fP
+このファイルを通じて、(System V IPC) 共有メモリセグメントを作成するときの 最大サイズの実行時上限 (run\-time limit)
+を取得または設定できる。 現在は 1GB までの共有メモリセグメントが カーネルでサポートされている。 この値のデフォルトは \fBSHMMAX\fP
 である。
-.TP
-.I /proc/sys/kernel/shmmni
-(Linux 2.4 以降で使用可能)
-このファイルは、システム全体で作成可能な
-System V 共有メモリセグメント数を指定する。
-.TP
-.I /proc/sys/kernel/sysrq
-このファイルは、SysRq キーにより起動が許可されている関数群を制御する
-ものである。デフォルトでは、ファイルの内容は 1 であり、
-これは起こり得る全ての SysRq リクエストが許可されることを意味する
-(古いバージョンのカーネルでは、SysRq はデフォルトでは無効になっており、
-実行時に明示的に有効にする必要があったが、今はそうではない)。
-このファイルで指定可能な値は以下の通り。
-
-   0 - sysrq を完全に無効にする
-   1 - sysrq の全ての関数を有効にする
-  >1 - 許可する sysrq 関数のビットマスク。内訳は以下の通り。
-          2 - コンソールのログ・レベルの制御を有効にする
-          4 - キーボードの制御を有効にする (SAK, unraw)
-          8 - プロセスなどのデバッグ・ダンプを有効にする
-         16 - sync コマンドを有効にする
-         32 - 読み出し専用での再マウントを有効にする
-         64 - プロセスへのシグナル発行を有効にする (term, kill, oom-kill)
-        128 - リブート/電源オフを許可する
-        256 - 全てのリアルタイム・タスクの nice 値の変更を許可する
-
-カーネル設定オプション
-.B CONFIG_MAGIC_SYSRQ
-が有効な場合のみ、このファイルは存在する。
-詳細は、カーネルソースファイル
-.I Documentation/sysrq.txt
-を参照のこと。
-.TP
-.I /proc/sys/kernel/version
+.TP 
+\fI/proc/sys/kernel/shmmni\fP
+(Linux 2.4 以降で使用可能)  このファイルは、システム全体で作成可能な System V 共有メモリセグメント数を指定する。
+.TP 
+\fI/proc/sys/kernel/sysrq\fP
+このファイルは、SysRq キーにより起動が許可されている関数群を制御する ものである。デフォルトでは、ファイルの内容は 1 であり、
+これは起こり得る全ての SysRq リクエストが許可されることを意味する (古いバージョンのカーネルでは、SysRq はデフォルトでは無効になっており、
+実行時に明示的に有効にする必要があったが、今はそうではない)。 このファイルで指定可能な値は以下の通り。
+
+   0 \- sysrq を完全に無効にする
+   1 \- sysrq の全ての関数を有効にする
+  >1 \- 許可する sysrq 関数のビットマスク。内訳は以下の通り。
+          2 \- コンソールのログ・レベルの制御を有効にする
+          4 \- キーボードの制御を有効にする (SAK, unraw)
+          8 \- プロセスなどのデバッグ・ダンプを有効にする
+         16 \- sync コマンドを有効にする
+         32 \- 読み出し専用での再マウントを有効にする
+         64 \- プロセスへのシグナル発行を有効にする (term, kill, oom\-kill)
+        128 \- リブート/電源オフを許可する
+        256 \- 全てのリアルタイム・タスクの nice 値の変更を許可する
+
+カーネル設定オプション \fBCONFIG_MAGIC_SYSRQ\fP が有効な場合のみ、このファイルは存在する。 詳細は、カーネルソースファイル
+\fIDocumentation/sysrq.txt\fP を参照のこと。
+.TP 
+\fI/proc/sys/kernel/version\fP
 このファイルには、以下のような文字列が書かれている:
 
     #5 Wed Feb 25 21:49:24 MET 1998
 
-\&"#5" はこのソースで構築された 5 番目のカーネルであることを意味する。
-その後にある日付はカーネルが構築された時刻を表す。
-.TP
-.IR /proc/sys/kernel/threads-max " (Linux 2.3.11 以降)"
-このファイルは、システム全体で作成可能なスレッド数
-(タスク数) の上限を指定する。
-.TP
-.IR /proc/sys/kernel/zero-paged " (PowerPC のみ) "
-このファイルはフラグを含む。
-(0 以外の値で) 有効された場合、Linux-PPC はアイドルループで
-pre-zero page を行うので、get_free_pages の速度が向上する可能性がある。
-.TP
-.I /proc/sys/net
-このディレクトリにはネットワーク関係の情報が入っている。
-このディレクトリにあるファイルのいくつかについては、
-.BR tcp (7)
-や
-.BR ip (7)
-に説明がある。
-.TP
-.I /proc/sys/net/core/somaxconn
-このファイルは
-.BR listen (2)
-の
-.I backlog
-引き数の上限値を規定する。
-詳細は
-.BR listen (2)
+\&"#5" はこのソースで構築された 5 番目のカーネルであることを意味する。 その後にある日付はカーネルが構築された時刻を表す。
+.TP 
+\fI/proc/sys/kernel/threads\-max\fP (Linux 2.3.11 以降)
+このファイルは、システム全体で作成可能なスレッド数 (タスク数) の上限を指定する。
+.TP 
+\fI/proc/sys/kernel/zero\-paged\fP (PowerPC のみ) 
+このファイルはフラグを含む。 (0 以外の値で) 有効された場合、Linux\-PPC はアイドルループで pre\-zero page
+を行うので、get_free_pages の速度が向上する可能性がある。
+.TP 
+\fI/proc/sys/net\fP
+このディレクトリにはネットワーク関係の情報が入っている。 このディレクトリにあるファイルのいくつかについては、 \fBtcp\fP(7)  や
+\fBip\fP(7)  に説明がある。
+.TP 
+\fI/proc/sys/net/core/somaxconn\fP
+このファイルは \fBlisten\fP(2)  の \fIbacklog\fP 引き数の上限値を規定する。 詳細は \fBlisten\fP(2)
 のマニュアルページを参照。
-.TP
-.I /proc/sys/proc
-このディレクトリはたぶん空である。
-.TP
-.I /proc/sys/sunrpc
-このディレクトリはネットワークファイルシステム (NFS) への
-Sun remote procedure call (遠隔手続き呼び出し) をサポートする。
-これが存在しないシステムもある。
-.TP
-.I /proc/sys/vm
-このディレクトリにはメモリ管理の調整、バッファやキャッシュ管理のための
-ファイルがある。
-.TP
-.IR /proc/sys/vm/drop_caches " (Linux 2.6.16 以降)"
-このファイルに書き込みを行うことで、クリーンなキャッシュ、dentry、
-inode をメモリ上から外し、そのメモリを解放する。
-
-ページキャッシュを解放するには、
-.I "echo 1 > /proc/sys/vm/drop_caches"
-とする。 dentry、inode を解放するには、
-.I "echo 2 > /proc/sys/vm/drop_caches"
-とする。ページキャッシュ、dentry、inode を解放するには、
-.IR "echo 3 > /proc/sys/vm/drop_caches"
-とする。
-
-この操作は非破壊的な操作で、ダーティな (dirty) オブジェクトは
-解放されないので、この操作を行う際は最初に
-.BR sync (8)
+.TP 
+\fI/proc/sys/proc\fP
+このディレクトリは空の場合もある。
+.TP 
+\fI/proc/sys/sunrpc\fP
+このディレクトリはネットワークファイルシステム (NFS) への Sun remote procedure call (遠隔手続き呼び出し)
+をサポートする。 これが存在しないシステムもある。
+.TP 
+\fI/proc/sys/vm\fP
+このディレクトリにはメモリ管理の調整、バッファやキャッシュ管理のための ファイルがある。
+.TP 
+\fI/proc/sys/vm/drop_caches\fP (Linux 2.6.16 以降)
+このファイルに書き込みを行うことで、クリーンなキャッシュ、dentry、 inode をメモリ上から外し、そのメモリを解放する。
+
+ページキャッシュを解放するには、 \fIecho 1 > /proc/sys/vm/drop_caches\fP とする。 dentry、inode
+を解放するには、 \fIecho 2 > /proc/sys/vm/drop_caches\fP とする。ページキャッシュ、dentry、inode
+を解放するには、 \fIecho 3 > /proc/sys/vm/drop_caches\fP とする。
+
+この操作は非破壊的な操作で、ダーティな (dirty) オブジェクトは 解放されないので、この操作を行う際は最初に \fBsync\fP(8)
 を実行しておくべきである。
-.TP
-.IR /proc/sys/vm/swappiness
-.\" The following is from Documentation/sysctl/vm.txt
-このファイルの値により、カーネルがどの程度激しくメモリページの
-スワップを行うかが制御される。
-大きな値ほどスワップが激しくなり、小さい値ほど激しくなくなる。
-デフォルト値は 60 である。
-.TP
-.IR /proc/sys/vm/legacy_va_layout " (Linux 2.6.9 以降)"
-.\" 以下の記述は Documentation/filesystems/proc.txt からの引用である。
-0 以外の場合、新しい 32ビットメモリマッピング配置が無効になり、
-カーネルは全てのプロセスに対して従来の (カーネル 2.4 の) 配置方法を
+.TP 
+\fI/proc/sys/vm/legacy_va_layout\fP (Linux 2.6.9 以降)
+.\" The following is from Documentation/filesystems/proc.txt
+0 以外の場合、新しい 32ビットメモリマッピング配置が無効になり、 カーネルは全てのプロセスに対して従来の (カーネル 2.4 の) 配置方法を
 使用する。
-.TP
-.IR /proc/sys/vm/oom_dump_tasks " (Linux 2.6.25 以降)"
+.TP 
+\fI/proc/sys/vm/memory_failure_early_kill\fP (Linux 2.6.32 以降)
+.\" The following is based on the text in Documentation/sysctl/vm.txt
+Control how to kill processes when an uncorrected memory error (typically a
+2\-bit error in a memory module)  that cannot be handled by the kernel is
+detected in the background by hardware.  In some cases (like the page still
+having a valid copy on disk), the kernel will handle the failure
+transparently without affecting any applications.  But if there is no other
+up\-to\-date copy of the data, it will kill processes to prevent any data
+corruptions from propagating.
+
+このファイルは以下のいずれかの値を持つ。
+.RS
+.IP 1: 4
+Kill all processes that have the corrupted\-and\-not\-reloadable page mapped as
+soon as the corruption is detected.  Note this is not supported for a few
+types of pages, like kernel internally allocated data or the swap cache, but
+works for the majority of user pages.
+.IP 0: 4
+Only unmap the corrupted page from all processes and only kill a process who
+tries to access it.
+.RE
+.IP
+The kill is performed using a \fBSIGBUS\fP signal with \fIsi_code\fP set to
+\fBBUS_MCEERR_AO\fP.  Processes can handle this if they want to; see
+\fBsigaction\fP(2)  for more details.
+
+This feature is only active on architectures/platforms with advanced machine
+check handling and depends on the hardware capabilities.
+
+Applications can override the \fImemory_failure_early_kill\fP setting
+individually with the \fBprctl\fP(2)  \fBPR_MCE_KILL\fP operation.
+.IP
+カーネルの設定で \fBCONFIG_MEMORY_FAILURE\fP が有効になっている場合にのみ
+存在する。
+.TP 
+\fI/proc/sys/vm/memory_failure_recovery\fP (Linux 2.6.32 以降)
+.\" The following is based on the text in Documentation/sysctl/vm.txt
+Enable memory failure recovery (when supported by the platform)
+.RS
+.IP 1: 4
+Attempt recovery.
+.IP 0: 4
+Always panic on a memory failure.
+.RE
+.IP
+カーネルの設定で \fBCONFIG_MEMORY_FAILURE\fP が有効になっている場合にのみ
+存在する。
+.TP 
+\fI/proc/sys/vm/oom_dump_tasks\fP (Linux 2.6.25 以降)
 .\" The following is from Documentation/sysctl/vm.txt
-カーネルが OOM-killing を実行する際に、システム全体のタスク・ダンプ
-(カーネルスレッドを除く) を生成するかを制御する。
-ダンプには、タスク (スレッド、プロセス) 毎に以下の情報が出力される:
-スレッド ID、実ユーザ ID、スレッドグループ ID (プロセス ID)、
-仮想メモリサイズ、Resident Set Size (実メモリ上に存在するページサイズ)、
-タスクがスケジューリングされた CPU、
-oom_adj スコア
-.RI ( /proc/[pid]/oom_adj
-の説明を参照)、コマンド名。
-このダンプ情報は、なぜ OOM-killer が起動されたかを知り、
-その原因となったならず者のタスクを特定するのに役に立つ。
-
-このファイルの内容が値 0 の場合、ダンプ情報の出力は行われない。
-タスクが何千もある非常に巨大なシステムでは、
-各々のタスクについてメモリ状態をダンプするのは適切でないかもしれない。
-そのようなシステムでは、ダンプ情報が必要でもないときに
-メモリ不足 (OOM) の状況で性能面の不利益が起こらないようにすべきだろう。
-
-このファイルの内容が 0 以外の場合、
-OOM-killer が実際にメモリを占有したタスクを kill する度に
-ダンプ情報が出力される。
+カーネルが OOM\-killing を実行する際に、システム全体のタスク・ダンプ (カーネルスレッドを除く) を生成するかを制御する。
+ダンプには、タスク (スレッド、プロセス) 毎に以下の情報が出力される: スレッド ID、実ユーザ ID、スレッドグループ ID (プロセス ID)、
+仮想メモリサイズ、Resident Set Size (実メモリ上に存在するページサイズ)、 タスクがスケジューリングされた CPU、 oom_adj
+スコア (\fI/proc/[pid]/oom_adj\fP の説明を参照)、コマンド名。 このダンプ情報は、なぜ OOM\-killer
+が起動されたかを知り、 その原因となったならず者のタスクを特定するのに役に立つ。
+
+このファイルの内容が値 0 の場合、ダンプ情報の出力は行われない。 タスクが何千もある非常に巨大なシステムでは、
+各々のタスクについてメモリ状態をダンプするのは適切でないかもしれない。 そのようなシステムでは、ダンプ情報が必要でもないときに メモリ不足 (OOM)
+の状況で性能面の不利益が起こらないようにすべきだろう。
+
+このファイルの内容が 0 以外の場合、 OOM\-killer が実際にメモリを占有したタスクを kill する度に ダンプ情報が出力される。
 
 デフォルト値は 0 である。
-.TP
-.IR /proc/sys/vm/oom_kill_allocating_task " (Linux 2.6.24 以降)"
+.TP 
+\fI/proc/sys/vm/oom_kill_allocating_task\fP (Linux 2.6.24 以降)
 .\" The following is from Documentation/sysctl/vm.txt
-このファイルは、メモリ不足 (OOM) の状況が起こった際に、
-メモリ不足のきっかけとなったタスクを kill するかどうかを制御する。
-
-このファイルが 0 に設定された場合、
-OOM-killer はタスクリスト全体をスキャンし、経験則に基づき
-kill するタスクを選択する。
-通常は、kill した場合に多くのメモリが解放できる、
-ならず者のメモリ占有タスクが選択される。
-
-このファイルが 0 以外に設定された場合、
-OOM-killer はメモリ不足の状況が発生するきっかけとなったタスクを
-単純に kill するだけである。
-これにより、たいていは重い処理となるタスクリストのスキャンを回避できる。
-
-.I /proc/sys/vm/panic_on_oom
-が 0 以外の場合、
-.I /proc/sys/vm/oom_kill_allocating_task
-にどのような値が入っていたとしても、
-.I /proc/sys/vm/panic_on_oom
-の方が優先される。
+このファイルは、メモリ不足 (OOM) の状況が起こった際に、 メモリ不足のきっかけとなったタスクを kill するかどうかを制御する。
+
+このファイルが 0 に設定された場合、 OOM\-killer はタスクリスト全体をスキャンし、経験則に基づき kill するタスクを選択する。
+通常は、kill した場合に多くのメモリが解放できる、 ならず者のメモリ占有タスクが選択される。
+
+このファイルが 0 以外に設定された場合、 OOM\-killer はメモリ不足の状況が発生するきっかけとなったタスクを 単純に kill
+するだけである。 これにより、たいていは重い処理となるタスクリストのスキャンを回避できる。
+
+\fI/proc/sys/vm/panic_on_oom\fP が 0 以外の場合、
+\fI/proc/sys/vm/oom_kill_allocating_task\fP にどのような値が入っていたとしても、
+\fI/proc/sys/vm/panic_on_oom\fP の方が優先される。
 
 デフォルト値は 0 である。
-.TP
-.I /proc/sys/vm/overcommit_memory
-このファイルにはカーネル仮想メモリのアカウントモードが書かれている。
-値は以下の通り:
+.TP 
+\fI/proc/sys/vm/overcommit_memory\fP
+このファイルにはカーネル仮想メモリのアカウントモードが書かれている。 値は以下の通り:
 .RS
 .IP
 0: 発見的なオーバーコミット (heuristic overcommit) (これがデフォルトである)
@@ -2532,109 +1769,62 @@ OOM-killer はメモリ不足の状況が発生するきっかけとなったタ
 2: 常にチェックし、オーバーコミットしない。
 .RE
 .IP
-モード 0 では、
-.B MAP_NORESERVE
-を設定して呼び出された
-.BR mmap (2)
-はチェックされない。
-またデフォルトのチェックはとても脆弱で、
-プロセスを "OOM-kill" してしまうリスクを引き起こす。
-Linux 2.4 では 0 以外の値はモード 1 を意味する。
-(Linux 2.6 以降で利用可能な) モード 2 では、
-システム上の仮想アドレス空間の合計が (SS + RAM*(r/100)) に制限されている。
-ここで、SS はスワップ空間のサイズ、
-RAM は物理メモリのサイズ、r はファイル
-.I /proc/sys/vm/overcommit_ratio
-の内容である。
-.TP
-.I /proc/sys/vm/overcommit_ratio
-.I /proc/sys/vm/overcommit_memory
-の説明を参照すること。
-.TP
-.IR /proc/sys/vm/panic_on_oom " (Linux 2.6.18 以降)"
+モード 0 では、 \fBMAP_NORESERVE\fP を設定して呼び出された \fBmmap\fP(2)  はチェックされない。
+またデフォルトのチェックはとても脆弱で、 プロセスを "OOM\-kill" してしまうリスクを引き起こす。 Linux 2.4 では 0
+以外の値はモード 1 を意味する。 (Linux 2.6 以降で利用可能な) モード 2 では、 システム上の仮想アドレス空間の合計が (SS +
+RAM*(r/100)) に制限されている。 ここで、SS はスワップ空間のサイズ、 RAM は物理メモリのサイズ、r はファイル
+\fI/proc/sys/vm/overcommit_ratio\fP の内容である。
+.TP 
+\fI/proc/sys/vm/overcommit_ratio\fP
+\fI/proc/sys/vm/overcommit_memory\fP の説明を参照すること。
+.TP 
+\fI/proc/sys/vm/panic_on_oom\fP (Linux 2.6.18 以降)
 .\" The following is adapted from Documentation/sysctl/vm.txt
-このファイルは、メモリ不足時にカーネルパニックを
-起こすか起こさないかを制御する。
-
-このファイルに値 0 を設定すると、
-カーネルの OOM-killer がならず者のプロセスを kill する。
-普通は、OOM-killer がならず者のプロセスを kill することができ、
-システムは何とか動き続けることができる。
-
-このファイルに値 1 を設定すると、
-メモリ不足の状況が発生すると、カーネルは普通はパニックする。
-しかしながら、プロセスが
-メモリポリシー
-.RB ( mbind (2)
-の
-.BR MPOL_BIND )
-や cpusets
-.RB ( cpuset (7))
-を使って特定のノードへのメモリ割り当てを制限していて、
-それらのノードでメモリ枯渇状態に至った場合は、
-一つのプロセスが OOM-killer により kill されるだけかもしれない。
-この場合には、カーネルパニックは発生しない。
-なぜなら、他のノードのメモリには空きがあるかもしれず、
-したがって、システム全体としてはメモリ不足の状況にまだ達していないかも
-しれないからである。
-
-このファイルに値 2 を設定すると、
-メモリ不足の状況が発生するとカーネルは常にパニックを起こす。
+このファイルは、メモリ不足時にカーネルパニックを 起こすか起こさないかを制御する。
 
\83\87ã\83\95ã\82©ã\83«ã\83\88å\80¤ã\81¯ 0 ã\81§ã\81\82ã\82\8bã\80\82
-1 と 2 はクラスタリングのフェイルオーバー用である。
-フェイルオーバーの方針に応じてどちらかの値を選択すること。
-.TP
-.IR /proc/sysrq-trigger " (Linux 2.4.21 以降)"
\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81«æ\96\87å­\97 character ã\82\92æ\9b¸ã\81\8dè¾¼ã\82\80ã\81¨ã\80\81
-キーボードから ALT-SysRq-<character> を入力した場合と
-同じ SysRq 関数が起動される
-.RI ( /proc/sys/kernel/sysrq
\81®èª¬æ\98\8eã\82\92å\8f\82ç\85§)
-通常、このファイルへ書き込みができるのは
-.I root
-だけである。詳細については、カーネルソースファイルの
-.I Documentation/sysrq.txt
-を参照のこと。
-.TP
-.I /proc/sysvipc
-疑似ファイル
-.IR msg ", "  sem ", "  shm
-を含むサブディレクトリ。
\81\93ã\82\8cã\82\89ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81¯ã\80\81ç\8f¾å\9c¨ã\82·ã\82¹ã\83\86ã\83 ä¸\8aã\81«å­\98å\9c¨ã\81\99ã\82\8b
-System V プロセス間通信 (Interprocess Communication, IPC) オブジェクト
-(それぞれ: メッセージキュー、セマフォ、共有メモリ)
-のリストであり、
-.BR ipcs (1)
-で取得できる情報と同じものを提供する。
\81\93ã\82\8cã\82\89ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81«ã\81¯ã\83\98ã\83\83ã\83\80ã\81\8cã\81\82ã\82\8aã\80\81ç\90\86解ã\81\97ã\82\84ã\81\99ã\81\84ã\82\88ã\81\86ã\81«
-(1 行につき 1 個の IPC オブジェクトの形式で) フォーマットされている。
-.BR svipc (7)
\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81«å\80¤ 0 ã\82\92設å®\9aã\81\99ã\82\8bã\81¨ã\80\81 ã\82«ã\83¼ã\83\8dã\83«ã\81® OOM\-killer ã\81\8cã\81ªã\82\89ã\81\9aè\80\85ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\82\92 kill ã\81\99ã\82\8bã\80\82 æ\99®é\80\9aã\81¯ã\80\81OOM\-killer
+がならず者のプロセスを kill することができ、 システムは何とか動き続けることができる。
+
+このファイルに値 1 を設定すると、 メモリ不足の状況が発生すると、カーネルは普通はパニックする。 しかしながら、プロセスが メモリポリシー
+(\fBmbind\fP(2)  の \fBMPOL_BIND\fP)  や cpusets (\fBcpuset\fP(7))
\82\92使ã\81£ã\81¦ç\89¹å®\9aã\81®ã\83\8eã\83¼ã\83\89ã\81¸ã\81®ã\83¡ã\83¢ã\83ªå\89²ã\82\8aå½\93ã\81¦ã\82\92å\88¶é\99\90ã\81\97ã\81¦ã\81\84ã\81¦ã\80\81 ã\81\9dã\82\8cã\82\89ã\81®ã\83\8eã\83¼ã\83\89ã\81§ã\83¡ã\83¢ã\83ªæ\9e¯æ¸\87ç\8a¶æ\85\8bã\81«è\87³ã\81£ã\81\9få ´å\90\88ã\81¯ã\80\81 ä¸\80ã\81¤ã\81®ã\83\97ã\83­ã\82»ã\82¹ã\81\8c OOM\-killer ã\81«ã\82\88ã\82\8a
+kill されるだけかもしれない。 この場合には、カーネルパニックは発生しない。 なぜなら、他のノードのメモリには空きがあるかもしれず、
+したがって、システム全体としてはメモリ不足の状況にまだ達していないかも しれないからである。
+
\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81«å\80¤ 2 ã\82\92設å®\9aã\81\99ã\82\8bã\81¨ã\80\81 ã\83¡ã\83¢ã\83ªä¸\8d足ã\81®ç\8a¶æ³\81ã\81\8cç\99ºç\94\9fã\81\99ã\82\8bã\81¨ã\82«ã\83¼ã\83\8dã\83«ã\81¯å¸¸ã\81«ã\83\91ã\83\8bã\83\83ã\82¯ã\82\92èµ·ã\81\93ã\81\99
+
+デフォルト値は 0 である。 1 と 2 はクラスタリングのフェイルオーバー用である。 フェイルオーバーの方針に応じてどちらかの値を選択すること。
+.TP 
+\fI/proc/sys/vm/swappiness\fP
+.\" The following is from Documentation/sysctl/vm.txt
+このファイルの値により、カーネルがどの程度激しくメモリページの スワップを行う
+かが制御される。 大きな値ほどスワップが激しくなり、小さい値ほど激しくなくなる。
+デフォルト値は 60 である。
+.TP 
+\fI/proc/sysrq\-trigger\fP (Linux 2.4.21 以降)
\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81«æ\96\87å­\97 character ã\82\92æ\9b¸ã\81\8dè¾¼ã\82\80ã\81¨ã\80\81 ã\82­ã\83¼ã\83\9cã\83¼ã\83\89ã\81\8bã\82\89 ALT\-SysRq\-<character> ã\82\92å\85¥å\8a\9bã\81\97ã\81\9få ´å\90\88ã\81¨
+同じ SysRq 関数が起動される (\fI/proc/sys/kernel/sysrq\fP の説明を参照)。 通常、このファイルへ書き込みができるのは
+\fIroot\fP だけである。詳細については、カーネルソースファイルの \fIDocumentation/sysrq.txt\fP を参照のこと。
+.TP 
+\fI/proc/sysvipc\fP
+疑似ファイル \fImsg\fP, \fIsem\fP, \fIshm\fP を含むサブディレクトリ。 これらのファイルは、現在システム上に存在する System V
\83\97ã\83­ã\82»ã\82¹é\96\93é\80\9aä¿¡ (Interprocess Communication, IPC) ã\82ªã\83\96ã\82¸ã\82§ã\82¯ã\83\88 (ã\81\9dã\82\8cã\81\9eã\82\8c: ã\83¡ã\83\83ã\82»ã\83¼ã\82¸ã\82­ã\83¥ã\83¼ã\80\81ã\82»ã\83\9eã\83\95ã\82©ã\80\81å\85±æ\9c\89ã\83¡ã\83¢ã\83ª)
+のリストであり、 \fBipcs\fP(1)  で取得できる情報と同じものを提供する。 これらのファイルにはヘッダがあり、理解しやすいように (1 行につき
+1 個の IPC オブジェクトの形式で) フォーマットされている。 \fBsvipc\fP(7)
 にはこれらのファイルから分かる情報の詳細な背景が書かれている。
-.TP
-.I /proc/tty
-疑似ファイルを含むサブディレクトリ。
-tty ドライバとライン設定 (line discipline) の書かれた
-サブディレクトリも含まれる。
-.TP
-.I /proc/uptime
-このファイルは
-システム起動時から経過した時間 (秒) と
-アイドル (idle) しているプロセスが消費した時間 (秒) の 2 つの数を含む。
-.TP
-.I /proc/version
-現在稼働しているカーネルのバージョン識別子である文字列。
-これには
-.IR /proc/sys/ostype ,
-.IR /proc/sys/osrelease ,
-.I /proc/sys/version
-の内容が含まれる。
-たとえばこのように:
+.TP 
+\fI/proc/tty\fP
+疑似ファイルを含むサブディレクトリ。 tty ドライバとライン設定 (line discipline) の書かれた サブディレクトリも含まれる。
+.TP 
+\fI/proc/uptime\fP
+このファイルは システム起動時から経過した時間 (秒) と アイドル (idle) しているプロセスが消費した時間 (秒) の 2 つの数を含む。
+.TP 
+\fI/proc/version\fP
+現在稼働しているカーネルのバージョン識別子である文字列。 これには \fI/proc/sys/ostype\fP,
+\fI/proc/sys/osrelease\fP, \fI/proc/sys/version\fP の内容が含まれる。 たとえばこのように:
 .nf
 .in -2
-.ft CW
-Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994
-.ft
+\f(CWLinux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994\fP
 .in +2
 .fi
 .\" FIXME Document /proc/timer_list
@@ -2645,52 +1835,33 @@ Linux version 1.0.9 (quinlan@phaze) #1 Sat May 14 01:51:54 EDT 1994
 .\" .TP
 .\" .IR /proc/timer_stats " (since Linux 2.6.21)"
 .\" See the 2.6.21 Change log
-.TP
-.IR /proc/vmstat " (Linux 2.6 以降)"
+.TP 
+\fI/proc/vmstat\fP (Linux 2.6 以降)
 このファイルは仮想メモリの様々な統計情報を表示する。
-.TP
-.IR /proc/zoneinfo " (Linux 2.6.13 以降)"
-このファイルはメモリのゾーン (memory zone) に関する情報を表示する。
-仮想メモリの振舞いを分析するのに役立つ。
-.\" FIXME -- /proc/zoneinfo についてもっと説明が必要だ
+.TP 
+\fI/proc/zoneinfo\fP (Linux 2.6.13 以降)
+.\" FIXME more should be said about /proc/zoneinfo
+このファイルはメモリのゾーン (memory zone) に関する情報を表示する。 仮想メモリの振舞いを分析するのに役立つ。
 .SH 注意
 ほとんどの文字列 (たとえば環境変数やコマンド行) は内部表現のままなので、
-各フィールドは NULL バイト (\(aq\\0\(aq) で区切られている。
-だから、\fIod \-c\fP や \fItr "\\000" "\\n"\fP を使えば、
-それらはより読みやすくなる。
+各フィールドは NULL バイト (\(aq\e0\(aq) で区切られている。だから、
+\fIod \-c\fP や \fItr "\e000" "\en"\fP を使えば、それらはより読みやすくなる。
 また \fIecho \`cat <file>\`\fP でもよい。
 
+.\" .SH ACKNOWLEDGEMENTS
+.\" The material on /proc/sys/fs and /proc/sys/kernel is closely based on
+.\" kernel source documentation files written by Rik van Riel.
 このマニュアルは不完全であり、たぶん不正確で、しばしば更新される必要がある。
-.\" .SH 謝辞
-.\" /proc/sys/fs と /proc/sys/kernel の資料は、
-.\" Rik van Riel が書いたカーネルソースファイルのドキュメントに
-.\" 密接に基づいている。
 .SH 関連項目
-.BR cat (1),
-.BR dmesg (1),
-.BR find (1),
-.BR free (1),
-.BR ps (1),
-.BR tr (1),
-.BR uptime (1),
-.BR chroot (2),
-.BR mmap (2),
-.BR readlink (2),
-.BR syslog (2),
-.BR slabinfo (5),
-.BR hier (7),
-.BR time (7),
-.BR arp (8),
-.BR hdparm (8),
-.BR ifconfig (8),
-.BR init (8),
-.BR lsmod (8),
-.BR lspci (8),
-.BR mount (8),
-.BR netstat (8),
-.BR procinfo (8),
-.BR route (8)
+\fBcat\fP(1), \fBdmesg\fP(1), \fBfind\fP(1), \fBfree\fP(1), \fBps\fP(1), \fBtr\fP(1),
+\fBuptime\fP(1), \fBchroot\fP(2), \fBmmap\fP(2), \fBreadlink\fP(2), \fBsyslog\fP(2),
+\fBslabinfo\fP(5), \fBhier\fP(7), \fBtime\fP(7), \fBarp\fP(8), \fBhdparm\fP(8),
+\fBifconfig\fP(8), \fBinit\fP(8), \fBlsmod\fP(8), \fBlspci\fP(8), \fBmount\fP(8),
+\fBnetstat\fP(8), \fBprocinfo\fP(8), \fBroute\fP(8)
 .br
-カーネルのソースファイル:
-.IR Documentation/filesystems/proc.txt ,
-.IR Documentation/sysctl/vm.txt
+カーネルのソースファイル: \fIDocumentation/filesystems/proc.txt\fP,
+\fIDocumentation/sysctl/vm.txt\fP
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。
diff --git a/release/man7/spufs.7 b/release/man7/spufs.7
deleted file mode 100644 (file)
index b51ccb6..0000000
+++ /dev/null
@@ -1,479 +0,0 @@
-.\" This is _*_ nroff _*_ source. Emacs, gimme all those colors :)
-.\"
-.\" Copyright (c) International Business Machines Corp., 2006
-.\"
-.\" This program is free software; you can redistribute it and/or
-.\" modify it under the terms of the GNU General Public License as
-.\" published by the Free Software Foundation; either version 2 of
-.\" the License, or (at your option) any later version.
-.\"
-.\" This program is distributed in the hope that it will be useful,
-.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
-.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
-.\" the GNU General Public License for more details.
-.\"
-.\" You should have received a copy of the GNU General Public License
-.\" along with this program; if not, write to the Free Software
-.\" Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-.\" MA 02111-1307 USA
-.\"
-.\" HISTORY:
-.\" 2005-09-28, created by Arnd Bergmann <arndb@de.ibm.com>,
-.\"   Mark Nutter <mnutter@us.ibm.com> and
-.\"   Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-.\" 2006-06-16, revised by Eduardo M. Fleury <efleury@br.ibm.com>
-.\" 2007-07-10, quite a lot of polishing by mtk
-.\"
-.\" Japanese Version Copyright (c) 2007  Akihiro MOTOKI
-.\"         all rights reserved.
-.\" Translated 2007-10-23, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\"
-.TH SPUFS 7 2007-07-10 "Linux" "Linux Programmer's Manual"
-.SH 名前
-spufs \- SPU ファイルシステム
-.SH 説明
-SPU ファイルシステムは、Cell Broadband Engine アーキテクチャを実装した
-PowerPC マシンにおいて、Synergistic Processor Unit (SPU) にアクセスする
-ために使用される。
-
-このファイルシステムでは、POSIX 共有メモリやメッセージキューに
-似た名前空間が提供される。
-ファイルシステムに書き込み許可を持つユーザは
-.BR spu_create (2)
-を使って spufs のルートディレクトリに SPU コンテキストを作成できる。
-
-各 SPU コンテキストは、あらかじめ定義されたファイル群を含む
-ディレクトリとして表現される。
-これらのファイルを使って、論理 SPU の状態を操作できる。
-ユーザはこれらのファイルのアクセス許可を変更することはできるが、
-ファイルの追加・削除を行うことはできない。
-.SS マウントオプション
-.TP
-.B uid=<uid>
-マウントポイントを所有するユーザを設定する。
-デフォルトは 0 (root) である。
-.TP
-.B gid=<gid>
-マウントポイントを所有するグループを設定する。
-デフォルトは 0 (root) である。
-.SS ファイル
-.I spufs
-のファイルは、ほとんどの場合
-.BR read (2)
-や
-.BR write (2)
-といった通常のシステムコールに対する標準的な振る舞いを示すが、
-多くの場合通常のファイルシステムでサポートされている操作の一部分だけが
-サポートされている。以下のリストでは、サポートされている操作と
-それぞれのマニュアルページに書かれている標準的な振る舞いとの違いに
-ついて説明する。
-
-.BR read (2)
-操作に対応している全てのファイルは
-.BR readv (2)
-にも対応している。また、
-.BR write (2)
-操作に対応している全てのファイルは
-.BR writev (2)
-にも対応している。
-
-全てのファイルは、
-.BR access (2)
-と
-.BR stat (2)
-系の操作に対応しているが、
-.BR stat (2)
-では、呼び出した際に返される
-.I stat
-構造体のフィールドのうち信頼できる情報が入っているのは
-.IR st_mode ,
-.IR st_nlink ,
-.IR st_uid ,
-.I st_gid
-だけである。
-
-全てのファイルは
-.BR chmod (2)/ fchmod (2)
-と
-.BR chown (2)/ fchown (2)
-の操作に対応しているが、
-そのファイルが対応している操作と矛盾するアクセス許可を
-付与することはできない (例えば、
-.I wbox
-ファイルに対する読み出しアクセスなど)。
-
-現時点でのファイルは以下の通りである。
-.TP
-.B /mem
-SPU のローカルストレージの内容。
-このファイルは通常の共有メモリファイルと同様にアクセスでき、
-SPU のアドレス空間にはコードとデータの両方を格納できる。
-オープンされた
-.I mem
-ファイルに可能な操作は以下である。
-.RS
-.TP
-.BR read "(2), " pread "(2), " write "(2), " pwrite "(2), " lseek (2)
-これらは通常通り動作するが、
-ファイル末尾を越えての
-.BR lseek (2),
-.BR write (2),
-.BR pwrite (2)
-に対応していない点だけが異なる。
-ファイルサイズは SPU のローカルストレージのサイズであり、
-通常は 256 キロバイトである。
-.TP
-.BR mmap (2)
-.I mem
-をプロセスのアドレス空間にマッピングすると、
-プロセスのアドレス空間の一部として
-SPU のローカル・ストレージにアクセスできるようになる。
-.RE
-.TP
-.B /mbox
-SPU から CPU への通信用の一つ目のメールボックス。
-このファイルは読み出し専用で、読み出しは 32ビット単位で行う。
-このファイルは非停止 (non-blocking) モードでのみ使用でき、
-.BR poll (2)
-であってもこのファイルで停止 (block) することはない。
-オープンされた
-.I mbox
-ファイルに可能な操作は以下である。
-.RS
-.TP
-.BR read (2)
-.I count
-が 4 より小さい場合、
-.BR read (2)
-は \-1 を返し、
-.I errno
-を
-.B EINVAL
-に設定する。
-メールボックスにデータがない場合、\-1 が返り、
-.I errno
-が
-.B EAGAIN
-に設定される。データの読み出しに成功した場合、
-4 バイトがデータバッファに格納され、返り値として 4 が返される。
-.RE
-.TP
-.B /ibox
-SPU から CPU への通信用の二つ目のメールボックスである。
-このファイルは一つ目のメールボックスファイルと似ているが、
-停止 (blocking) I/O モードでの読み出しが可能である。したがって、
-.BR poll (2)
-や同様のシステムコールを使って、このファイルを監視することができる。
-オープンされた
-.I ibox
-ファイルに可能な操作は以下である。
-.RS
-.TP
-.BR read (2)
-.I count
-が 4 より小さい場合、
-.BR read (2)
-は \-1 を返し、
-.I errno
-を
-.B EINVAL
-に設定する。
-メールボックスにデータがない場合、ファイルディスクリプタが
-.B O_NONBLOCK
-でオープンされていれば、返り値は \-1 となり、
-.I errno
-は
-.B EAGAIN
-に設定される。
-
-メールボックスにデータがない場合で、ファイルディスクリプタが
-.B O_NONBLOCK
-なしでオープンされていれば、
-SPU が自分の割り込みメールボックスチャネル (interrupt mailbox channel)
-に書き込みを行うまで
-.BR read (2)
-は停止 (block) する。
-データの読み出しに成功した場合、
-4 バイトがデータバッファに格納され、返り値として 4 が返される。
-.TP
-.BR poll (2)
-.I ibox
-ファイルに対する
-.BR poll (2)
-は、読み出しデータが利用可能になる度に
-.I "(POLLIN | POLLRDNORM)"
-を返す。
-.RE
-.TP
-.B /wbox
-CPU から SPU への通信用のメールボックス。
-このファイルは書き込み専用で、書き込みは 32ビット単位で行う。
-メールボックスが一杯の場合、
-.BR write (2)
-は停止 (block) し、
-.BR poll (2)
-を使ってメールボックスに再度空きができるまで待つことができる。
-オープンされた
-.I wbox
-ファイルに可能な操作は以下である。
-.RS
-.TP
-.BR write (2)
-.I count
-が 4 より小さい場合、
-.BR write (2)
-は \-1 を返し、
-.I errno
-を
-.B EINVAL
-に設定する。
-メールボックスに空き領域がない場合、ファイルディスクリプタが
-.B O_NONBLOCK
-でオープンされていれば、返り値は \-1 となり、
-.I errno
-は
-.B EAGAIN
-に設定される。
-
-メールボックスに空き領域がない場合で、ファイルディスクリプタが
-.B O_NONBLOCK
-なしでオープンされていれば、
-SPU が自分の PPE メールボックスチャネルから読み出しを行うまで
-.BR write (2)
-は停止 (block) する。
-データの書き込みに成功した場合、返り値として 4 が返される。
-.TP
-.BR poll (2)
-.I wbox
-ファイルに対する
-.BR poll (2)
-は、書き込み用の空間が利用可能になる度に
-.I "(POLLOUT | POLLWRNORM)"
-を返す。
-.RE
-.TP
-.BR /mbox_stat ", " /ibox_stat ", " /wbox_stat
-これらのファイルは読み出し専用で、
-各メールボックスの現在のキュー長を保持する。
-具体的には、停止 (blocking) せずに、
-.IR mbox " や " ibox
-から何ワードを読み出すことができ、
-.I wbox
-に何ワードを書き込むことができるか、ということである。
-これらのファイルは 4 バイト単位でのみ読み出しが可能で、
-ビッグ・エンディアンの整数値を返す。
-オープンされた
-.I *box_stat
-ファイルに可能な操作は以下である。
-.RS
-.TP
-.BR read (2)
-.I count
-が 4 より小さい場合、
-.BR read (2)
-は \-1 を返し、
-.I errno
-を
-.B EINVAL
-に設定する。
-それ以外の場合、データバッファに 4 バイトの値が書き込まれる。
-この値は、各メールボックスにおいて停止せずに、または
-.B EAGAIN
-エラーなしで、読み出し可能なエレメント数
-.RI ( mbox_stat
-や
-.I ibox_stat
-の場合)、書き込み可能なエレメント数
-.RI ( wbox_stat
-の場合) である。
-.RE
-.TP
-.BR /npc ", " /decr ", " /decr_status ", " /spu_tag_mask ", " \
-/event_mask ", " /srr0
-これらのファイルは SPU の内部レジスタを公開するものである。
-値は、各レジスタの数値を含むアスキー文字列で表現される。
-これらのファイルはデバッグ用として読み出し/書き込みの両モードで利用できるが、
-プログラムの通常の操作はこれらのファイルに依存すべきではない。
-なぜなら、これらのファイルのうち
-.I npc
-以外へのアクセスでは SPU コンテキストの保存が必須であり、
-SPU コンテキストの保存は非常に効率が悪いからである。
-.IP
-これらのファイルの内容は以下の通り。
-.RS
-.TP 16
-.I npc
-次のプログラムカウンタ
-.TP
-.I decr
-SPU Decrementer
-.TP
-.I decr_status
-Decrementer の状態
-.TP
-.I spu_tag_mask
-SPU の DMA 用の MFA タグマスク
-.TP
-.I event_mask
-SPU の割り込みのイベントマスク
-.TP
-.I srr0
-割り込みリターンアドレスレジスタ
-.RE
-.IP
-これらのファイルに対して可能な操作は以下である。
-.RS
-.TP
-.BR read (2)
-.BR read (2)
-に渡された
-.I count
-がレジスタ値と改行 (newline) 文字 1 個を格納するのに必要な長さより短い場合、
-同じファイルディスクリプタを続けて read することで、文字列全体を読み出すこと
-ができる。この際、実行中の SPU タスクによりレジスタ値の変更の影響は受けない。
-文字列全体が読み出されると、それ以降の read 操作では 0 バイトが返され、
-新しい値を読み出すには新しいファイルディスクリプタをオープンする必要がある。
-.TP
-.BR write (2)
-このファイルへの
-.BR write (2)
-操作はレジスタ値を文字列で指定された値に設定する。
-文字列の解釈は先頭から開始され、数字以外の文字が初めて登場するか、
-バッファの末尾に達するまで行われる。
-同じファイルディスクリプタへ続けて write を行うと、
-後の write により前の設定が上書きされる。
-.RE
-.TP
-.B /fpcr
-このファイルにより Floating Point Status and Control Register に
-アクセスできる。このファイルは大きさ 4 バイトである。
-.I fpcr
-ファイルに可能な操作は以下である。
-.RS
-.TP
-.BR read (2)
-.I count
-が 4 より小さい場合、
-.BR read (2)
-は \-1 を返し、
-.I errno
-を
-.B EINVAL
-に設定する。
-それ以外の場合、データバッファに 4 バイトの値が書き込まれる。
-書き込まれる値は
-.I fpcr
-レジスタの現在の値である。
-.TP
-.BR write (2)
-.I count
-が 4 より小さい場合、
-.BR write (2)
-は \-1 を返し、
-.I errno
-を
-.B EINVAL
-に設定する。
-それ以外の場合、 4 バイトの値がデータバッファからコピーされ、
-.I fpcr
-レジスタの値が更新される。
-.RE
-.TP
-.BR /signal1 ", " /signal2
-これらのファイルにより
-SPU の二つのシグナル通知チャネル (signal notification channel) に
-アクセスできる。
-これらは 32 ビット単位の読み書きができる。
-これらのファイルの一つに書き込みを行うと、その SPU の割り込みが
-発生するトリガーとなる。
-シグナルファイルへ書き込まれた値は、チャネル経由で SPU で読み出したり、
-このファイル経由でホストのユーザ空間で読み出したりできる。
-SPU が値を読み出した後では、値は 0 にリセットされる。
-オープンされた
-.I signal1
-や
-.I signal2
-ファイルに可能な操作は以下である。
-.RS
-.TP
-.BR read (2)
-.I count
-が 4 より小さい場合、
-.BR read (2)
-は \-1 を返し、
-.I errno
-を
-.B EINVAL
-に設定する。
-それ以外の場合、データバッファに 4 バイトの値が書き込まれる。
-書き込まれる値は、指定されたシグナル通知レジスタの現在の値である。
-.TP
-.BR write (2)
-.I count
-が 4 より小さい場合、
-.BR write (2)
-は \-1 を返し、
-.I errno
-を
-.B EINVAL
-に設定する。
-それ以外の場合、 4 バイトの値がデータバッファからコピーされ、
-指定されたシグナル通知レジスタの値が更新される。
-シグナル通知レジスタの更新には、レジスタ値を入力データで置き換えるモードと
-以前の値と入力データのビット単位の OR をとった値に更新するモードがある。
-どちらのモードになるかは、それぞれ
-.IR signal1_type ,
-.I signal2_type
-ファイルの内容によって決まる。
-.RE
-.TP
-.BR /signal1_type ", " /signal2_type
-これらのファイルは、シグナル通知ファイル
-.I signal1
-と
-.I signal2
-の動作を変更する。
-これらのファイルは数値を表すアスキー文字列を保持し、
-読み出すと "1" か "0" のどちらかが得られる。
-モード 0 (上書きモード) では、ハードウェアはシグナルチャネルの内容を
-シグナルチャネルに書き込まれたデータで置き換える。
-モード 1 (論理 OR モード) では、ハードウェアはシグナルチャネルに
-書き込まれたビットを積算していく。
-オープンされた
-.I signal1_type
-や
-.I signal2_type
-ファイルに可能な操作は以下である。
-.RS
-.TP
-.BR read (2)
-.BR read (2)
-に渡された
-.I count
-がレジスタの数値と改行 (newline) 文字 1 個を格納するのに必要な長さより
-短い場合、同じファイルディスクリプタを続けて read することで、
-文字列全体を読み出すことができる。
-文字列全体が読み出されると、それ以降の read 操作では 0 バイトが返され、
-新しい値を読み出すには新しいファイルディスクリプタをオープンする必要がある。
-.TP
-.BR write (2)
-このファイルへの
-.BR write (2)
-操作はレジスタ値を文字列で指定された値に設定する。
-文字列の解釈は先頭から開始され、数字以外の文字が初めて登場するか、
-バッファの末尾に達するまで行われる。
-同じファイルディスクリプタへ続けて write を行うと、
-後の write により前の設定が上書きされる。
-.RE
-.SH 例
-.TP
-.IR /etc/fstab "  entry"
-none   /spu    spufs   gid=spu         0       0
-.\" .SH AUTHORS
-.\" Arnd Bergmann <arndb@de.ibm.com>,
-.\" Mark Nutter <mnutter@us.ibm.com> and
-.\" Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-.SH 関連項目
-.BR close (2),
-.BR spu_create (2),
-.BR spu_run (2)
index fea30cd..e22b1d7 100644 (file)
@@ -53,7 +53,7 @@
 ○:LDP man-pages:3.40:2012/04/15:epoll_ctl:2:2012/04/30::amotoki@gmail.com:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2012/04/17:epoll_pwait:2:epoll_wait:2:
 ○:LDP man-pages:3.40:2012/04/17:epoll_wait:2:2012/04/30::amotoki@gmail.com:Akihiro MOTOKI:
\98\86:LDP man-pages:3.25=>3.40:2010/08/30:eventfd:2:2008/11/10::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\97\8b:LDP man-pages:3.40:2010/08/30:eventfd:2:2012/05/26::amotoki@gmail.com:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2010/08/30:eventfd2:2:eventfd:2:
 ○:LDP man-pages:3.40:2011/09/14:execve:2:2012/04/30::amotoki@gmail.com:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2010/09/20:exit:2:_exit:2:
@@ -61,7 +61,7 @@
 ○:LDP man-pages:3.40:2010/10/24:faccessat:2:2012/04/30::amotoki@gmail.com:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2010/10/09:fadvise64:2:posix_fadvise:2:
 @:LDP man-pages:3.40:2010/10/09:fadvise64_64:2:posix_fadvise:2:
\98\86:LDP man-pages:3.32=>3.40:2012/04/23:fallocate:2:2007/10/16::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\97\8b:LDP man-pages:3.40:2012/04/23:fallocate:2:2012/05/26::amotoki@gmail.com:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2010/11/25:fchdir:2:chdir:2:
 @:LDP man-pages:3.40:2010/09/26:fchmod:2:chmod:2:
 ○:LDP man-pages:3.40:2012/04/22:fchmodat:2:2012/05/05::amotoki@gmail.com:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2010/11/22:getresgid32:2:getresgid:2:
 ○:LDP man-pages:3.40:2010/11/22:getresuid:2:2012/04/30::amotoki@gmail.com:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2010/11/22:getresuid32:2:getresuid:2:
\98\86:LDP man-pages:3.30=>3.40:2011/09/10:getrlimit:2:2008/08/10::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\98\86:LDP man-pages:3.24=>3.40:2010/09/26:getrusage:2:2008/11/10::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\97\8b:LDP man-pages:3.40:2011/09/10:getrlimit:2:2012/05/26::amotoki@gmail.com:Akihiro MOTOKI:
\97\8b:LDP man-pages:3.40:2010/09/26:getrusage:2:::::
 ○:LDP man-pages:3.40:2010/09/26:getsid:2:2002/02/03::argrath@ub32.org:Kentaro Shirakata:
 ○:LDP man-pages:3.40:2008/12/03:getsockname:2:2005/03/15::ysato444@yahoo.co.jp:Yuichi SATO:
 ○:LDP man-pages:3.40:2008/12/03:getsockopt:2:2008/07/24::argrath@ub32.org:Kentaro Shirakata:
 @:LDP man-pages:3.40:2007/07/05:lock:2:unimplemented:2:
 ○:LDP man-pages:3.40:2004/06/17:lookup_dcookie:2:2005/02/26::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2001/12/01:lremovexattr:2:removexattr:2:
\98\86:LDP man-pages:3.32=>3.40:2011/09/25:lseek:2:2006/03/06::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\97\8b:LDP man-pages:3.40:2011/09/25:lseek:2:2012/05/26::amotoki@gmail.com:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2001/12/31:lsetxattr:2:setxattr:2:
 @:LDP man-pages:3.40:2011/10/04:lstat:2:stat:2:
 @:LDP man-pages:3.40:2011/10/04:lstat64:2:lstat:2:
\98\86:LDP man-pages:3.24=>3.40:2011/09/18:madvise:2:2007/01/08::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\97\8b:LDP man-pages:3.40:2011/09/18:madvise:2:2012/05/26::amotoki@gmail.com:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2007/07/05:madvise1:2:unimplemented:2:
 ○:LDP man-pages:3.40:2008/08/15:mbind:2:2008/11/20::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2010/11/01:migrate_pages:2:2012/05/26::amotoki@gmail.com:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2012/02/14:pipe2:2:pipe:2:
 ○:LDP man-pages:3.40:2007/06/01:pivot_root:2:2000/06/14::nakano@apm.seikei.ac.jp:NAKANO Takeo:
 ○:LDP man-pages:3.40:2012/04/15:poll:2:2012/04/30::amotoki@gmail.com:Akihiro MOTOKI:
\98\86:LDP man-pages:3.24=>3.40:2010/10/09:posix_fadvise:2:2007/02/08::ysato444@yahoo.co.jp:Yuichi SATO:
\97\8b:LDP man-pages:3.40:2010/10/09:posix_fadvise:2:2012/05/26::amotoki@gmail.com:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2012/04/15:ppoll:2:poll:2:
\98\86:LDP man-pages:3.24=>3.40:2012/04/23:prctl:2:2008/08/19::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\97\8b:LDP man-pages:3.40:2012/04/23:prctl:2:2012/05/26::amotoki@gmail.com:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2010/11/21:pread:2:2012/04/30::amotoki@gmail.com:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2010/11/21:pread64:2:pread:2:
 @:LDP man-pages:3.40:2010/11/17:preadv:2:readv:2:
 @:LDP man-pages:3.40:2007/07/05:prof:2:unimplemented:2:
 @:LDP man-pages:3.40:2010/08/31:pselect:2:select:2:
 @:LDP man-pages:3.40:2010/08/31:pselect6:2:select:2:
\98\86:LDP man-pages:3.35=>3.40:2012/04/26:ptrace:2:2007/05/03::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\97\8b:LDP man-pages:3.40:2012/04/26:ptrace:2:::::
 @:LDP man-pages:3.40:2007/07/05:putpmsg:2:unimplemented:2:
 @:LDP man-pages:3.40:2010/11/21:pwrite:2:pread:2:
 @:LDP man-pages:3.40:2010/11/21:pwrite64:2:pwrite:2:
 @:LDP man-pages:3.40:2010/11/17:pwritev:2:readv:2:
 ○:LDP man-pages:3.40:0000/00/00:query_module:2:2006/07/30::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\98\86:LDP man-pages:3.24=>3.40:2010/06/16:quotactl:2:2005/03/15::ysato444@yahoo.co.jp:Yuichi SATO:
\97\8b:LDP man-pages:3.40:2010/06/16:quotactl:2:::::
 ○:LDP man-pages:3.40:2009/02/23:read:2:2005/10/15::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2010/09/10:readahead:2:2005/02/27::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2008/10/02:readdir:2:1997/02/23::hanataka@abyss.rim.or.jp:HANATAKA Shinya:
 ○:LDP man-pages:3.40:2011/10/16:sched_rr_get_interval:2:2012/05/08::amotoki@gmail.com:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2010/11/06:sched_setaffinity:2:2012/05/08::amotoki@gmail.com:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2006/03/23:sched_setparam:2:2006/04/14::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\98\86:LDP man-pages:3.24=>3.40:2011/09/19:sched_setscheduler:2:2008/08/19::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\97\8b:LDP man-pages:3.40:2011/09/19:sched_setscheduler:2:2012/05/26::amotoki@gmail.com:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2008/10/18:sched_yield:2:1997/02/23::hanataka@abyss.rim.or.jp:HANATAKA Shinya:
 @:LDP man-pages:3.40:2007/07/05:security:2:unimplemented:2:
 ○:LDP man-pages:3.40:2010/08/31:select:2:2012/04/30::amotoki@gmail.com:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2006/05/02:shmget:2:2006/07/24::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2008/06/03:shmop:2:2006/04/14::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2008/12/03:shutdown:2:2001/11/09::argrath@ub32.org:Kentaro Shirakata:
\98\86:LDP man-pages:3.24=>3.40:2012/04/26:sigaction:2:2010/04/25::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\97\8b:LDP man-pages:3.40:2012/04/26:sigaction:2:2012/05/26::amotoki@gmail.com:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2010/09/26:sigaltstack:2:2006/01/10::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2008/07/11:signal:2:2007/06/15::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2009/01/13:signalfd:2:2009/03/09::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2007/06/28:socketcall:2:1997/03/03::hanataka@abyss.rim.or.jp:HANATAKA Shinya:
 ○:LDP man-pages:3.40:2008/10/11:socketpair:2:2002/09/24::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2009/09/15:splice:2:2007/02/04::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\98\86:LDP man-pages:2.67=>3.40:2007/12/20:spu_create:2:2007/10/23::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\97\8b:LDP man-pages:3.40:2007/12/20:spu_create:2:::::
 ○:LDP man-pages:3.40:2007/11/25:spu_run:2:2007/10/23::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2007/07/05:ssetmask:2:sgetmask:2:
 ○:LDP man-pages:3.40:2011/10/04:stat:2:2012/04/30::amotoki@gmail.com:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2010/09/20:symlink:2:2005/03/15::ysato444@yahoo.co.jp:Yuichi SATO:
 ○:LDP man-pages:3.40:2012/03/25:symlinkat:2:2012/04/30::amotoki@gmail.com:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2012/02/12:sync:2:2012/04/30::amotoki@gmail.com:Akihiro MOTOKI:
\98\86:LDP man-pages:3.24=>3.40:2010/10/09:sync_file_range:2:2010/04/25::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\97\8b:LDP man-pages:3.40:2010/10/09:sync_file_range:2:2012/05/26::amotoki@gmail.com:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2010/10/09:sync_file_range2:2:sync_file_range:2:
 @:LDP man-pages:3.40:2012/02/12:syncfs:2:sync:2:
 ○:LDP man-pages:3.40:2007/07/26:syscall:2:2002/08/20::ysato@h4.dion.ne.jp:Yuichi SATO:
 ○:LDP man-pages:3.40:2010/09/10:makedev:3:2012/05/26::amotoki@gmail.com:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2012/04/18:malloc:3:2012/05/05::amotoki@gmail.com:Akihiro MOTOKI:
 ×:LDP man-pages:3.40:2012/03/26:malloc_get_state:3:::::
\98\86:LDP man-pages:3.25=>3.40:2010/10/13:malloc_hook:3:2003/01/15::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\97\8b:LDP man-pages:3.40:2010/10/13:malloc_hook:3:2012/05/26::amotoki@gmail.com:Akihiro MOTOKI:
 ※:LDP man-pages:3.40:2012/03/26:malloc_set_state:3:malloc_get_state:3:
 ×:LDP man-pages:3.40:2012/03/29:malloc_trim:3:::::
 ×:LDP man-pages:3.40:2012/03/29:malloc_usable_size:3:::::
 ○:LDP man-pages:3.40:2010/08/29:mq_unlink:3:2006/04/24::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2007/07/26:mrand48:3:drand48:3:
 @:LDP man-pages:3.40:2007/07/26:mrand48_r:3:drand48_r:3:
\98\86:LDP man-pages:3.37=>3.40:2012/04/18:mtrace:3:2003/01/15::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
-:LDP man-pages:3.40:2012/04/18:muntrace:3:mtrace:3:
\97\8b:LDP man-pages:3.40:2012/04/18:mtrace:3:::::
+:LDP man-pages:3.40:2012/04/18:muntrace:3:mtrace:3:
 ○:LDP man-pages:3.40:2010/09/20:nan:3:2008/09/19::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2010/09/20:nanf:3:nan:3:
 @:LDP man-pages:3.40:2010/09/20:nanl:3:nan:3:
 ○:LDP man-pages:3.40:2006/04/29:program_invocation_name:3:2006/07/24::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2006/04/29:program_invocation_short_name:3:program_invocation_name:3:
 @:LDP man-pages:3.40:2010/10/06:psiginfo:3:psignal:3:
\98\86:LDP man-pages:3.25=>3.40:2010/10/06:psignal:3:1997/12/26::nishi@rpts.cl.nec.co.jp:HIROFUMI Nishizuka:
\97\8b:LDP man-pages:3.40:2010/10/06:psignal:3:2012/05/26::amotoki@gmail.com:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2008/11/11:pthread_attr_destroy:3:pthread_attr_init:3:
 @:LDP man-pages:3.40:2010/09/10:pthread_attr_getaffinity_np:3:pthread_attr_setaffinity_np:3:
 @:LDP man-pages:3.40:2010/02/03:pthread_attr_getdetachstate:3:pthread_attr_setdetachstate:3:
 ○:LDP man-pages:3.40:2010/09/09:pthread_kill_other_threads_np:3:2012/05/05::amotoki@gmail.com:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2008/10/24:pthread_self:3:2012/05/05::amotoki@gmail.com:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2010/09/10:pthread_setaffinity_np:3:2012/05/05::amotoki@gmail.com:Akihiro MOTOKI:
-×:LDP man-pages:3.40:2008/11/24:pthread_setcancelstate:3:::::
-:LDP man-pages:3.40:2008/11/24:pthread_setcanceltype:3:pthread_setcancelstate:3:
+:LDP man-pages:3.40:2008/11/24:pthread_setcancelstate:3:::::
+:LDP man-pages:3.40:2008/11/24:pthread_setcanceltype:3:pthread_setcancelstate:3:
 ×:LDP man-pages:3.40:2009/04/10:pthread_setconcurrency:3:::::
 ○:LDP man-pages:3.40:2008/11/17:pthread_setschedparam:3:2012/05/05::amotoki@gmail.com:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2008/11/06:pthread_setschedprio:3:2012/05/05::amotoki@gmail.com:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2011/09/28:vsscanf:3:scanf:3:
 @:LDP man-pages:3.40:2011/09/17:vswprintf:3:wprintf:3:
 @:LDP man-pages:3.40:2008/11/12:vsyslog:3:syslog:3:
-:LDP man-pages:3.40:2010/09/26:vtimes:3:getrusage:2:
+:LDP man-pages:3.40:2010/09/26:vtimes:3:getrusage:2:
 @:LDP man-pages:3.40:2012/03/15:vwarn:3:err:3:
 @:LDP man-pages:3.40:2012/03/15:vwarnx:3:err:3:
 @:LDP man-pages:3.40:2011/09/17:vwprintf:3:wprintf:3:
 ○:LDP man-pages:3.40:2012/04/14:nsswitch.conf:5:2012/05/08::amotoki@gmail.com:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2008/08/15:numa_maps:5:numa:7:
 ○:LDP man-pages:3.40:2012/02/14:passwd:5:2012/04/30::amotoki@gmail.com:Akihiro MOTOKI:
\98\86:LDP man-pages:3.24=>3.40:2012/02/08:proc:5:2009/03/09::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\97\8b:LDP man-pages:3.40:2012/02/08:proc:5:2012/05/26::amotoki@gmail.com:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2008/09/23:protocols:5:2008/07/22::argrath@ub32.org:Kentaro Shirakata:
 ○:LDP man-pages:3.40:2012/04/23:resolv.conf:5:2012/05/08::amotoki@gmail.com:Akihiro MOTOKI:
 @:LDP man-pages:3.40:2012/04/23:resolver:5:resolv.conf:5:
 ○:LDP man-pages:3.40:2009/02/12:ascii:7:2006/04/14::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2010/09/19:boot:7:2005/03/10::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2007/12/16:bootparam:7:2007/05/04::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\98\86:LDP man-pages:3.32=>3.40:2012/04/15:capabilities:7:2009/03/09::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\97\8b:LDP man-pages:3.40:2012/04/15:capabilities:7:2012/05/26::amotoki@gmail.com:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2008/06/03:charsets:7:2008/07/22::argrath@ub32.org:Kentaro Shirakata:
 ○:LDP man-pages:3.40:2011/09/16:complex:7:2006/07/16::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2010/09/20:cp1251:7:2012/04/30::amotoki@gmail.com:Akihiro MOTOKI:
 ×:LDP man-pages:3.40:2011/09/09:sigevent:7:::::
 ○:LDP man-pages:3.40:2011/09/18:signal:7:2008/08/19::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2012/04/23:socket:7:2012/05/05::amotoki@gmail.com:Akihiro MOTOKI:
\98\86:LDP man-pages:2.67=>3.40:2007/12/20:spufs:7:2007/10/23::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
\97\8b:LDP man-pages:3.40:2007/12/20:spufs:7:::::
 ○:LDP man-pages:3.40:2009/06/01:standards:7:2006/08/15::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI:
 ○:LDP man-pages:3.40:2000/11/16:suffixes:7:2001/04/24::ysato@h4.dion.ne.jp:Yuichi SATO:
 ○:LDP man-pages:3.40:2009/01/26:svipc:7:2006/07/16::amotoki@dd.iij4u.or.jp:Akihiro MOTOKI: