msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2015-01-21 20:35+0900\n"
-"PO-Revision-Date: 2015-01-18 17:58+0900\n"
+"PO-Revision-Date: 2015-01-22 04:42+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
#. type: Plain text
#: build/C/man8/iconvconfig.8:29
msgid "iconvconfig - create iconv module configuration cache"
-msgstr ""
+msgstr "iconvconfig - iconv モジュール設定キャッシュを作成する"
#. type: Plain text
#: build/C/man8/iconvconfig.8:33
"modules for a conversion. Loading and parsing such a configuration file "
"would slow down programs that use B<iconv>(3), so a caching mechanism is "
"employed."
-msgstr ""
+msgstr "B<iconv>(3) 関数は内部で文字集合の変換に I<gconv> モジュールを使用する。 設定ファイルは変換に必要なモジュールを決定するのに使用される。 このような設定ファイルを読み込んで解釈していると、 B<iconv>(3) を使用するプログラムの速度が遅くなるので、 キャッシュ機構が採用されている。"
#. type: Plain text
#: build/C/man8/iconvconfig.8:57
"directories with the environment variable B<GCONV_PATH>. However, iconv "
"module configuration caching is only used when the environment variable "
"B<GCONV_PATH> is not set."
-msgstr ""
+msgstr "B<iconvconfig> プログラムは、 iconv モジュール設定ファイルを読み込んで、 高速に読み込みができる gconv モジュール設定キャッシュファイルを書き出す。 システムが提供する gconv モジュールに加えて、 ユーザーは環境変数 B<GCONV_PATH> で独自の gconv モジュールディレクトリを指定できる。 しかし、 iconv モジュール設定のキャッシュが使用できるのは環境変数 B<GCONV_PATH> が設定されていない場合のみである。"
#. type: TP
#: build/C/man8/iconvconfig.8:58
msgid ""
"Do not search the system default gconv directory, only the directories "
"provided on the command line."
-msgstr ""
+msgstr "システムのデフォルトの gconv ディレクトリを検索しない。 コマンドラインで指定されたディレクトリのみを検索する。"
#. type: Plain text
#: build/C/man8/iconvconfig.8:67
msgid ""
"Use I<outputfile> for output instead of the system default cache location."
-msgstr ""
+msgstr "システムのデフォルトのキャッシュ場所の代わりに出力として I<outputfile> を使用する。"
#. type: TP
#: build/C/man8/iconvconfig.8:67 build/C/man1/localedef.1:206
"By default, the prefix is empty. Setting the prefix to I<foo>, the gconv "
"module configuration would be read from I<foo/usr/lib/gconv/gconv-modules> "
"and the cache would be written to I<foo/usr/lib/gconv/gconv-modules.cache>."
-msgstr ""
+msgstr "システムのパス名に指定した接頭辞を付与する。 下記の「ファイル」を参照。 デフォルトでは、 この接頭辞は空である。 接頭辞を I<foo> に設定すると、 gconv モジュール設定は I<foo/usr/lib/gconv/gconv-modules> から読み込まれ、 キャッシュは I<foo/usr/lib/gconv/gconv-modules.cache> に書き込まれる。"
#. type: Plain text
#: build/C/man8/iconvconfig.8:102
#. type: Plain text
#: build/C/man1/localedef.1:291 build/C/man5/repertoiremap.5:64
msgid "Usual default repertoire map path."
-msgstr ""
+msgstr "デフォルトの repertoire マップの通常のパス。"
#. type: Plain text
#: build/C/man1/localedef.1:297
#. type: Plain text
#: build/C/man5/repertoiremap.5:26
msgid "repertoiremap - map symbolic character names to Unicode code points"
-msgstr ""
+msgstr "repertoiremap - シンボル文字名の Unicode コードポイントへのマップ"
#. type: Plain text
#: build/C/man5/repertoiremap.5:32
"Unicode code points when compiling a locale with B<localedef>(1). Using a "
"repertoire map is optional, it is only needed when symbolic names are used "
"instead of now preferred Unicode code points."
-msgstr ""
+msgstr "repertoire マップは、 B<localedef>(1) でロケールをコンパイルする際の、 シンボル文字名と Unicode コードポイント間のマッピングを定義する。 repertoire マップの使用は必須ではなく、 推奨方法である Unicode コードポイントではなく、 シンボル名を使用する場合にのみ必要である。"
#. type: Plain text
#: build/C/man5/repertoiremap.5:35
#. type: Plain text
#: build/C/man5/repertoiremap.5:57
msgid "This defines exactly one mapping, I<E<lt>commentE<gt>> being optional."
-msgstr ""
+msgstr "マッピングを一つだけ定義する。 I<E<lt>commentE<gt>> は省略可能。"
#. type: Plain text
#: build/C/man5/repertoiremap.5:60
#. type: Plain text
#: build/C/man5/repertoiremap.5:68
msgid "Repertoire maps are deprecated in favor of Unicode code points."
-msgstr ""
+msgstr "repertoire マップは非推奨であり、 Unicode コードポイントが推奨である。"
#. type: Plain text
#: build/C/man5/repertoiremap.5:72
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2015-01-21 20:35+0900\n"
-"PO-Revision-Date: 2015-01-21 22:24+0900\n"
+"PO-Revision-Date: 2015-01-22 05:24+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
#. type: Plain text
#: build/C/man2/memfd_create.2:24
msgid "memfd_create - create an anonymous file"
-msgstr ""
+msgstr "memfd_create - 無名ファイル (anonymous file) を作成する"
#. type: Plain text
#: build/C/man2/memfd_create.2:26
"by B<memfd_create>() have the same semantics as other anonymous memory "
"allocations such as those allocated using B<mmap>(2) with the "
"B<MAP_ANONYMOUS> flag."
-msgstr ""
+msgstr "B<memfd_create>() は、 無名ファイル (anonymous file) を作成し、 そのファイルを参照するファイルディスクリプターを返す。 このファイルは通常のファイルと同様に振る舞い、 変更、切り詰め (truncate)、 メモリーマップなどを行うことができる。 しかし、 通常のファイルとは違い、 このファイルは RAM 上に置かれ、 格納されるストレージは揮発性である。 このファイルへの参照がすべてなくなると、 ファイルは自動的に解放される。 このファイルが置かれるページには無名メモリー (anonymous memory) が使用される。 したがって、 B<memfd_create>() で作成されたフィアルは、 他の無名メモリーの割り当て (B<MAP_ANONYMOUS> フラグ付きの B<mmap>(2) を使って割り当てられた無名メモリーなど) と同じ動作をする。"
#. type: Plain text
#: build/C/man2/memfd_create.2:58
"The initial size of the file is set to 0. Following the call, the file size "
"should be set using B<ftruncate>(2). (Alternatively, the file may be "
"populated by calls to B<write>(2) or similar.)"
-msgstr ""
+msgstr "ファイルの初期サイズは 0 に設定される。 呼び出しの後に、 B<ftruncate>(2) を使ってファイルサイズを設定すべきである (代わりに、 B<write>(2) や同様の関数を呼び出してファイルにデータを書き込むこともできる)。"
#. type: Plain text
#: build/C/man2/memfd_create.2:69
"for debugging purposes. Names do not affect the behavior of the file "
"descriptor, and as such multiple files can have the same name without any "
"side effects."
-msgstr ""
+msgstr "I<name> に指定された名前はファイル名として使用され、 ディレクトリ I</proc/self/fd/> で対応するシンボリックリンクのリンク先として表示される。 表示される名前の前には常に I<memfd:> が付き、 この名前はデバッグ用途としてのみ機能する。 名前はファイルディスクリプターの動作には影響せず、 複数のファイルが同じ名前を持っても副作用はない。"
#. type: Plain text
#: build/C/man2/memfd_create.2:74
msgid ""
"The following values may be bitwise ORed in I<flags> to change the behaviour "
"of B<memfd_create>():"
-msgstr ""
+msgstr "以下の値をビット論理和で I<flags> に指定して、 B<memfd_create>() の動作を変更できる。"
#. type: TP
#: build/C/man2/memfd_create.2:74
"Set the close-on-exec (B<FD_CLOEXEC>) flag on the new file descriptor. See "
"the description of the B<O_CLOEXEC> flag in B<open>(2) for reasons why this "
"may be useful."
-msgstr ""
+msgstr "新しいファイルディスクリプターに close-on-exec (B<FD_CLOEXEC>) フラグをセットする。 これが有用な理由については B<open>(2) の B<O_CLOEXEC> フラグの説明を参照のこと。"
#. type: TP
#: build/C/man2/memfd_create.2:84
"below. The initial set of seals is empty. If this flag is not set, the "
"initial set of seals will be B<F_SEAL_SEAL>, meaning that no other seals can "
"be set on the file."
-msgstr ""
+msgstr "このファイルに対して sealing 操作を許可する。 B<fcntl>(2) の B<F_ADD_SEALS> と B<F_GET_SEALS> 操作の議論を参照。 下記の「注意」も参照。 初期の seal 集合は空となる。 このフラグを指定しなかった場合、 初期の seal 集合は B<F_SEAL_SEAL> となり、 これはこのファイルには他の seal をセットできないことということである。"
#. type: Plain text
#: build/C/man2/memfd_create.2:104
msgid "Unused bits in I<flags> must be 0."
-msgstr ""
+msgstr "I<flags> の未使用のビットは 0 でなければならない。"
#. type: Plain text
#: build/C/man2/memfd_create.2:113
"can be used to refer to the file. This file descriptor is opened for both "
"reading and writing (B<O_RDWR>) and B<O_LARGEFILE> is set for the "
"descriptor."
-msgstr ""
+msgstr "返り値として B<memfd_create>() は、 作成したファイルを参照するのに使用できる新しいファイルディスクリプターを返す。 このファイルディスクリプターは読み書き両用 (B<O_RDWR>) でオープンされ、 B<O_LARGEFILE> がこのファイルディスクリプターにセットされる。"
#. type: Plain text
#: build/C/man2/memfd_create.2:126
"descriptor is inherited by the child produced by B<fork>(2) and refers to "
"the same file. The file descriptor is preserved across B<execve>(2), unless "
"the close-on-exec flag has been set."
-msgstr ""
+msgstr "B<fork>(2) と B<execve>(2) に関しては、 B<memfd_create>() で作成したファイルディスクリプターについても通常の動作が適用される。 ファイルディスクリプターのコピーは B<fork>(2) で生成される子プロセスに継承され、 同じファイルを参照する。 close-on-exec フラグがセットされていない限り、 B<execve>(2) の前後でファイルディスクリプターは保持される。"
#. type: Plain text
#: build/C/man2/memfd_create.2:133
#. type: Plain text
#: build/C/man2/memfd_create.2:139
msgid "The address in I<name> points to invalid memory."
-msgstr ""
+msgstr "I<name> のアドレスが無効なメモリーを指している。"
#. type: Plain text
#: build/C/man2/memfd_create.2:146
msgid ""
"An unsupported value was specified in one of the arguments: I<flags> "
"included unknown bits, or I<name> was too long."
-msgstr ""
+msgstr "サポートされていない値がいずれかの引き数で指定された。 I<flags> に未知のビットが含まれていたか、 I<name> が長過ぎた。"
#. type: Plain text
#: build/C/man2/memfd_create.2:149
"filesystem. The primary purpose of B<memfd_create>() is to create files "
"and associated file descriptors that are used with the file-sealing APIs "
"provided by B<fcntl>(2)."
-msgstr ""
+msgstr "B<memfd_create>() システムコールは、 手動で I<tmpfs> ファイルシステムをマウントして、 そのファイルシステムにファイルをオープンするという操作の、 簡単な代替手段を提供している。 B<memfd_create>() の主な目的は、 B<fcntl>(2) が提供する file-sealing API で使用できる、 ファイルとそれに関連付けられるファイルディスクリプターを作成することである。"
#. type: Plain text
#: build/C/man2/memfd_create.2:192
"to creating files in I<tmp> or as an alternative to using the B<open>(2) "
"B<O_TMPFILE> in cases where there is no intention to actually link the "
"resulting file into the filesystem."
-msgstr ""
+msgstr "B<memfd_create>() システムコールは、 file sealing なしでも用途がある (これが明示的に B<MFD_ALLOW_SEALING> フラグが要求されない限り、 file-sealing が無効になる理由である)。 特に、 ファイルシステムに実際にファイルを残す意図がない場合、 I<tmp> にファイルを作成したり B<open>(2) B<O_TMPFILE> を使ったりする際の代替手段として使用できる。"
#. type: SS
#: build/C/man2/memfd_create.2:192
#, no-wrap
msgid "File sealing"
-msgstr ""
+msgstr "file sealing"
#. type: Plain text
#: build/C/man2/memfd_create.2:210
"(Dealing with this possibility necessitates the use of a handler for the "
"B<SIGBUS> signal.)"
msgstr ""
+"file sealing がない場合、 共有メモリ経由で通信するプロセスは、 互いに信頼するか、 信頼していない相手が共有メモリ領域を問題がある方法で操作する可能性に対処するための対策を講じなければならない。\n"
+"例えば、 信頼していない相手は、 いつでも共有メモリの内容を変更したり、 共有メモリ領域を縮小したりする可能性がある。 前者の場合は、 ローカルプロセスでは、 データの確認時点と使用時点の競合条件の問題が起こり得る (通常はこの問題への対処は共有メモリ領域からデータをこぴーしてからデータを確認、使用することである)。 後者の場合は、 ローカルプロセスでは、 共有メモリ領域の存在しなくなった場所にアクセスしようとした際にシグナル B<SIGBUS> が発生する可能性がある (この可能性に対処するにはシグナル B<SIGBUS> に対してハンドラーを使用する必要がある)。"
#. type: Plain text
#: build/C/man2/memfd_create.2:216
"shared memory. Memory sealing enables that extra complexity to be "
"eliminated, by allowing a process to operate secure in the knowledge that "
"its peer can't modify the shared memory in an undesired fashion."
-msgstr ""
+msgstr "信頼していない相手への対処により、 共有メモリを利用するコードに余計な複雑性が増すことになる。 メモリー sealing により余計な複雑性をなくすことができる。 相手が望まない方法で共有メモリを変更できないことを知っていることで、 プロセスは安全に動作できるようになる。"
#. type: Plain text
#: build/C/man2/memfd_create.2:218
msgid "An example of the usage of the sealing mechanism is as follows:"
-msgstr ""
+msgstr "sealing 機構の使い方の例は以下のとおりである。"
#. type: Plain text
#: build/C/man2/memfd_create.2:225
msgid ""
"The first process creates a I<tmpfs> file using B<memfd_create>(). The call "
"yields a file descriptor used in subsequent steps."
-msgstr ""
+msgstr "最初のプロセスは B<memfd_create>() を使って I<tmpfs> ファイルを作成する。 B<memfd_create>() はこれ以降のステップで使用するファイルディスクリプターを返す。"
#. type: Plain text
#: build/C/man2/memfd_create.2:232
"The first process sizes the file created in the previous step using "
"B<ftruncate>(2), maps it using B<mmap>(2), and populates the shared memory "
"with the desired data."
-msgstr ""
+msgstr "最初のプロセスは B<ftruncate>(2) を使って直前のステップで作成したファイルのサイズを変更し、 B<mmap>(2) を使ってそのファイルをマッピングし、 共有メモリに所望のデータを配置する。"
#. type: IP
#: build/C/man2/memfd_create.2:232
"one or more seals on the file, in order to restrict further modifications on "
"the file. (If placing the seal B<F_SEAL_WRITE>, then it will be necessary "
"to first unmap the shared writable mapping created in the previous step.)"
-msgstr ""
+msgstr "最初のプロセスは、 このファイルに対する今後の変更を制限するために、 B<fcntl>(2) の B<F_ADD_SEALS> 操作を使って、 そのファイルに seal をいくつか設定する。 (seal B<F_SEAL_WRITE> を設定する場合、 直前のステップで作成した書き込み可能な共有マッピングをまずアンマップする必要が出てくる。)"
#. type: IP
#: build/C/man2/memfd_create.2:242
msgid ""
"A second process obtains a file descriptor for the I<tmpfs> file and maps "
"it. Among the possible ways in which this could happen are the following:"
-msgstr ""
+msgstr "二つ目のプロセスは I<tmpfs> ファイルのファイルディスクリプターを入手し、 そのファイルをマップする。 以下に示す方法を使用することができる。"
#. type: Plain text
#: build/C/man2/memfd_create.2:258
"The process that called B<memfd_create>() could transfer the resulting file "
"descriptor to the second process via a UNIX domain socket (see B<unix>(7) "
"and B<cmsg>(3)). The second process then maps the file using B<mmap>(2)."
-msgstr ""
+msgstr "B<memfd_create>() を呼び出したプロセスは、 得られたファイルディスクリプターを二つ目のプロセスに UNIX ドメインソケット経由で渡すことができる (B<unix>(7) と B<cmsg>(3) を参照)。 それから、二つ目のプロセスは B<mmap>(2) を使ってファイルをマップする。"
#. type: Plain text
#: build/C/man2/memfd_create.2:266
"next, there is a natural trust relationship between the two processes, since "
"they are running under the same user ID. Therefore, file sealing would not "
"normally be necessary.)"
-msgstr ""
+msgstr "二つ目のプロセスを B<fork>(2) を使って作成する。 そうすると、 自動的にファイルディスクリプターとマッピングが継承される。 (この方法と次の方法では、 二つのプロセス間で自然な信頼関係が存在することになる。 なぜなら、 二つのプロセスは同じユーザー ID。 の元で実行されているからである。 したがって、 file sealing は通常は不要であろう。)"
#. type: Plain text
#: build/C/man2/memfd_create.2:280
"B<memfd_create>()), and I<E<lt>fdE<gt>> is the number of the file descriptor "
"returned by the call to B<memfd_create>() in that process. The second "
"process then maps the file using B<mmap>(2)."
-msgstr ""
+msgstr "二つ目のプロセスは I</proc/E<lt>pdE<gt>/fd/E<lt>fdE<gt>> をオープンする。 I<E<lt>pidE<gt>> は最初のプロセス (B<memfd_create>() を呼び出したプロセス) の PID で、 I<E<lt>fdE<gt>> は最初のプロセスでの B<memfd_create>() の呼び出しで返されたファイルディスクリプター番号である。 それからこのファイルを B<mmap>(2) を使ってマッピングする。"
#. type: IP
#: build/C/man2/memfd_create.2:281
"been placed on file modifications. If desired, the second process can apply "
"further seals to impose additional restrictions (so long as the "
"B<F_SEAL_SEAL> seal has not yet been applied)."
-msgstr ""
+msgstr "二つ目のプロセスは B<fcntl>(2) の B<F_GET_SEALS> 操作を使って、 そのファイルに適用されている seal のビットマスクを取得する。 このビットマスクを調べて、 ファイルの変更に関してどのような制限が適用されているかを知ることができる。 (B<F_SEAL_SEAL> seal がそれまでに適用されていない限りは) 必要であれば、 二つ目のプロセスはさらに seal を設定して追加の制限をかけることができる。"
#. type: Plain text
#: build/C/man2/memfd_create.2:297
msgid ""
"Below are shown two example programs that demonstrate the use of "
"B<memfd_create>() and the file sealing API."
-msgstr ""
+msgstr "以下では B<memfd_create>() と file sealing API の使用例を示すサンプルプログラムを 2 つとりあげる。"
#. type: Plain text
#: build/C/man2/memfd_create.2:312
"argument is the name to associate with the file, the second argument is the "
"size to be set for the file, and the optional third is a string of "
"characters that specify seals to be set on file."
-msgstr ""
+msgstr "最初のプログラム I<t_memfd_create.c> は、 B<memfd_create>() を使って I<tmpfs> ファイルを作成し、 そのファイルのサイズを設定し、 メモリにマッピングし、 要求された場合にはそのファイルに seal を設定する。 このプログラムは最大で 3 つのコマンドライン引き数を取り、 最初の 2 つは必須である。 最初の引き数はファイルに関連付けられる名前で、 2 番目の引き数はファイルに設定されるサイズである。 省略可能な 3 番目の引き数は、 このファイルに設定する seal を指定する文字列である。"
#. type: Plain text
#: build/C/man2/memfd_create.2:318
"The second program, I<t_get_seals.c>, can be used to open an existing file "
"that was created via B<memfd_create>() and inspect the set of seals that "
"have been applied to that file."
-msgstr ""
+msgstr "2 つめのプログラム I<t_get_seals.c> を使うと、 B<memfd_create>() を使って作成された既存のファイルをオープンし、 そのファイルに適用されている seal の集合を調査できる。"
#. type: Plain text
#: build/C/man2/memfd_create.2:323
msgid ""
"The following shell session demonstrates the use of these programs. First "
"we create a I<tmpfs> file and set some seals on it:"
-msgstr ""
+msgstr "以下のシェルのセッションはこれらのプログラムの使用例を示したものである。 まず I<tmpfs> ファイルを作成し、そのファイルに seal をいくつか設定している。"
#. type: Plain text
#: build/C/man2/memfd_create.2:329
"use our I<t_get_seals> program to view the seals that have been placed on "
"the file:"
msgstr ""
+"この時点では、 I<t_memfd_create> プログラムはバックグラウンドで動作し続ける。 もう一つのプログラムから、 B<memfd_create>() がオープンしたディスクリプターに対応する I</proc/PID/fd> ファイルをオープンすることで、 B<memfd_create>() で作成されたファイルのファイルディスクリプターを取得できる。\n"
+"そのパス名を使って、 I</proc/PID/fd> シンボリックリンクの内容を調査し、 I<t_get_seals> プログラムを使ってそのファイルに設定されている seal を見ることができる。"
#. type: Plain text
#: build/C/man2/memfd_create.2:354
" /* Create an anonymous file in tmpfs; allow seals to be\n"
" placed on the file */\n"
msgstr ""
+" /* Create an anonymous file in tmpfs; allow seals to be\n"
+" placed on the file */\n"
#. type: Plain text
#: build/C/man2/memfd_create.2:399
#: build/C/man2/memfd_create.2:401
#, no-wrap
msgid " /* Size the file as specified on the command line */\n"
-msgstr ""
+msgstr " /* Size the file as specified on the command line */\n"
#. type: Plain text
#: build/C/man2/memfd_create.2:404
" /* Code to map the file and populate the mapping with data\n"
" omitted */\n"
msgstr ""
+" /* Code to map the file and populate the mapping with data\n"
+" omitted */\n"
#. type: Plain text
#: build/C/man2/memfd_create.2:413
" /* If a \\(aqseals\\(aq command-line argument was supplied, set some\n"
" seals on the file */\n"
msgstr ""
+" /* If a \\(aqseals\\(aq command-line argument was supplied, set some\n"
+" seals on the file */\n"
#. type: Plain text
#: build/C/man2/memfd_create.2:416
" /* Keep running, so that the file created by memfd_create()\n"
" continues to exist */\n"
msgstr ""
+" /* Keep running, so that the file created by memfd_create()\n"
+" continues to exist */\n"
#. type: Plain text
#: build/C/man2/memfd_create.2:434
" /* Code to map the file and access the contents of the\n"
" resulting mapping omitted */\n"
msgstr ""
+" /* Code to map the file and access the contents of the\n"
+" resulting mapping omitted */\n"
#. type: Plain text
#: build/C/man2/memfd_create.2:492
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2015-01-21 20:36+0900\n"
-"PO-Revision-Date: 2015-01-22 01:01+0900\n"
+"PO-Revision-Date: 2015-01-22 03:08+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"on-exec flag prevents the file descriptor exhaustion that would result from "
"the fact that each step in the recursion would cause one more file "
"descriptor to be passed to the new program. (But see BUGS.)"
-msgstr ""
+msgstr "B<fexecve>() を使用する際の理にかなった方法は、 I<fd> に close-on-exec フラグをセットし、 実行するプログラムを通じてそのファイルディスクリプターが外部にもれないようにすることである。 この方法は 2 つの理由から理にかなっている。 1 つ目は、 これにより不必要にファイルディスクリプターが消費されるのを防ぐことができる (実行されるプログラムは普通プログラム自身が参照するファイルを参照する必要はない)。 2 つ目は、 B<fexecve>() が再帰的に使用された場合、 close-on-exec フラグを利用することで、 再帰の各ステップで新しいプログラムに一つ余計にファイルディスクリプターが渡されることによる、 ファイルディスクリプターの枯渇を防ぐことができる (ただし「バグ」を参照)。"
#. type: Plain text
#: build/C/man3/fexecve.3:165
"script interpreter is executed, I<fd> has already been closed because of the "
"close-on-exec flag. Thus, the close-on-exec flag can't be set on I<fd> if "
"it refers to a script, leading to the problems described in NOTES."
-msgstr ""
+msgstr "I<fd> がスクリプトを参照していて (つまり、 最初の行に文字 I<#!> で始まるスクリプトインタープリターの指示がある実行テキストファイルである)、 I<fd> に close-on-exec フラグがセットされていた場合、 B<fexecve>() はエラー B<ENOENT> で失敗する。 このエラーが起こるのは、 スクリプトインタープリターが実行される時点までに、 close-on-exec フラグにより I<fd> がすでにクローズされてしまっているからである。 そのため、 スクリプトを参照する場合には、 close-on-exec フラグを I<fd> にセットすることはできず、 「注意」の節で説明されている問題が起こり得る。"
#. type: Plain text
#: build/C/man3/fexecve.3:167
msgid ""
"The mips/o32 system call convention passes arguments 5 through 8 on the user "
"stack."
-msgstr ""
+msgstr "mips/o32 のシステムコールの規約では、 ユーザースタックに引き数を 5 個から 8 個渡す。"
#. type: Plain text
#: build/C/man2/syscall.2:224
"In addition to the reasons explained in B<openat>(2), the B<execveat>() "
"system call is also needed to allow B<fexecve>(3) to be implemented on "
"systems that do not have the I</proc> filesystem mounted."
-msgstr ""
+msgstr "B<openat>(2) で説明されている理由に加え、 B<execveat>() システムコールは、 B<fexecve>(3) を I</proc> ファイルシステムがマウントされていないシステムで実装するためにも必要である。"
#. type: Plain text
#: build/C/man2/execveat.2:201
"employed. A string of the second form occurs when the script is specified "
"via both I<dirfd> and I<pathname>; in this case, I<P> is the value given in "
"I<pathname>."
-msgstr ""
+msgstr "スクリプトファイルを実行するように要求された際、 スクリプトインタープリターに渡される I<argv[0]> は、 I</dev/fd/N> 形式または I</dev/fd/N/P> 形式の文字列である。 ここで I<N> は I<dirfd> 引き数で渡されたファイルディスクリプター数である。 最初の形式の文字列となるのは、 B<AT_EMPTY_PATH> が使用された場合である。 2 番目の形式の文字列になるのは、 スクリプトが I<dirfd> と I<pathname> の両方を使って指定された場合である。 このとき I<P> は I<pathname> に指定された値である。"
#. type: Plain text
#: build/C/man2/execveat.2:209
"For the same reasons described in B<fexecve>(3), the natural idiom when "
"using B<execveat>(2) is to set the close-on-exec flag on I<dirfd>. (But "
"see BUGS.)"
-msgstr ""
+msgstr "B<fexecve>(3) で説明されているのと同じ理由で、 B<execveat>(2) を使う際の理にかなった方法は I<dirfd> に close-on-exec フラグをセットすることである (ただし「バグ」を参照のこと)。"
#. type: Plain text
#: build/C/man2/execveat.2:214
msgid ""
"The B<ENOENT> error described above means that it is not possible to set the "
"close-on-exec flag on the file descriptor given to a call of the form:"
-msgstr ""
+msgstr "上記で説明したエラー B<ENOENT> は、 以下の形式の呼び出しに渡すファイルディスクリプターで close-on-exec フラグをセットできないことを意味している。"
#. type: Plain text
#: build/C/man2/execveat.2:216
"descriptor referring to the script leaks through to the script itself. As "
"well as wasting a file descriptor, this leakage can lead to file-descriptor "
"exhaustion in scenarios where scripts recursively employ B<execveat>()."
-msgstr ""
+msgstr "しかしながら、 close-on-exec フラグをセットできないということは、 スクリプトを参照するファイルディスクリプターはスクリプト自身に見えてしまうということである。 ファイルディスクリプターを無駄に使うだけでなく、 ファイルディスクリプターが見えてしまうことにより、 スクリプトが B<execveat>() を再帰的に利用する状況ではファイルディスクリプターの枯渇につながる可能性がある。"
#. type: Plain text
#: build/C/man2/execveat.2:231