OSDN Git Service

(split) LDP: Update the version to 3.54 in PO files
[linuxjm/LDP_man-pages.git] / po4a / process / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2013-09-28 04:05+0900\n"
10 "PO-Revision-Date: 2013-09-28 04:28+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man2/acct.2:31 build/C/man5/acct.5:25
20 #, no-wrap
21 msgid "ACCT"
22 msgstr "ACCT"
23
24 #. type: TH
25 #: build/C/man2/acct.2:31
26 #, no-wrap
27 msgid "2008-06-16"
28 msgstr "2008-06-16"
29
30 #. type: TH
31 #: build/C/man2/acct.2:31 build/C/man5/acct.5:25
32 #: build/C/man7/capabilities.7:48 build/C/man2/capget.2:15
33 #: build/C/man7/cpuset.7:25 build/C/man7/credentials.7:27
34 #: build/C/man2/getgid.2:25 build/C/man2/getgroups.2:31
35 #: build/C/man2/getpid.2:25 build/C/man2/getpriority.2:48
36 #: build/C/man2/getresuid.2:28 build/C/man2/getrlimit.2:64
37 #: build/C/man2/getrusage.2:39 build/C/man2/getsid.2:26
38 #: build/C/man2/getuid.2:26 build/C/man2/iopl.2:33
39 #: build/C/man2/ioprio_set.2:24 build/C/man2/ipc.2:25
40 #: build/C/man2/seteuid.2:29 build/C/man2/setfsgid.2:31
41 #: build/C/man2/setfsuid.2:31 build/C/man2/setgid.2:29
42 #: build/C/man2/setpgid.2:48 build/C/man2/setresuid.2:26
43 #: build/C/man2/setreuid.2:45 build/C/man2/setsid.2:30
44 #: build/C/man2/setuid.2:30 build/C/man7/svipc.7:40 build/C/man3/ulimit.3:27
45 #, no-wrap
46 msgid "Linux"
47 msgstr "Linux"
48
49 #. type: TH
50 #: build/C/man2/acct.2:31 build/C/man5/acct.5:25
51 #: build/C/man7/capabilities.7:48 build/C/man2/capget.2:15
52 #: build/C/man7/cpuset.7:25 build/C/man7/credentials.7:27
53 #: build/C/man2/getgid.2:25 build/C/man2/getgroups.2:31
54 #: build/C/man2/getpid.2:25 build/C/man2/getpriority.2:48
55 #: build/C/man2/getresuid.2:28 build/C/man2/getrlimit.2:64
56 #: build/C/man2/getrusage.2:39 build/C/man2/getsid.2:26
57 #: build/C/man2/getuid.2:26 build/C/man2/iopl.2:33
58 #: build/C/man2/ioprio_set.2:24 build/C/man2/ipc.2:25
59 #: build/C/man2/seteuid.2:29 build/C/man2/setfsgid.2:31
60 #: build/C/man2/setfsuid.2:31 build/C/man2/setgid.2:29
61 #: build/C/man2/setpgid.2:48 build/C/man2/setresuid.2:26
62 #: build/C/man2/setreuid.2:45 build/C/man2/setsid.2:30
63 #: build/C/man2/setuid.2:30 build/C/man7/svipc.7:40 build/C/man3/ulimit.3:27
64 #, no-wrap
65 msgid "Linux Programmer's Manual"
66 msgstr "Linux Programmer's Manual"
67
68 #. type: SH
69 #: build/C/man2/acct.2:32 build/C/man5/acct.5:26
70 #: build/C/man7/capabilities.7:49 build/C/man2/capget.2:16
71 #: build/C/man7/cpuset.7:26 build/C/man7/credentials.7:28
72 #: build/C/man2/getgid.2:26 build/C/man2/getgroups.2:32
73 #: build/C/man2/getpid.2:26 build/C/man2/getpriority.2:49
74 #: build/C/man2/getresuid.2:29 build/C/man2/getrlimit.2:65
75 #: build/C/man2/getrusage.2:40 build/C/man2/getsid.2:27
76 #: build/C/man2/getuid.2:27 build/C/man2/iopl.2:34
77 #: build/C/man2/ioprio_set.2:25 build/C/man2/ipc.2:26
78 #: build/C/man2/seteuid.2:30 build/C/man2/setfsgid.2:32
79 #: build/C/man2/setfsuid.2:32 build/C/man2/setgid.2:30
80 #: build/C/man2/setpgid.2:49 build/C/man2/setresuid.2:27
81 #: build/C/man2/setreuid.2:46 build/C/man2/setsid.2:31
82 #: build/C/man2/setuid.2:31 build/C/man7/svipc.7:41 build/C/man3/ulimit.3:28
83 #, no-wrap
84 msgid "NAME"
85 msgstr "名前"
86
87 #. type: Plain text
88 #: build/C/man2/acct.2:34
89 msgid "acct - switch process accounting on or off"
90 msgstr "acct - プロセス・アカウントのオンとオフを切り換える"
91
92 #. type: SH
93 #: build/C/man2/acct.2:34 build/C/man5/acct.5:28 build/C/man2/capget.2:18
94 #: build/C/man2/getgid.2:28 build/C/man2/getgroups.2:34
95 #: build/C/man2/getpid.2:28 build/C/man2/getpriority.2:51
96 #: build/C/man2/getresuid.2:31 build/C/man2/getrlimit.2:67
97 #: build/C/man2/getrusage.2:42 build/C/man2/getsid.2:29
98 #: build/C/man2/getuid.2:29 build/C/man2/iopl.2:36
99 #: build/C/man2/ioprio_set.2:27 build/C/man2/ipc.2:28
100 #: build/C/man2/seteuid.2:32 build/C/man2/setfsgid.2:34
101 #: build/C/man2/setfsuid.2:34 build/C/man2/setgid.2:32
102 #: build/C/man2/setpgid.2:51 build/C/man2/setresuid.2:29
103 #: build/C/man2/setreuid.2:48 build/C/man2/setsid.2:33
104 #: build/C/man2/setuid.2:33 build/C/man7/svipc.7:43 build/C/man3/ulimit.3:30
105 #, no-wrap
106 msgid "SYNOPSIS"
107 msgstr "書式"
108
109 #. type: Plain text
110 #: build/C/man2/acct.2:38
111 #, no-wrap
112 msgid "B<#include E<lt>unistd.hE<gt>>\n"
113 msgstr "B<#include E<lt>unistd.hE<gt>>\n"
114
115 #. type: Plain text
116 #: build/C/man2/acct.2:40
117 #, no-wrap
118 msgid "B<int acct(const char *>I<filename>B<);>\n"
119 msgstr "B<int acct(const char *>I<filename>B<);>\n"
120
121 #. type: Plain text
122 #: build/C/man2/acct.2:46 build/C/man2/getgroups.2:48
123 #: build/C/man2/getrlimit.2:84 build/C/man2/getsid.2:37
124 #: build/C/man2/seteuid.2:44 build/C/man2/setpgid.2:71
125 #: build/C/man2/setreuid.2:60
126 msgid ""
127 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
128 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
129
130 #. type: Plain text
131 #: build/C/man2/acct.2:50
132 msgid ""
133 "B<acct>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
134 msgstr ""
135 "B<acct>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
136
137 #. type: SH
138 #: build/C/man2/acct.2:50 build/C/man5/acct.5:30
139 #: build/C/man7/capabilities.7:51 build/C/man2/capget.2:24
140 #: build/C/man7/cpuset.7:28 build/C/man7/credentials.7:30
141 #: build/C/man2/getgid.2:36 build/C/man2/getgroups.2:52
142 #: build/C/man2/getpid.2:36 build/C/man2/getpriority.2:59
143 #: build/C/man2/getresuid.2:39 build/C/man2/getrlimit.2:88
144 #: build/C/man2/getrusage.2:48 build/C/man2/getsid.2:50
145 #: build/C/man2/getuid.2:37 build/C/man2/iopl.2:40
146 #: build/C/man2/ioprio_set.2:35 build/C/man2/ipc.2:34
147 #: build/C/man2/seteuid.2:53 build/C/man2/setfsgid.2:38
148 #: build/C/man2/setfsuid.2:38 build/C/man2/setgid.2:38
149 #: build/C/man2/setpgid.2:98 build/C/man2/setresuid.2:37
150 #: build/C/man2/setreuid.2:70 build/C/man2/setsid.2:40
151 #: build/C/man2/setuid.2:39 build/C/man7/svipc.7:49 build/C/man3/ulimit.3:34
152 #, no-wrap
153 msgid "DESCRIPTION"
154 msgstr "説明"
155
156 #. type: Plain text
157 #: build/C/man2/acct.2:60
158 msgid ""
159 "The B<acct>()  system call enables or disables process accounting.  If "
160 "called with the name of an existing file as its argument, accounting is "
161 "turned on, and records for each terminating process are appended to "
162 "I<filename> as it terminates.  An argument of NULL causes accounting to be "
163 "turned off."
164 msgstr ""
165 "B<acct>()  システムコールは、プロセス・アカウントの有効・無効を切り替える。 "
166 "既存のファイルの名前を引き数に指定して呼び出されたら、 アカウント (account) "
167 "が有効になり、 終了したプロセスの記録が I<filename> に追記される。 NULL を引"
168 "き数として呼び出されたらアカウントをオフにする。"
169
170 #. type: SH
171 #: build/C/man2/acct.2:60 build/C/man2/capget.2:160
172 #: build/C/man2/getgroups.2:92 build/C/man2/getpriority.2:107
173 #: build/C/man2/getresuid.2:50 build/C/man2/getrlimit.2:430
174 #: build/C/man2/getrusage.2:181 build/C/man2/getsid.2:58
175 #: build/C/man2/iopl.2:66 build/C/man2/ioprio_set.2:149
176 #: build/C/man2/seteuid.2:67 build/C/man2/setfsgid.2:68
177 #: build/C/man2/setfsuid.2:68 build/C/man2/setgid.2:53
178 #: build/C/man2/setpgid.2:172 build/C/man2/setresuid.2:64
179 #: build/C/man2/setreuid.2:91 build/C/man2/setsid.2:51
180 #: build/C/man2/setuid.2:70 build/C/man3/ulimit.3:67
181 #, no-wrap
182 msgid "RETURN VALUE"
183 msgstr "返り値"
184
185 #. type: Plain text
186 #: build/C/man2/acct.2:65 build/C/man2/capget.2:165
187 #: build/C/man2/getresuid.2:55 build/C/man2/getrusage.2:186
188 #: build/C/man2/iopl.2:71 build/C/man2/seteuid.2:72 build/C/man2/setgid.2:58
189 #: build/C/man2/setresuid.2:69 build/C/man2/setreuid.2:96
190 #: build/C/man2/setuid.2:75
191 msgid ""
192 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
193 "appropriately."
194 msgstr ""
195 "成功した場合は 0 が返される。エラーの場合は -1 が返され、 I<errno> が適切に設"
196 "定される。"
197
198 #. type: SH
199 #: build/C/man2/acct.2:65 build/C/man2/capget.2:179 build/C/man7/cpuset.7:1100
200 #: build/C/man2/getgid.2:42 build/C/man2/getgroups.2:106
201 #: build/C/man2/getpid.2:44 build/C/man2/getpriority.2:120
202 #: build/C/man2/getresuid.2:55 build/C/man2/getrlimit.2:435
203 #: build/C/man2/getrusage.2:186 build/C/man2/getsid.2:63
204 #: build/C/man2/getuid.2:43 build/C/man2/iopl.2:71
205 #: build/C/man2/ioprio_set.2:169 build/C/man2/seteuid.2:72
206 #: build/C/man2/setgid.2:58 build/C/man2/setpgid.2:193
207 #: build/C/man2/setresuid.2:69 build/C/man2/setreuid.2:96
208 #: build/C/man2/setsid.2:58 build/C/man2/setuid.2:75 build/C/man3/ulimit.3:74
209 #, no-wrap
210 msgid "ERRORS"
211 msgstr "エラー"
212
213 #. type: TP
214 #: build/C/man2/acct.2:66 build/C/man7/cpuset.7:1116
215 #: build/C/man7/cpuset.7:1123 build/C/man7/cpuset.7:1129
216 #: build/C/man7/cpuset.7:1137 build/C/man7/cpuset.7:1144
217 #: build/C/man2/getpriority.2:140 build/C/man2/setpgid.2:194
218 #, no-wrap
219 msgid "B<EACCES>"
220 msgstr "B<EACCES>"
221
222 #. type: Plain text
223 #: build/C/man2/acct.2:77
224 msgid ""
225 "Write permission is denied for the specified file, or search permission is "
226 "denied for one of the directories in the path prefix of I<filename> (see "
227 "also B<path_resolution>(7)), or I<filename> is not a regular file."
228 msgstr ""
229 "指定したファイルへの書き込み許可がなく、書き込みが拒否された。 または "
230 "I<filename> のディレクトリ部分の何れかのディレクトリに検索許可がなく拒否され"
231 "た (B<path_resolution>(7)  も参照すること)。 または I<filename> が通常 "
232 "(regular) のファイルでない。"
233
234 #. type: TP
235 #: build/C/man2/acct.2:77 build/C/man2/capget.2:180 build/C/man7/cpuset.7:1172
236 #: build/C/man2/getgroups.2:107 build/C/man2/getresuid.2:56
237 #: build/C/man2/getrlimit.2:436 build/C/man2/getrusage.2:187
238 #, no-wrap
239 msgid "B<EFAULT>"
240 msgstr "B<EFAULT>"
241
242 #. type: Plain text
243 #: build/C/man2/acct.2:81
244 msgid "I<filename> points outside your accessible address space."
245 msgstr "アクセスできるアドレス空間の外を I<filename> が指している。"
246
247 #. type: TP
248 #: build/C/man2/acct.2:81 build/C/man7/cpuset.7:1238
249 #: build/C/man7/cpuset.7:1246
250 #, no-wrap
251 msgid "B<EIO>"
252 msgstr "B<EIO>"
253
254 #. type: Plain text
255 #: build/C/man2/acct.2:85
256 msgid "Error writing to the file I<filename>."
257 msgstr "I<filename> への書き込みにエラーが発生した。"
258
259 #. type: TP
260 #: build/C/man2/acct.2:85
261 #, no-wrap
262 msgid "B<EISDIR>"
263 msgstr "B<EISDIR>"
264
265 #. type: Plain text
266 #: build/C/man2/acct.2:89
267 msgid "I<filename> is a directory."
268 msgstr "I<filename> がディレクトリである。"
269
270 #. type: TP
271 #: build/C/man2/acct.2:89
272 #, no-wrap
273 msgid "B<ELOOP>"
274 msgstr "B<ELOOP>"
275
276 #. type: Plain text
277 #: build/C/man2/acct.2:93
278 msgid "Too many symbolic links were encountered in resolving I<filename>."
279 msgstr "I<filename> の実体にたどり着くまでのシンボリックリンクの数が多すぎる。"
280
281 #. type: TP
282 #: build/C/man2/acct.2:93 build/C/man7/cpuset.7:1251
283 #: build/C/man7/cpuset.7:1258 build/C/man7/cpuset.7:1263
284 #, no-wrap
285 msgid "B<ENAMETOOLONG>"
286 msgstr "B<ENAMETOOLONG>"
287
288 #. type: Plain text
289 #: build/C/man2/acct.2:97
290 msgid "I<filename> was too long."
291 msgstr "I<filename> が長すぎる。"
292
293 #. type: TP
294 #: build/C/man2/acct.2:97
295 #, no-wrap
296 msgid "B<ENFILE>"
297 msgstr "B<ENFILE>"
298
299 #. type: Plain text
300 #: build/C/man2/acct.2:100
301 msgid "The system limit on the total number of open files has been reached."
302 msgstr "オープンされたファイルの総数がシステム制限に達した。"
303
304 #. type: TP
305 #: build/C/man2/acct.2:100 build/C/man7/cpuset.7:1275
306 #: build/C/man7/cpuset.7:1280
307 #, no-wrap
308 msgid "B<ENOENT>"
309 msgstr "B<ENOENT>"
310
311 #. type: Plain text
312 #: build/C/man2/acct.2:103
313 msgid "The specified filename does not exist."
314 msgstr "指定されたファイルが存在しない。"
315
316 #. type: TP
317 #: build/C/man2/acct.2:103 build/C/man7/cpuset.7:1287
318 #: build/C/man2/getgroups.2:127
319 #, no-wrap
320 msgid "B<ENOMEM>"
321 msgstr "B<ENOMEM>"
322
323 #. type: Plain text
324 #: build/C/man2/acct.2:106 build/C/man2/getgroups.2:130
325 msgid "Out of memory."
326 msgstr "メモリ不足。"
327
328 #. type: TP
329 #: build/C/man2/acct.2:106 build/C/man2/iopl.2:76
330 #, no-wrap
331 msgid "B<ENOSYS>"
332 msgstr "B<ENOSYS>"
333
334 #. type: Plain text
335 #: build/C/man2/acct.2:112
336 msgid ""
337 "BSD process accounting has not been enabled when the operating system kernel "
338 "was compiled.  The kernel configuration parameter controlling this feature "
339 "is B<CONFIG_BSD_PROCESS_ACCT>."
340 msgstr ""
341 "カーネルをコンパイルした時に BSD プロセス・アカウントが有効になっていない。 "
342 "この機能はカーネルのコンフィグの B<CONFIG_BSD_PROCESS_ACCT> パラメータによっ"
343 "て制御される。"
344
345 #. type: TP
346 #: build/C/man2/acct.2:112 build/C/man7/cpuset.7:1314
347 #, no-wrap
348 msgid "B<ENOTDIR>"
349 msgstr "B<ENOTDIR>"
350
351 #. type: Plain text
352 #: build/C/man2/acct.2:117
353 msgid ""
354 "A component used as a directory in I<filename> is not in fact a directory."
355 msgstr ""
356 "I<filename> の中でディレクトリして扱われている要素が、 実際はディレクトリでな"
357 "い。"
358
359 #. type: TP
360 #: build/C/man2/acct.2:117 build/C/man2/capget.2:191 build/C/man2/capget.2:196
361 #: build/C/man7/cpuset.7:1319 build/C/man2/getgroups.2:130
362 #: build/C/man2/getpriority.2:152 build/C/man2/getrlimit.2:452
363 #: build/C/man2/getsid.2:64 build/C/man2/iopl.2:79
364 #: build/C/man2/ioprio_set.2:179 build/C/man2/seteuid.2:75
365 #: build/C/man2/setgid.2:59 build/C/man2/setpgid.2:208
366 #: build/C/man2/setresuid.2:77 build/C/man2/setreuid.2:97
367 #: build/C/man2/setsid.2:59 build/C/man2/setuid.2:85 build/C/man3/ulimit.3:75
368 #, no-wrap
369 msgid "B<EPERM>"
370 msgstr "B<EPERM>"
371
372 #. type: Plain text
373 #: build/C/man2/acct.2:123
374 msgid ""
375 "The calling process has insufficient privilege to enable process "
376 "accounting.  On Linux the B<CAP_SYS_PACCT> capability is required."
377 msgstr ""
378 "呼び出したプロセスにはプロセス・アカウントを有効にするのに十分な特権がない。 "
379 "Linux では B<CAP_SYS_PACCT> ケーパビリティ (capability) が必要である。"
380
381 #. type: TP
382 #: build/C/man2/acct.2:123
383 #, no-wrap
384 msgid "B<EROFS>"
385 msgstr "B<EROFS>"
386
387 #. type: Plain text
388 #: build/C/man2/acct.2:127
389 #, fuzzy
390 #| msgid "I<filename> refers to a file on a read-only file system."
391 msgid "I<filename> refers to a file on a read-only filesystem."
392 msgstr ""
393 "読み込みだけのファイルシステム上のファイルを I<filename> が参照している。"
394
395 #. type: TP
396 #: build/C/man2/acct.2:127
397 #, no-wrap
398 msgid "B<EUSERS>"
399 msgstr "B<EUSERS>"
400
401 #. type: Plain text
402 #: build/C/man2/acct.2:130
403 msgid "There are no more free file structures or we ran out of memory."
404 msgstr "使用可能なファイル構造体がないか、メモリが足りない。"
405
406 #. type: SH
407 #: build/C/man2/acct.2:130 build/C/man5/acct.5:153
408 #: build/C/man7/capabilities.7:1079 build/C/man2/capget.2:218
409 #: build/C/man7/credentials.7:234 build/C/man2/getgid.2:44
410 #: build/C/man2/getgroups.2:133 build/C/man2/getpid.2:46
411 #: build/C/man2/getpriority.2:160 build/C/man2/getresuid.2:67
412 #: build/C/man2/getrlimit.2:473 build/C/man2/getrusage.2:195
413 #: build/C/man2/getsid.2:79 build/C/man2/getuid.2:45 build/C/man2/iopl.2:87
414 #: build/C/man2/ioprio_set.2:196 build/C/man2/ipc.2:45
415 #: build/C/man2/seteuid.2:91 build/C/man2/setfsgid.2:75
416 #: build/C/man2/setfsuid.2:75 build/C/man2/setgid.2:66
417 #: build/C/man2/setpgid.2:227 build/C/man2/setresuid.2:83
418 #: build/C/man2/setreuid.2:113 build/C/man2/setsid.2:65
419 #: build/C/man2/setuid.2:92 build/C/man3/ulimit.3:78
420 #, no-wrap
421 msgid "CONFORMING TO"
422 msgstr "準拠"
423
424 #.  SVr4 documents an EBUSY error condition, but no EISDIR or ENOSYS.
425 #.  Also AIX and HP-UX document EBUSY (attempt is made
426 #.  to enable accounting when it is already enabled), as does Solaris
427 #.  (attempt is made to enable accounting using the same file that is
428 #.  currently being used).
429 #. type: Plain text
430 #: build/C/man2/acct.2:137
431 msgid "SVr4, 4.3BSD (but not POSIX)."
432 msgstr "SVr4, 4.3BSD (POSIX ではない)。"
433
434 #. type: SH
435 #: build/C/man2/acct.2:137 build/C/man5/acct.5:157
436 #: build/C/man7/capabilities.7:1085 build/C/man2/capget.2:220
437 #: build/C/man7/cpuset.7:1341 build/C/man7/credentials.7:240
438 #: build/C/man2/getgid.2:46 build/C/man2/getgroups.2:141
439 #: build/C/man2/getpid.2:48 build/C/man2/getpriority.2:163
440 #: build/C/man2/getresuid.2:70 build/C/man2/getrlimit.2:496
441 #: build/C/man2/getrusage.2:206 build/C/man2/getsid.2:81
442 #: build/C/man2/getuid.2:47 build/C/man2/iopl.2:91
443 #: build/C/man2/ioprio_set.2:198 build/C/man2/ipc.2:49
444 #: build/C/man2/seteuid.2:93 build/C/man2/setfsgid.2:79
445 #: build/C/man2/setfsuid.2:79 build/C/man2/setgid.2:68
446 #: build/C/man2/setpgid.2:249 build/C/man2/setresuid.2:86
447 #: build/C/man2/setreuid.2:119 build/C/man2/setsid.2:67
448 #: build/C/man2/setuid.2:97
449 #, no-wrap
450 msgid "NOTES"
451 msgstr "注意"
452
453 #. type: Plain text
454 #: build/C/man2/acct.2:140
455 msgid ""
456 "No accounting is produced for programs running when a system crash occurs.  "
457 "In particular, nonterminating processes are never accounted for."
458 msgstr ""
459 "システムがクラッシュした時に実行中だったプログラムのアカウントは生成されな"
460 "い。 特に、終了しないプログラムがアカウントされることはない。"
461
462 #. type: Plain text
463 #: build/C/man2/acct.2:143
464 msgid ""
465 "The structure of the records written to the accounting file is described in "
466 "B<acct>(5)."
467 msgstr ""
468 "アカウント用ファイルに書き込まれるレコードの構造体については B<acct>(5)  に説"
469 "明がある。"
470
471 #. type: SH
472 #: build/C/man2/acct.2:143 build/C/man5/acct.5:174
473 #: build/C/man7/capabilities.7:1141 build/C/man2/capget.2:228
474 #: build/C/man7/cpuset.7:1488 build/C/man7/credentials.7:251
475 #: build/C/man2/getgid.2:62 build/C/man2/getgroups.2:171
476 #: build/C/man2/getpid.2:100 build/C/man2/getpriority.2:232
477 #: build/C/man2/getresuid.2:86 build/C/man2/getrlimit.2:656
478 #: build/C/man2/getrusage.2:246 build/C/man2/getsid.2:84
479 #: build/C/man2/getuid.2:73 build/C/man2/iopl.2:100
480 #: build/C/man2/ioprio_set.2:346 build/C/man2/ipc.2:57
481 #: build/C/man2/seteuid.2:124 build/C/man2/setfsgid.2:123
482 #: build/C/man2/setfsuid.2:131 build/C/man2/setgid.2:78
483 #: build/C/man2/setpgid.2:317 build/C/man2/setresuid.2:106
484 #: build/C/man2/setreuid.2:159 build/C/man2/setsid.2:84
485 #: build/C/man2/setuid.2:120 build/C/man7/svipc.7:331 build/C/man3/ulimit.3:83
486 #, no-wrap
487 msgid "SEE ALSO"
488 msgstr "関連項目"
489
490 #. type: Plain text
491 #: build/C/man2/acct.2:145
492 msgid "B<acct>(5)"
493 msgstr "B<acct>(5)"
494
495 #. type: SH
496 #: build/C/man2/acct.2:145 build/C/man5/acct.5:179
497 #: build/C/man7/capabilities.7:1161 build/C/man2/capget.2:232
498 #: build/C/man7/cpuset.7:1505 build/C/man7/credentials.7:282
499 #: build/C/man2/getgid.2:67 build/C/man2/getgroups.2:178
500 #: build/C/man2/getpid.2:110 build/C/man2/getpriority.2:240
501 #: build/C/man2/getresuid.2:92 build/C/man2/getrlimit.2:674
502 #: build/C/man2/getrusage.2:253 build/C/man2/getsid.2:88
503 #: build/C/man2/getuid.2:78 build/C/man2/iopl.2:104
504 #: build/C/man2/ioprio_set.2:354 build/C/man2/ipc.2:70
505 #: build/C/man2/seteuid.2:131 build/C/man2/setfsgid.2:128
506 #: build/C/man2/setfsuid.2:136 build/C/man2/setgid.2:84
507 #: build/C/man2/setpgid.2:324 build/C/man2/setresuid.2:115
508 #: build/C/man2/setreuid.2:167 build/C/man2/setsid.2:91
509 #: build/C/man2/setuid.2:127 build/C/man7/svipc.7:348 build/C/man3/ulimit.3:88
510 #, no-wrap
511 msgid "COLOPHON"
512 msgstr "この文書について"
513
514 #. type: Plain text
515 #: build/C/man2/acct.2:152 build/C/man5/acct.5:186
516 #: build/C/man7/capabilities.7:1168 build/C/man2/capget.2:239
517 #: build/C/man7/cpuset.7:1512 build/C/man7/credentials.7:289
518 #: build/C/man2/getgid.2:74 build/C/man2/getgroups.2:185
519 #: build/C/man2/getpid.2:117 build/C/man2/getpriority.2:247
520 #: build/C/man2/getresuid.2:99 build/C/man2/getrlimit.2:681
521 #: build/C/man2/getrusage.2:260 build/C/man2/getsid.2:95
522 #: build/C/man2/getuid.2:85 build/C/man2/iopl.2:111
523 #: build/C/man2/ioprio_set.2:361 build/C/man2/ipc.2:77
524 #: build/C/man2/seteuid.2:138 build/C/man2/setfsgid.2:135
525 #: build/C/man2/setfsuid.2:143 build/C/man2/setgid.2:91
526 #: build/C/man2/setpgid.2:331 build/C/man2/setresuid.2:122
527 #: build/C/man2/setreuid.2:174 build/C/man2/setsid.2:98
528 #: build/C/man2/setuid.2:134 build/C/man7/svipc.7:355 build/C/man3/ulimit.3:95
529 msgid ""
530 "This page is part of release 3.54 of the Linux I<man-pages> project.  A "
531 "description of the project, and information about reporting bugs, can be "
532 "found at \\%http://www.kernel.org/doc/man-pages/."
533 msgstr ""
534 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.54 の一部\n"
535 "である。プロジェクトの説明とバグ報告に関する情報は\n"
536 "http://www.kernel.org/doc/man-pages/ に書かれている。"
537
538 #. type: TH
539 #: build/C/man5/acct.5:25
540 #, no-wrap
541 msgid "2008-06-15"
542 msgstr "2008-06-15"
543
544 #. type: Plain text
545 #: build/C/man5/acct.5:28
546 msgid "acct - process accounting file"
547 msgstr "acct - プロセス・アカウンティング・ファイル"
548
549 #. type: Plain text
550 #: build/C/man5/acct.5:30
551 msgid "B<#include E<lt>sys/acct.hE<gt>>"
552 msgstr "B<#include E<lt>sys/acct.hE<gt>>"
553
554 #. type: Plain text
555 #: build/C/man5/acct.5:36
556 msgid ""
557 "If the kernel is built with the process accounting option enabled "
558 "(B<CONFIG_BSD_PROCESS_ACCT>), then calling B<acct>(2)  starts process "
559 "accounting, for example:"
560 msgstr ""
561 "カーネルがプロセス・アカウンティングのオプション "
562 "(B<CONFIG_BSD_PROCESS_ACCT>)  を有効にして作成されていると、以下のように "
563 "B<acct>(2)  を呼び出すとプロセス・アカウンティングが開始される。"
564
565 #. type: Plain text
566 #: build/C/man5/acct.5:39
567 msgid "acct(\"/var/log/pacct\");"
568 msgstr "acct(\"/var/log/pacct\");"
569
570 #. type: Plain text
571 #: build/C/man5/acct.5:47
572 msgid ""
573 "When process accounting is enabled, the kernel writes a record to the "
574 "accounting file as each process on the system terminates.  This record "
575 "contains information about the terminated process, and is defined in "
576 "I<E<lt>sys/acct.hE<gt>> as follows:"
577 msgstr ""
578 "プロセス・アカウンティングが有効になっていると、カーネルは システム上の各プロ"
579 "セスが終了するたびにアカウンティングファイルに レコードを書き込む。 このレ"
580 "コードは、終了したプロセスに関する情報を保持するもので、 I<E<lt>sys/acct."
581 "hE<gt>> で以下のように定義されている。"
582
583 #. type: Plain text
584 #: build/C/man5/acct.5:51
585 #, no-wrap
586 msgid "#define ACCT_COMM 16\n"
587 msgstr "#define ACCT_COMM 16\n"
588
589 #. type: Plain text
590 #: build/C/man5/acct.5:53
591 #, no-wrap
592 msgid "typedef u_int16_t comp_t;\n"
593 msgstr "typedef u_int16_t comp_t;\n"
594
595 #. type: Plain text
596 #: build/C/man5/acct.5:77
597 #, no-wrap
598 msgid ""
599 "struct acct {\n"
600 "    char ac_flag;           /* Accounting flags */\n"
601 "    u_int16_t ac_uid;       /* Accounting user ID */\n"
602 "    u_int16_t ac_gid;       /* Accounting group ID */\n"
603 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
604 "    u_int32_t ac_btime;     /* Process creation time\n"
605 "                               (seconds since the Epoch) */\n"
606 "    comp_t    ac_utime;     /* User CPU time */\n"
607 "    comp_t    ac_stime;     /* System CPU time */\n"
608 "    comp_t    ac_etime;     /* Elapsed time */\n"
609 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
610 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
611 "    comp_t    ac_rw;        /* Blocks read or written (unused) */\n"
612 "    comp_t    ac_minflt;    /* Minor page faults */\n"
613 "    comp_t    ac_majflt;    /* Major page faults */\n"
614 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
615 "    u_int32_t ac_exitcode;  /* Process termination status\n"
616 "                               (see wait(2)) */\n"
617 "    char      ac_comm[ACCT_COMM+1];\n"
618 "                            /* Command name (basename of last\n"
619 "                               executed command; null-terminated) */\n"
620 "    char      ac_pad[I<X>];    /* padding bytes */\n"
621 "};\n"
622 msgstr ""
623 "struct acct {\n"
624 "    char ac_flag;           /* Accounting flags */\n"
625 "    u_int16_t ac_uid;       /* Accounting user ID */\n"
626 "    u_int16_t ac_gid;       /* Accounting group ID */\n"
627 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
628 "    u_int32_t ac_btime;     /* Process creation time\n"
629 "                               (seconds since the Epoch) */\n"
630 "    comp_t    ac_utime;     /* User CPU time */\n"
631 "    comp_t    ac_stime;     /* System CPU time */\n"
632 "    comp_t    ac_etime;     /* Elapsed time */\n"
633 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
634 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
635 "    comp_t    ac_rw;        /* Blocks read or written (unused) */\n"
636 "    comp_t    ac_minflt;    /* Minor page faults */\n"
637 "    comp_t    ac_majflt;    /* Major page faults */\n"
638 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
639 "    u_int32_t ac_exitcode;  /* Process termination status\n"
640 "                               (see wait(2)) */\n"
641 "    char      ac_comm[ACCT_COMM+1];\n"
642 "                            /* Command name (basename of last\n"
643 "                               executed command; null-terminated) */\n"
644 "    char      ac_pad[I<X>];    /* padding bytes */\n"
645 "};\n"
646
647 #. type: Plain text
648 #: build/C/man5/acct.5:84
649 #, no-wrap
650 msgid ""
651 "enum {          /* Bits that may be set in ac_flag field */\n"
652 "    AFORK = 0x01,           /* Has executed fork, but no exec */\n"
653 "    ASU   = 0x02,           /* Used superuser privileges */\n"
654 "    ACORE = 0x08,           /* Dumped core */\n"
655 "    AXSIG = 0x10            /* Killed by a signal */\n"
656 "};\n"
657 msgstr ""
658 "enum {          /* Bits that may be set in ac_flag field */\n"
659 "    AFORK = 0x01,           /* Has executed fork, but no exec */\n"
660 "    ASU   = 0x02,           /* Used superuser privileges */\n"
661 "    ACORE = 0x08,           /* Dumped core */\n"
662 "    AXSIG = 0x10            /* Killed by a signal */\n"
663 "};\n"
664
665 #. type: Plain text
666 #: build/C/man5/acct.5:94
667 msgid ""
668 "The I<comp_t> data type is a floating-point value consisting of a 3-bit, "
669 "base-8 exponent, and a 13-bit mantissa.  A value, I<c>, of this type can be "
670 "converted to a (long) integer as follows:"
671 msgstr ""
672 "データ型 I<comp_t> は浮動小数点値で、3 ビット幅の基数が 8 の指数部と 13 ビッ"
673 "ト幅の仮数部から 構成される。 I<comp_t> 型の値 I<c> は以下のようにして (long "
674 "型の) 整数に変換できる。"
675
676 #. type: Plain text
677 #: build/C/man5/acct.5:97
678 #, no-wrap
679 msgid "    v = (c & 0x1fff) E<lt>E<lt> (((c E<gt>E<gt> 13) & 0x7) * 3);\n"
680 msgstr "    v = (c & 0x1fff) E<lt>E<lt> (((c E<gt>E<gt> 13) & 0x7) * 3);\n"
681
682 #. type: Plain text
683 #: build/C/man5/acct.5:107
684 msgid ""
685 "The I<ac_utime>, I<ac_stime>, and I<ac_etime> fields measure time in \"clock "
686 "ticks\"; divide these values by I<sysconf(_SC_CLK_TCK)> to convert them to "
687 "seconds."
688 msgstr ""
689 "フィールド I<ac_utime>, I<ac_stime>, I<ac_etime> は \"clock ticks\" 単位で計"
690 "測した時間である。 これらの値を I<sysconf(_SC_CLK_TCK)> で割ると、秒に変換で"
691 "きる。"
692
693 #. type: SS
694 #: build/C/man5/acct.5:107
695 #, no-wrap
696 msgid "Version 3 accounting file format"
697 msgstr "バージョン 3 のアカウンティングファイルのフォーマット"
698
699 #. type: Plain text
700 #: build/C/man5/acct.5:122
701 msgid ""
702 "Since kernel 2.6.8, an optional alternative version of the accounting file "
703 "can be produced if the B<CONFIG_BSD_PROCESS_ACCT_V3> option is set when "
704 "building the kernel.  With this option is set, the records written to the "
705 "accounting file contain additional fields, and the width of I<c_uid> and "
706 "I<ac_gid> fields is widened from 16 to 32 bits (in line with the increased "
707 "size of UID and GIDs in Linux 2.4 and later).  The records are defined as "
708 "follows:"
709 msgstr ""
710 "カーネル 2.6.8 以降では、 別のバージョンのアカウンティングファイルを生成する"
711 "ことができ、 これを使うにはカーネル構築時に B<CONFIG_BSD_PROCESS_ACCT_V3> オ"
712 "プションが有効になっている必要がある。 このオプションが設定されると、アカウン"
713 "ティングファイルに書き込まれる レコードにフィールドが追加される。 また、"
714 "フィールド I<c_uid> と I<ac_gid> の幅が 16 ビットから 32 ビットに拡張される "
715 "(これは Linux 2.4 以降で UID と GID のサイズが増えているのに 対応したものであ"
716 "る)。 このレコードは以下のように定義されている。"
717
718 #. type: Plain text
719 #: build/C/man5/acct.5:147
720 #, no-wrap
721 msgid ""
722 "struct acct_v3 {\n"
723 "    char      ac_flag;      /* Flags */\n"
724 "    char      ac_version;   /* Always set to ACCT_VERSION (3) */\n"
725 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
726 "    u_int32_t ac_exitcode;  /* Process termination status */\n"
727 "    u_int32_t ac_uid;       /* Real user ID */\n"
728 "    u_int32_t ac_gid;       /* Real group ID */\n"
729 "    u_int32_t ac_pid;       /* Process ID */\n"
730 "    u_int32_t ac_ppid;      /* Parent process ID */\n"
731 "    u_int32_t ac_btime;     /* Process creation time */\n"
732 "    float     ac_etime;     /* Elapsed time */\n"
733 "    comp_t    ac_utime;     /* User CPU time */\n"
734 "    comp_t    ac_stime;     /* System time */\n"
735 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
736 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
737 "    comp_t    ac_rw;        /* Blocks read or written\n"
738 "                               (unused) */\n"
739 "    comp_t    ac_minflt;    /* Minor page faults */\n"
740 "    comp_t    ac_majflt;    /* Major page faults */\n"
741 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
742 "    char      ac_comm[ACCT_COMM]; /* Command name */\n"
743 "};\n"
744 msgstr ""
745 "struct acct_v3 {\n"
746 "    char      ac_flag;      /* Flags */\n"
747 "    char      ac_version;   /* Always set to ACCT_VERSION (3) */\n"
748 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
749 "    u_int32_t ac_exitcode;  /* Process termination status */\n"
750 "    u_int32_t ac_uid;       /* Real user ID */\n"
751 "    u_int32_t ac_gid;       /* Real group ID */\n"
752 "    u_int32_t ac_pid;       /* Process ID */\n"
753 "    u_int32_t ac_ppid;      /* Parent process ID */\n"
754 "    u_int32_t ac_btime;     /* Process creation time */\n"
755 "    float     ac_etime;     /* Elapsed time */\n"
756 "    comp_t    ac_utime;     /* User CPU time */\n"
757 "    comp_t    ac_stime;     /* System time */\n"
758 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
759 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
760 "    comp_t    ac_rw;        /* Blocks read or written\n"
761 "                               (unused) */\n"
762 "    comp_t    ac_minflt;    /* Minor page faults */\n"
763 "    comp_t    ac_majflt;    /* Major page faults */\n"
764 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
765 "    char      ac_comm[ACCT_COMM]; /* Command name */\n"
766 "};\n"
767
768 #. type: SH
769 #: build/C/man5/acct.5:149 build/C/man7/cpuset.7:1338
770 #: build/C/man2/getresuid.2:60 build/C/man2/getrlimit.2:468
771 #: build/C/man2/getsid.2:75 build/C/man2/ioprio_set.2:193
772 #: build/C/man2/setfsgid.2:71 build/C/man2/setfsuid.2:71
773 #: build/C/man2/setresuid.2:81
774 #, no-wrap
775 msgid "VERSIONS"
776 msgstr "バージョン"
777
778 #. type: Plain text
779 #: build/C/man5/acct.5:153
780 msgid "The I<acct_v3> structure is defined in glibc since version 2.6."
781 msgstr "I<acct_v3> 構造体はバージョン 2.6 以降の glibc で定義されている。"
782
783 #. type: Plain text
784 #: build/C/man5/acct.5:157
785 msgid ""
786 "Process accounting originated on BSD.  Although it is present on most "
787 "systems, it is not standardized, and the details vary somewhat between "
788 "systems."
789 msgstr ""
790 "プロセスアカウンティングは BSD 由来である。 この機能はほとんどのシステムに存"
791 "在するが、標準化されておらず、 その詳細はシステムによりいくらか異なる。"
792
793 #. type: Plain text
794 #: build/C/man5/acct.5:160
795 msgid ""
796 "Records in the accounting file are ordered by termination time of the "
797 "process."
798 msgstr "アカウンティングファイルのレコードは、プロセスの終了時刻の順序となる。"
799
800 #. type: Plain text
801 #: build/C/man5/acct.5:167
802 msgid ""
803 "In kernels up to and including 2.6.9, a separate accounting record is "
804 "written for each thread created using the NPTL threading library; since "
805 "Linux 2.6.10, a single accounting record is written for the entire process "
806 "on termination of the last thread in the process."
807 msgstr ""
808 "バージョン 2.6.9 以前のカーネルでは、 NPTL スレッドライブラリを使って作成され"
809 "たスレッドでは スレッド毎に別々のアカウンティングレコードが書き込まれてい"
810 "た。 Linux 2.6.10 以降では、プロセス内の最後のスレッドが終了すると、 プロセス"
811 "全体についてのアカウンティングレコードが一つだけ書き込まれる。"
812
813 #. type: Plain text
814 #: build/C/man5/acct.5:174
815 msgid ""
816 "The I<proc/sys/kernel/acct> file, described in B<proc>(5), defines settings "
817 "that control the behavior of process accounting when disk space runs low."
818 msgstr ""
819 "I<proc/sys/kernel/acct> ファイル (B<proc>(5)  で説明されている) は、ディスク"
820 "容量の残りが少なくなった際の プロセス・アカウンティングの動作を制御する設定を"
821 "保持している。"
822
823 #. type: Plain text
824 #: build/C/man5/acct.5:179
825 msgid "B<lastcomm>(1), B<acct>(2), B<accton>(8), B<sa>(8)"
826 msgstr "B<lastcomm>(1), B<acct>(2), B<accton>(8), B<sa>(8)"
827
828 #. type: TH
829 #: build/C/man7/capabilities.7:48
830 #, no-wrap
831 msgid "CAPABILITIES"
832 msgstr "CAPABILITIES"
833
834 #. type: TH
835 #: build/C/man7/capabilities.7:48
836 #, no-wrap
837 msgid "2013-07-21"
838 msgstr "2013-07-21"
839
840 #. type: Plain text
841 #: build/C/man7/capabilities.7:51
842 msgid "capabilities - overview of Linux capabilities"
843 msgstr "capabilities - Linux のケーパビリティ (capability) の概要"
844
845 #. type: Plain text
846 #: build/C/man7/capabilities.7:63
847 msgid ""
848 "For the purpose of performing permission checks, traditional UNIX "
849 "implementations distinguish two categories of processes: I<privileged> "
850 "processes (whose effective user ID is 0, referred to as superuser or root), "
851 "and I<unprivileged> processes (whose effective UID is nonzero).  Privileged "
852 "processes bypass all kernel permission checks, while unprivileged processes "
853 "are subject to full permission checking based on the process's credentials "
854 "(usually: effective UID, effective GID, and supplementary group list)."
855 msgstr ""
856 "権限のチェックを行う観点から見ると、伝統的な UNIX の実装では プロセスは二つの"
857 "カテゴリに分類できる: I<特権> プロセス (実効ユーザID が 0 のプロセス。ユーザ"
858 "ID 0 は スーパーユーザや root と呼ばれる) と I<非特権> プロセス (実効ユーザ"
859 "ID が 0 以外のプロセス) である。 非特権プロセスでは、プロセスの資格情報 (通常"
860 "は、実効UID 、実効GID と追加のグループリスト) に基づく権限チェックが行われる"
861 "のに対し、 特権プロセスでは全てのカーネルの権限チェックがバイパスされる。"
862
863 #. type: Plain text
864 #: build/C/man7/capabilities.7:70
865 msgid ""
866 "Starting with kernel 2.2, Linux divides the privileges traditionally "
867 "associated with superuser into distinct units, known as I<capabilities>, "
868 "which can be independently enabled and disabled.  Capabilities are a per-"
869 "thread attribute."
870 msgstr ""
871 "バージョン 2.2 以降の Linux では、 これまでスーパーユーザに結び付けられてきた"
872 "権限を、 いくつかのグループに分割している。これらのグループは I<ケーパビリ"
873 "ティ>(capability)  と呼ばれ、グループ毎に独立に有効、無効を設定できる。 ケー"
874 "パビリティはスレッド単位の属性である。"
875
876 #. type: SS
877 #: build/C/man7/capabilities.7:70
878 #, no-wrap
879 msgid "Capabilities list"
880 msgstr "ケーパビリティのリスト"
881
882 #. type: Plain text
883 #: build/C/man7/capabilities.7:73
884 msgid ""
885 "The following list shows the capabilities implemented on Linux, and the "
886 "operations or behaviors that each capability permits:"
887 msgstr ""
888 "以下のリストは、 Linux で実装されているケーパビリティと 各ケーパビリティが許"
889 "可する操作と動作をまとめたものである。"
890
891 #. type: TP
892 #: build/C/man7/capabilities.7:73
893 #, no-wrap
894 msgid "B<CAP_AUDIT_CONTROL> (since Linux 2.6.11)"
895 msgstr "B<CAP_AUDIT_CONTROL> (Linux 2.6.11 以降)"
896
897 #. type: Plain text
898 #: build/C/man7/capabilities.7:77
899 msgid ""
900 "Enable and disable kernel auditing; change auditing filter rules; retrieve "
901 "auditing status and filtering rules."
902 msgstr ""
903 "カーネル監査 (audit) の有効無効の切り替え、 監査のフィルタルールの変更、 監査"
904 "の状況やフィルタルールの取得ができる。"
905
906 #. type: TP
907 #: build/C/man7/capabilities.7:77
908 #, no-wrap
909 msgid "B<CAP_AUDIT_WRITE> (since Linux 2.6.11)"
910 msgstr "B<CAP_AUDIT_WRITE> (Linux 2.6.11 以降)"
911
912 #. type: Plain text
913 #: build/C/man7/capabilities.7:80
914 msgid "Write records to kernel auditing log."
915 msgstr "カーネル監査のログにレコードを書き込む。"
916
917 #. type: TP
918 #: build/C/man7/capabilities.7:80
919 #, no-wrap
920 msgid "B<CAP_BLOCK_SUSPEND> (since Linux 3.5)"
921 msgstr "B<CAP_BLOCK_SUSPEND> (Linux 3.5 以降)"
922
923 #. type: Plain text
924 #: build/C/man7/capabilities.7:86
925 msgid ""
926 "Employ features that can block system suspend (B<epoll>(7)  B<EPOLLWAKEUP>, "
927 "I</proc/sys/wake_lock>)."
928 msgstr ""
929 "システムのサスペンドをブロックできる機能を使用する (B<epoll>(7)  "
930 "B<EPOLLWAKEUP>, I</proc/sys/wake_lock>)。"
931
932 #. type: TP
933 #: build/C/man7/capabilities.7:86
934 #, no-wrap
935 msgid "B<CAP_CHOWN>"
936 msgstr "B<CAP_CHOWN>"
937
938 #. type: Plain text
939 #: build/C/man7/capabilities.7:90
940 msgid "Make arbitrary changes to file UIDs and GIDs (see B<chown>(2))."
941 msgstr "ファイルの UID とGID を任意に変更する (B<chown>(2)  参照)。"
942
943 #. type: TP
944 #: build/C/man7/capabilities.7:90
945 #, no-wrap
946 msgid "B<CAP_DAC_OVERRIDE>"
947 msgstr "B<CAP_DAC_OVERRIDE>"
948
949 #. type: Plain text
950 #: build/C/man7/capabilities.7:94
951 msgid ""
952 "Bypass file read, write, and execute permission checks.  (DAC is an "
953 "abbreviation of \"discretionary access control\".)"
954 msgstr ""
955 "ファイルの読み出し、書き込み、実行の権限チェックをバイパスする (DAC は "
956 "\"discretionary access control (任意のアクセス制御)\" の略である)。"
957
958 #. type: TP
959 #: build/C/man7/capabilities.7:94
960 #, no-wrap
961 msgid "B<CAP_DAC_READ_SEARCH>"
962 msgstr "B<CAP_DAC_READ_SEARCH>"
963
964 #. type: IP
965 #: build/C/man7/capabilities.7:98 build/C/man7/capabilities.7:101
966 #: build/C/man7/capabilities.7:111 build/C/man7/capabilities.7:121
967 #: build/C/man7/capabilities.7:125 build/C/man7/capabilities.7:127
968 #: build/C/man7/capabilities.7:129 build/C/man7/capabilities.7:199
969 #: build/C/man7/capabilities.7:201 build/C/man7/capabilities.7:203
970 #: build/C/man7/capabilities.7:205 build/C/man7/capabilities.7:207
971 #: build/C/man7/capabilities.7:209 build/C/man7/capabilities.7:211
972 #: build/C/man7/capabilities.7:213 build/C/man7/capabilities.7:215
973 #: build/C/man7/capabilities.7:239 build/C/man7/capabilities.7:241
974 #: build/C/man7/capabilities.7:287 build/C/man7/capabilities.7:297
975 #: build/C/man7/capabilities.7:303 build/C/man7/capabilities.7:308
976 #: build/C/man7/capabilities.7:314 build/C/man7/capabilities.7:321
977 #: build/C/man7/capabilities.7:324 build/C/man7/capabilities.7:332
978 #: build/C/man7/capabilities.7:334 build/C/man7/capabilities.7:343
979 #: build/C/man7/capabilities.7:350 build/C/man7/capabilities.7:353
980 #: build/C/man7/capabilities.7:357 build/C/man7/capabilities.7:360
981 #: build/C/man7/capabilities.7:363 build/C/man7/capabilities.7:370
982 #: build/C/man7/capabilities.7:375 build/C/man7/capabilities.7:381
983 #: build/C/man7/capabilities.7:385 build/C/man7/capabilities.7:389
984 #: build/C/man7/capabilities.7:393 build/C/man7/capabilities.7:397
985 #: build/C/man7/capabilities.7:424 build/C/man7/capabilities.7:429
986 #: build/C/man7/capabilities.7:434 build/C/man7/capabilities.7:437
987 #: build/C/man7/capabilities.7:440 build/C/man7/capabilities.7:449
988 #: build/C/man7/capabilities.7:453 build/C/man7/capabilities.7:479
989 #: build/C/man7/capabilities.7:484 build/C/man7/capabilities.7:487
990 #: build/C/man7/capabilities.7:492 build/C/man7/capabilities.7:495
991 #: build/C/man7/capabilities.7:498 build/C/man7/capabilities.7:501
992 #: build/C/man7/capabilities.7:504 build/C/man7/capabilities.7:509
993 #: build/C/man7/capabilities.7:511 build/C/man7/capabilities.7:517
994 #: build/C/man7/capabilities.7:525 build/C/man7/capabilities.7:527
995 #: build/C/man7/capabilities.7:531 build/C/man7/capabilities.7:533
996 #: build/C/man7/capabilities.7:536 build/C/man7/capabilities.7:540
997 #: build/C/man7/capabilities.7:542 build/C/man7/capabilities.7:544
998 #: build/C/man7/capabilities.7:546 build/C/man7/capabilities.7:555
999 #: build/C/man7/capabilities.7:562 build/C/man7/capabilities.7:567
1000 #: build/C/man7/capabilities.7:572 build/C/man7/capabilities.7:577
1001 #: build/C/man7/capabilities.7:600 build/C/man7/capabilities.7:607
1002 #: build/C/man7/capabilities.7:806 build/C/man7/capabilities.7:814
1003 #: build/C/man7/capabilities.7:1130 build/C/man7/capabilities.7:1135
1004 #: build/C/man7/cpuset.7:540 build/C/man7/cpuset.7:545
1005 #: build/C/man7/cpuset.7:550 build/C/man7/cpuset.7:726
1006 #: build/C/man7/cpuset.7:730 build/C/man7/cpuset.7:927
1007 #: build/C/man7/cpuset.7:930 build/C/man7/cpuset.7:934
1008 #: build/C/man7/cpuset.7:938 build/C/man7/cpuset.7:942
1009 #: build/C/man7/credentials.7:125 build/C/man7/credentials.7:131
1010 #: build/C/man7/credentials.7:143 build/C/man7/credentials.7:165
1011 #: build/C/man7/credentials.7:182 build/C/man7/credentials.7:214
1012 #: build/C/man7/credentials.7:217 build/C/man7/credentials.7:227
1013 #: build/C/man7/credentials.7:230
1014 #, no-wrap
1015 msgid "*"
1016 msgstr "*"
1017
1018 #. type: Plain text
1019 #: build/C/man7/capabilities.7:101
1020 msgid ""
1021 "Bypass file read permission checks and directory read and execute permission "
1022 "checks;"
1023 msgstr ""
1024 "ファイルの読み出し権限のチェックとディレクトリの読み出しと実行 の権限チェック"
1025 "をバイパスする。"
1026
1027 #. type: Plain text
1028 #: build/C/man7/capabilities.7:104
1029 msgid "Invoke B<open_by_handle_at>(2)."
1030 msgstr "B<open_by_handle_at>(2) を起動する。"
1031
1032 #. type: TP
1033 #: build/C/man7/capabilities.7:107
1034 #, no-wrap
1035 msgid "B<CAP_FOWNER>"
1036 msgstr "B<CAP_FOWNER>"
1037
1038 #. type: Plain text
1039 #: build/C/man7/capabilities.7:121
1040 #, fuzzy
1041 #| msgid ""
1042 #| "Bypass permission checks on operations that normally require the file "
1043 #| "system UID of the process to match the UID of the file (e.g., B<chmod>"
1044 #| "(2), B<utime>(2)), excluding those operations covered by "
1045 #| "B<CAP_DAC_OVERRIDE> and B<CAP_DAC_READ_SEARCH>;"
1046 msgid ""
1047 "Bypass permission checks on operations that normally require the filesystem "
1048 "UID of the process to match the UID of the file (e.g., B<chmod>(2), B<utime>"
1049 "(2)), excluding those operations covered by B<CAP_DAC_OVERRIDE> and "
1050 "B<CAP_DAC_READ_SEARCH>;"
1051 msgstr ""
1052 "通常、プロセスのファイルシステム UID がファイルの UID に一致することが 要求さ"
1053 "れる操作 (例えば B<chmod>(2), B<utime>(2))  における権限チェックをバイパスす"
1054 "る。 但し、 B<CAP_DAC_OVERRIDE> か B<CAP_DAC_READ_SEARCH> によりチェックが行"
1055 "われる操作は除く。"
1056
1057 #. type: Plain text
1058 #: build/C/man7/capabilities.7:125
1059 msgid "set extended file attributes (see B<chattr>(1))  on arbitrary files;"
1060 msgstr ""
1061 "任意のファイルに対して拡張ファイル属性を設定する (B<chattr>(1)  参照)。"
1062
1063 #. type: Plain text
1064 #: build/C/man7/capabilities.7:127
1065 msgid "set Access Control Lists (ACLs) on arbitrary files;"
1066 msgstr "任意のファイルに対してアクセス制御リスト (ACL) を設定する。"
1067
1068 #. type: Plain text
1069 #: build/C/man7/capabilities.7:129
1070 msgid "ignore directory sticky bit on file deletion;"
1071 msgstr "ファイルの削除の際にディレクトリのスティッキービットを無視する。"
1072
1073 #. type: Plain text
1074 #: build/C/man7/capabilities.7:136
1075 msgid ""
1076 "specify B<O_NOATIME> for arbitrary files in B<open>(2)  and B<fcntl>(2)."
1077 msgstr ""
1078 "B<open>(2)  や B<fcntl>(2)  で任意のファイルに対して B<O_NOATIME> を指定す"
1079 "る。"
1080
1081 #. type: TP
1082 #: build/C/man7/capabilities.7:138
1083 #, no-wrap
1084 msgid "B<CAP_FSETID>"
1085 msgstr "B<CAP_FSETID>"
1086
1087 #. type: Plain text
1088 #: build/C/man7/capabilities.7:144
1089 #, fuzzy
1090 #| msgid ""
1091 #| "Don't clear set-user-ID and set-group-ID permission bits when a file is "
1092 #| "modified; set the set-group-ID bit for a file whose GID does not match "
1093 #| "the file system or any of the supplementary GIDs of the calling process."
1094 msgid ""
1095 "Don't clear set-user-ID and set-group-ID permission bits when a file is "
1096 "modified; set the set-group-ID bit for a file whose GID does not match the "
1097 "filesystem or any of the supplementary GIDs of the calling process."
1098 msgstr ""
1099 "ファイルが変更されたときに set-user-ID とset-group-ID の許可ビットをクリア し"
1100 "ない。呼び出し元プロセスのファイルシステム GID と追加の GID のいずれとも GID "
1101 "が一致しないファイルに対して set-group-ID ビットを設定する。"
1102
1103 #. type: TP
1104 #: build/C/man7/capabilities.7:144
1105 #, no-wrap
1106 msgid "B<CAP_IPC_LOCK>"
1107 msgstr "B<CAP_IPC_LOCK>"
1108
1109 #.  FIXME As at Linux 3.2, there are some strange uses of this capability
1110 #.  in other places; they probably should be replaced with something else.
1111 #. type: Plain text
1112 #: build/C/man7/capabilities.7:153
1113 msgid "Lock memory (B<mlock>(2), B<mlockall>(2), B<mmap>(2), B<shmctl>(2))."
1114 msgstr ""
1115 "メモリーのロック (B<mlock>(2), B<mlockall>(2), B<mmap>(2), B<shmctl>(2))  を"
1116 "行う。"
1117
1118 #. type: TP
1119 #: build/C/man7/capabilities.7:153
1120 #, no-wrap
1121 msgid "B<CAP_IPC_OWNER>"
1122 msgstr "B<CAP_IPC_OWNER>"
1123
1124 #. type: Plain text
1125 #: build/C/man7/capabilities.7:156
1126 msgid "Bypass permission checks for operations on System V IPC objects."
1127 msgstr ""
1128 "System V IPC オブジェクトに対する操作に関して権限チェックをバイパスする。"
1129
1130 #. type: TP
1131 #: build/C/man7/capabilities.7:156
1132 #, no-wrap
1133 msgid "B<CAP_KILL>"
1134 msgstr "B<CAP_KILL>"
1135
1136 #.  FIXME CAP_KILL also has an effect for threads + setting child
1137 #.        termination signal to other than SIGCHLD: without this
1138 #.        capability, the termination signal reverts to SIGCHLD
1139 #.        if the child does an exec().  What is the rationale
1140 #.        for this?
1141 #. type: Plain text
1142 #: build/C/man7/capabilities.7:169
1143 msgid ""
1144 "Bypass permission checks for sending signals (see B<kill>(2)).  This "
1145 "includes use of the B<ioctl>(2)  B<KDSIGACCEPT> operation."
1146 msgstr ""
1147 "シグナルを送信する際に権限チェックをバイパスする (B<kill>(2)  参照)。これに"
1148 "は B<ioctl>(2)  の B<KDSIGACCEPT> 操作の使用も含まれる。"
1149
1150 #. type: TP
1151 #: build/C/man7/capabilities.7:169
1152 #, no-wrap
1153 msgid "B<CAP_LEASE> (since Linux 2.4)"
1154 msgstr "B<CAP_LEASE> (Linux 2.4 以降)"
1155
1156 #. type: Plain text
1157 #: build/C/man7/capabilities.7:173
1158 msgid "Establish leases on arbitrary files (see B<fcntl>(2))."
1159 msgstr "任意のファイルに対して ファイルリースを設定する (B<fcntl>(2)  参照)。"
1160
1161 #. type: TP
1162 #: build/C/man7/capabilities.7:173
1163 #, no-wrap
1164 msgid "B<CAP_LINUX_IMMUTABLE>"
1165 msgstr "B<CAP_LINUX_IMMUTABLE>"
1166
1167 #.  These attributes are now available on ext2, ext3, Reiserfs, XFS, JFS
1168 #. type: Plain text
1169 #: build/C/man7/capabilities.7:182
1170 msgid ""
1171 "Set the B<FS_APPEND_FL> and B<FS_IMMUTABLE_FL> i-node flags (see B<chattr>"
1172 "(1))."
1173 msgstr ""
1174 "拡張ファイル属性 B<FS_APPEND_FL> と B<FS_IMMUTABLE_FL> を設定する (B<chattr>"
1175 "(1)  参照)。"
1176
1177 #. type: TP
1178 #: build/C/man7/capabilities.7:182
1179 #, no-wrap
1180 msgid "B<CAP_MAC_ADMIN> (since Linux 2.6.25)"
1181 msgstr "B<CAP_MAC_ADMIN> (Linux 2.6.25 以降)"
1182
1183 #. type: Plain text
1184 #: build/C/man7/capabilities.7:186
1185 msgid ""
1186 "Override Mandatory Access Control (MAC).  Implemented for the Smack Linux "
1187 "Security Module (LSM)."
1188 msgstr ""
1189 "強制アクセス制御 (MAC) を上書きする。 Smack Linux Security Module (LSM) 用に"
1190 "実装されている。"
1191
1192 #. type: TP
1193 #: build/C/man7/capabilities.7:186
1194 #, no-wrap
1195 msgid "B<CAP_MAC_OVERRIDE> (since Linux 2.6.25)"
1196 msgstr "B<CAP_MAC_OVERRIDE> (Linux 2.6.25 以降)"
1197
1198 #. type: Plain text
1199 #: build/C/man7/capabilities.7:190
1200 msgid ""
1201 "Allow MAC configuration or state changes.  Implemented for the Smack LSM."
1202 msgstr "MAC の設定や状態を変更する。 Smack LSM 用に実装されている。"
1203
1204 #. type: TP
1205 #: build/C/man7/capabilities.7:190
1206 #, no-wrap
1207 msgid "B<CAP_MKNOD> (since Linux 2.4)"
1208 msgstr "B<CAP_MKNOD> (Linux 2.4 以降)"
1209
1210 #. type: Plain text
1211 #: build/C/man7/capabilities.7:194
1212 msgid "Create special files using B<mknod>(2)."
1213 msgstr ""
1214 "(Linux 2.4 以降)  B<mknod>(2)  を使用してスペシャルファイルを作成する。"
1215
1216 #. type: TP
1217 #: build/C/man7/capabilities.7:194
1218 #, no-wrap
1219 msgid "B<CAP_NET_ADMIN>"
1220 msgstr "B<CAP_NET_ADMIN>"
1221
1222 #. type: Plain text
1223 #: build/C/man7/capabilities.7:197
1224 msgid "Perform various network-related operations:"
1225 msgstr "各種のネットワーク関係の操作を実行する:"
1226
1227 #. type: Plain text
1228 #: build/C/man7/capabilities.7:201
1229 msgid "interface configuration;"
1230 msgstr "インターフェースの設定"
1231
1232 #. type: Plain text
1233 #: build/C/man7/capabilities.7:203
1234 msgid "administration of IP firewall, masquerading, and accounting;"
1235 msgstr "IP のファイアウォール、マスカレード、アカウンティング"
1236
1237 #. type: Plain text
1238 #: build/C/man7/capabilities.7:205
1239 msgid "modify routing tables;"
1240 msgstr "ルーティングテーブルの変更"
1241
1242 #. type: Plain text
1243 #: build/C/man7/capabilities.7:207
1244 msgid "bind to any address for transparent proxying;"
1245 msgstr "透過的プロキシでの任意のアドレスの割り当て (bind)"
1246
1247 #. type: Plain text
1248 #: build/C/man7/capabilities.7:209
1249 msgid "set type-of-service (TOS)"
1250 msgstr "サービス種別 (type-of-service; TOS) のセット"
1251
1252 #. type: Plain text
1253 #: build/C/man7/capabilities.7:211
1254 msgid "clear driver statistics;"
1255 msgstr "ドライバの統計情報のクリア"
1256
1257 #. type: Plain text
1258 #: build/C/man7/capabilities.7:213
1259 msgid "set promiscuous mode;"
1260 msgstr "promiscuous モードをセットする"
1261
1262 #. type: Plain text
1263 #: build/C/man7/capabilities.7:215
1264 msgid "enabling multicasting;"
1265 msgstr "マルチキャストを有効にする"
1266
1267 #. type: Plain text
1268 #: build/C/man7/capabilities.7:226
1269 msgid ""
1270 "use B<setsockopt>(2)  to set the following socket options: B<SO_DEBUG>, "
1271 "B<SO_MARK>, B<SO_PRIORITY> (for a priority outside the range 0 to 6), "
1272 "B<SO_RCVBUFFORCE>, and B<SO_SNDBUFFORCE>."
1273 msgstr ""
1274 "B<setsockopt>(2) を使って以下のソケットオプションを設定する:\n"
1275 "B<SO_DEBUG>, B<SO_MARK>, \n"
1276 "B<SO_PRIORITY> (優先度を 0 から 6 以外に設定する場合),\n"
1277 "B<SO_RCVBUFFORCE>, and B<SO_SNDBUFFORCE>"
1278
1279 #. type: TP
1280 #: build/C/man7/capabilities.7:228
1281 #, no-wrap
1282 msgid "B<CAP_NET_BIND_SERVICE>"
1283 msgstr "B<CAP_NET_BIND_SERVICE>"
1284
1285 #. type: Plain text
1286 #: build/C/man7/capabilities.7:232
1287 msgid ""
1288 "Bind a socket to Internet domain privileged ports (port numbers less than "
1289 "1024)."
1290 msgstr ""
1291 "インターネットドメインの特権ポート (ポート番号が 1024 番未満)  をバインドでき"
1292 "る。"
1293
1294 #. type: TP
1295 #: build/C/man7/capabilities.7:232
1296 #, no-wrap
1297 msgid "B<CAP_NET_BROADCAST>"
1298 msgstr "B<CAP_NET_BROADCAST>"
1299
1300 #. type: Plain text
1301 #: build/C/man7/capabilities.7:235
1302 msgid "(Unused)  Make socket broadcasts, and listen to multicasts."
1303 msgstr ""
1304 "(未使用) ソケットのブロードキャストと、マルチキャストの待ち受けを行う。"
1305
1306 #. type: TP
1307 #: build/C/man7/capabilities.7:235
1308 #, no-wrap
1309 msgid "B<CAP_NET_RAW>"
1310 msgstr "B<CAP_NET_RAW>"
1311
1312 #. type: Plain text
1313 #: build/C/man7/capabilities.7:241
1314 msgid "use RAW and PACKET sockets;"
1315 msgstr "RAW ソケットと PACKET ソケットを使用する。"
1316
1317 #. type: Plain text
1318 #: build/C/man7/capabilities.7:243
1319 msgid "bind to any address for transparent proxying."
1320 msgstr "透過的プロキシでの任意のアドレスの割り当て (bind)"
1321
1322 #. type: TP
1323 #: build/C/man7/capabilities.7:246
1324 #, no-wrap
1325 msgid "B<CAP_SETGID>"
1326 msgstr "B<CAP_SETGID>"
1327
1328 #. type: Plain text
1329 #: build/C/man7/capabilities.7:250
1330 msgid ""
1331 "Make arbitrary manipulations of process GIDs and supplementary GID list; "
1332 "forge GID when passing socket credentials via UNIX domain sockets."
1333 msgstr ""
1334 "プロセスの GID と追加の GID リストに対する任意の操作を行う。 UNIX ドメインソ"
1335 "ケット経由でソケットの資格情報 (credential) を渡す際に 偽の GID を渡すことが"
1336 "できる。"
1337
1338 #. type: TP
1339 #: build/C/man7/capabilities.7:250
1340 #, no-wrap
1341 msgid "B<CAP_SETFCAP> (since Linux 2.6.24)"
1342 msgstr "B<CAP_SETFCAP> (Linux 2.6.24 以降)"
1343
1344 #. type: Plain text
1345 #: build/C/man7/capabilities.7:253
1346 msgid "Set file capabilities."
1347 msgstr "ファイルケーパビリティを設定する。"
1348
1349 #. type: TP
1350 #: build/C/man7/capabilities.7:253
1351 #, no-wrap
1352 msgid "B<CAP_SETPCAP>"
1353 msgstr "B<CAP_SETPCAP>"
1354
1355 #. type: Plain text
1356 #: build/C/man7/capabilities.7:264
1357 msgid ""
1358 "If file capabilities are not supported: grant or remove any capability in "
1359 "the caller's permitted capability set to or from any other process.  (This "
1360 "property of B<CAP_SETPCAP> is not available when the kernel is configured to "
1361 "support file capabilities, since B<CAP_SETPCAP> has entirely different "
1362 "semantics for such kernels.)"
1363 msgstr ""
1364 "ファイルケーパビリティがサポートされていない場合: 呼び出し元が許可されている"
1365 "ケーパビリティセットに含まれる任意のケーパビリティを、 他のプロセスに付与した"
1366 "り、削除したりできる。 (カーネルがファイルケーパビリティをサポートしている場"
1367 "合、 B<CAP_SETPCAP> はこの役割を持たない。 なぜなら、ファイルケーパビリティを"
1368 "サポートしているカーネルでは B<CAP_SETPCAP> は全く別の意味を持つからである。)"
1369
1370 #. type: Plain text
1371 #: build/C/man7/capabilities.7:274
1372 msgid ""
1373 "If file capabilities are supported: add any capability from the calling "
1374 "thread's bounding set to its inheritable set; drop capabilities from the "
1375 "bounding set (via B<prctl>(2)  B<PR_CAPBSET_DROP>); make changes to the "
1376 "I<securebits> flags."
1377 msgstr ""
1378 "ファイルケーパビリティがサポートされている場合: 呼び出し元スレッドのバウン"
1379 "ディングセットの任意のケーパビリティを 自身の継承可能ケーパビリティセットに追"
1380 "加できる。 (B<prctl>(2)  B<PR_CAPBSET_DROP> を使って)  バウンディングセットか"
1381 "らケーパビリティを削除できる。 I<securebits> フラグを変更できる。"
1382
1383 #. type: TP
1384 #: build/C/man7/capabilities.7:274
1385 #, no-wrap
1386 msgid "B<CAP_SETUID>"
1387 msgstr "B<CAP_SETUID>"
1388
1389 #.  FIXME CAP_SETUID also an effect in exec(); document this.
1390 #. type: Plain text
1391 #: build/C/man7/capabilities.7:283
1392 msgid ""
1393 "Make arbitrary manipulations of process UIDs (B<setuid>(2), B<setreuid>(2), "
1394 "B<setresuid>(2), B<setfsuid>(2)); make forged UID when passing socket "
1395 "credentials via UNIX domain sockets."
1396 msgstr ""
1397 "プロセスの UID に対する任意の操作 (B<setuid>(2), B<setreuid>(2), B<setresuid>"
1398 "(2), B<setfsuid>(2))  を行う。 UNIX ドメインソケット経由でソケットの資格情報 "
1399 "(credential) を渡す際に 偽の UID を渡すことができる。"
1400
1401 #. type: TP
1402 #: build/C/man7/capabilities.7:283
1403 #, no-wrap
1404 msgid "B<CAP_SYS_ADMIN>"
1405 msgstr "B<CAP_SYS_ADMIN>"
1406
1407 #. type: Plain text
1408 #: build/C/man7/capabilities.7:297
1409 msgid ""
1410 "Perform a range of system administration operations including: B<quotactl>"
1411 "(2), B<mount>(2), B<umount>(2), B<swapon>(2), B<swapoff>(2), B<sethostname>"
1412 "(2), and B<setdomainname>(2);"
1413 msgstr ""
1414 "以下のシステム管理用の操作を実行する: B<quotactl>(2), B<mount>(2), B<umount>"
1415 "(2), B<swapon>(2), B<swapoff>(2), B<sethostname>(2), B<setdomainname>(2)."
1416
1417 #. type: Plain text
1418 #: build/C/man7/capabilities.7:303
1419 msgid ""
1420 "perform privileged B<syslog>(2)  operations (since Linux 2.6.37, "
1421 "B<CAP_SYSLOG> should be used to permit such operations);"
1422 msgstr ""
1423 "特権が必要な B<syslog>(2) の操作を実行する\n"
1424 "(Linux 2.6.37 以降では、このような操作を許可するには\n"
1425 "B<CAP_SYSLOG> を使うべきである)"
1426
1427 #. type: Plain text
1428 #: build/C/man7/capabilities.7:308
1429 msgid "perform B<VM86_REQUEST_IRQ> B<vm86>(2)  command;"
1430 msgstr "B<VM86_REQUEST_IRQ> B<vm86>(2) コマンドを実行する。"
1431
1432 #. type: Plain text
1433 #: build/C/man7/capabilities.7:314
1434 msgid ""
1435 "perform B<IPC_SET> and B<IPC_RMID> operations on arbitrary System V IPC "
1436 "objects;"
1437 msgstr ""
1438 "任意の System V IPC オブジェクトに対する B<IPC_SET> と B<IPC_RMID> 操作を実行"
1439 "する。"
1440
1441 #. type: Plain text
1442 #: build/C/man7/capabilities.7:321
1443 msgid ""
1444 "perform operations on I<trusted> and I<security> Extended Attributes (see "
1445 "B<attr>(5));"
1446 msgstr ""
1447 "拡張属性 I<trusted> と I<security> に対する操作を実行する (B<attr>(5)  参"
1448 "照)。"
1449
1450 #. type: Plain text
1451 #: build/C/man7/capabilities.7:324
1452 msgid "use B<lookup_dcookie>(2);"
1453 msgstr "B<lookup_dcookie>(2)  を呼び出す。"
1454
1455 #. type: Plain text
1456 #: build/C/man7/capabilities.7:332
1457 msgid ""
1458 "use B<ioprio_set>(2)  to assign B<IOPRIO_CLASS_RT> and (before Linux "
1459 "2.6.25)  B<IOPRIO_CLASS_IDLE> I/O scheduling classes;"
1460 msgstr ""
1461 "B<ioprio_set>(2)  を使って I/O スケジューリングクラス B<IOPRIO_CLASS_RT>, "
1462 "B<IOPRIO_CLASS_IDLE> を割り当てる (B<IOPRIO_CLASS_IDLE> は Linux 2.6.25 より"
1463 "前のバージョンのみ)。"
1464
1465 #. type: Plain text
1466 #: build/C/man7/capabilities.7:334
1467 msgid "forge UID when passing socket credentials;"
1468 msgstr "ソケットの資格情報 (credential) を渡す際に偽の UID を渡す。"
1469
1470 #. type: Plain text
1471 #: build/C/man7/capabilities.7:343
1472 msgid ""
1473 "exceed I</proc/sys/fs/file-max>, the system-wide limit on the number of open "
1474 "files, in system calls that open files (e.g., B<accept>(2), B<execve>(2), "
1475 "B<open>(2), B<pipe>(2));"
1476 msgstr ""
1477 "ファイルをオープンするシステムコール (例えば B<accept>(2), B<execve>(2), "
1478 "B<open>(2), B<pipe>(2))  でシステム全体でオープンできるファイル数の上限 I</"
1479 "proc/sys/fs/file-max> を超過する。"
1480
1481 #. type: Plain text
1482 #: build/C/man7/capabilities.7:350
1483 msgid ""
1484 "employ B<CLONE_*> flags that create new namespaces with B<clone>(2)  and "
1485 "B<unshare>(2);"
1486 msgstr ""
1487 "B<clone>(2) と B<unshare>(2) で新しい名前空間を作成する B<CLONE_*> \n"
1488 "フラグを利用する。"
1489
1490 #. type: Plain text
1491 #: build/C/man7/capabilities.7:353
1492 msgid "call B<perf_event_open>(2);"
1493 msgstr "B<perf_event_open>(2) を呼び出す。"
1494
1495 #. type: Plain text
1496 #: build/C/man7/capabilities.7:357
1497 msgid "access privileged I<perf> event information;"
1498 msgstr "特権が必要な I<perf> イベントの情報にアクセスする。"
1499
1500 #. type: Plain text
1501 #: build/C/man7/capabilities.7:360
1502 msgid "call B<setns>(2);"
1503 msgstr "B<setns>(2) を呼び出す。"
1504
1505 #. type: Plain text
1506 #: build/C/man7/capabilities.7:363
1507 msgid "call B<fanotify_init>(2);"
1508 msgstr "B<fanotify_init>(2) を呼び出す。"
1509
1510 #. type: Plain text
1511 #: build/C/man7/capabilities.7:370
1512 msgid "perform B<KEYCTL_CHOWN> and B<KEYCTL_SETPERM> B<keyctl>(2)  operations;"
1513 msgstr "B<keyctl>(2)  の B<KEYCTL_CHOWN> と B<KEYCTL_SETPERM> 操作を実行する。"
1514
1515 #. type: Plain text
1516 #: build/C/man7/capabilities.7:375
1517 msgid "perform B<madvise>(2)  B<MADV_HWPOISON> operation;"
1518 msgstr "B<madvise>(2)  の B<MADV_HWPOISON> 操作を実行する。"
1519
1520 #. type: Plain text
1521 #: build/C/man7/capabilities.7:381
1522 msgid ""
1523 "employ the B<TIOCSTI> B<ioctl>(2)  to insert characters into the input queue "
1524 "of a terminal other than the caller's controlling terminal."
1525 msgstr ""
1526 "B<TIOCSTI> B<ioctl>(2) を使って、\n"
1527 "呼び出し元の制御端末以外の端末の入力キューに文字を挿入する。"
1528
1529 #. type: Plain text
1530 #: build/C/man7/capabilities.7:385
1531 msgid "employ the obsolete B<nfsservctl>(2)  system call;"
1532 msgstr "廃止予定の B<nfsservctl>(2) システムコールを使用する。"
1533
1534 #. type: Plain text
1535 #: build/C/man7/capabilities.7:389
1536 msgid "employ the obsolete B<bdflush>(2)  system call;"
1537 msgstr "廃止予定の B<bdflush>(2) システムコールを使用する。"
1538
1539 #. type: Plain text
1540 #: build/C/man7/capabilities.7:393
1541 msgid "perform various privileged block-device B<ioctl>(2)  operations;"
1542 msgstr ""
1543 "特権が必要なブロックデバイスに対する各種の B<ioctl>(2) 操作を\n"
1544 "実行する。"
1545
1546 #. type: Plain text
1547 #: build/C/man7/capabilities.7:397
1548 #, fuzzy
1549 #| msgid "perform various privileged file-system B<ioctl>(2)  operations;"
1550 msgid "perform various privileged filesystem B<ioctl>(2)  operations;"
1551 msgstr ""
1552 "特権が必要なファイルシステムに対する各種の B<ioctl>(2) 操作を\n"
1553 "実行する。"
1554
1555 #. type: Plain text
1556 #: build/C/man7/capabilities.7:399
1557 msgid "perform administrative operations on many device drivers."
1558 msgstr "多くのデバイスドライバに対する管理命令を実行する。"
1559
1560 #. type: TP
1561 #: build/C/man7/capabilities.7:401
1562 #, no-wrap
1563 msgid "B<CAP_SYS_BOOT>"
1564 msgstr "B<CAP_SYS_BOOT>"
1565
1566 #. type: Plain text
1567 #: build/C/man7/capabilities.7:407
1568 msgid "Use B<reboot>(2)  and B<kexec_load>(2)."
1569 msgstr "B<reboot>(2)  と B<kexec_load>(2)  を呼び出す。"
1570
1571 #. type: TP
1572 #: build/C/man7/capabilities.7:407
1573 #, no-wrap
1574 msgid "B<CAP_SYS_CHROOT>"
1575 msgstr "B<CAP_SYS_CHROOT>"
1576
1577 #. type: Plain text
1578 #: build/C/man7/capabilities.7:411
1579 msgid "Use B<chroot>(2)."
1580 msgstr "B<chroot>(2).  を呼び出す。"
1581
1582 #. type: TP
1583 #: build/C/man7/capabilities.7:411
1584 #, no-wrap
1585 msgid "B<CAP_SYS_MODULE>"
1586 msgstr "B<CAP_SYS_MODULE>"
1587
1588 #. type: Plain text
1589 #: build/C/man7/capabilities.7:420
1590 msgid ""
1591 "Load and unload kernel modules (see B<init_module>(2)  and B<delete_module>"
1592 "(2)); in kernels before 2.6.25: drop capabilities from the system-wide "
1593 "capability bounding set."
1594 msgstr ""
1595 "カーネルモジュールのロード、アンロードを行う (B<init_module>(2)  と "
1596 "B<delete_module>(2)  を参照のこと)。 バージョン 2.6.25 より前のカーネルで、 "
1597 "システム全体のケーパビリティバウンディングセット (capability bounding set)  "
1598 "からケーパビリティを外す。"
1599
1600 #. type: TP
1601 #: build/C/man7/capabilities.7:420
1602 #, no-wrap
1603 msgid "B<CAP_SYS_NICE>"
1604 msgstr "B<CAP_SYS_NICE>"
1605
1606 #. type: Plain text
1607 #: build/C/man7/capabilities.7:429
1608 msgid ""
1609 "Raise process nice value (B<nice>(2), B<setpriority>(2))  and change the "
1610 "nice value for arbitrary processes;"
1611 msgstr ""
1612 "プロセスの nice 値の引き上げ (B<nice>(2), B<setpriority>(2))  や、任意のプロ"
1613 "セスの nice 値の変更を行う。"
1614
1615 #. type: Plain text
1616 #: build/C/man7/capabilities.7:434
1617 msgid ""
1618 "set real-time scheduling policies for calling process, and set scheduling "
1619 "policies and priorities for arbitrary processes (B<sched_setscheduler>(2), "
1620 "B<sched_setparam>(2));"
1621 msgstr ""
1622 "呼び出し元プロセスに対するリアルタイムスケジューリングポリシーと、 任意のプロ"
1623 "セスに対するスケジューリングポリシーと優先度を設定する (B<sched_setscheduler>"
1624 "(2), B<sched_setparam>(2))。"
1625
1626 #. type: Plain text
1627 #: build/C/man7/capabilities.7:437
1628 msgid "set CPU affinity for arbitrary processes (B<sched_setaffinity>(2));"
1629 msgstr ""
1630 "任意のプロセスに対する CPU affinity を設定できる (B<sched_setaffinity>(2))。"
1631
1632 #. type: Plain text
1633 #: build/C/man7/capabilities.7:440
1634 msgid ""
1635 "set I/O scheduling class and priority for arbitrary processes (B<ioprio_set>"
1636 "(2));"
1637 msgstr ""
1638 "任意のプロセスに対して I/O スケジューリングクラスと優先度を設定できる "
1639 "(B<ioprio_set>(2))。"
1640
1641 #.  FIXME CAP_SYS_NICE also has the following effect for
1642 #.  migrate_pages(2):
1643 #.      do_migrate_pages(mm, &old, &new,
1644 #.          capable(CAP_SYS_NICE) ? MPOL_MF_MOVE_ALL : MPOL_MF_MOVE);
1645 #. type: Plain text
1646 #: build/C/man7/capabilities.7:449
1647 msgid ""
1648 "apply B<migrate_pages>(2)  to arbitrary processes and allow processes to be "
1649 "migrated to arbitrary nodes;"
1650 msgstr ""
1651 "B<migrate_pages>(2)  を任意のプロセスに適用し、プロセスを任意のノードに移動す"
1652 "る。"
1653
1654 #. type: Plain text
1655 #: build/C/man7/capabilities.7:453
1656 msgid "apply B<move_pages>(2)  to arbitrary processes;"
1657 msgstr "B<move_pages>(2)  を任意のプロセスに対して行う。"
1658
1659 #. type: Plain text
1660 #: build/C/man7/capabilities.7:460
1661 msgid ""
1662 "use the B<MPOL_MF_MOVE_ALL> flag with B<mbind>(2)  and B<move_pages>(2)."
1663 msgstr ""
1664 "B<mbind>(2)  と B<move_pages>(2)  で B<MPOL_MF_MOVE_ALL> フラグを使用する。"
1665
1666 #. type: TP
1667 #: build/C/man7/capabilities.7:462
1668 #, no-wrap
1669 msgid "B<CAP_SYS_PACCT>"
1670 msgstr "B<CAP_SYS_PACCT>"
1671
1672 #. type: Plain text
1673 #: build/C/man7/capabilities.7:466
1674 msgid "Use B<acct>(2)."
1675 msgstr "B<acct>(2)  を呼び出す。"
1676
1677 #. type: TP
1678 #: build/C/man7/capabilities.7:466
1679 #, no-wrap
1680 msgid "B<CAP_SYS_PTRACE>"
1681 msgstr "B<CAP_SYS_PTRACE>"
1682
1683 #. type: Plain text
1684 #: build/C/man7/capabilities.7:475
1685 msgid ""
1686 "Trace arbitrary processes using B<ptrace>(2); apply B<get_robust_list>(2)  "
1687 "to arbitrary processes; inspect processes using B<kcmp>(2)."
1688 msgstr ""
1689 "B<ptrace>(2)  を使って任意のプロセスをトレースする。 任意のプロセスに "
1690 "B<get_robust_list>(2)  を適用する。 B<kcmp>(2) を使ってプロセス内部を調査す"
1691 "る。"
1692
1693 #. type: TP
1694 #: build/C/man7/capabilities.7:475
1695 #, no-wrap
1696 msgid "B<CAP_SYS_RAWIO>"
1697 msgstr "B<CAP_SYS_RAWIO>"
1698
1699 #. type: Plain text
1700 #: build/C/man7/capabilities.7:484
1701 msgid "Perform I/O port operations (B<iopl>(2)  and B<ioperm>(2));"
1702 msgstr "I/O ポート操作を実行する (B<iopl>(2)、 B<ioperm>(2))。"
1703
1704 #. type: Plain text
1705 #: build/C/man7/capabilities.7:487
1706 msgid "access I</proc/kcore>;"
1707 msgstr "I</proc/kcore> にアクセスする。"
1708
1709 #. type: Plain text
1710 #: build/C/man7/capabilities.7:492
1711 msgid "employ the B<FIBMAP> B<ioctl>(2)  operation;"
1712 msgstr "B<FIBMAP> B<ioctl>(2) 操作を使用する。"
1713
1714 #. type: Plain text
1715 #: build/C/man7/capabilities.7:495
1716 msgid ""
1717 "open devices for accessing x86 model-specific registers (MSRs, see B<msr>(4))"
1718 msgstr ""
1719 "x86 モデルに固有のレジスタ (MSR レジスタ群、 B<msr>(4) 参照) にアクセスするた"
1720 "めのデバイスをオープンする。"
1721
1722 #. type: Plain text
1723 #: build/C/man7/capabilities.7:498
1724 msgid "update I</proc/sys/vm/mmap_min_addr>;"
1725 msgstr "I</proc/sys/vm/mmap_min_addr> を更新する。"
1726
1727 #. type: Plain text
1728 #: build/C/man7/capabilities.7:501
1729 msgid ""
1730 "create memory mappings at addresses below the value specified by I</proc/sys/"
1731 "vm/mmap_min_addr>;"
1732 msgstr ""
1733 "I</proc/sys/vm/mmap_min_addr> で指定された値よりも小さなアドレスにメモリマッ"
1734 "ピングを作成する。"
1735
1736 #. type: Plain text
1737 #: build/C/man7/capabilities.7:504
1738 msgid "map files in I</proc/bus/pci>;"
1739 msgstr "I</proc/bus/pci> にあるファイルをマップする。"
1740
1741 #. type: Plain text
1742 #: build/C/man7/capabilities.7:509
1743 msgid "open I</dev/mem> and I</dev/kmem>;"
1744 msgstr "I</dev/mem> や I</dev/kmem> をオープンする。"
1745
1746 #. type: Plain text
1747 #: build/C/man7/capabilities.7:511
1748 msgid "perform various SCSI device commands;"
1749 msgstr "各種の SCSI デバイスコマンドを実行する。"
1750
1751 #. type: Plain text
1752 #: build/C/man7/capabilities.7:517
1753 msgid "perform certain operations on B<hpsa>(4)  and B<cciss>(4)  devices;"
1754 msgstr "B<hpsa>(4) デバイスや B<cciss>(4) デバイスの特定の操作を実行する。"
1755
1756 #. type: Plain text
1757 #: build/C/man7/capabilities.7:519
1758 msgid "perform a range of device-specific operations on other devices."
1759 msgstr "他のデバイスに対して各種のデバイス固有命令を実行する。"
1760
1761 #. type: TP
1762 #: build/C/man7/capabilities.7:521
1763 #, no-wrap
1764 msgid "B<CAP_SYS_RESOURCE>"
1765 msgstr "B<CAP_SYS_RESOURCE>"
1766
1767 #. type: Plain text
1768 #: build/C/man7/capabilities.7:527
1769 #, fuzzy
1770 #| msgid "Use reserved space on ext2 file systems;"
1771 msgid "Use reserved space on ext2 filesystems;"
1772 msgstr "ext2 ファイルシステム上の予約されている領域を使用する。"
1773
1774 #. type: Plain text
1775 #: build/C/man7/capabilities.7:531
1776 msgid "make B<ioctl>(2)  calls controlling ext3 journaling;"
1777 msgstr "ext3 のジャーナル機能を制御する B<ioctl>(2)  を使用する。"
1778
1779 #. type: Plain text
1780 #: build/C/man7/capabilities.7:533
1781 msgid "override disk quota limits;"
1782 msgstr "ディスク quota の上限を上書きする。"
1783
1784 #. type: Plain text
1785 #: build/C/man7/capabilities.7:536
1786 msgid "increase resource limits (see B<setrlimit>(2));"
1787 msgstr "リソース上限を増やす (B<setrlimit>(2))。"
1788
1789 #. type: Plain text
1790 #: build/C/man7/capabilities.7:540
1791 msgid "override B<RLIMIT_NPROC> resource limit;"
1792 msgstr "B<RLIMIT_NPROC> リソース制限を上書きする。"
1793
1794 #. type: Plain text
1795 #: build/C/man7/capabilities.7:542
1796 msgid "override maximum number of consoles on console allocation;"
1797 msgstr "コンソール割り当てにおいてコンソールの最大数を上書きする。"
1798
1799 #. type: Plain text
1800 #: build/C/man7/capabilities.7:544
1801 msgid "override maximum number of keymaps;"
1802 msgstr "キーマップの最大数を上書きする。"
1803
1804 #. type: Plain text
1805 #: build/C/man7/capabilities.7:546
1806 msgid "allow more than 64hz interrupts from the real-time clock;"
1807 msgstr "リアルタイムクロックから秒間 64 回を越える回数の割り当てが許可する。"
1808
1809 #. type: Plain text
1810 #: build/C/man7/capabilities.7:555
1811 msgid ""
1812 "raise I<msg_qbytes> limit for a System V message queue above the limit in I</"
1813 "proc/sys/kernel/msgmnb> (see B<msgop>(2)  and B<msgctl>(2));"
1814 msgstr ""
1815 "メッセージキューに関する上限 I<msg_qbytes> を \n"
1816 "I</proc/sys/kernel/msgmnb> に指定されている上限よりも大きく設定する\n"
1817 "(B<msgop>(2) と B<msgctl>(2) 参照)。"
1818
1819 #. type: Plain text
1820 #: build/C/man7/capabilities.7:562
1821 msgid ""
1822 "override the I</proc/sys/fs/pipe-size-max> limit when setting the capacity "
1823 "of a pipe using the B<F_SETPIPE_SZ> B<fcntl>(2)  command."
1824 msgstr ""
1825 "B<F_SETPIPE_SZ> B<fcntl>(2) を使ってパイプの容量を設定する際に\n"
1826 "上限 I</proc/sys/fs/pipe-size-max> を上書きする。"
1827
1828 #. type: Plain text
1829 #: build/C/man7/capabilities.7:567
1830 msgid ""
1831 "use B<F_SETPIPE_SZ> to increase the capacity of a pipe above the limit "
1832 "specified by I</proc/sys/fs/pipe-max-size>;"
1833 msgstr ""
1834 "I</proc/sys/fs/pipe-max-size> に指定されている上限を超えてパイプの容量\n"
1835 "を増やすのに B<F_SETPIPE_SZ> を使用する。"
1836
1837 #. type: Plain text
1838 #: build/C/man7/capabilities.7:572
1839 msgid ""
1840 "override I</proc/sys/fs/mqueue/queues_max> limit when creating POSIX message "
1841 "queues (see B<mq_overview>(7));"
1842 msgstr ""
1843 "POSIX メッセージキューを作成する際に、\n"
1844 "上限 I</proc/sys/fs/mqueue/queues_max> を上書きする\n"
1845 "(B<mq_overview>(7) 参照)。"
1846
1847 #. type: Plain text
1848 #: build/C/man7/capabilities.7:577
1849 msgid "employ B<prctl>(2)  B<PR_SET_MM> operation;"
1850 msgstr "B<prctl>(2) B<PR_SET_MM> 操作を使用する。"
1851
1852 #. type: Plain text
1853 #: build/C/man7/capabilities.7:582
1854 msgid ""
1855 "set I</proc/PID/oom_score_adj> to a value lower than the value last set by a "
1856 "process with B<CAP_SYS_RESOURCE>."
1857 msgstr ""
1858 "B<CAP_SYS_RESOURCE> を持ったプロセスによって最後に設定された値よりも小さな値"
1859 "を I</proc/PID/oom_score_adj> に設定する。"
1860
1861 #. type: TP
1862 #: build/C/man7/capabilities.7:584
1863 #, no-wrap
1864 msgid "B<CAP_SYS_TIME>"
1865 msgstr "B<CAP_SYS_TIME>"
1866
1867 #. type: Plain text
1868 #: build/C/man7/capabilities.7:591
1869 msgid ""
1870 "Set system clock (B<settimeofday>(2), B<stime>(2), B<adjtimex>(2)); set real-"
1871 "time (hardware) clock."
1872 msgstr ""
1873 "システムクロックを変更する (B<settimeofday>(2), B<stime>(2), B<adjtimex>"
1874 "(2))。 リアルタイム (ハードウェア) クロックを変更する。"
1875
1876 #. type: TP
1877 #: build/C/man7/capabilities.7:591
1878 #, no-wrap
1879 msgid "B<CAP_SYS_TTY_CONFIG>"
1880 msgstr "B<CAP_SYS_TTY_CONFIG>"
1881
1882 #. type: Plain text
1883 #: build/C/man7/capabilities.7:598
1884 msgid ""
1885 "Use B<vhangup>(2); employ various privileged B<ioctl>(2)  operations on "
1886 "virtual terminals."
1887 msgstr ""
1888 "B<vhangup>(2) を使用する。\n"
1889 "特権が必要な仮想端末に関する各種の B<ioctl>(2) 操作を利用できる。"
1890
1891 #. type: TP
1892 #: build/C/man7/capabilities.7:598
1893 #, no-wrap
1894 msgid "B<CAP_SYSLOG> (since Linux 2.6.37)"
1895 msgstr "B<CAP_SYSLOG> (Linux 2.6.37 以降)"
1896
1897 #. type: Plain text
1898 #: build/C/man7/capabilities.7:607
1899 msgid ""
1900 "Perform privileged B<syslog>(2)  operations.  See B<syslog>(2)  for "
1901 "information on which operations require privilege."
1902 msgstr ""
1903 "特権が必要な B<syslog>(2) 操作を実行できる。\n"
1904 "どの操作が特権が必要かについての情報は B<syslog>(2) を参照。"
1905
1906 #. type: Plain text
1907 #: build/C/man7/capabilities.7:617
1908 msgid ""
1909 "View kernel addresses exposed via I</proc> and other interfaces when I</proc/"
1910 "sys/kernel/kptr_restrict> has the value 1.  (See the discussion of the "
1911 "I<kptr_restrict> in B<proc>(5).)"
1912 msgstr ""
1913 "I</proc/sys/kernel/kptr_restrict> の値が 1 の場合、 I</proc> や他のインター"
1914 "フェース経由で公開されているカーネルアドレスを参照する (B<proc>(5) の "
1915 "I<kptr_restrict> の議論を参照)。"
1916
1917 #. type: TP
1918 #: build/C/man7/capabilities.7:617
1919 #, no-wrap
1920 msgid "B<CAP_WAKE_ALARM> (since Linux 3.0)"
1921 msgstr "B<CAP_WAKE_ALARM> (Linux 3.0 以降)"
1922
1923 #. type: Plain text
1924 #: build/C/man7/capabilities.7:625
1925 msgid ""
1926 "Trigger something that will wake up the system (set B<CLOCK_REALTIME_ALARM> "
1927 "and B<CLOCK_BOOTTIME_ALARM> timers)."
1928 msgstr ""
1929 "システムを起こすトリガーを有効にする (タイマー B<CLOCK_REALTIME_ALARM>\n"
1930 "や B<CLOCK_BOOTTIME_ALARM> を設定する)。"
1931
1932 #. type: SS
1933 #: build/C/man7/capabilities.7:625
1934 #, no-wrap
1935 msgid "Past and current implementation"
1936 msgstr "過去と現在の実装"
1937
1938 #. type: Plain text
1939 #: build/C/man7/capabilities.7:627
1940 msgid "A full implementation of capabilities requires that:"
1941 msgstr "完全な形のケーパビリティを実装するには、以下の要件を満たす必要がある:"
1942
1943 #. type: IP
1944 #: build/C/man7/capabilities.7:627 build/C/man7/capabilities.7:778
1945 #: build/C/man7/capabilities.7:925 build/C/man7/capabilities.7:978
1946 #, no-wrap
1947 msgid "1."
1948 msgstr "1."
1949
1950 #. type: Plain text
1951 #: build/C/man7/capabilities.7:631
1952 msgid ""
1953 "For all privileged operations, the kernel must check whether the thread has "
1954 "the required capability in its effective set."
1955 msgstr ""
1956 "全ての特権操作について、カーネルはそのスレッドの実効ケーパビリティセットに 必"
1957 "要なケーパビリティがあるかを確認する。"
1958
1959 #. type: IP
1960 #: build/C/man7/capabilities.7:631 build/C/man7/capabilities.7:783
1961 #: build/C/man7/capabilities.7:931 build/C/man7/capabilities.7:984
1962 #, no-wrap
1963 msgid "2."
1964 msgstr "2."
1965
1966 #. type: Plain text
1967 #: build/C/man7/capabilities.7:634
1968 msgid ""
1969 "The kernel must provide system calls allowing a thread's capability sets to "
1970 "be changed and retrieved."
1971 msgstr ""
1972 "カーネルで、あるスレッドのケーパビリティセットを変更したり、 取得したりできる"
1973 "システムコールが提供される。"
1974
1975 #. type: IP
1976 #: build/C/man7/capabilities.7:634 build/C/man7/capabilities.7:934
1977 #: build/C/man7/capabilities.7:988
1978 #, no-wrap
1979 msgid "3."
1980 msgstr "3."
1981
1982 #. type: Plain text
1983 #: build/C/man7/capabilities.7:637
1984 #, fuzzy
1985 #| msgid ""
1986 #| "The file system must support attaching capabilities to an executable "
1987 #| "file, so that a process gains those capabilities when the file is "
1988 #| "executed."
1989 msgid ""
1990 "The filesystem must support attaching capabilities to an executable file, so "
1991 "that a process gains those capabilities when the file is executed."
1992 msgstr ""
1993 "ファイルシステムが、実行可能ファイルにケーパビリティを付与でき、ファイル 実行"
1994 "時にそのケーパビリティをプロセスが取得できるような機能をサポートする。"
1995
1996 #. type: Plain text
1997 #: build/C/man7/capabilities.7:641
1998 msgid ""
1999 "Before kernel 2.6.24, only the first two of these requirements are met; "
2000 "since kernel 2.6.24, all three requirements are met."
2001 msgstr ""
2002 "カーネル 2.6.24 より前では、最初の 2つの要件のみが満たされている。 カーネル "
2003 "2.6.24 以降では、3つの要件すべてが満たされている。"
2004
2005 #. type: SS
2006 #: build/C/man7/capabilities.7:641
2007 #, no-wrap
2008 msgid "Thread capability sets"
2009 msgstr "スレッドケーパビリティセット"
2010
2011 #. type: Plain text
2012 #: build/C/man7/capabilities.7:644
2013 msgid ""
2014 "Each thread has three capability sets containing zero or more of the above "
2015 "capabilities:"
2016 msgstr ""
2017 "各スレッドは以下の 3種類のケーパビリティセットを持つ。各々のケーパビリティ"
2018 "セットは 上記のケーパビリティの組み合わせである (全てのケーパビリティが無効で"
2019 "もよい)。"
2020
2021 #. type: TP
2022 #: build/C/man7/capabilities.7:644
2023 #, no-wrap
2024 msgid "I<Permitted>:"
2025 msgstr "I<許可 (permitted)>:"
2026
2027 #. type: Plain text
2028 #: build/C/man7/capabilities.7:652
2029 msgid ""
2030 "This is a limiting superset for the effective capabilities that the thread "
2031 "may assume.  It is also a limiting superset for the capabilities that may be "
2032 "added to the inheritable set by a thread that does not have the "
2033 "B<CAP_SETPCAP> capability in its effective set."
2034 msgstr ""
2035 "そのスレッドが持つことになっている実効ケーパビリティの 限定的なスーパーセット"
2036 "である。 これは、実効ケーパビリティセットに B<CAP_SETPCAP> ケーパビリティを"
2037 "持っていないスレッドが継承可能ケーパビリティセットに 追加可能なケーパビリティ"
2038 "の限定的なスーパーセットでもある。"
2039
2040 #. type: Plain text
2041 #: build/C/man7/capabilities.7:658
2042 msgid ""
2043 "If a thread drops a capability from its permitted set, it can never "
2044 "reacquire that capability (unless it B<execve>(2)s either a set-user-ID-root "
2045 "program, or a program whose associated file capabilities grant that "
2046 "capability)."
2047 msgstr ""
2048 "許可ケーパビリティセットから削除してしまったケーパビリティは、 (set-user-ID-"
2049 "root プログラムか、 そのケーパビリティをファイルケーパビリティで許可している"
2050 "プログラムを B<execve>(2)  しない限りは) もう一度獲得することはできない。"
2051
2052 #. type: TP
2053 #: build/C/man7/capabilities.7:658
2054 #, no-wrap
2055 msgid "I<Inheritable>:"
2056 msgstr "I<継承可能 (inheritable)>:"
2057
2058 #. type: Plain text
2059 #: build/C/man7/capabilities.7:665
2060 msgid ""
2061 "This is a set of capabilities preserved across an B<execve>(2).  It provides "
2062 "a mechanism for a process to assign capabilities to the permitted set of the "
2063 "new program during an B<execve>(2)."
2064 msgstr ""
2065 "B<execve>(2)  を前後で保持されるケーパビリティセットである。 この仕組みを使う"
2066 "ことで、あるプロセスが B<execve>(2)  を行う際に新しいプログラムの許可ケーパビ"
2067 "リティセットとして 割り当てるケーパビリティを指定することができる。"
2068
2069 #. type: TP
2070 #: build/C/man7/capabilities.7:665 build/C/man7/capabilities.7:715
2071 #, no-wrap
2072 msgid "I<Effective>:"
2073 msgstr "I<実効 (effective)>:"
2074
2075 #. type: Plain text
2076 #: build/C/man7/capabilities.7:669
2077 msgid ""
2078 "This is the set of capabilities used by the kernel to perform permission "
2079 "checks for the thread."
2080 msgstr ""
2081 "カーネルがスレッドの権限 (permission) をチェックするときに 使用するケーパビリ"
2082 "ティセットである。"
2083
2084 #. type: Plain text
2085 #: build/C/man7/capabilities.7:675
2086 msgid ""
2087 "A child created via B<fork>(2)  inherits copies of its parent's capability "
2088 "sets.  See below for a discussion of the treatment of capabilities during "
2089 "B<execve>(2)."
2090 msgstr ""
2091 "B<fork>(2)  で作成される子プロセスは、親のケーパビリティセットのコピーを継承"
2092 "する。 B<execve>(2)  中のケーパビリティの扱いについては下記を参照のこと。"
2093
2094 #. type: Plain text
2095 #: build/C/man7/capabilities.7:679
2096 msgid ""
2097 "Using B<capset>(2), a thread may manipulate its own capability sets (see "
2098 "below)."
2099 msgstr ""
2100 "B<capset>(2)  を使うと、プロセスは自分自身のケーパビリティセット を操作するこ"
2101 "とができる (下記参照)。"
2102
2103 #.  commit 73efc0394e148d0e15583e13712637831f926720
2104 #. type: Plain text
2105 #: build/C/man7/capabilities.7:688
2106 msgid ""
2107 "Since Linux 3.2, the file I</proc/sys/kernel/cap_last_cap> exposes the "
2108 "numerical value of the highest capability supported by the running kernel; "
2109 "this can be used to determine the highest bit that may be set in a "
2110 "capability set."
2111 msgstr ""
2112 "Linux 3.2 以降では、 ファイル I</proc/sys/kernel/cap_last_cap> で、 実行中の"
2113 "カーネルでサポートされているケーパビリティの最大値を参照できる。 この情報を"
2114 "使って、 ケーパビリティセットに設定される可能性がある最上位ビットを判定するこ"
2115 "とができる。"
2116
2117 #. type: SS
2118 #: build/C/man7/capabilities.7:688
2119 #, no-wrap
2120 msgid "File capabilities"
2121 msgstr "ファイルケーパビリティ"
2122
2123 #. type: Plain text
2124 #: build/C/man7/capabilities.7:703
2125 msgid ""
2126 "Since kernel 2.6.24, the kernel supports associating capability sets with an "
2127 "executable file using B<setcap>(8).  The file capability sets are stored in "
2128 "an extended attribute (see B<setxattr>(2))  named I<security.capability>.  "
2129 "Writing to this extended attribute requires the B<CAP_SETFCAP> capability.  "
2130 "The file capability sets, in conjunction with the capability sets of the "
2131 "thread, determine the capabilities of a thread after an B<execve>(2)."
2132 msgstr ""
2133 "カーネル 2.6.24 以降では、 B<setcap>(8)  を使って実行ファイルにケーパビリティ"
2134 "セットを対応付けることができる。 ファイルケーパビリティセットは I<security."
2135 "capability> という名前の拡張属性に保存される (B<setxattr>(2)  参照)。この拡張"
2136 "属性への書き込みには B<CAP_SETFCAP> ケーパビリティが必要である。 ファイルケー"
2137 "パビリティセットとスレッドのケーパビリティセットの両方が 考慮され、 B<execve>"
2138 "(2)  後のスレッドのケーパビリティセットが決定される。"
2139
2140 #. type: Plain text
2141 #: build/C/man7/capabilities.7:705
2142 msgid "The three file capability sets are:"
2143 msgstr "3 つのファイルケーパビリティセットが定義されている。"
2144
2145 #. type: TP
2146 #: build/C/man7/capabilities.7:705
2147 #, no-wrap
2148 msgid "I<Permitted> (formerly known as I<forced>):"
2149 msgstr "I<許可 (Permitted)> (以前のI<強制 (Forced)>):"
2150
2151 #. type: Plain text
2152 #: build/C/man7/capabilities.7:709
2153 msgid ""
2154 "These capabilities are automatically permitted to the thread, regardless of "
2155 "the thread's inheritable capabilities."
2156 msgstr ""
2157 "スレッドの継承可能ケーパビリティに関わらず、そのスレッドに自動的に 認められる"
2158 "ケーパビリティ。"
2159
2160 #. type: TP
2161 #: build/C/man7/capabilities.7:709
2162 #, no-wrap
2163 msgid "I<Inheritable> (formerly known as I<allowed>):"
2164 msgstr "I<継承可能 (Inheritable)> (以前の I<許容 (Allowed)>):"
2165
2166 #. type: Plain text
2167 #: build/C/man7/capabilities.7:715
2168 msgid ""
2169 "This set is ANDed with the thread's inheritable set to determine which "
2170 "inheritable capabilities are enabled in the permitted set of the thread "
2171 "after the B<execve>(2)."
2172 msgstr ""
2173 "このセットと、スレッドの継承可能ケーパビリティセットとの 論理積 (AND) がとら"
2174 "れ、 B<execve>(2)  の後にそのスレッドの許可ケーパビリティセットで有効となる "
2175 "継承可能ケーパビリティが決定される。"
2176
2177 #. type: Plain text
2178 #: build/C/man7/capabilities.7:725
2179 msgid ""
2180 "This is not a set, but rather just a single bit.  If this bit is set, then "
2181 "during an B<execve>(2)  all of the new permitted capabilities for the thread "
2182 "are also raised in the effective set.  If this bit is not set, then after an "
2183 "B<execve>(2), none of the new permitted capabilities is in the new effective "
2184 "set."
2185 msgstr ""
2186 "これは集合ではなく、1 ビットの情報である。 このビットがセットされていると、 "
2187 "B<execve>(2)  実行中に、そのスレッドの新しい許可ケーパビリティが全て 実効ケー"
2188 "パビリティ集合においてもセットされる。 このビットがセットされていない場合、 "
2189 "B<execve>(2)  後には新しい許可ケーパビリティのどれも新しい実効ケーパビリティ"
2190 "集合 にセットされない。"
2191
2192 #. type: Plain text
2193 #: build/C/man7/capabilities.7:741
2194 msgid ""
2195 "Enabling the file effective capability bit implies that any file permitted "
2196 "or inheritable capability that causes a thread to acquire the corresponding "
2197 "permitted capability during an B<execve>(2)  (see the transformation rules "
2198 "described below) will also acquire that capability in its effective set.  "
2199 "Therefore, when assigning capabilities to a file (B<setcap>(8), "
2200 "B<cap_set_file>(3), B<cap_set_fd>(3)), if we specify the effective flag as "
2201 "being enabled for any capability, then the effective flag must also be "
2202 "specified as enabled for all other capabilities for which the corresponding "
2203 "permitted or inheritable flags is enabled."
2204 msgstr ""
2205 "ファイルの実効ケーパビリティビットを有効にするというのは、 B<execve>(2)  実行"
2206 "時に、ファイルの許可ケーパビリティと継承ケーパビリティに対応するものが スレッ"
2207 "ドの許可ケーパビリティセットとしてセットされるが、 これが実効ケーパビリティ"
2208 "セットにもセットされるということである (ケーパビリティの変換ルールは下記参"
2209 "照)。 したがって、ファイルにケーパビリティを割り当てる際 (B<setcap>(8), "
2210 "B<cap_set_file>(3), B<cap_set_fd>(3))、 いずれかのケーパビリティに対して実効"
2211 "フラグを有効と指定する場合、 許可フラグや継承可能フラグを有効にした他の全ての"
2212 "ケーパビリティ についても実効フラグを有効と指定しなければならない。"
2213
2214 #. type: SS
2215 #: build/C/man7/capabilities.7:741
2216 #, no-wrap
2217 msgid "Transformation of capabilities during execve()"
2218 msgstr "execve() 中のケーパビリティの変換"
2219
2220 #. type: Plain text
2221 #: build/C/man7/capabilities.7:747
2222 msgid ""
2223 "During an B<execve>(2), the kernel calculates the new capabilities of the "
2224 "process using the following algorithm:"
2225 msgstr ""
2226 "B<execve>(2)  実行時に、カーネルはプロセスの新しいケーパビリティを次の アルゴ"
2227 "リズムを用いて計算する:"
2228
2229 #. type: Plain text
2230 #: build/C/man7/capabilities.7:752
2231 #, no-wrap
2232 msgid ""
2233 "P'(permitted) = (P(inheritable) & F(inheritable)) |\n"
2234 "                (F(permitted) & cap_bset)\n"
2235 msgstr ""
2236 "P'(permitted) = (P(inheritable) & F(inheritable)) |\n"
2237 "                (F(permitted) & cap_bset)\n"
2238
2239 #. type: Plain text
2240 #: build/C/man7/capabilities.7:754
2241 #, no-wrap
2242 msgid "P'(effective) = F(effective) ? P'(permitted) : 0\n"
2243 msgstr "P'(effective) = F(effective) ? P'(permitted) : 0\n"
2244
2245 #. type: Plain text
2246 #: build/C/man7/capabilities.7:756
2247 #, no-wrap
2248 msgid "P'(inheritable) = P(inheritable)    [i.e., unchanged]\n"
2249 msgstr "P'(inheritable) = P(inheritable)    [つまり、変更されない]\n"
2250
2251 #. type: Plain text
2252 #: build/C/man7/capabilities.7:760
2253 msgid "where:"
2254 msgstr "各変数の意味は以下の通り:"
2255
2256 #. type: IP
2257 #: build/C/man7/capabilities.7:761
2258 #, no-wrap
2259 msgid "P"
2260 msgstr "P"
2261
2262 #. type: Plain text
2263 #: build/C/man7/capabilities.7:764
2264 msgid "denotes the value of a thread capability set before the B<execve>(2)"
2265 msgstr "B<execve>(2)  前のスレッドのケーパビリティセットの値"
2266
2267 #. type: IP
2268 #: build/C/man7/capabilities.7:764
2269 #, no-wrap
2270 msgid "P'"
2271 msgstr "P'"
2272
2273 #. type: Plain text
2274 #: build/C/man7/capabilities.7:767
2275 msgid "denotes the value of a capability set after the B<execve>(2)"
2276 msgstr "B<execve>(2)  後のスレッドのケーパビリティセットの値"
2277
2278 #. type: IP
2279 #: build/C/man7/capabilities.7:767
2280 #, no-wrap
2281 msgid "F"
2282 msgstr "F"
2283
2284 #. type: Plain text
2285 #: build/C/man7/capabilities.7:769
2286 msgid "denotes a file capability set"
2287 msgstr "ファイルケーパビリティセットの値"
2288
2289 #. type: IP
2290 #: build/C/man7/capabilities.7:769
2291 #, no-wrap
2292 msgid "cap_bset"
2293 msgstr "cap_bset"
2294
2295 #. type: Plain text
2296 #: build/C/man7/capabilities.7:771
2297 msgid "is the value of the capability bounding set (described below)."
2298 msgstr "ケーパビリティバウンディングセットの値 (下記参照)"
2299
2300 #. type: SS
2301 #: build/C/man7/capabilities.7:773
2302 #, no-wrap
2303 msgid "Capabilities and execution of programs by root"
2304 msgstr "ケーパビリティと、ルートによるプログラムの実行"
2305
2306 #. type: Plain text
2307 #: build/C/man7/capabilities.7:778
2308 msgid ""
2309 "In order to provide an all-powerful I<root> using capability sets, during an "
2310 "B<execve>(2):"
2311 msgstr ""
2312 "B<execve>(2)  時に、ケーパビリティセットを使って、全ての権限を持った I<root> "
2313 "を実現するには、以下のようにする。"
2314
2315 #. type: Plain text
2316 #: build/C/man7/capabilities.7:783
2317 msgid ""
2318 "If a set-user-ID-root program is being executed, or the real user ID of the "
2319 "process is 0 (root)  then the file inheritable and permitted sets are "
2320 "defined to be all ones (i.e., all capabilities enabled)."
2321 msgstr ""
2322 "set-user-ID-root プログラムが実行される場合、 またはプロセスの実ユーザ ID が "
2323 "0 (root) の場合、 ファイルの継承可能セットと許可セットを全て 1 (全てのケーパ"
2324 "ビリティが有効) に定義する。"
2325
2326 #. type: Plain text
2327 #: build/C/man7/capabilities.7:786
2328 msgid ""
2329 "If a set-user-ID-root program is being executed, then the file effective bit "
2330 "is defined to be one (enabled)."
2331 msgstr ""
2332 "set-user-ID-root プログラムが実行される場合、 ファイルの実効ケーパビリティ"
2333 "ビットを 1 (enabled) に定義する。"
2334
2335 #.  If a process with real UID 0, and nonzero effective UID does an
2336 #.  exec(), then it gets all capabilities in its
2337 #.  permitted set, and no effective capabilities
2338 #. type: Plain text
2339 #: build/C/man7/capabilities.7:801
2340 msgid ""
2341 "The upshot of the above rules, combined with the capabilities "
2342 "transformations described above, is that when a process B<execve>(2)s a set-"
2343 "user-ID-root program, or when a process with an effective UID of 0 B<execve>"
2344 "(2)s a program, it gains all capabilities in its permitted and effective "
2345 "capability sets, except those masked out by the capability bounding set.  "
2346 "This provides semantics that are the same as those provided by traditional "
2347 "UNIX systems."
2348 msgstr ""
2349 "上記のルールにケーパビリティ変換を適用した結果をまとめると、 プロセスが set-"
2350 "user-ID-root プログラムを B<execve>(2)  する場合、または実効 UID が 0 のプロ"
2351 "セスがプログラムを B<execve>(2)  する場合、許可と実効のケーパビリティセットの"
2352 "全ケーパビリティ (正確には、ケーパビリティバウンディングセットによるマスクで"
2353 "除外されるもの 以外の全てのケーパビリティ) を取得するということである。 これ"
2354 "により、伝統的な UNIX システムと同じ振る舞いができるようになっている。"
2355
2356 #. type: SS
2357 #: build/C/man7/capabilities.7:801
2358 #, no-wrap
2359 msgid "Capability bounding set"
2360 msgstr "ケーパビリティ・バウンディングセット"
2361
2362 #. type: Plain text
2363 #: build/C/man7/capabilities.7:806
2364 msgid ""
2365 "The capability bounding set is a security mechanism that can be used to "
2366 "limit the capabilities that can be gained during an B<execve>(2).  The "
2367 "bounding set is used in the following ways:"
2368 msgstr ""
2369 "ケーパビリティ・バウンディングセット (capability bounding set) は、 B<execve>"
2370 "(2)  時に獲得できるケーパビリティを制限するために使われる セキュリティ機構で"
2371 "ある。 バウンディングセットは以下のように使用される。"
2372
2373 #. type: Plain text
2374 #: build/C/man7/capabilities.7:814
2375 msgid ""
2376 "During an B<execve>(2), the capability bounding set is ANDed with the file "
2377 "permitted capability set, and the result of this operation is assigned to "
2378 "the thread's permitted capability set.  The capability bounding set thus "
2379 "places a limit on the permitted capabilities that may be granted by an "
2380 "executable file."
2381 msgstr ""
2382 "B<execve>(2)  実行時に、ケーパビリティ・バウンディングセットと ファイルの許可"
2383 "ケーパビリティセットの論理和 (AND) を取ったものが、 そのスレッドの許可ケーパ"
2384 "ビリティセットに割り当てられる。 つまり、ケーパビリティ・バウンディングセット"
2385 "は、 実行ファイルが認めている許可ケーパビリティに対して 制限を課す働きをす"
2386 "る。"
2387
2388 #. type: Plain text
2389 #: build/C/man7/capabilities.7:826
2390 msgid ""
2391 "(Since Linux 2.6.25)  The capability bounding set acts as a limiting "
2392 "superset for the capabilities that a thread can add to its inheritable set "
2393 "using B<capset>(2).  This means that if a capability is not in the bounding "
2394 "set, then a thread can't add this capability to its inheritable set, even if "
2395 "it was in its permitted capabilities, and thereby cannot have this "
2396 "capability preserved in its permitted set when it B<execve>(2)s a file that "
2397 "has the capability in its inheritable set."
2398 msgstr ""
2399 "(Linux 2.6.25 以降)  ケーパビリティ・バウンディングセットは、スレッドが "
2400 "B<capset>(2)  により自身の継承可能セットに追加可能なケーパビリティの母集団を "
2401 "制限する役割を持つ。 スレッドに許可されたケーパビリティであっても、バウンディ"
2402 "ングセットに 含まれていなければ、スレッドはそのケーパビリティは自身の継承可能"
2403 "セットに 追加できず、その結果、継承可能セットにそのケーパビリティを含むファイ"
2404 "ルを B<execve>(2)  する場合、そのケーパビリティを許可セットに持ち続けることが"
2405 "できない、 ということである。"
2406
2407 #. type: Plain text
2408 #: build/C/man7/capabilities.7:833
2409 msgid ""
2410 "Note that the bounding set masks the file permitted capabilities, but not "
2411 "the inherited capabilities.  If a thread maintains a capability in its "
2412 "inherited set that is not in its bounding set, then it can still gain that "
2413 "capability in its permitted set by executing a file that has the capability "
2414 "in its inherited set."
2415 msgstr ""
2416 "バウンディングセットがマスクを行うのは、継承可能ケーパビリティではなく、 ファ"
2417 "イルの許可ケーパビリティのマスクを行う点に注意すること。 あるスレッドの継承可"
2418 "能セットにそのスレッドのバウンディングセットに 存在しないケーパビリティが含ま"
2419 "れている場合、そのスレッドは、 継承可能セットに含まれるケーパビリティを持つ"
2420 "ファイルを実行することにより、 許可セットに含まれるケーパビリティも獲得できる"
2421 "ということである。"
2422
2423 #. type: Plain text
2424 #: build/C/man7/capabilities.7:836
2425 msgid ""
2426 "Depending on the kernel version, the capability bounding set is either a "
2427 "system-wide attribute, or a per-process attribute."
2428 msgstr ""
2429 "カーネルのバージョンにより、ケーパビリティ・バウンディングセットは システム共"
2430 "通の属性の場合と、プロセス単位の属性の場合がある。"
2431
2432 #. type: Plain text
2433 #: build/C/man7/capabilities.7:838
2434 msgid "B<Capability bounding set prior to Linux 2.6.25>"
2435 msgstr "B<Linux 2.6.25 より前のケーパビリティ・バウンディングセット>"
2436
2437 #. type: Plain text
2438 #: build/C/man7/capabilities.7:846
2439 msgid ""
2440 "In kernels before 2.6.25, the capability bounding set is a system-wide "
2441 "attribute that affects all threads on the system.  The bounding set is "
2442 "accessible via the file I</proc/sys/kernel/cap-bound>.  (Confusingly, this "
2443 "bit mask parameter is expressed as a signed decimal number in I</proc/sys/"
2444 "kernel/cap-bound>.)"
2445 msgstr ""
2446 "2.6.25 より前のカーネルでは、ケーパビリティ・バウンディングセットは システム"
2447 "共通の属性で、システム上の全てのスレッドに適用される。 バウンディングセット"
2448 "は I</proc/sys/kernel/cap-bound> ファイル経由で参照できる。 (間違えやすいが、"
2449 "このビットマスク形式のパラメータは、 I</proc/sys/kernel/cap-bound> では符号付"
2450 "きの十進数で表現される。)"
2451
2452 #. type: Plain text
2453 #: build/C/man7/capabilities.7:853
2454 msgid ""
2455 "Only the B<init> process may set capabilities in the capability bounding "
2456 "set; other than that, the superuser (more precisely: programs with the "
2457 "B<CAP_SYS_MODULE> capability) may only clear capabilities from this set."
2458 msgstr ""
2459 "B<init> プロセスだけがケーパビリティ・バウンディングセットで ケーパビリティを"
2460 "セットすることができる。 それ以外では、スーパーユーザ (より正確には、 "
2461 "B<CAP_SYS_MODULE> ケーパビリティを持ったプログラム) が、 ケーパビリティ・バウ"
2462 "ンディングセットのケーパビリティのクリアが できるだけである。"
2463
2464 #. type: Plain text
2465 #: build/C/man7/capabilities.7:862
2466 msgid ""
2467 "On a standard system the capability bounding set always masks out the "
2468 "B<CAP_SETPCAP> capability.  To remove this restriction (dangerous!), modify "
2469 "the definition of B<CAP_INIT_EFF_SET> in I<include/linux/capability.h> and "
2470 "rebuild the kernel."
2471 msgstr ""
2472 "通常のシステムでは、ケーパビリティ・バウンディングセットは、 B<CAP_SETPCAP> "
2473 "が無効になっている。 この制限を取り去るには (取り去るのは危険!)、 I<include/"
2474 "linux/capability.h> 内の B<CAP_INIT_EFF_SET> の定義を修正し、カーネルを再構築"
2475 "する必要がある。"
2476
2477 #. type: Plain text
2478 #: build/C/man7/capabilities.7:866
2479 msgid ""
2480 "The system-wide capability bounding set feature was added to Linux starting "
2481 "with kernel version 2.2.11."
2482 msgstr ""
2483 "システム共通のケーパビリティ・バウンディングセット機能は、 カーネル 2.2.11 以"
2484 "降で Linux に追加された。"
2485
2486 #. type: Plain text
2487 #: build/C/man7/capabilities.7:868
2488 msgid "B<Capability bounding set from Linux 2.6.25 onward>"
2489 msgstr "B<Linux 2.6.25 以降のケーパビリティ・バウンディングセット>"
2490
2491 #. type: Plain text
2492 #: build/C/man7/capabilities.7:873
2493 msgid ""
2494 "From Linux 2.6.25, the I<capability bounding set> is a per-thread "
2495 "attribute.  (There is no longer a system-wide capability bounding set.)"
2496 msgstr ""
2497 "Linux 2.6.25 以降では、 「ケーパビリティ・バウンディングセット」はスレッド単"
2498 "位の属性である (システム共通のケーパビリティ・バウンディングセットはもはや存"
2499 "在しない)。"
2500
2501 #. type: Plain text
2502 #: build/C/man7/capabilities.7:878
2503 msgid ""
2504 "The bounding set is inherited at B<fork>(2)  from the thread's parent, and "
2505 "is preserved across an B<execve>(2)."
2506 msgstr ""
2507 "バウンディングセットは B<fork>(2)  時にはスレッドの親プロセスから継承され、 "
2508 "B<execve>(2)  の前後では保持される。"
2509
2510 #. type: Plain text
2511 #: build/C/man7/capabilities.7:891
2512 msgid ""
2513 "A thread may remove capabilities from its capability bounding set using the "
2514 "B<prctl>(2)  B<PR_CAPBSET_DROP> operation, provided it has the "
2515 "B<CAP_SETPCAP> capability.  Once a capability has been dropped from the "
2516 "bounding set, it cannot be restored to that set.  A thread can determine if "
2517 "a capability is in its bounding set using the B<prctl>(2)  "
2518 "B<PR_CAPBSET_READ> operation."
2519 msgstr ""
2520 "スレッドが B<CAP_SETPCAP> ケーパビリティを持っている場合、そのスレッドは "
2521 "B<prctl>(2)  の B<PR_CAPBSET_DROP> 操作を使って自身のケーパビリティ・バウン"
2522 "ディングセットから ケーパビリティを削除することができる。 いったんケーパビリ"
2523 "ティをバウンディングセットから削除してしまうと、 スレッドはそのケーパビリティ"
2524 "を再度セットすることはできない。 B<prctl>(2)  の B<PR_CAPBSET_READ> 操作を使"
2525 "うことで、スレッドがあるケーパビリティが自身のバウンディングセット に含まれて"
2526 "いるかを知ることができる。"
2527
2528 #. type: Plain text
2529 #: build/C/man7/capabilities.7:909
2530 msgid ""
2531 "Removing capabilities from the bounding set is supported only if file "
2532 "capabilities are compiled into the kernel.  In kernels before Linux 2.6.33, "
2533 "file capabilities were an optional feature configurable via the "
2534 "CONFIG_SECURITY_FILE_CAPABILITIES option.  Since Linux 2.6.33, the "
2535 "configuration option has been removed and file capabilities are always part "
2536 "of the kernel.  When file capabilities are compiled into the kernel, the "
2537 "B<init> process (the ancestor of all processes) begins with a full bounding "
2538 "set.  If file capabilities are not compiled into the kernel, then B<init> "
2539 "begins with a full bounding set minus B<CAP_SETPCAP>, because this "
2540 "capability has a different meaning when there are no file capabilities."
2541 msgstr ""
2542 "バウンディングセットからのケーパビリティの削除がサポートされるのは、\n"
2543 "カーネルのコンパイル時にファイルケーパビリティが有効になっている場合\n"
2544 "だけである。Linux 2.6.33 より前のカーネルでは、ファイルケーパビリティは\n"
2545 "設定オプション CONFIG_SECURITY_FILE_CAPABILITIES で切り替えられる追加の\n"
2546 "機能であった。Linux 2.6.33 以降では、この設定オプションは削除され、\n"
2547 "ファイルケーパビリティは常にカーネルに組込まれるようになった。\n"
2548 "ファイルケーパビリティがカーネルにコンパイル時に組み込まれている場合、\n"
2549 "(全てのプロセスの先祖である) I<init> プロセスはバウンディングセットで\n"
2550 "全てのケーパビリティが セットされた状態で開始する。ファイルケーパビリティ\n"
2551 "が有効になっていない場合には、 I<init> はバウンディングセットで\n"
2552 "B<CAP_SETPCAP> 以外の全てのケーパビリティがセットされた状態で開始する。\n"
2553 "このようになっているのは、 B<CAP_SETPCAP> ケーパビリティがファイルケー\n"
2554 "パビリティがサポートされていない場合には 違った意味を持つからである。"
2555
2556 #. type: Plain text
2557 #: build/C/man7/capabilities.7:916
2558 msgid ""
2559 "Removing a capability from the bounding set does not remove it from the "
2560 "thread's inherited set.  However it does prevent the capability from being "
2561 "added back into the thread's inherited set in the future."
2562 msgstr ""
2563 "バウンディングセットからケーパビリティを削除しても、 スレッドの継承可能セット"
2564 "からはそのケーパビリティは削除されない。 しかしながら、バウンディングセットか"
2565 "らの削除により、 この先そのケーパビリティをスレッドの継承可能セットに追加する"
2566 "こと はできなくなる。"
2567
2568 #. type: SS
2569 #: build/C/man7/capabilities.7:916
2570 #, no-wrap
2571 msgid "Effect of user ID changes on capabilities"
2572 msgstr "ユーザ ID 変更のケーパビリティへの影響"
2573
2574 #. type: Plain text
2575 #: build/C/man7/capabilities.7:925
2576 #, fuzzy
2577 #| msgid ""
2578 #| "To preserve the traditional semantics for transitions between 0 and "
2579 #| "nonzero user IDs, the kernel makes the following changes to a thread's "
2580 #| "capability sets on changes to the thread's real, effective, saved set, "
2581 #| "and file system user IDs (using B<setuid>(2), B<setresuid>(2), or "
2582 #| "similar):"
2583 msgid ""
2584 "To preserve the traditional semantics for transitions between 0 and nonzero "
2585 "user IDs, the kernel makes the following changes to a thread's capability "
2586 "sets on changes to the thread's real, effective, saved set, and filesystem "
2587 "user IDs (using B<setuid>(2), B<setresuid>(2), or similar):"
2588 msgstr ""
2589 "ユーザ ID が 0 と 0 以外の間で変化する際の振る舞いを従来と同じにするため、 ス"
2590 "レッドの実 UID、実効 UID、保存 set-user-ID、ファイルシステム UID が "
2591 "(B<setuid>(2), B<setresuid>(2)  などを使って) 変更された際に、カーネルはその"
2592 "スレッドのケーパビリティセットに 以下の変更を行う:"
2593
2594 #. type: Plain text
2595 #: build/C/man7/capabilities.7:931
2596 msgid ""
2597 "If one or more of the real, effective or saved set user IDs was previously "
2598 "0, and as a result of the UID changes all of these IDs have a nonzero value, "
2599 "then all capabilities are cleared from the permitted and effective "
2600 "capability sets."
2601 msgstr ""
2602 "UID の変更前には実 UID、実効 UID、保存 set-user-ID のうち 少なくとも一つが 0 "
2603 "で、変更後に実 UID、実効 UID、保存 set-user-ID が すべて 0 以外の値になった場"
2604 "合、許可と実効のケーパビリティセットの 全ケーパビリティをクリアする。"
2605
2606 #. type: Plain text
2607 #: build/C/man7/capabilities.7:934
2608 msgid ""
2609 "If the effective user ID is changed from 0 to nonzero, then all capabilities "
2610 "are cleared from the effective set."
2611 msgstr ""
2612 "実効 UID が 0 から 0 以外に変更された場合、 実効ケーパビリティセットの全ケー"
2613 "パビリティをクリアする。"
2614
2615 #. type: Plain text
2616 #: build/C/man7/capabilities.7:937
2617 msgid ""
2618 "If the effective user ID is changed from nonzero to 0, then the permitted "
2619 "set is copied to the effective set."
2620 msgstr ""
2621 "実効 UID が 0 以外から 0 に変更された場合、 許可ケーパビリティセットの内容を"
2622 "実効ケーパビリティセットにコピーする。"
2623
2624 #. type: IP
2625 #: build/C/man7/capabilities.7:937 build/C/man7/capabilities.7:992
2626 #, no-wrap
2627 msgid "4."
2628 msgstr "4."
2629
2630 #. type: Plain text
2631 #: build/C/man7/capabilities.7:955
2632 #, fuzzy
2633 #| msgid ""
2634 #| "If the file system user ID is changed from 0 to nonzero (see B<setfsuid>"
2635 #| "(2))  then the following capabilities are cleared from the effective set: "
2636 #| "B<CAP_CHOWN>, B<CAP_DAC_OVERRIDE>, B<CAP_DAC_READ_SEARCH>, B<CAP_FOWNER>, "
2637 #| "B<CAP_FSETID>, B<CAP_LINUX_IMMUTABLE> (since Linux 2.2.30), "
2638 #| "B<CAP_MAC_OVERRIDE>, and B<CAP_MKNOD> (since Linux 2.2.30).  If the file "
2639 #| "system UID is changed from nonzero to 0, then any of these capabilities "
2640 #| "that are enabled in the permitted set are enabled in the effective set."
2641 msgid ""
2642 "If the filesystem user ID is changed from 0 to nonzero (see B<setfsuid>(2))  "
2643 "then the following capabilities are cleared from the effective set: "
2644 "B<CAP_CHOWN>, B<CAP_DAC_OVERRIDE>, B<CAP_DAC_READ_SEARCH>, B<CAP_FOWNER>, "
2645 "B<CAP_FSETID>, B<CAP_LINUX_IMMUTABLE> (since Linux 2.2.30), "
2646 "B<CAP_MAC_OVERRIDE>, and B<CAP_MKNOD> (since Linux 2.2.30).  If the "
2647 "filesystem UID is changed from nonzero to 0, then any of these capabilities "
2648 "that are enabled in the permitted set are enabled in the effective set."
2649 msgstr ""
2650 "ファイルシステム UID が 0 から 0 以外に変更された場合 (B<setfsuid>(2)  参"
2651 "照)、実効ケーパビリティセットの以下のケーパビリティがクリアされる: "
2652 "B<CAP_CHOWN>, B<CAP_DAC_OVERRIDE>, B<CAP_DAC_READ_SEARCH>, B<CAP_FOWNER>, "
2653 "B<CAP_FSETID>, B<CAP_LINUX_IMMUTABLE> (Linux 2.2.30 以降), "
2654 "B<CAP_MAC_OVERRIDE>, B<CAP_MKNOD> (Linux 2.2.30 以降)。 ファイルシステム UID "
2655 "が 0 以外から 0 に変更された場合、 上記のケーパビリティのうち許可ケーパビリ"
2656 "ティセットで有効になっているものが 実効ケーパビリティセットで有効にされる。"
2657
2658 #. type: Plain text
2659 #: build/C/man7/capabilities.7:963
2660 msgid ""
2661 "If a thread that has a 0 value for one or more of its user IDs wants to "
2662 "prevent its permitted capability set being cleared when it resets all of its "
2663 "user IDs to nonzero values, it can do so using the B<prctl>(2)  "
2664 "B<PR_SET_KEEPCAPS> operation."
2665 msgstr ""
2666 "各種 UID のうち少なくとも一つが 0 であるスレッドが、 その UID の全てが 0 以外"
2667 "になったときに許可ケーパビリティセットが クリアされないようにしたい場合に"
2668 "は、 B<prctl>(2)  の B<PR_SET_KEEPCAPS> 操作を使えばよい。"
2669
2670 #. type: SS
2671 #: build/C/man7/capabilities.7:963
2672 #, no-wrap
2673 msgid "Programmatically adjusting capability sets"
2674 msgstr "プログラムでケーパビリティセットを調整する"
2675
2676 #. type: Plain text
2677 #: build/C/man7/capabilities.7:978
2678 msgid ""
2679 "A thread can retrieve and change its capability sets using the B<capget>(2)  "
2680 "and B<capset>(2)  system calls.  However, the use of B<cap_get_proc>(3)  and "
2681 "B<cap_set_proc>(3), both provided in the I<libcap> package, is preferred for "
2682 "this purpose.  The following rules govern changes to the thread capability "
2683 "sets:"
2684 msgstr ""
2685 "各スレッドは、 B<capget>(2)  や B<capset>(2)  を使って、自身のケーパビリティ"
2686 "セットを取得したり変更したりできる。 ただし、これを行うには、 I<libcap> パッ"
2687 "ケージで提供されている B<cap_get_proc>(3)  や B<cap_set_proc>(3)  を使うのが"
2688 "望ましい。 スレッドのケーパビリティセットの変更には以下のルールが適用される。"
2689
2690 #. type: Plain text
2691 #: build/C/man7/capabilities.7:984
2692 msgid ""
2693 "If the caller does not have the B<CAP_SETPCAP> capability, the new "
2694 "inheritable set must be a subset of the combination of the existing "
2695 "inheritable and permitted sets."
2696 msgstr ""
2697 "呼び出し側が B<CAP_SETPCAP> ケーパビリティを持っていない場合、新しい継承可能"
2698 "セットは、 既存の継承可能セットと許可セットの積集合 (AND) の部分集合で なけれ"
2699 "ばならない。"
2700
2701 #. type: Plain text
2702 #: build/C/man7/capabilities.7:988
2703 msgid ""
2704 "(Since Linux 2.6.25)  The new inheritable set must be a subset of the "
2705 "combination of the existing inheritable set and the capability bounding set."
2706 msgstr ""
2707 "(Linux 2.6.25 以降)  新しい継承可能セットは、既存の継承可能セットとケーパビリ"
2708 "ティ・ バウンディングセットの積集合 (AND) の部分集合でなければならない。"
2709
2710 #. type: Plain text
2711 #: build/C/man7/capabilities.7:992
2712 msgid ""
2713 "The new permitted set must be a subset of the existing permitted set (i.e., "
2714 "it is not possible to acquire permitted capabilities that the thread does "
2715 "not currently have)."
2716 msgstr ""
2717 "新しい許可セットは、既存の許可セットの部分集合でなければならない (つまり、そ"
2718 "のスレッドが現在持っていない許可ケーパビリティを 獲得することはできない)。"
2719
2720 #. type: Plain text
2721 #: build/C/man7/capabilities.7:994
2722 msgid "The new effective set must be a subset of the new permitted set."
2723 msgstr ""
2724 "新しい実効ケーパビリティセットは新しい許可ケーパビリティセットの 部分集合に"
2725 "なっていなければならない。"
2726
2727 #. type: SS
2728 #: build/C/man7/capabilities.7:994
2729 #, no-wrap
2730 msgid "The securebits flags: establishing a capabilities-only environment"
2731 msgstr "securebits フラグ: ケーパビリティだけの環境を構築する"
2732
2733 #.  For some background:
2734 #.        see http://lwn.net/Articles/280279/ and
2735 #.        http://article.gmane.org/gmane.linux.kernel.lsm/5476/
2736 #. type: Plain text
2737 #: build/C/man7/capabilities.7:1005
2738 msgid ""
2739 "Starting with kernel 2.6.26, and with a kernel in which file capabilities "
2740 "are enabled, Linux implements a set of per-thread I<securebits> flags that "
2741 "can be used to disable special handling of capabilities for UID 0 "
2742 "(I<root>).  These flags are as follows:"
2743 msgstr ""
2744 "カーネル 2.6.26 以降で、 ファイルケーパビリティが有効になったカーネルでは、 "
2745 "スレッド単位の I<securebits> フラグが実装されており、このフラグを使うと UID "
2746 "0 (I<root>)  に対するケーパビリティの特別扱いを無効することができる。 以下の"
2747 "ようなフラグがある。"
2748
2749 #. type: TP
2750 #: build/C/man7/capabilities.7:1005
2751 #, no-wrap
2752 msgid "B<SECBIT_KEEP_CAPS>"
2753 msgstr "B<SECBIT_KEEP_CAPS>"
2754
2755 #. type: Plain text
2756 #: build/C/man7/capabilities.7:1017
2757 msgid ""
2758 "Setting this flag allows a thread that has one or more 0 UIDs to retain its "
2759 "capabilities when it switches all of its UIDs to a nonzero value.  If this "
2760 "flag is not set, then such a UID switch causes the thread to lose all "
2761 "capabilities.  This flag is always cleared on an B<execve>(2).  (This flag "
2762 "provides the same functionality as the older B<prctl>(2)  B<PR_SET_KEEPCAPS> "
2763 "operation.)"
2764 msgstr ""
2765 "このフラグをセットされている場合、UID が 0 のスレッドの UID が 0 以外の値に "
2766 "切り替わる際に、そのスレッドはケーパビリティを維持することができる。 このフラ"
2767 "グがセットされていない場合には、UID が 0 から 0 以外の値に 切り替わると、その"
2768 "スレッドは全てのケーパビリティを失う。 このフラグは B<execve>(2)  時には全て"
2769 "クリアされる (このフラグは、以前の B<prctl>(2)  の B<PR_SET_KEEPCAPS> 操作と"
2770 "同じ機能を提供するものである)。"
2771
2772 #. type: TP
2773 #: build/C/man7/capabilities.7:1017
2774 #, no-wrap
2775 msgid "B<SECBIT_NO_SETUID_FIXUP>"
2776 msgstr "B<SECBIT_NO_SETUID_FIXUP>"
2777
2778 #. type: Plain text
2779 #: build/C/man7/capabilities.7:1024
2780 #, fuzzy
2781 #| msgid ""
2782 #| "Setting this flag stops the kernel from adjusting capability sets when "
2783 #| "the threads's effective and file system UIDs are switched between zero "
2784 #| "and nonzero values.  (See the subsection I<Effect of User ID Changes on "
2785 #| "Capabilities>.)"
2786 msgid ""
2787 "Setting this flag stops the kernel from adjusting capability sets when the "
2788 "threads's effective and filesystem UIDs are switched between zero and "
2789 "nonzero values.  (See the subsection I<Effect of User ID Changes on "
2790 "Capabilities>.)"
2791 msgstr ""
2792 "このフラグをセットすると、スレッドの実効 UID とファイルシステム UID が 0 と "
2793 "0 以外の間で切り替わった場合に、 カーネルはケーパビリティセットの調整を行わな"
2794 "くなる (「ユーザ ID 変更のケーパビリティへの影響」の節を参照)。"
2795
2796 #. type: TP
2797 #: build/C/man7/capabilities.7:1024
2798 #, no-wrap
2799 msgid "B<SECBIT_NOROOT>"
2800 msgstr "B<SECBIT_NOROOT>"
2801
2802 #. type: Plain text
2803 #: build/C/man7/capabilities.7:1032
2804 msgid ""
2805 "If this bit is set, then the kernel does not grant capabilities when a set-"
2806 "user-ID-root program is executed, or when a process with an effective or "
2807 "real UID of 0 calls B<execve>(2).  (See the subsection I<Capabilities and "
2808 "execution of programs by root>.)"
2809 msgstr ""
2810 "このビットがセットされている場合、 set-user-ID-root プログラムの実行時や、 実"
2811 "効 UID か 実 UID が 0 のプロセスが B<execve>(2)  を呼び出した時に、カーネルは"
2812 "ケーパビリティを許可しない (「ケーパビリティと、ルートによるプログラムの実"
2813 "行」の節を参照)。"
2814
2815 #. type: Plain text
2816 #: build/C/man7/capabilities.7:1042
2817 msgid ""
2818 "Each of the above \"base\" flags has a companion \"locked\" flag.  Setting "
2819 "any of the \"locked\" flags is irreversible, and has the effect of "
2820 "preventing further changes to the corresponding \"base\" flag.  The locked "
2821 "flags are: B<SECBIT_KEEP_CAPS_LOCKED>, B<SECBIT_NO_SETUID_FIXUP_LOCKED>, and "
2822 "B<SECBIT_NOROOT_LOCKED>."
2823 msgstr ""
2824 "上記の \"base\" フラグの各々には対応する \"locked\" フラグが存在する。 いずれ"
2825 "の \"locked\" フラグも一度セットされると戻すことはできず、 それ以降は対応す"
2826 "る \"base\" フラグを変更することができなくなる。 \"locked\" フラグは "
2827 "B<SECBIT_KEEP_CAPS_LOCKED>, B<SECBIT_NO_SETUID_FIXUP_LOCKED>, "
2828 "B<SECBIT_NOROOT_LOCKED> という名前である。"
2829
2830 #. type: Plain text
2831 #: build/C/man7/capabilities.7:1054
2832 msgid ""
2833 "The I<securebits> flags can be modified and retrieved using the B<prctl>(2)  "
2834 "B<PR_SET_SECUREBITS> and B<PR_GET_SECUREBITS> operations.  The "
2835 "B<CAP_SETPCAP> capability is required to modify the flags."
2836 msgstr ""
2837 "I<securebits> フラグは、 B<prctl>(2)  の操作 B<PR_SET_SECUREBITS> や "
2838 "B<PR_GET_SECUREBITS> を使うことで変更したり取得したりできる。 フラグを変更す"
2839 "るには B<CAP_SETPCAP> ケーパビリティが必要である。"
2840
2841 #. type: Plain text
2842 #: build/C/man7/capabilities.7:1063
2843 msgid ""
2844 "The I<securebits> flags are inherited by child processes.  During an "
2845 "B<execve>(2), all of the flags are preserved, except B<SECBIT_KEEP_CAPS> "
2846 "which is always cleared."
2847 msgstr ""
2848 "I<securebits> フラグは子プロセスに継承される。 B<execve>(2) においては、\n"
2849 "B<SECBIT_KEEP_CAPS> が常にクリアされる以外は、全てのフラグが保持される。"
2850
2851 #. type: Plain text
2852 #: build/C/man7/capabilities.7:1068
2853 msgid ""
2854 "An application can use the following call to lock itself, and all of its "
2855 "descendants, into an environment where the only way of gaining capabilities "
2856 "is by executing a program with associated file capabilities:"
2857 msgstr ""
2858 "アプリケーションは、以下の呼び出しを行うことにより、 自分自身および子孫となる"
2859 "プロセス全てに対して、 必要なファイルケーパビリティを持ったプログラムを実行し"
2860 "ない限り、 対応するケーパビリティを獲得できないような状況に閉じこめることがで"
2861 "きる。"
2862
2863 #. type: Plain text
2864 #: build/C/man7/capabilities.7:1077
2865 #, no-wrap
2866 msgid ""
2867 "prctl(PR_SET_SECUREBITS,\n"
2868 "        SECBIT_KEEP_CAPS_LOCKED |\n"
2869 "        SECBIT_NO_SETUID_FIXUP |\n"
2870 "        SECBIT_NO_SETUID_FIXUP_LOCKED |\n"
2871 "        SECBIT_NOROOT |\n"
2872 "        SECBIT_NOROOT_LOCKED);\n"
2873 msgstr ""
2874 "prctl(PR_SET_SECUREBITS,\n"
2875 "        SECBIT_KEEP_CAPS_LOCKED |\n"
2876 "        SECBIT_NO_SETUID_FIXUP |\n"
2877 "        SECBIT_NO_SETUID_FIXUP_LOCKED |\n"
2878 "        SECBIT_NOROOT |\n"
2879 "        SECBIT_NOROOT_LOCKED);\n"
2880
2881 #. type: Plain text
2882 #: build/C/man7/capabilities.7:1085
2883 msgid ""
2884 "No standards govern capabilities, but the Linux capability implementation is "
2885 "based on the withdrawn POSIX.1e draft standard; see E<.UR http://wt."
2886 "tuxomania.net\\:/publications\\:/posix.1e/> E<.UE .>"
2887 msgstr ""
2888 "ケーパビリティに関する標準はないが、 Linux のケーパビリティは廃案になった "
2889 "POSIX.1e 草案に基づいて実装されている。 E<.UR http://wt.xpilot.org\\:/"
2890 "publications\\:/posix.1e/> E<.UE> を参照。"
2891
2892 #. type: Plain text
2893 #: build/C/man7/capabilities.7:1089
2894 msgid ""
2895 "Since kernel 2.5.27, capabilities are an optional kernel component, and can "
2896 "be enabled/disabled via the CONFIG_SECURITY_CAPABILITIES kernel "
2897 "configuration option."
2898 msgstr ""
2899 "カーネル 2.5.27 以降、ケーパビリティは選択式のカーネルコンポーネント となって"
2900 "おり、カーネル設定オプション CONFIG_SECURITY_CAPABILITIES により有効/無効を切"
2901 "り替えることができる。"
2902
2903 #.  7b9a7ec565505699f503b4fcf61500dceb36e744
2904 #. type: Plain text
2905 #: build/C/man7/capabilities.7:1103
2906 msgid ""
2907 "The I</proc/PID/task/TID/status> file can be used to view the capability "
2908 "sets of a thread.  The I</proc/PID/status> file shows the capability sets of "
2909 "a process's main thread.  Before Linux 3.8, nonexistent capabilities were "
2910 "shown as being enabled (1) in these sets.  Since Linux 3.8, all non-existent "
2911 "capabilities (above B<CAP_LAST_CAP>)  are shown as disabled (0)."
2912 msgstr ""
2913 "I</proc/PID/task/TID/status> ファイルを使うと、スレッドのケーパビリティセット"
2914 "を見ることができる。 I</proc/PID/status> ファイルには、プロセスのメインスレッ"
2915 "ドのケーパビリティセットが表示される。 Linux 3.8 より前では、 これらのケーパ"
2916 "ビリティセットの表示で、 存在しないケーパビリティはすべて有効 (1) として表示"
2917 "される。 Linux 3.8 以降では、 存在しないケーパビリティはすべて無効 (0) として"
2918 "表示される。 (B<CAP_LAST_CAP> より大きい値を持つケーパビリティが存在しない"
2919 "ケーパビリティである)。"
2920
2921 #. type: Plain text
2922 #: build/C/man7/capabilities.7:1118
2923 msgid ""
2924 "The I<libcap> package provides a suite of routines for setting and getting "
2925 "capabilities that is more comfortable and less likely to change than the "
2926 "interface provided by B<capset>(2)  and B<capget>(2).  This package also "
2927 "provides the B<setcap>(8)  and B<getcap>(8)  programs.  It can be found at"
2928 msgstr ""
2929 "I<libcap> パッケージは、ケーパビリティを設定・取得するための ルーチン群を提供"
2930 "している。これらのインタフェースは、 B<capset>(2)  と B<capget>(2)  が提供す"
2931 "るインターフェースと比べて、より使いやすく、変更される可能性が少ない。 この"
2932 "パッケージでは、 B<setcap>(8), B<getcap>(8)  というプログラムも提供されてい"
2933 "る。 パッケージは以下で入手できる。"
2934
2935 #. type: Plain text
2936 #: build/C/man7/capabilities.7:1121
2937 msgid ""
2938 "E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/libs\\:/security\\:/linux-"
2939 "privs> E<.UE .>"
2940 msgstr ""
2941 "E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/libs\\:/security\\:/linux-"
2942 "privs> E<.UE .>"
2943
2944 #. type: Plain text
2945 #: build/C/man7/capabilities.7:1130
2946 msgid ""
2947 "Before kernel 2.6.24, and since kernel 2.6.24 if file capabilities are not "
2948 "enabled, a thread with the B<CAP_SETPCAP> capability can manipulate the "
2949 "capabilities of threads other than itself.  However, this is only "
2950 "theoretically possible, since no thread ever has B<CAP_SETPCAP> in either of "
2951 "these cases:"
2952 msgstr ""
2953 "バージョン 2.6.24 より前、およびファイルケーパビリティが 有効になっていない"
2954 "2.6.24 以降のカーネルでは、 B<CAP_SETPCAP> ケーパビリティを持ったスレッドは自"
2955 "分以外のスレッドの ケーパビリティを操作できる。 しかしながら、これは理論的に"
2956 "可能というだけである。 以下のいずれかの場合においても、どのスレッドも "
2957 "B<CAP_SETPCAP> ケーパビリティを持つことはないからである。"
2958
2959 #. type: Plain text
2960 #: build/C/man7/capabilities.7:1135
2961 msgid ""
2962 "In the pre-2.6.25 implementation the system-wide capability bounding set, I</"
2963 "proc/sys/kernel/cap-bound>, always masks out this capability, and this can "
2964 "not be changed without modifying the kernel source and rebuilding."
2965 msgstr ""
2966 "2.6.25 より前の実装では、システム共通のケーパビリティ・バウンディングセット "
2967 "I</proc/sys/kernel/cap-bound> ではこのケーパビリティは常に無効になっており、 "
2968 "ソースを変更してカーネルを再コンパイルしない限り、 これを変更することはできな"
2969 "い。"
2970
2971 #. type: Plain text
2972 #: build/C/man7/capabilities.7:1141
2973 msgid ""
2974 "If file capabilities are disabled in the current implementation, then "
2975 "B<init> starts out with this capability removed from its per-process "
2976 "bounding set, and that bounding set is inherited by all other processes "
2977 "created on the system."
2978 msgstr ""
2979 "現在の実装ではファイルケーパビリティが無効になっている場合、 プロセス毎のバウ"
2980 "ンディングセットからこのケーパビリティを抜いて B<init> は開始され、 システム"
2981 "上で生成される他の全てのプロセスでこのバウンディングセットが 継承される。"
2982
2983 #. type: Plain text
2984 #: build/C/man7/capabilities.7:1158
2985 msgid ""
2986 "B<capget>(2), B<prctl>(2), B<setfsuid>(2), B<cap_clear>(3), B<cap_copy_ext>"
2987 "(3), B<cap_from_text>(3), B<cap_get_file>(3), B<cap_get_proc>(3), B<cap_init>"
2988 "(3), B<capgetp>(3), B<capsetp>(3), B<libcap>(3), B<credentials>(7), "
2989 "B<pthreads>(7), B<getcap>(8), B<setcap>(8)"
2990 msgstr ""
2991 "B<capget>(2), B<prctl>(2), B<setfsuid>(2), B<cap_clear>(3),\n"
2992 "B<cap_copy_ext>(3), B<cap_from_text>(3), B<cap_get_file>(3),\n"
2993 "B<cap_get_proc>(3), B<cap_init>(3), B<capgetp>(3), B<capsetp>(3),\n"
2994 "B<libcap>(3), B<credentials>(7), B<pthreads>(7), B<getcap>(8), B<setcap>(8)"
2995
2996 #. type: Plain text
2997 #: build/C/man7/capabilities.7:1161
2998 msgid "I<include/linux/capability.h> in the Linux kernel source tree"
2999 msgstr "Linux カーネルソース内の I<include/linux/capability.h>"
3000
3001 #. type: TH
3002 #: build/C/man2/capget.2:15
3003 #, no-wrap
3004 msgid "CAPGET"
3005 msgstr "CAPGET"
3006
3007 #. type: TH
3008 #: build/C/man2/capget.2:15
3009 #, no-wrap
3010 msgid "2013-03-11"
3011 msgstr "2013-03-11"
3012
3013 #. type: Plain text
3014 #: build/C/man2/capget.2:18
3015 msgid "capget, capset - set/get capabilities of thread(s)"
3016 msgstr "capget, capset - スレッドのケーパビリティを設定/取得する"
3017
3018 #. type: Plain text
3019 #: build/C/man2/capget.2:20
3020 msgid "B<#include E<lt>sys/capability.hE<gt>>"
3021 msgstr "B<#include E<lt>sys/capability.hE<gt>>"
3022
3023 #. type: Plain text
3024 #: build/C/man2/capget.2:22
3025 msgid ""
3026 "B<int capget(cap_user_header_t >I<hdrp>B<, cap_user_data_t >I<datap>B<);>"
3027 msgstr ""
3028 "B<int capget(cap_user_header_t >I<hdrp>B<, cap_user_data_t >I<datap>B<);>"
3029
3030 #. type: Plain text
3031 #: build/C/man2/capget.2:24
3032 msgid ""
3033 "B<int capset(cap_user_header_t >I<hdrp>B<, const cap_user_data_t "
3034 ">I<datap>B<);>"
3035 msgstr ""
3036 "B<int capset(cap_user_header_t >I<hdrp>B<, const cap_user_data_t "
3037 ">I<datap>B<);>"
3038
3039 #. type: Plain text
3040 #: build/C/man2/capget.2:35
3041 msgid ""
3042 "As of Linux 2.2, the power of the superuser (root) has been partitioned into "
3043 "a set of discrete capabilities.  Each thread has a set of effective "
3044 "capabilities identifying which capabilities (if any) it may currently "
3045 "exercise.  Each thread also has a set of inheritable capabilities that may "
3046 "be passed through an B<execve>(2)  call, and a set of permitted capabilities "
3047 "that it can make effective or inheritable."
3048 msgstr ""
3049 "Linux 2.2 で、スーパーユーザー (root) の権限は、個別のケーパビリティ "
3050 "(capabilities) へと分割され、その集合として表現されるようになった。 各スレッ"
3051 "ドは「実効ケーパビリティ (effective capability) の集合」を持ち、 それによって"
3052 "現在どの操作が実行可能かを識別できる。 また、各スレッドは、 「継承可能ケーパ"
3053 "ビリティ (inheritable capability) の集合」と 「許可ケーパビリティ (permitted "
3054 "capability) の集合」を持つ。 「継承可能ケーパビリティの集合」は B<execve>"
3055 "(2)  を通じて渡すことができるケーパビリティの集合であり、 「許可ケーパビリ"
3056 "ティ (permitted capability) の集合」は 実効ケーパビリティや継承可能ケーパビリ"
3057 "ティとして有効にできる ケーパビリティを規定するものである。"
3058
3059 #. type: Plain text
3060 #: build/C/man2/capget.2:44
3061 msgid ""
3062 "These two system calls are the raw kernel interface for getting and setting "
3063 "thread capabilities.  Not only are these system calls specific to Linux, but "
3064 "the kernel API is likely to change and use of these system calls (in "
3065 "particular the format of the I<cap_user_*_t> types) is subject to extension "
3066 "with each kernel revision, but old programs will keep working."
3067 msgstr ""
3068 "この二つのシステムコールはスレッドのケーパビリティを取得したり設定したりする"
3069 "ための 生のカーネルインターフェースである。 これらのシステムコールは Linux 特"
3070 "有であるというだけでなく、 カーネル API は変更されるかもしれず、これらのシス"
3071 "テムコールの使用法 (特に I<cap_user_*_t> 型という書式) はカーネルのリビジョン"
3072 "毎に拡張されるかもしれないが、 以前のプログラムはそのまま動作する。"
3073
3074 #. type: Plain text
3075 #: build/C/man2/capget.2:55
3076 msgid ""
3077 "The portable interfaces are B<cap_set_proc>(3)  and B<cap_get_proc>(3); if "
3078 "possible you should use those interfaces in applications.  If you wish to "
3079 "use the Linux extensions in applications, you should use the easier-to-use "
3080 "interfaces B<capsetp>(3)  and B<capgetp>(3)."
3081 msgstr ""
3082 "移植性のあるインターフェースは B<cap_set_proc>(3)  と B<cap_get_proc>(3)  で"
3083 "ある。 可能ならばアプリケーションはこれらの関数を使用すべきである。 アプリ"
3084 "ケーションに Linux 拡張を使用したい場合には、より簡単に 使えるインターフェー"
3085 "スである B<capsetp>(3)  と B<capgetp>(3)  を使用すべきである。"
3086
3087 #. type: SS
3088 #: build/C/man2/capget.2:55
3089 #, no-wrap
3090 msgid "Current details"
3091 msgstr "現在の詳細"
3092
3093 #. type: Plain text
3094 #: build/C/man2/capget.2:58
3095 msgid ""
3096 "Now that you have been warned, some current kernel details.  The structures "
3097 "are defined as follows."
3098 msgstr ""
3099 "現在のカーネルの詳細について注意を述べておく。 構造体は以下のように定義され"
3100 "る。"
3101
3102 #. type: Plain text
3103 #: build/C/man2/capget.2:63
3104 #, no-wrap
3105 msgid ""
3106 "#define _LINUX_CAPABILITY_VERSION_1  0x19980330\n"
3107 "#define _LINUX_CAPABILITY_U32S_1     1\n"
3108 msgstr ""
3109 "#define _LINUX_CAPABILITY_VERSION_1  0x19980330\n"
3110 "#define _LINUX_CAPABILITY_U32S_1     1\n"
3111
3112 #. type: Plain text
3113 #: build/C/man2/capget.2:66
3114 #, no-wrap
3115 msgid ""
3116 "#define _LINUX_CAPABILITY_VERSION_2  0x20071026\n"
3117 "#define _LINUX_CAPABILITY_U32S_2     2\n"
3118 msgstr ""
3119 "#define _LINUX_CAPABILITY_VERSION_2  0x20071026\n"
3120 "#define _LINUX_CAPABILITY_U32S_2     2\n"
3121
3122 #. type: Plain text
3123 #: build/C/man2/capget.2:71
3124 #, no-wrap
3125 msgid ""
3126 "typedef struct __user_cap_header_struct {\n"
3127 "   __u32 version;\n"
3128 "   int pid;\n"
3129 "} *cap_user_header_t;\n"
3130 msgstr ""
3131 "typedef struct __user_cap_header_struct {\n"
3132 "   __u32 version;\n"
3133 "   int pid;\n"
3134 "} *cap_user_header_t;\n"
3135
3136 #. type: Plain text
3137 #: build/C/man2/capget.2:77
3138 #, no-wrap
3139 msgid ""
3140 "typedef struct __user_cap_data_struct {\n"
3141 "   __u32 effective;\n"
3142 "   __u32 permitted;\n"
3143 "   __u32 inheritable;\n"
3144 "} *cap_user_data_t;\n"
3145 msgstr ""
3146 "typedef struct __user_cap_data_struct {\n"
3147 "   __u32 effective;\n"
3148 "   __u32 permitted;\n"
3149 "   __u32 inheritable;\n"
3150 "} *cap_user_data_t;\n"
3151
3152 #. type: Plain text
3153 #: build/C/man2/capget.2:96
3154 msgid ""
3155 "The I<effective>, I<permitted>, and I<inheritable> fields are bit masks of "
3156 "the capabilities defined in I<capability(7).> Note the B<CAP_*> values are "
3157 "bit indexes and need to be bit-shifted before ORing into the bit fields.  To "
3158 "define the structures for passing to the system call you have to use the "
3159 "I<struct __user_cap_header_struct> and I<struct __user_cap_data_struct> "
3160 "names because the typedefs are only pointers."
3161 msgstr ""
3162 "フィールド I<effective>, I<permitted>, I<inheritable> は、 B<capability>(7)  "
3163 "で定義されるケーパビリティのビットマスクである。 I<CAP_*> はビット番号を表す"
3164 "インデックス値であり、 ビットフィールドに OR を行う前に I<CAP_*> の値の分だけ"
3165 "ビットシフトを行う必要がある。 typedef の方はポインタなので、 このシステム"
3166 "コールに渡す構造体を定義するには、 I<struct __user_cap_header_struct> と "
3167 "I<struct __user_cap_data_struct> という名前を使用しなければならない。"
3168
3169 #. type: Plain text
3170 #: build/C/man2/capget.2:108
3171 msgid ""
3172 "Kernels prior to 2.6.25 prefer 32-bit capabilities with version "
3173 "B<_LINUX_CAPABILITY_VERSION_1>, and kernels 2.6.25+ prefer 64-bit "
3174 "capabilities with version B<_LINUX_CAPABILITY_VERSION_2>.  Note, 64-bit "
3175 "capabilities use I<datap>[0] and I<datap>[1], whereas 32-bit capabilities "
3176 "use only I<datap>[0]."
3177 msgstr ""
3178 "カーネル 2.6.25 より前では、バージョン B<_LINUX_CAPABILITY_VERSION_1> の 32 "
3179 "ビットケーパビリティが推奨である。 カーネル 2.6.25 以降では、バージョン "
3180 "B<_LINUX_CAPABILITY_VERSION_2> の 64 ビットケーパビリティが推奨である。 64 "
3181 "ビットケーパビリティでは I<datap>[0] と I<datap>[1] が使用されるのに対し、 "
3182 "32 ビットケーパビリティでは I<datap>[0] だけが使用される。"
3183
3184 #. type: Plain text
3185 #: build/C/man2/capget.2:112
3186 msgid ""
3187 "Another change affecting the behavior of these system calls is kernel "
3188 "support for file capabilities (VFS capability support).  This support is "
3189 "currently a compile time option (added in kernel 2.6.24)."
3190 msgstr ""
3191 "これらのシステムコールの挙動に影響があるもう一つの変更点は、 ファイルケーパビ"
3192 "リティ (file capabilities) のカーネルによるサポート (VFS ケーパビリティのサ"
3193 "ポート) である。 VFS ケーパビリティのサポートは現在のところコンパイル時のオプ"
3194 "ションである (カーネル 2.6.24 で追加された)。"
3195
3196 #. type: Plain text
3197 #: build/C/man2/capget.2:119
3198 msgid ""
3199 "For B<capget>()  calls, one can probe the capabilities of any process by "
3200 "specifying its process ID with the I<hdrp-E<gt>pid> field value."
3201 msgstr ""
3202 "B<capget>()  では、 I<hdrp-E<gt>pid> のフィールド値にケーパビリティを知りたい"
3203 "プロセスのプロセス ID を 指定することで、任意のプロセスのケーパビリティを調べ"
3204 "ることができる。"
3205
3206 #. type: SS
3207 #: build/C/man2/capget.2:119
3208 #, no-wrap
3209 msgid "With VFS capability support"
3210 msgstr "VFS ケーパビリティがサポートされている場合"
3211
3212 #. type: Plain text
3213 #: build/C/man2/capget.2:131
3214 msgid ""
3215 "VFS Capability support creates a file-attribute method for adding "
3216 "capabilities to privileged executables.  This privilege model obsoletes "
3217 "kernel support for one process asynchronously setting the capabilities of "
3218 "another.  That is, with VFS support, for B<capset>()  calls the only "
3219 "permitted values for I<hdrp-E<gt>pid> are 0 or B<getpid>(2), which are "
3220 "equivalent."
3221 msgstr ""
3222 "VFS ケーパビリティのサポートでは、特権実行ファイルにケーパビリティを 追加する"
3223 "ためのファイル属性メソッドが作成された。 この特権モデルの導入により、あるプロ"
3224 "セスにより別のプロセスのケーパビリティ を非同期に設定する機能のカーネルによる"
3225 "サポートは廃止される。 つまり、VFS サポートでは、 B<capset>()  を呼び出す際"
3226 "に I<hdrp-E<gt>pid> の値として許されるのは 0 と B<getpid>(2)  が返す値だけと"
3227 "なる (どちらの値でも等価である)。"
3228
3229 #. type: SS
3230 #: build/C/man2/capget.2:131
3231 #, no-wrap
3232 msgid "Without VFS capability support"
3233 msgstr "VFS ケーパビリティがサポートされていない場合"
3234
3235 #. type: Plain text
3236 #: build/C/man2/capget.2:157
3237 msgid ""
3238 "When the kernel does not support VFS capabilities, B<capset>()  calls can "
3239 "operate on the capabilities of the thread specified by the I<pid> field of "
3240 "I<hdrp> when that is nonzero, or on the capabilities of the calling thread "
3241 "if I<pid> is 0.  If I<pid> refers to a single-threaded process, then I<pid> "
3242 "can be specified as a traditional process ID; operating on a thread of a "
3243 "multithreaded process requires a thread ID of the type returned by B<gettid>"
3244 "(2).  For B<capset>(), I<pid> can also be: -1, meaning perform the change on "
3245 "all threads except the caller and B<init>(8); or a value less than -1, in "
3246 "which case the change is applied to all members of the process group whose "
3247 "ID is -I<pid>."
3248 msgstr ""
3249 "カーネルが VFS ケーパビリティをサポートしていない場合、 I<hdrp> の I<pid> "
3250 "フィールドが 0 以外であれば、 B<capset>()  の操作対象は I<pid> で指定されたス"
3251 "レッドのケーパビリティになる。 I<pid> が 0 の場合は呼び出し元のスレッドのケー"
3252 "パビリティが操作対象となる。 I<pid> がシングルスレッド・プロセスを参照してい"
3253 "る場合、 I<pid> は以前から使われているプロセスID を使って指定できる。 マルチ"
3254 "スレッド・プロセス内のあるスレッドを対象にする場合は、 B<gettid>(2)  が返すス"
3255 "レッドID を用いて指定する必要がある。 また、 B<capset>()  では -1 や -1 より"
3256 "小さな値を指定することもできる。 -1 は呼び出し元と B<init>(8)  を除く全てのス"
3257 "レッドを対象として変更を行うことを、 -1 より小さな値は ID が -I<pid> のプロセ"
3258 "スグループの全メンバ を対象として変更を行うことを意味する。"
3259
3260 #. type: Plain text
3261 #: build/C/man2/capget.2:160
3262 msgid "For details on the data, see B<capabilities>(7)."
3263 msgstr "このデータの詳細は B<capabilities>(7)  を参照すること。"
3264
3265 #. type: Plain text
3266 #: build/C/man2/capget.2:179
3267 msgid ""
3268 "The calls will fail with the error B<EINVAL>, and set the I<version> field "
3269 "of I<hdrp> to the kernel preferred value of B<_LINUX_CAPABILITY_VERSION_?> "
3270 "when an unsupported I<version> value is specified.  In this way, one can "
3271 "probe what the current preferred capability revision is."
3272 msgstr ""
3273 "I<hdrp> のフィールド I<version> にサポートされていない値が指定された場合、 呼"
3274 "び出しはエラー B<EINVAL> で失敗し、 I<version> にカーネル推奨の "
3275 "B<_LINUX_CAPABILITY_VERSION_?> を設定する。 このようにして、現在の推奨ケーパ"
3276 "ビリティ・リビジョンが何かを 調べることができる。"
3277
3278 #. type: Plain text
3279 #: build/C/man2/capget.2:188
3280 msgid ""
3281 "Bad memory address.  I<hdrp> must not be NULL.  I<datap> may be NULL only "
3282 "when the user is trying to determine the preferred capability version format "
3283 "supported by the kernel."
3284 msgstr ""
3285 "不正なメモリアドレス。 I<hdrp> は NULL であってはならない。 I<datap> に NULL "
3286 "を指定してよいのは、ユーザがカーネルがサポートしている 推奨のケーパビリティ・"
3287 "バージョンを判定しようとしているときだけである。"
3288
3289 #. type: TP
3290 #: build/C/man2/capget.2:188 build/C/man7/cpuset.7:1180
3291 #: build/C/man7/cpuset.7:1189 build/C/man7/cpuset.7:1198
3292 #: build/C/man7/cpuset.7:1208 build/C/man7/cpuset.7:1217
3293 #: build/C/man7/cpuset.7:1224 build/C/man7/cpuset.7:1231
3294 #: build/C/man2/getgroups.2:114 build/C/man2/getgroups.2:121
3295 #: build/C/man2/getpriority.2:121 build/C/man2/getrlimit.2:440
3296 #: build/C/man2/getrusage.2:191 build/C/man2/iopl.2:72
3297 #: build/C/man2/ioprio_set.2:170 build/C/man2/setpgid.2:202
3298 #, no-wrap
3299 msgid "B<EINVAL>"
3300 msgstr "B<EINVAL>"
3301
3302 #. type: Plain text
3303 #: build/C/man2/capget.2:191
3304 msgid "One of the arguments was invalid."
3305 msgstr "引き数のどれかが無効である。"
3306
3307 #. type: Plain text
3308 #: build/C/man2/capget.2:196
3309 msgid ""
3310 "An attempt was made to add a capability to the Permitted set, or to set a "
3311 "capability in the Effective or Inheritable sets that is not in the Permitted "
3312 "set."
3313 msgstr ""
3314 "「許可ケーパビリティセット」にケーパビリティを追加しようとしているか、 もしく"
3315 "は「許可ケーパビリティセット」に含まれないケーパビリティを 「実効ケーパビリ"
3316 "ティセット」や「継承可能ケーパビリティセット」に セットしようとしている。"
3317
3318 #. type: Plain text
3319 #: build/C/man2/capget.2:215
3320 msgid ""
3321 "The caller attempted to use B<capset>()  to modify the capabilities of a "
3322 "thread other than itself, but lacked sufficient privilege.  For kernels "
3323 "supporting VFS capabilities, this is never permitted.  For kernels lacking "
3324 "VFS support, the B<CAP_SETPCAP> capability is required.  (A bug in kernels "
3325 "before 2.6.11 meant that this error could also occur if a thread without "
3326 "this capability tried to change its own capabilities by specifying the "
3327 "I<pid> field as a nonzero value (i.e., the value returned by B<getpid>(2))  "
3328 "instead of 0.)"
3329 msgstr ""
3330 "呼び出し元が自分以外のスレッドのケーパビリティを B<capset>()  を使って修正し"
3331 "ようとしたが、十分な特権がなかった。 VFS ケーパビリティをサポートしているカー"
3332 "ネルでは、 この操作が許可されることは決してない。 VFS ケーパビリティをサポー"
3333 "トしていないカーネルでは、 B<CAP_SETPCAP> ケーパビリティが必要である。 (バー"
3334 "ジョン 2.6.11 より前のカーネルには、 このケーパビリティを持たないスレッドが "
3335 "I<pid> フィールドに 0 でない値 (つまり、0 の代わりに B<getpid>(2)  が返す値) "
3336 "を指定して自分自身のケーパビリティを変更しようとした場合にも、 このエラーが発"
3337 "生するというバグがあった。)"
3338
3339 #. type: TP
3340 #: build/C/man2/capget.2:215 build/C/man7/cpuset.7:1330
3341 #: build/C/man2/getpriority.2:129 build/C/man2/getrlimit.2:464
3342 #: build/C/man2/getsid.2:70 build/C/man2/ioprio_set.2:187
3343 #: build/C/man2/setpgid.2:217
3344 #, no-wrap
3345 msgid "B<ESRCH>"
3346 msgstr "B<ESRCH>"
3347
3348 #. type: Plain text
3349 #: build/C/man2/capget.2:218
3350 msgid "No such thread."
3351 msgstr "そのようなスレッドが存在しない。"
3352
3353 #. type: Plain text
3354 #: build/C/man2/capget.2:220 build/C/man2/ioprio_set.2:198
3355 msgid "These system calls are Linux-specific."
3356 msgstr "これらのシステムコールは Linux 独自である。"
3357
3358 #. type: Plain text
3359 #: build/C/man2/capget.2:225
3360 msgid ""
3361 "The portable interface to the capability querying and setting functions is "
3362 "provided by the I<libcap> library and is available here:"
3363 msgstr ""
3364 "ケーパビリティを設定したり取得したりする機能のための移植性ある インターフェー"
3365 "スは I<libcap> ライブラリによって提供される。 このライブラリは以下から入手で"
3366 "きる:"
3367
3368 #. type: Plain text
3369 #: build/C/man2/capget.2:228
3370 msgid ""
3371 "E<.UR http://git.kernel.org/cgit\\:/linux\\:/kernel\\:/git\\:/morgan\\:\\:/"
3372 "libcap.git> E<.UE>"
3373 msgstr ""
3374 "E<.UR http://git.kernel.org/cgit\\:/linux\\:/kernel\\:/git\\:/morgan\\:\\:/"
3375 "libcap.git> E<.UE>"
3376
3377 #. type: Plain text
3378 #: build/C/man2/capget.2:232
3379 msgid "B<clone>(2), B<gettid>(2), B<capabilities>(7)"
3380 msgstr "B<clone>(2), B<gettid>(2), B<capabilities>(7)"
3381
3382 #. type: TH
3383 #: build/C/man7/cpuset.7:25
3384 #, no-wrap
3385 msgid "CPUSET"
3386 msgstr "CPUSET"
3387
3388 #. type: TH
3389 #: build/C/man7/cpuset.7:25 build/C/man2/getpriority.2:48
3390 #: build/C/man2/ioprio_set.2:24 build/C/man7/svipc.7:40
3391 #, no-wrap
3392 msgid "2013-02-12"
3393 msgstr "2013-02-12"
3394
3395 #. type: Plain text
3396 #: build/C/man7/cpuset.7:28
3397 msgid "cpuset - confine processes to processor and memory node subsets"
3398 msgstr ""
3399
3400 #. type: Plain text
3401 #: build/C/man7/cpuset.7:35
3402 msgid ""
3403 "The cpuset filesystem is a pseudo-filesystem interface to the kernel cpuset "
3404 "mechanism, which is used to control the processor placement and memory "
3405 "placement of processes.  It is commonly mounted at I</dev/cpuset>."
3406 msgstr ""
3407
3408 #. type: Plain text
3409 #: build/C/man7/cpuset.7:52
3410 msgid ""
3411 "On systems with kernels compiled with built in support for cpusets, all "
3412 "processes are attached to a cpuset, and cpusets are always present.  If a "
3413 "system supports cpusets, then it will have the entry B<nodev cpuset> in the "
3414 "file I</proc/filesystems>.  By mounting the cpuset filesystem (see the "
3415 "B<EXAMPLE> section below), the administrator can configure the cpusets on a "
3416 "system to control the processor and memory placement of processes on that "
3417 "system.  By default, if the cpuset configuration on a system is not modified "
3418 "or if the cpuset filesystem is not even mounted, then the cpuset mechanism, "
3419 "though present, has no affect on the system's behavior."
3420 msgstr ""
3421
3422 #. type: Plain text
3423 #: build/C/man7/cpuset.7:54
3424 msgid "A cpuset defines a list of CPUs and memory nodes."
3425 msgstr ""
3426
3427 #. type: Plain text
3428 #: build/C/man7/cpuset.7:63
3429 msgid ""
3430 "The CPUs of a system include all the logical processing units on which a "
3431 "process can execute, including, if present, multiple processor cores within "
3432 "a package and Hyper-Threads within a processor core.  Memory nodes include "
3433 "all distinct banks of main memory; small and SMP systems typically have just "
3434 "one memory node that contains all the system's main memory, while NUMA (non-"
3435 "uniform memory access) systems have multiple memory nodes."
3436 msgstr ""
3437
3438 #. type: Plain text
3439 #: build/C/man7/cpuset.7:73
3440 msgid ""
3441 "Cpusets are represented as directories in a hierarchical pseudo-filesystem, "
3442 "where the top directory in the hierarchy (I</dev/cpuset>)  represents the "
3443 "entire system (all online CPUs and memory nodes)  and any cpuset that is the "
3444 "child (descendant) of another parent cpuset contains a subset of that "
3445 "parent's CPUs and memory nodes.  The directories and files representing "
3446 "cpusets have normal filesystem permissions."
3447 msgstr ""
3448
3449 #. type: Plain text
3450 #: build/C/man7/cpuset.7:84
3451 msgid ""
3452 "Every process in the system belongs to exactly one cpuset.  A process is "
3453 "confined to run only on the CPUs in the cpuset it belongs to, and to "
3454 "allocate memory only on the memory nodes in that cpuset.  When a process "
3455 "B<fork>(2)s, the child process is placed in the same cpuset as its parent.  "
3456 "With sufficient privilege, a process may be moved from one cpuset to another "
3457 "and the allowed CPUs and memory nodes of an existing cpuset may be changed."
3458 msgstr ""
3459
3460 #. type: Plain text
3461 #: build/C/man7/cpuset.7:92
3462 msgid ""
3463 "When the system begins booting, a single cpuset is defined that includes all "
3464 "CPUs and memory nodes on the system, and all processes are in that cpuset.  "
3465 "During the boot process, or later during normal system operation, other "
3466 "cpusets may be created, as subdirectories of this top cpuset, under the "
3467 "control of the system administrator, and processes may be placed in these "
3468 "other cpusets."
3469 msgstr ""
3470
3471 #. type: Plain text
3472 #: build/C/man7/cpuset.7:114
3473 msgid ""
3474 "Cpusets are integrated with the B<sched_setaffinity>(2)  scheduling affinity "
3475 "mechanism and the B<mbind>(2)  and B<set_mempolicy>(2)  memory-placement "
3476 "mechanisms in the kernel.  Neither of these mechanisms let a process make "
3477 "use of a CPU or memory node that is not allowed by that process's cpuset.  "
3478 "If changes to a process's cpuset placement conflict with these other "
3479 "mechanisms, then cpuset placement is enforced even if it means overriding "
3480 "these other mechanisms.  The kernel accomplishes this overriding by silently "
3481 "restricting the CPUs and memory nodes requested by these other mechanisms to "
3482 "those allowed by the invoking process's cpuset.  This can result in these "
3483 "other calls returning an error, if for example, such a call ends up "
3484 "requesting an empty set of CPUs or memory nodes, after that request is "
3485 "restricted to the invoking process's cpuset."
3486 msgstr ""
3487
3488 #. type: Plain text
3489 #: build/C/man7/cpuset.7:120
3490 msgid ""
3491 "Typically, a cpuset is used to manage the CPU and memory-node confinement "
3492 "for a set of cooperating processes such as a batch scheduler job, and these "
3493 "other mechanisms are used to manage the placement of individual processes or "
3494 "memory regions within that set or job."
3495 msgstr ""
3496
3497 #. type: SH
3498 #: build/C/man7/cpuset.7:120
3499 #, no-wrap
3500 msgid "FILES"
3501 msgstr ""
3502
3503 #. type: Plain text
3504 #: build/C/man7/cpuset.7:125
3505 msgid ""
3506 "Each directory below I</dev/cpuset> represents a cpuset and contains a fixed "
3507 "set of pseudo-files describing the state of that cpuset."
3508 msgstr ""
3509
3510 #. type: Plain text
3511 #: build/C/man7/cpuset.7:135
3512 msgid ""
3513 "New cpusets are created using the B<mkdir>(2)  system call or the B<mkdir>"
3514 "(1)  command.  The properties of a cpuset, such as its flags, allowed CPUs "
3515 "and memory nodes, and attached processes, are queried and modified by "
3516 "reading or writing to the appropriate file in that cpuset's directory, as "
3517 "listed below."
3518 msgstr ""
3519
3520 #. type: Plain text
3521 #: build/C/man7/cpuset.7:141
3522 msgid ""
3523 "The pseudo-files in each cpuset directory are automatically created when the "
3524 "cpuset is created, as a result of the B<mkdir>(2)  invocation.  It is not "
3525 "possible to directly add or remove these pseudo-files."
3526 msgstr ""
3527
3528 #. type: Plain text
3529 #: build/C/man7/cpuset.7:149
3530 msgid ""
3531 "A cpuset directory that contains no child cpuset directories, and has no "
3532 "attached processes, can be removed using B<rmdir>(2)  or B<rmdir>(1).  It is "
3533 "not necessary, or possible, to remove the pseudo-files inside the directory "
3534 "before removing it."
3535 msgstr ""
3536
3537 #. type: Plain text
3538 #: build/C/man7/cpuset.7:163
3539 msgid ""
3540 "The pseudo-files in each cpuset directory are small text files that may be "
3541 "read and written using traditional shell utilities such as B<cat>(1), and "
3542 "B<echo>(1), or from a program by using file I/O library functions or system "
3543 "calls, such as B<open>(2), B<read>(2), B<write>(2), and B<close>(2)."
3544 msgstr ""
3545
3546 #.  ====================== tasks ======================
3547 #. type: Plain text
3548 #: build/C/man7/cpuset.7:168
3549 msgid ""
3550 "The pseudo-files in a cpuset directory represent internal kernel state and "
3551 "do not have any persistent image on disk.  Each of these per-cpuset files is "
3552 "listed and described below."
3553 msgstr ""
3554
3555 #. type: TP
3556 #: build/C/man7/cpuset.7:168
3557 #, no-wrap
3558 msgid "I<tasks>"
3559 msgstr "I<tasks>"
3560
3561 #. type: Plain text
3562 #: build/C/man7/cpuset.7:178
3563 msgid ""
3564 "List of the process IDs (PIDs) of the processes in that cpuset.  The list is "
3565 "formatted as a series of ASCII decimal numbers, each followed by a newline.  "
3566 "A process may be added to a cpuset (automatically removing it from the "
3567 "cpuset that previously contained it) by writing its PID to that cpuset's "
3568 "I<tasks> file (with or without a trailing newline.)"
3569 msgstr ""
3570
3571 #.  =================== notify_on_release ===================
3572 #. type: Plain text
3573 #: build/C/man7/cpuset.7:186
3574 msgid ""
3575 "B<Warning:> only one PID may be written to the I<tasks> file at a time.  If "
3576 "a string is written that contains more than one PID, only the first one will "
3577 "be used."
3578 msgstr ""
3579
3580 #. type: TP
3581 #: build/C/man7/cpuset.7:186
3582 #, no-wrap
3583 msgid "I<notify_on_release>"
3584 msgstr "I<notify_on_release>"
3585
3586 #.  ====================== cpus ======================
3587 #. type: Plain text
3588 #: build/C/man7/cpuset.7:195
3589 msgid ""
3590 "Flag (0 or 1).  If set (1), that cpuset will receive special handling after "
3591 "it is released, that is, after all processes cease using it (i.e., terminate "
3592 "or are moved to a different cpuset)  and all child cpuset directories have "
3593 "been removed.  See the B<Notify On Release> section, below."
3594 msgstr ""
3595
3596 #. type: TP
3597 #: build/C/man7/cpuset.7:195
3598 #, no-wrap
3599 msgid "I<cpuset.cpus>"
3600 msgstr "I<cpuset.cpus>"
3601
3602 #. type: Plain text
3603 #: build/C/man7/cpuset.7:202
3604 msgid ""
3605 "List of the physical numbers of the CPUs on which processes in that cpuset "
3606 "are allowed to execute.  See B<List Format> below for a description of the "
3607 "format of I<cpus>."
3608 msgstr ""
3609
3610 #.  ==================== cpu_exclusive ====================
3611 #. type: Plain text
3612 #: build/C/man7/cpuset.7:208
3613 msgid ""
3614 "The CPUs allowed to a cpuset may be changed by writing a new list to its "
3615 "I<cpus> file."
3616 msgstr ""
3617
3618 #. type: TP
3619 #: build/C/man7/cpuset.7:208
3620 #, no-wrap
3621 msgid "I<cpuset.cpu_exclusive>"
3622 msgstr "I<cpuset.cpu_exclusive>"
3623
3624 #. type: Plain text
3625 #: build/C/man7/cpuset.7:215
3626 msgid ""
3627 "Flag (0 or 1).  If set (1), the cpuset has exclusive use of its CPUs (no "
3628 "sibling or cousin cpuset may overlap CPUs).  By default this is off (0).  "
3629 "Newly created cpusets also initially default this to off (0)."
3630 msgstr ""
3631
3632 #.  ====================== mems ======================
3633 #. type: Plain text
3634 #: build/C/man7/cpuset.7:237
3635 msgid ""
3636 "Two cpusets are I<sibling> cpusets if they share the same parent cpuset in "
3637 "the I</dev/cpuset> hierarchy.  Two cpusets are I<cousin> cpusets if neither "
3638 "is the ancestor of the other.  Regardless of the I<cpu_exclusive> setting, "
3639 "if one cpuset is the ancestor of another, and if both of these cpusets have "
3640 "nonempty I<cpus>, then their I<cpus> must overlap, because the I<cpus> of "
3641 "any cpuset are always a subset of the I<cpus> of its parent cpuset."
3642 msgstr ""
3643
3644 #. type: TP
3645 #: build/C/man7/cpuset.7:237
3646 #, no-wrap
3647 msgid "I<cpuset.mems>"
3648 msgstr "I<cpuset.mems>"
3649
3650 #.  ==================== mem_exclusive ====================
3651 #. type: Plain text
3652 #: build/C/man7/cpuset.7:245
3653 msgid ""
3654 "List of memory nodes on which processes in this cpuset are allowed to "
3655 "allocate memory.  See B<List Format> below for a description of the format "
3656 "of I<mems>."
3657 msgstr ""
3658
3659 #. type: TP
3660 #: build/C/man7/cpuset.7:245
3661 #, no-wrap
3662 msgid "I<cpuset.mem_exclusive>"
3663 msgstr "I<cpuset.mem_exclusive>"
3664
3665 #. type: Plain text
3666 #: build/C/man7/cpuset.7:253
3667 msgid ""
3668 "Flag (0 or 1).  If set (1), the cpuset has exclusive use of its memory nodes "
3669 "(no sibling or cousin may overlap).  Also if set (1), the cpuset is a "
3670 "B<Hardwall> cpuset (see below.)  By default this is off (0).  Newly created "
3671 "cpusets also initially default this to off (0)."
3672 msgstr ""
3673
3674 #.  ==================== mem_hardwall ====================
3675 #. type: Plain text
3676 #: build/C/man7/cpuset.7:261
3677 msgid ""
3678 "Regardless of the I<mem_exclusive> setting, if one cpuset is the ancestor of "
3679 "another, then their memory nodes must overlap, because the memory nodes of "
3680 "any cpuset are always a subset of the memory nodes of that cpuset's parent "
3681 "cpuset."
3682 msgstr ""
3683
3684 #. type: TP
3685 #: build/C/man7/cpuset.7:261
3686 #, no-wrap
3687 msgid "I<cpuset.mem_hardwall> (since Linux 2.6.26)"
3688 msgstr "I<cpuset.mem_hardwall> (Linux 2.6.26 以降)"
3689
3690 #.  ==================== memory_migrate ====================
3691 #. type: Plain text
3692 #: build/C/man7/cpuset.7:272
3693 msgid ""
3694 "Flag (0 or 1).  If set (1), the cpuset is a B<Hardwall> cpuset (see below.)  "
3695 "Unlike B<mem_exclusive>, there is no constraint on whether cpusets marked "
3696 "B<mem_hardwall> may have overlapping memory nodes with sibling or cousin "
3697 "cpusets.  By default this is off (0).  Newly created cpusets also initially "
3698 "default this to off (0)."
3699 msgstr ""
3700
3701 #. type: TP
3702 #: build/C/man7/cpuset.7:272
3703 #, no-wrap
3704 msgid "I<cpuset.memory_migrate> (since Linux 2.6.16)"
3705 msgstr "I<cpuset.memory_migrate> (Linux 2.6.16 以降)"
3706
3707 #.  ==================== memory_pressure ====================
3708 #. type: Plain text
3709 #: build/C/man7/cpuset.7:279
3710 msgid ""
3711 "Flag (0 or 1).  If set (1), then memory migration is enabled.  By default "
3712 "this is off (0).  See the B<Memory Migration> section, below."
3713 msgstr ""
3714
3715 #. type: TP
3716 #: build/C/man7/cpuset.7:279
3717 #, no-wrap
3718 msgid "I<cpuset.memory_pressure> (since Linux 2.6.16)"
3719 msgstr "I<cpuset.memory_pressure> (Linux 2.6.16 以降)"
3720
3721 #.  ================= memory_pressure_enabled =================
3722 #. type: Plain text
3723 #: build/C/man7/cpuset.7:292
3724 msgid ""
3725 "A measure of how much memory pressure the processes in this cpuset are "
3726 "causing.  See the B<Memory Pressure> section, below.  Unless "
3727 "I<memory_pressure_enabled> is enabled, always has value zero (0).  This file "
3728 "is read-only.  See the B<WARNINGS> section, below."
3729 msgstr ""
3730
3731 #. type: TP
3732 #: build/C/man7/cpuset.7:292
3733 #, no-wrap
3734 msgid "I<cpuset.memory_pressure_enabled> (since Linux 2.6.16)"
3735 msgstr "I<cpuset.memory_pressure_enabled> (Linux 2.6.16 以降)"
3736
3737 #.  ================== memory_spread_page ==================
3738 #. type: Plain text
3739 #: build/C/man7/cpuset.7:304
3740 msgid ""
3741 "Flag (0 or 1).  This file is present only in the root cpuset, normally I</"
3742 "dev/cpuset>.  If set (1), the I<memory_pressure> calculations are enabled "
3743 "for all cpusets in the system.  By default this is off (0).  See the "
3744 "B<Memory Pressure> section, below."
3745 msgstr ""
3746
3747 #. type: TP
3748 #: build/C/man7/cpuset.7:304
3749 #, no-wrap
3750 msgid "I<cpuset.memory_spread_page> (since Linux 2.6.17)"
3751 msgstr "I<cpuset.memory_spread_page> (Linux 2.6.17 以降)"
3752
3753 #.  ================== memory_spread_slab ==================
3754 #. type: Plain text
3755 #: build/C/man7/cpuset.7:314
3756 msgid ""
3757 "Flag (0 or 1).  If set (1), pages in the kernel page cache (filesystem "
3758 "buffers) are uniformly spread across the cpuset.  By default this is off (0) "
3759 "in the top cpuset, and inherited from the parent cpuset in newly created "
3760 "cpusets.  See the B<Memory Spread> section, below."
3761 msgstr ""
3762
3763 #. type: TP
3764 #: build/C/man7/cpuset.7:314
3765 #, no-wrap
3766 msgid "I<cpuset.memory_spread_slab> (since Linux 2.6.17)"
3767 msgstr "I<cpuset.memory_spread_slab> (Linux 2.6.17 以降)"
3768
3769 #.  ================== sched_load_balance ==================
3770 #. type: Plain text
3771 #: build/C/man7/cpuset.7:325
3772 msgid ""
3773 "Flag (0 or 1).  If set (1), the kernel slab caches for file I/O (directory "
3774 "and inode structures) are uniformly spread across the cpuset.  By default "
3775 "this is off (0) in the top cpuset, and inherited from the parent cpuset in "
3776 "newly created cpusets.  See the B<Memory Spread> section, below."
3777 msgstr ""
3778
3779 #. type: TP
3780 #: build/C/man7/cpuset.7:325
3781 #, no-wrap
3782 msgid "I<cpuset.sched_load_balance> (since Linux 2.6.24)"
3783 msgstr "I<cpuset.sched_load_balance> (Linux 2.6.24 以降)"
3784
3785 #.  ================== sched_relax_domain_level ==================
3786 #. type: Plain text
3787 #: build/C/man7/cpuset.7:339
3788 msgid ""
3789 "Flag (0 or 1).  If set (1, the default) the kernel will automatically load "
3790 "balance processes in that cpuset over the allowed CPUs in that cpuset.  If "
3791 "cleared (0) the kernel will avoid load balancing processes in this cpuset, "
3792 "I<unless> some other cpuset with overlapping CPUs has its "
3793 "I<sched_load_balance> flag set.  See B<Scheduler Load Balancing>, below, for "
3794 "further details."
3795 msgstr ""
3796
3797 #. type: TP
3798 #: build/C/man7/cpuset.7:339
3799 #, no-wrap
3800 msgid "I<cpuset.sched_relax_domain_level> (since Linux 2.6.26)"
3801 msgstr "I<cpuset.sched_relax_domain_level> (Linux 2.6.26 以降)"
3802
3803 #.  ================== proc cpuset ==================
3804 #. type: Plain text
3805 #: build/C/man7/cpuset.7:359
3806 msgid ""
3807 "Integer, between -1 and a small positive value.  The "
3808 "I<sched_relax_domain_level> controls the width of the range of CPUs over "
3809 "which the kernel scheduler performs immediate rebalancing of runnable tasks "
3810 "across CPUs.  If I<sched_load_balance> is disabled, then the setting of "
3811 "I<sched_relax_domain_level> does not matter, as no such load balancing is "
3812 "done.  If I<sched_load_balance> is enabled, then the higher the value of the "
3813 "I<sched_relax_domain_level>, the wider the range of CPUs over which "
3814 "immediate load balancing is attempted.  See B<Scheduler Relax Domain Level>, "
3815 "below, for further details."
3816 msgstr ""
3817
3818 #.  ================== proc status ==================
3819 #. type: Plain text
3820 #: build/C/man7/cpuset.7:367
3821 msgid ""
3822 "In addition to the above pseudo-files in each directory below I</dev/"
3823 "cpuset>, each process has a pseudo-file, I</proc/E<lt>pidE<gt>/cpuset>, that "
3824 "displays the path of the process's cpuset directory relative to the root of "
3825 "the cpuset filesystem."
3826 msgstr ""
3827
3828 #. type: Plain text
3829 #: build/C/man7/cpuset.7:378
3830 msgid ""
3831 "Also the I</proc/E<lt>pidE<gt>/status> file for each process has four added "
3832 "lines, displaying the process's I<Cpus_allowed> (on which CPUs it may be "
3833 "scheduled) and I<Mems_allowed> (on which memory nodes it may obtain memory), "
3834 "in the two formats B<Mask Format> and B<List Format> (see below)  as shown "
3835 "in the following example:"
3836 msgstr ""
3837
3838 #. type: Plain text
3839 #: build/C/man7/cpuset.7:385
3840 #, no-wrap
3841 msgid ""
3842 "Cpus_allowed:   ffffffff,ffffffff,ffffffff,ffffffff\n"
3843 "Cpus_allowed_list:     0-127\n"
3844 "Mems_allowed:   ffffffff,ffffffff\n"
3845 "Mems_allowed_list:     0-63\n"
3846 msgstr ""
3847 "Cpus_allowed:   ffffffff,ffffffff,ffffffff,ffffffff\n"
3848 "Cpus_allowed_list:     0-127\n"
3849 "Mems_allowed:   ffffffff,ffffffff\n"
3850 "Mems_allowed_list:     0-63\n"
3851
3852 #.  ================== EXTENDED CAPABILITIES ==================
3853 #. type: Plain text
3854 #: build/C/man7/cpuset.7:391
3855 msgid ""
3856 "The \"allowed\" fields were added in Linux 2.6.24; the \"allowed_list\" "
3857 "fields were added in Linux 2.6.26."
3858 msgstr ""
3859
3860 #. type: SH
3861 #: build/C/man7/cpuset.7:391
3862 #, no-wrap
3863 msgid "EXTENDED CAPABILITIES"
3864 msgstr ""
3865
3866 #.  ================== Exclusive Cpusets ==================
3867 #. type: Plain text
3868 #: build/C/man7/cpuset.7:399
3869 msgid ""
3870 "In addition to controlling which I<cpus> and I<mems> a process is allowed to "
3871 "use, cpusets provide the following extended capabilities."
3872 msgstr ""
3873
3874 #. type: SS
3875 #: build/C/man7/cpuset.7:399
3876 #, no-wrap
3877 msgid "Exclusive cpusets"
3878 msgstr ""
3879
3880 #. type: Plain text
3881 #: build/C/man7/cpuset.7:406
3882 msgid ""
3883 "If a cpuset is marked I<cpu_exclusive> or I<mem_exclusive>, no other cpuset, "
3884 "other than a direct ancestor or descendant, may share any of the same CPUs "
3885 "or memory nodes."
3886 msgstr ""
3887
3888 #.  ================== Hardwall ==================
3889 #. type: Plain text
3890 #: build/C/man7/cpuset.7:432
3891 msgid ""
3892 "A cpuset that is I<mem_exclusive> restricts kernel allocations for buffer "
3893 "cache pages and other internal kernel data pages commonly shared by the "
3894 "kernel across multiple users.  All cpusets, whether I<mem_exclusive> or not, "
3895 "restrict allocations of memory for user space.  This enables configuring a "
3896 "system so that several independent jobs can share common kernel data, while "
3897 "isolating each job's user allocation in its own cpuset.  To do this, "
3898 "construct a large I<mem_exclusive> cpuset to hold all the jobs, and "
3899 "construct child, non-I<mem_exclusive> cpusets for each individual job.  Only "
3900 "a small amount of kernel memory, such as requests from interrupt handlers, "
3901 "is allowed to be placed on memory nodes outside even a I<mem_exclusive> "
3902 "cpuset."
3903 msgstr ""
3904
3905 #. type: SS
3906 #: build/C/man7/cpuset.7:432
3907 #, no-wrap
3908 msgid "Hardwall"
3909 msgstr ""
3910
3911 #. type: Plain text
3912 #: build/C/man7/cpuset.7:447
3913 msgid ""
3914 "A cpuset that has I<mem_exclusive> or I<mem_hardwall> set is a I<hardwall> "
3915 "cpuset.  A I<hardwall> cpuset restricts kernel allocations for page, buffer, "
3916 "and other data commonly shared by the kernel across multiple users.  All "
3917 "cpusets, whether I<hardwall> or not, restrict allocations of memory for user "
3918 "space."
3919 msgstr ""
3920
3921 #. type: Plain text
3922 #: build/C/man7/cpuset.7:458
3923 msgid ""
3924 "This enables configuring a system so that several independent jobs can share "
3925 "common kernel data, such as filesystem pages, while isolating each job's "
3926 "user allocation in its own cpuset.  To do this, construct a large "
3927 "I<hardwall> cpuset to hold all the jobs, and construct child cpusets for "
3928 "each individual job which are not I<hardwall> cpusets."
3929 msgstr ""
3930
3931 #.  ================== Notify On Release ==================
3932 #. type: Plain text
3933 #: build/C/man7/cpuset.7:464
3934 msgid ""
3935 "Only a small amount of kernel memory, such as requests from interrupt "
3936 "handlers, is allowed to be taken outside even a I<hardwall> cpuset."
3937 msgstr ""
3938
3939 #. type: SS
3940 #: build/C/man7/cpuset.7:464
3941 #, no-wrap
3942 msgid "Notify on release"
3943 msgstr ""
3944
3945 #. type: Plain text
3946 #: build/C/man7/cpuset.7:476
3947 msgid ""
3948 "If the I<notify_on_release> flag is enabled (1) in a cpuset, then whenever "
3949 "the last process in the cpuset leaves (exits or attaches to some other "
3950 "cpuset)  and the last child cpuset of that cpuset is removed, the kernel "
3951 "will run the command I</sbin/cpuset_release_agent>, supplying the pathname "
3952 "(relative to the mount point of the cpuset filesystem) of the abandoned "
3953 "cpuset.  This enables automatic removal of abandoned cpusets."
3954 msgstr ""
3955
3956 #. type: Plain text
3957 #: build/C/man7/cpuset.7:484
3958 msgid ""
3959 "The default value of I<notify_on_release> in the root cpuset at system boot "
3960 "is disabled (0).  The default value of other cpusets at creation is the "
3961 "current value of their parent's I<notify_on_release> setting."
3962 msgstr ""
3963
3964 #. type: Plain text
3965 #: build/C/man7/cpuset.7:492
3966 msgid ""
3967 "The command I</sbin/cpuset_release_agent> is invoked, with the name (I</dev/"
3968 "cpuset> relative path)  of the to-be-released cpuset in I<argv[1]>."
3969 msgstr ""
3970
3971 #. type: Plain text
3972 #: build/C/man7/cpuset.7:496
3973 msgid ""
3974 "The usual contents of the command I</sbin/cpuset_release_agent> is simply "
3975 "the shell script:"
3976 msgstr ""
3977
3978 #. type: Plain text
3979 #: build/C/man7/cpuset.7:501
3980 #, no-wrap
3981 msgid ""
3982 "#!/bin/sh\n"
3983 "rmdir /dev/cpuset/$1\n"
3984 msgstr ""
3985 "#!/bin/sh\n"
3986 "rmdir /dev/cpuset/$1\n"
3987
3988 #.  ================== Memory Pressure ==================
3989 #. type: Plain text
3990 #: build/C/man7/cpuset.7:509
3991 msgid ""
3992 "As with other flag values below, this flag can be changed by writing an "
3993 "ASCII number 0 or 1 (with optional trailing newline)  into the file, to "
3994 "clear or set the flag, respectively."
3995 msgstr ""
3996
3997 #. type: SS
3998 #: build/C/man7/cpuset.7:509
3999 #, no-wrap
4000 msgid "Memory pressure"
4001 msgstr ""
4002
4003 #. type: Plain text
4004 #: build/C/man7/cpuset.7:515
4005 msgid ""
4006 "The I<memory_pressure> of a cpuset provides a simple per-cpuset running "
4007 "average of the rate that the processes in a cpuset are attempting to free up "
4008 "in-use memory on the nodes of the cpuset to satisfy additional memory "
4009 "requests."
4010 msgstr ""
4011
4012 #. type: Plain text
4013 #: build/C/man7/cpuset.7:519
4014 msgid ""
4015 "This enables batch managers that are monitoring jobs running in dedicated "
4016 "cpusets to efficiently detect what level of memory pressure that job is "
4017 "causing."
4018 msgstr ""
4019
4020 #. type: Plain text
4021 #: build/C/man7/cpuset.7:526
4022 msgid ""
4023 "This is useful both on tightly managed systems running a wide mix of "
4024 "submitted jobs, which may choose to terminate or reprioritize jobs that are "
4025 "trying to use more memory than allowed on the nodes assigned them, and with "
4026 "tightly coupled, long-running, massively parallel scientific computing jobs "
4027 "that will dramatically fail to meet required performance goals if they start "
4028 "to use more memory than allowed to them."
4029 msgstr ""
4030
4031 #. type: Plain text
4032 #: build/C/man7/cpuset.7:531
4033 msgid ""
4034 "This mechanism provides a very economical way for the batch manager to "
4035 "monitor a cpuset for signs of memory pressure.  It's up to the batch manager "
4036 "or other user code to decide what action to take if it detects signs of "
4037 "memory pressure."
4038 msgstr ""
4039
4040 #. type: Plain text
4041 #: build/C/man7/cpuset.7:538
4042 msgid ""
4043 "Unless memory pressure calculation is enabled by setting the pseudo-file I</"
4044 "dev/cpuset/cpuset.memory_pressure_enabled>, it is not computed for any "
4045 "cpuset, and reads from any I<memory_pressure> always return zero, as "
4046 "represented by the ASCII string \"0\\en\".  See the B<WARNINGS> section, "
4047 "below."
4048 msgstr ""
4049
4050 #. type: Plain text
4051 #: build/C/man7/cpuset.7:540
4052 msgid "A per-cpuset, running average is employed for the following reasons:"
4053 msgstr ""
4054
4055 #. type: Plain text
4056 #: build/C/man7/cpuset.7:545
4057 msgid ""
4058 "Because this meter is per-cpuset rather than per-process or per virtual "
4059 "memory region, the system load imposed by a batch scheduler monitoring this "
4060 "metric is sharply reduced on large systems, because a scan of the tasklist "
4061 "can be avoided on each set of queries."
4062 msgstr ""
4063
4064 #. type: Plain text
4065 #: build/C/man7/cpuset.7:550
4066 msgid ""
4067 "Because this meter is a running average rather than an accumulating counter, "
4068 "a batch scheduler can detect memory pressure with a single read, instead of "
4069 "having to read and accumulate results for a period of time."
4070 msgstr ""
4071
4072 #. type: Plain text
4073 #: build/C/man7/cpuset.7:556
4074 msgid ""
4075 "Because this meter is per-cpuset rather than per-process, the batch "
4076 "scheduler can obtain the key information\\(emmemory pressure in a cpuset"
4077 "\\(emwith a single read, rather than having to query and accumulate results "
4078 "over all the (dynamically changing)  set of processes in the cpuset."
4079 msgstr ""
4080
4081 #. type: Plain text
4082 #: build/C/man7/cpuset.7:564
4083 msgid ""
4084 "The I<memory_pressure> of a cpuset is calculated using a per-cpuset simple "
4085 "digital filter that is kept within the kernel.  For each cpuset, this filter "
4086 "tracks the recent rate at which processes attached to that cpuset enter the "
4087 "kernel direct reclaim code."
4088 msgstr ""
4089
4090 #. type: Plain text
4091 #: build/C/man7/cpuset.7:573
4092 msgid ""
4093 "The kernel direct reclaim code is entered whenever a process has to satisfy "
4094 "a memory page request by first finding some other page to repurpose, due to "
4095 "lack of any readily available already free pages.  Dirty filesystem pages "
4096 "are repurposed by first writing them to disk.  Unmodified filesystem buffer "
4097 "pages are repurposed by simply dropping them, though if that page is needed "
4098 "again, it will have to be reread from disk."
4099 msgstr ""
4100
4101 #.  ================== Memory Spread ==================
4102 #. type: Plain text
4103 #: build/C/man7/cpuset.7:581
4104 msgid ""
4105 "The I<cpuset.memory_pressure> file provides an integer number representing "
4106 "the recent (half-life of 10 seconds) rate of entries to the direct reclaim "
4107 "code caused by any process in the cpuset, in units of reclaims attempted per "
4108 "second, times 1000."
4109 msgstr ""
4110
4111 #. type: SS
4112 #: build/C/man7/cpuset.7:581
4113 #, no-wrap
4114 msgid "Memory spread"
4115 msgstr ""
4116
4117 #. type: Plain text
4118 #: build/C/man7/cpuset.7:589
4119 msgid ""
4120 "There are two Boolean flag files per cpuset that control where the kernel "
4121 "allocates pages for the filesystem buffers and related in-kernel data "
4122 "structures.  They are called I<cpuset.memory_spread_page> and I<cpuset."
4123 "memory_spread_slab>."
4124 msgstr ""
4125
4126 #. type: Plain text
4127 #: build/C/man7/cpuset.7:596
4128 msgid ""
4129 "If the per-cpuset Boolean flag file I<cpuset.memory_spread_page> is set, "
4130 "then the kernel will spread the filesystem buffers (page cache) evenly over "
4131 "all the nodes that the faulting process is allowed to use, instead of "
4132 "preferring to put those pages on the node where the process is running."
4133 msgstr ""
4134
4135 #. type: Plain text
4136 #: build/C/man7/cpuset.7:604
4137 msgid ""
4138 "If the per-cpuset Boolean flag file I<cpuset.memory_spread_slab> is set, "
4139 "then the kernel will spread some filesystem-related slab caches, such as "
4140 "those for inodes and directory entries, evenly over all the nodes that the "
4141 "faulting process is allowed to use, instead of preferring to put those pages "
4142 "on the node where the process is running."
4143 msgstr ""
4144
4145 #. type: Plain text
4146 #: build/C/man7/cpuset.7:609
4147 msgid ""
4148 "The setting of these flags does not affect the data segment (see B<brk>(2))  "
4149 "or stack segment pages of a process."
4150 msgstr ""
4151
4152 #. type: Plain text
4153 #: build/C/man7/cpuset.7:617
4154 msgid ""
4155 "By default, both kinds of memory spreading are off and the kernel prefers to "
4156 "allocate memory pages on the node local to where the requesting process is "
4157 "running.  If that node is not allowed by the process's NUMA memory policy or "
4158 "cpuset configuration or if there are insufficient free memory pages on that "
4159 "node, then the kernel looks for the nearest node that is allowed and has "
4160 "sufficient free memory."
4161 msgstr ""
4162
4163 #. type: Plain text
4164 #: build/C/man7/cpuset.7:620
4165 msgid ""
4166 "When new cpusets are created, they inherit the memory spread settings of "
4167 "their parent."
4168 msgstr ""
4169
4170 #. type: Plain text
4171 #: build/C/man7/cpuset.7:635
4172 msgid ""
4173 "Setting memory spreading causes allocations for the affected page or slab "
4174 "caches to ignore the process's NUMA memory policy and be spread instead.  "
4175 "However, the effect of these changes in memory placement caused by cpuset-"
4176 "specified memory spreading is hidden from the B<mbind>(2)  or "
4177 "B<set_mempolicy>(2)  calls.  These two NUMA memory policy calls always "
4178 "appear to behave as if no cpuset-specified memory spreading is in effect, "
4179 "even if it is.  If cpuset memory spreading is subsequently turned off, the "
4180 "NUMA memory policy most recently specified by these calls is automatically "
4181 "reapplied."
4182 msgstr ""
4183
4184 #. type: Plain text
4185 #: build/C/man7/cpuset.7:644
4186 msgid ""
4187 "Both I<cpuset.memory_spread_page> and I<cpuset.memory_spread_slab> are "
4188 "Boolean flag files.  By default they contain \"0\", meaning that the feature "
4189 "is off for that cpuset.  If a \"1\" is written to that file, that turns the "
4190 "named feature on."
4191 msgstr ""
4192
4193 #. type: Plain text
4194 #: build/C/man7/cpuset.7:647
4195 msgid ""
4196 "Cpuset-specified memory spreading behaves similarly to what is known (in "
4197 "other contexts) as round-robin or interleave memory placement."
4198 msgstr ""
4199
4200 #. type: Plain text
4201 #: build/C/man7/cpuset.7:650
4202 msgid ""
4203 "Cpuset-specified memory spreading can provide substantial performance "
4204 "improvements for jobs that:"
4205 msgstr ""
4206
4207 #. type: IP
4208 #: build/C/man7/cpuset.7:650
4209 #, no-wrap
4210 msgid "a)"
4211 msgstr "a)"
4212
4213 #. type: Plain text
4214 #: build/C/man7/cpuset.7:654
4215 msgid ""
4216 "need to place thread-local data on memory nodes close to the CPUs which are "
4217 "running the threads that most frequently access that data; but also"
4218 msgstr ""
4219
4220 #. type: IP
4221 #: build/C/man7/cpuset.7:654
4222 #, no-wrap
4223 msgid "b)"
4224 msgstr "b)"
4225
4226 #. type: Plain text
4227 #: build/C/man7/cpuset.7:657
4228 msgid ""
4229 "need to access large filesystem data sets that must to be spread across the "
4230 "several nodes in the job's cpuset in order to fit."
4231 msgstr ""
4232
4233 #.  ================== Memory Migration ==================
4234 #. type: Plain text
4235 #: build/C/man7/cpuset.7:664
4236 msgid ""
4237 "Without this policy, the memory allocation across the nodes in the job's "
4238 "cpuset can become very uneven, especially for jobs that might have just a "
4239 "single thread initializing or reading in the data set."
4240 msgstr ""
4241
4242 #. type: SS
4243 #: build/C/man7/cpuset.7:664
4244 #, no-wrap
4245 msgid "Memory migration"
4246 msgstr ""
4247
4248 #. type: Plain text
4249 #: build/C/man7/cpuset.7:673
4250 msgid ""
4251 "Normally, under the default setting (disabled) of I<cpuset.memory_migrate>, "
4252 "once a page is allocated (given a physical page of main memory) then that "
4253 "page stays on whatever node it was allocated, so long as it remains "
4254 "allocated, even if the cpuset's memory-placement policy I<mems> subsequently "
4255 "changes."
4256 msgstr ""
4257
4258 #. type: Plain text
4259 #: build/C/man7/cpuset.7:679
4260 msgid ""
4261 "When memory migration is enabled in a cpuset, if the I<mems> setting of the "
4262 "cpuset is changed, then any memory page in use by any process in the cpuset "
4263 "that is on a memory node that is no longer allowed will be migrated to a "
4264 "memory node that is allowed."
4265 msgstr ""
4266
4267 #. type: Plain text
4268 #: build/C/man7/cpuset.7:685
4269 msgid ""
4270 "Furthermore, if a process is moved into a cpuset with I<memory_migrate> "
4271 "enabled, any memory pages it uses that were on memory nodes allowed in its "
4272 "previous cpuset, but which are not allowed in its new cpuset, will be "
4273 "migrated to a memory node allowed in the new cpuset."
4274 msgstr ""
4275
4276 #.  ================== Scheduler Load Balancing ==================
4277 #. type: Plain text
4278 #: build/C/man7/cpuset.7:693
4279 msgid ""
4280 "The relative placement of a migrated page within the cpuset is preserved "
4281 "during these migration operations if possible.  For example, if the page was "
4282 "on the second valid node of the prior cpuset, then the page will be placed "
4283 "on the second valid node of the new cpuset, if possible."
4284 msgstr ""
4285
4286 #. type: SS
4287 #: build/C/man7/cpuset.7:693
4288 #, no-wrap
4289 msgid "Scheduler load balancing"
4290 msgstr ""
4291
4292 #. type: Plain text
4293 #: build/C/man7/cpuset.7:700
4294 msgid ""
4295 "The kernel scheduler automatically load balances processes.  If one CPU is "
4296 "underutilized, the kernel will look for processes on other more overloaded "
4297 "CPUs and move those processes to the underutilized CPU, within the "
4298 "constraints of such placement mechanisms as cpusets and B<sched_setaffinity>"
4299 "(2)."
4300 msgstr ""
4301
4302 #. type: Plain text
4303 #: build/C/man7/cpuset.7:713
4304 msgid ""
4305 "The algorithmic cost of load balancing and its impact on key shared kernel "
4306 "data structures such as the process list increases more than linearly with "
4307 "the number of CPUs being balanced.  For example, it costs more to load "
4308 "balance across one large set of CPUs than it does to balance across two "
4309 "smaller sets of CPUs, each of half the size of the larger set.  (The precise "
4310 "relationship between the number of CPUs being balanced and the cost of load "
4311 "balancing depends on implementation details of the kernel process scheduler, "
4312 "which is subject to change over time, as improved kernel scheduler "
4313 "algorithms are implemented.)"
4314 msgstr ""
4315
4316 #. type: Plain text
4317 #: build/C/man7/cpuset.7:719
4318 msgid ""
4319 "The per-cpuset flag I<sched_load_balance> provides a mechanism to suppress "
4320 "this automatic scheduler load balancing in cases where it is not needed and "
4321 "suppressing it would have worthwhile performance benefits."
4322 msgstr ""
4323
4324 #. type: Plain text
4325 #: build/C/man7/cpuset.7:723
4326 msgid ""
4327 "By default, load balancing is done across all CPUs, except those marked "
4328 "isolated using the kernel boot time \"isolcpus=\" argument.  (See "
4329 "B<Scheduler Relax Domain Level>, below, to change this default.)"
4330 msgstr ""
4331
4332 #. type: Plain text
4333 #: build/C/man7/cpuset.7:726
4334 msgid ""
4335 "This default load balancing across all CPUs is not well suited to the "
4336 "following two situations:"
4337 msgstr ""
4338
4339 #. type: Plain text
4340 #: build/C/man7/cpuset.7:730
4341 msgid ""
4342 "On large systems, load balancing across many CPUs is expensive.  If the "
4343 "system is managed using cpusets to place independent jobs on separate sets "
4344 "of CPUs, full load balancing is unnecessary."
4345 msgstr ""
4346
4347 #. type: Plain text
4348 #: build/C/man7/cpuset.7:734
4349 msgid ""
4350 "Systems supporting real-time on some CPUs need to minimize system overhead "
4351 "on those CPUs, including avoiding process load balancing if that is not "
4352 "needed."
4353 msgstr ""
4354
4355 #. type: Plain text
4356 #: build/C/man7/cpuset.7:744
4357 msgid ""
4358 "When the per-cpuset flag I<sched_load_balance> is enabled (the default "
4359 "setting), it requests load balancing across all the CPUs in that cpuset's "
4360 "allowed CPUs, ensuring that load balancing can move a process (not otherwise "
4361 "pinned, as by B<sched_setaffinity>(2))  from any CPU in that cpuset to any "
4362 "other."
4363 msgstr ""
4364
4365 #. type: Plain text
4366 #: build/C/man7/cpuset.7:753
4367 msgid ""
4368 "When the per-cpuset flag I<sched_load_balance> is disabled, then the "
4369 "scheduler will avoid load balancing across the CPUs in that cpuset, "
4370 "I<except> in so far as is necessary because some overlapping cpuset has "
4371 "I<sched_load_balance> enabled."
4372 msgstr ""
4373
4374 #. type: Plain text
4375 #: build/C/man7/cpuset.7:761
4376 msgid ""
4377 "So, for example, if the top cpuset has the flag I<sched_load_balance> "
4378 "enabled, then the scheduler will load balance across all CPUs, and the "
4379 "setting of the I<sched_load_balance> flag in other cpusets has no effect, as "
4380 "we're already fully load balancing."
4381 msgstr ""
4382
4383 #. type: Plain text
4384 #: build/C/man7/cpuset.7:766
4385 msgid ""
4386 "Therefore in the above two situations, the flag I<sched_load_balance> should "
4387 "be disabled in the top cpuset, and only some of the smaller, child cpusets "
4388 "would have this flag enabled."
4389 msgstr ""
4390
4391 #. type: Plain text
4392 #: build/C/man7/cpuset.7:774
4393 msgid ""
4394 "When doing this, you don't usually want to leave any unpinned processes in "
4395 "the top cpuset that might use nontrivial amounts of CPU, as such processes "
4396 "may be artificially constrained to some subset of CPUs, depending on the "
4397 "particulars of this flag setting in descendant cpusets.  Even if such a "
4398 "process could use spare CPU cycles in some other CPUs, the kernel scheduler "
4399 "might not consider the possibility of load balancing that process to the "
4400 "underused CPU."
4401 msgstr ""
4402
4403 #.  ================== Scheduler Relax Domain Level ==================
4404 #. type: Plain text
4405 #: build/C/man7/cpuset.7:780
4406 msgid ""
4407 "Of course, processes pinned to a particular CPU can be left in a cpuset that "
4408 "disables I<sched_load_balance> as those processes aren't going anywhere else "
4409 "anyway."
4410 msgstr ""
4411
4412 #. type: SS
4413 #: build/C/man7/cpuset.7:780
4414 #, no-wrap
4415 msgid "Scheduler relax domain level"
4416 msgstr ""
4417
4418 #. type: Plain text
4419 #: build/C/man7/cpuset.7:801
4420 msgid ""
4421 "The kernel scheduler performs immediate load balancing whenever a CPU "
4422 "becomes free or another task becomes runnable.  This load balancing works to "
4423 "ensure that as many CPUs as possible are usefully employed running tasks.  "
4424 "The kernel also performs periodic load balancing off the software clock "
4425 "described in I<time>(7).  The setting of I<sched_relax_domain_level> applies "
4426 "only to immediate load balancing.  Regardless of the "
4427 "I<sched_relax_domain_level> setting, periodic load balancing is attempted "
4428 "over all CPUs (unless disabled by turning off I<sched_load_balance>.)  In "
4429 "any case, of course, tasks will be scheduled to run only on CPUs allowed by "
4430 "their cpuset, as modified by B<sched_setaffinity>(2)  system calls."
4431 msgstr ""
4432
4433 #. type: Plain text
4434 #: build/C/man7/cpuset.7:809
4435 msgid ""
4436 "On small systems, such as those with just a few CPUs, immediate load "
4437 "balancing is useful to improve system interactivity and to minimize wasteful "
4438 "idle CPU cycles.  But on large systems, attempting immediate load balancing "
4439 "across a large number of CPUs can be more costly than it is worth, depending "
4440 "on the particular performance characteristics of the job mix and the "
4441 "hardware."
4442 msgstr ""
4443
4444 #. type: Plain text
4445 #: build/C/man7/cpuset.7:817
4446 msgid ""
4447 "The exact meaning of the small integer values of I<sched_relax_domain_level> "
4448 "will depend on internal implementation details of the kernel scheduler code "
4449 "and on the non-uniform architecture of the hardware.  Both of these will "
4450 "evolve over time and vary by system architecture and kernel version."
4451 msgstr ""
4452
4453 #. type: Plain text
4454 #: build/C/man7/cpuset.7:822
4455 msgid ""
4456 "As of this writing, when this capability was introduced in Linux 2.6.26, on "
4457 "certain popular architectures, the positive values of "
4458 "I<sched_relax_domain_level> have the following meanings."
4459 msgstr ""
4460
4461 #. type: IP
4462 #: build/C/man7/cpuset.7:824
4463 #, no-wrap
4464 msgid "B<(1)>"
4465 msgstr "B<(1)>"
4466
4467 #. type: Plain text
4468 #: build/C/man7/cpuset.7:827
4469 msgid ""
4470 "Perform immediate load balancing across Hyper-Thread siblings on the same "
4471 "core."
4472 msgstr ""
4473
4474 #. type: IP
4475 #: build/C/man7/cpuset.7:827
4476 #, no-wrap
4477 msgid "B<(2)>"
4478 msgstr "B<(2)>"
4479
4480 #. type: Plain text
4481 #: build/C/man7/cpuset.7:829
4482 msgid ""
4483 "Perform immediate load balancing across other cores in the same package."
4484 msgstr ""
4485
4486 #. type: IP
4487 #: build/C/man7/cpuset.7:829
4488 #, no-wrap
4489 msgid "B<(3)>"
4490 msgstr "B<(3)>"
4491
4492 #. type: Plain text
4493 #: build/C/man7/cpuset.7:832
4494 msgid ""
4495 "Perform immediate load balancing across other CPUs on the same node or blade."
4496 msgstr ""
4497
4498 #. type: IP
4499 #: build/C/man7/cpuset.7:832
4500 #, no-wrap
4501 msgid "B<(4)>"
4502 msgstr "B<(4)>"
4503
4504 #. type: Plain text
4505 #: build/C/man7/cpuset.7:835
4506 msgid ""
4507 "Perform immediate load balancing across over several (implementation detail) "
4508 "nodes [On NUMA systems]."
4509 msgstr ""
4510
4511 #. type: IP
4512 #: build/C/man7/cpuset.7:835
4513 #, no-wrap
4514 msgid "B<(5)>"
4515 msgstr "B<(5)>"
4516
4517 #. type: Plain text
4518 #: build/C/man7/cpuset.7:838
4519 msgid ""
4520 "Perform immediate load balancing across over all CPUs in system [On NUMA "
4521 "systems]."
4522 msgstr ""
4523
4524 #. type: Plain text
4525 #: build/C/man7/cpuset.7:847
4526 msgid ""
4527 "The I<sched_relax_domain_level> value of zero (0) always means don't perform "
4528 "immediate load balancing, hence that load balancing is done only "
4529 "periodically, not immediately when a CPU becomes available or another task "
4530 "becomes runnable."
4531 msgstr ""
4532
4533 #. type: Plain text
4534 #: build/C/man7/cpuset.7:855
4535 msgid ""
4536 "The I<sched_relax_domain_level> value of minus one (-1)  always means use "
4537 "the system default value.  The system default value can vary by architecture "
4538 "and kernel version.  This system default value can be changed by kernel boot-"
4539 "time \"relax_domain_level=\" argument."
4540 msgstr ""
4541
4542 #. type: Plain text
4543 #: build/C/man7/cpuset.7:863
4544 msgid ""
4545 "In the case of multiple overlapping cpusets which have conflicting "
4546 "I<sched_relax_domain_level> values, then the highest such value applies to "
4547 "all CPUs in any of the overlapping cpusets.  In such cases, the value "
4548 "B<minus one (-1)> is the lowest value, overridden by any other value, and "
4549 "the value B<zero (0)> is the next lowest value."
4550 msgstr ""
4551
4552 #. type: SH
4553 #: build/C/man7/cpuset.7:863
4554 #, no-wrap
4555 msgid "FORMATS"
4556 msgstr ""
4557
4558 #.  ================== Mask Format ==================
4559 #. type: Plain text
4560 #: build/C/man7/cpuset.7:867
4561 msgid ""
4562 "The following formats are used to represent sets of CPUs and memory nodes."
4563 msgstr ""
4564
4565 #. type: SS
4566 #: build/C/man7/cpuset.7:867
4567 #, no-wrap
4568 msgid "Mask format"
4569 msgstr ""
4570
4571 #. type: Plain text
4572 #: build/C/man7/cpuset.7:872
4573 msgid ""
4574 "The B<Mask Format> is used to represent CPU and memory-node bit masks in the "
4575 "I</proc/E<lt>pidE<gt>/status> file."
4576 msgstr ""
4577
4578 #. type: Plain text
4579 #: build/C/man7/cpuset.7:880
4580 msgid ""
4581 "This format displays each 32-bit word in hexadecimal (using ASCII characters "
4582 "\"0\" - \"9\" and \"a\" - \"f\"); words are filled with leading zeros, if "
4583 "required.  For masks longer than one word, a comma separator is used between "
4584 "words.  Words are displayed in big-endian order, which has the most "
4585 "significant bit first.  The hex digits within a word are also in big-endian "
4586 "order."
4587 msgstr ""
4588
4589 #. type: Plain text
4590 #: build/C/man7/cpuset.7:883
4591 msgid ""
4592 "The number of 32-bit words displayed is the minimum number needed to display "
4593 "all bits of the bit mask, based on the size of the bit mask."
4594 msgstr ""
4595
4596 #. type: Plain text
4597 #: build/C/man7/cpuset.7:885
4598 msgid "Examples of the B<Mask Format>:"
4599 msgstr ""
4600
4601 #. type: Plain text
4602 #: build/C/man7/cpuset.7:893
4603 #, no-wrap
4604 msgid ""
4605 "00000001                        # just bit 0 set\n"
4606 "40000000,00000000,00000000      # just bit 94 set\n"
4607 "00000001,00000000,00000000      # just bit 64 set\n"
4608 "000000ff,00000000               # bits 32-39 set\n"
4609 "00000000,000E3862               # 1,5,6,11-13,17-19 set\n"
4610 msgstr ""
4611 "00000001                        # just bit 0 set\n"
4612 "40000000,00000000,00000000      # just bit 94 set\n"
4613 "00000001,00000000,00000000      # just bit 64 set\n"
4614 "000000ff,00000000               # bits 32-39 set\n"
4615 "00000000,000E3862               # 1,5,6,11-13,17-19 set\n"
4616
4617 #. type: Plain text
4618 #: build/C/man7/cpuset.7:897
4619 msgid "A mask with bits 0, 1, 2, 4, 8, 16, 32, and 64 set displays as:"
4620 msgstr ""
4621
4622 #. type: Plain text
4623 #: build/C/man7/cpuset.7:901
4624 #, no-wrap
4625 msgid "00000001,00000001,00010117\n"
4626 msgstr "00000001,00000001,00010117\n"
4627
4628 #.  ================== List Format ==================
4629 #. type: Plain text
4630 #: build/C/man7/cpuset.7:908
4631 msgid ""
4632 "The first \"1\" is for bit 64, the second for bit 32, the third for bit 16, "
4633 "the fourth for bit 8, the fifth for bit 4, and the \"7\" is for bits 2, 1, "
4634 "and 0."
4635 msgstr ""
4636
4637 #. type: SS
4638 #: build/C/man7/cpuset.7:908
4639 #, no-wrap
4640 msgid "List format"
4641 msgstr ""
4642
4643 #. type: Plain text
4644 #: build/C/man7/cpuset.7:915
4645 msgid ""
4646 "The B<List Format> for I<cpus> and I<mems> is a comma-separated list of CPU "
4647 "or memory-node numbers and ranges of numbers, in ASCII decimal."
4648 msgstr ""
4649
4650 #. type: Plain text
4651 #: build/C/man7/cpuset.7:917
4652 msgid "Examples of the B<List Format>:"
4653 msgstr ""
4654
4655 #. type: Plain text
4656 #: build/C/man7/cpuset.7:922
4657 #, no-wrap
4658 msgid ""
4659 "0-4,9           # bits 0, 1, 2, 3, 4, and 9 set\n"
4660 "0-2,7,12-14     # bits 0, 1, 2, 7, 12, 13, and 14 set\n"
4661 msgstr ""
4662 "0-4,9           # bits 0, 1, 2, 3, 4, and 9 set\n"
4663 "0-2,7,12-14     # bits 0, 1, 2, 7, 12, 13, and 14 set\n"
4664
4665 #.  ================== RULES ==================
4666 #. type: SH
4667 #: build/C/man7/cpuset.7:925
4668 #, no-wrap
4669 msgid "RULES"
4670 msgstr ""
4671
4672 #. type: Plain text
4673 #: build/C/man7/cpuset.7:927
4674 msgid "The following rules apply to each cpuset:"
4675 msgstr ""
4676
4677 #. type: Plain text
4678 #: build/C/man7/cpuset.7:930
4679 msgid ""
4680 "Its CPUs and memory nodes must be a (possibly equal)  subset of its parent's."
4681 msgstr ""
4682
4683 #. type: Plain text
4684 #: build/C/man7/cpuset.7:934
4685 msgid "It can be marked I<cpu_exclusive> only if its parent is."
4686 msgstr ""
4687
4688 #. type: Plain text
4689 #: build/C/man7/cpuset.7:938
4690 msgid "It can be marked I<mem_exclusive> only if its parent is."
4691 msgstr ""
4692
4693 #. type: Plain text
4694 #: build/C/man7/cpuset.7:942
4695 msgid "If it is I<cpu_exclusive>, its CPUs may not overlap any sibling."
4696 msgstr ""
4697
4698 #.  ================== PERMISSIONS ==================
4699 #. type: Plain text
4700 #: build/C/man7/cpuset.7:947
4701 msgid ""
4702 "If it is I<memory_exclusive>, its memory nodes may not overlap any sibling."
4703 msgstr ""
4704
4705 #. type: SH
4706 #: build/C/man7/cpuset.7:947
4707 #, no-wrap
4708 msgid "PERMISSIONS"
4709 msgstr ""
4710
4711 #. type: Plain text
4712 #: build/C/man7/cpuset.7:952
4713 msgid ""
4714 "The permissions of a cpuset are determined by the permissions of the "
4715 "directories and pseudo-files in the cpuset filesystem, normally mounted at "
4716 "I</dev/cpuset>."
4717 msgstr ""
4718
4719 #. type: Plain text
4720 #: build/C/man7/cpuset.7:961
4721 msgid ""
4722 "For instance, a process can put itself in some other cpuset (than its "
4723 "current one) if it can write the I<tasks> file for that cpuset.  This "
4724 "requires execute permission on the encompassing directories and write "
4725 "permission on the I<tasks> file."
4726 msgstr ""
4727
4728 #. type: Plain text
4729 #: build/C/man7/cpuset.7:968
4730 msgid ""
4731 "An additional constraint is applied to requests to place some other process "
4732 "in a cpuset.  One process may not attach another to a cpuset unless it would "
4733 "have permission to send that process a signal (see B<kill>(2))."
4734 msgstr ""
4735
4736 #. type: Plain text
4737 #: build/C/man7/cpuset.7:979
4738 msgid ""
4739 "A process may create a child cpuset if it can access and write the parent "
4740 "cpuset directory.  It can modify the CPUs or memory nodes in a cpuset if it "
4741 "can access that cpuset's directory (execute permissions on the each of the "
4742 "parent directories) and write the corresponding I<cpus> or I<mems> file."
4743 msgstr ""
4744
4745 #. type: Plain text
4746 #: build/C/man7/cpuset.7:1000
4747 msgid ""
4748 "There is one minor difference between the manner in which these permissions "
4749 "are evaluated and the manner in which normal filesystem operation "
4750 "permissions are evaluated.  The kernel interprets relative pathnames "
4751 "starting at a process's current working directory.  Even if one is operating "
4752 "on a cpuset file, relative pathnames are interpreted relative to the "
4753 "process's current working directory, not relative to the process's current "
4754 "cpuset.  The only ways that cpuset paths relative to a process's current "
4755 "cpuset can be used are if either the process's current working directory is "
4756 "its cpuset (it first did a B<cd> or B<chdir>(2)  to its cpuset directory "
4757 "beneath I</dev/cpuset>, which is a bit unusual)  or if some user code "
4758 "converts the relative cpuset path to a full filesystem path."
4759 msgstr ""
4760
4761 #.  ================== WARNINGS ==================
4762 #. type: Plain text
4763 #: build/C/man7/cpuset.7:1015
4764 msgid ""
4765 "In theory, this means that user code should specify cpusets using absolute "
4766 "pathnames, which requires knowing the mount point of the cpuset filesystem "
4767 "(usually, but not necessarily, I</dev/cpuset>).  In practice, all user level "
4768 "code that this author is aware of simply assumes that if the cpuset "
4769 "filesystem is mounted, then it is mounted at I</dev/cpuset>.  Furthermore, "
4770 "it is common practice for carefully written user code to verify the presence "
4771 "of the pseudo-file I</dev/cpuset/tasks> in order to verify that the cpuset "
4772 "pseudo-filesystem is currently mounted."
4773 msgstr ""
4774
4775 #. type: SH
4776 #: build/C/man7/cpuset.7:1015
4777 #, no-wrap
4778 msgid "WARNINGS"
4779 msgstr ""
4780
4781 #. type: SS
4782 #: build/C/man7/cpuset.7:1016
4783 #, no-wrap
4784 msgid "Enabling memory_pressure"
4785 msgstr ""
4786
4787 #. type: Plain text
4788 #: build/C/man7/cpuset.7:1025
4789 msgid ""
4790 "By default, the per-cpuset file I<cpuset.memory_pressure> always contains "
4791 "zero (0).  Unless this feature is enabled by writing \"1\" to the pseudo-"
4792 "file I</dev/cpuset/cpuset.memory_pressure_enabled>, the kernel does not "
4793 "compute per-cpuset I<memory_pressure>."
4794 msgstr ""
4795
4796 #. type: SS
4797 #: build/C/man7/cpuset.7:1025
4798 #, no-wrap
4799 msgid "Using the echo command"
4800 msgstr ""
4801
4802 #.  Gack!  csh(1)'s echo does this
4803 #. type: Plain text
4804 #: build/C/man7/cpuset.7:1036
4805 msgid ""
4806 "When using the B<echo> command at the shell prompt to change the values of "
4807 "cpuset files, beware that the built-in B<echo> command in some shells does "
4808 "not display an error message if the B<write>(2)  system call fails.  For "
4809 "example, if the command:"
4810 msgstr ""
4811
4812 #. type: Plain text
4813 #: build/C/man7/cpuset.7:1040
4814 #, no-wrap
4815 msgid "echo 19 E<gt> cpuset.mems\n"
4816 msgstr "echo 19 E<gt> cpuset.mems\n"
4817
4818 #. type: Plain text
4819 #: build/C/man7/cpuset.7:1053
4820 msgid ""
4821 "failed because memory node 19 was not allowed (perhaps the current system "
4822 "does not have a memory node 19), then the B<echo> command might not display "
4823 "any error.  It is better to use the B</bin/echo> external command to change "
4824 "cpuset file settings, as this command will display B<write>(2)  errors, as "
4825 "in the example:"
4826 msgstr ""
4827
4828 #. type: Plain text
4829 #: build/C/man7/cpuset.7:1058
4830 #, no-wrap
4831 msgid ""
4832 "/bin/echo 19 E<gt> cpuset.mems\n"
4833 "/bin/echo: write error: Invalid argument\n"
4834 msgstr ""
4835 "/bin/echo 19 E<gt> cpuset.mems\n"
4836 "/bin/echo: write error: Invalid argument\n"
4837
4838 #.  ================== EXCEPTIONS ==================
4839 #. type: SH
4840 #: build/C/man7/cpuset.7:1061
4841 #, no-wrap
4842 msgid "EXCEPTIONS"
4843 msgstr ""
4844
4845 #. type: SS
4846 #: build/C/man7/cpuset.7:1062
4847 #, no-wrap
4848 msgid "Memory placement"
4849 msgstr ""
4850
4851 #. type: Plain text
4852 #: build/C/man7/cpuset.7:1065
4853 msgid ""
4854 "Not all allocations of system memory are constrained by cpusets, for the "
4855 "following reasons."
4856 msgstr ""
4857
4858 #. type: Plain text
4859 #: build/C/man7/cpuset.7:1080
4860 msgid ""
4861 "If hot-plug functionality is used to remove all the CPUs that are currently "
4862 "assigned to a cpuset, then the kernel will automatically update the "
4863 "I<cpus_allowed> of all processes attached to CPUs in that cpuset to allow "
4864 "all CPUs.  When memory hot-plug functionality for removing memory nodes is "
4865 "available, a similar exception is expected to apply there as well.  In "
4866 "general, the kernel prefers to violate cpuset placement, rather than "
4867 "starving a process that has had all its allowed CPUs or memory nodes taken "
4868 "offline.  User code should reconfigure cpusets to refer only to online CPUs "
4869 "and memory nodes when using hot-plug to add or remove such resources."
4870 msgstr ""
4871
4872 #. type: Plain text
4873 #: build/C/man7/cpuset.7:1088
4874 msgid ""
4875 "A few kernel-critical, internal memory-allocation requests, marked "
4876 "GFP_ATOMIC, must be satisfied immediately.  The kernel may drop some request "
4877 "or malfunction if one of these allocations fail.  If such a request cannot "
4878 "be satisfied within the current process's cpuset, then we relax the cpuset, "
4879 "and look for memory anywhere we can find it.  It's better to violate the "
4880 "cpuset than stress the kernel."
4881 msgstr ""
4882
4883 #. type: Plain text
4884 #: build/C/man7/cpuset.7:1092
4885 msgid ""
4886 "Allocations of memory requested by kernel drivers while processing an "
4887 "interrupt lack any relevant process context, and are not confined by cpusets."
4888 msgstr ""
4889
4890 #. type: SS
4891 #: build/C/man7/cpuset.7:1092
4892 #, no-wrap
4893 msgid "Renaming cpusets"
4894 msgstr ""
4895
4896 #.  ================== ERRORS ==================
4897 #. type: Plain text
4898 #: build/C/man7/cpuset.7:1100
4899 msgid ""
4900 "You can use the B<rename>(2)  system call to rename cpusets.  Only simple "
4901 "renaming is supported; that is, changing the name of a cpuset directory is "
4902 "permitted, but moving a directory into a different directory is not "
4903 "permitted."
4904 msgstr ""
4905
4906 #. type: Plain text
4907 #: build/C/man7/cpuset.7:1104
4908 msgid ""
4909 "The Linux kernel implementation of cpusets sets I<errno> to specify the "
4910 "reason for a failed system call affecting cpusets."
4911 msgstr ""
4912
4913 #. type: Plain text
4914 #: build/C/man7/cpuset.7:1109
4915 msgid ""
4916 "The possible I<errno> settings and their meaning when set on a failed cpuset "
4917 "call are as listed below."
4918 msgstr ""
4919
4920 #. type: TP
4921 #: build/C/man7/cpuset.7:1109
4922 #, no-wrap
4923 msgid "B<E2BIG>"
4924 msgstr "B<E2BIG>"
4925
4926 #. type: Plain text
4927 #: build/C/man7/cpuset.7:1116
4928 msgid ""
4929 "Attempted a B<write>(2)  on a special cpuset file with a length larger than "
4930 "some kernel-determined upper limit on the length of such writes."
4931 msgstr ""
4932
4933 #. type: Plain text
4934 #: build/C/man7/cpuset.7:1123
4935 msgid ""
4936 "Attempted to B<write>(2)  the process ID (PID) of a process to a cpuset "
4937 "I<tasks> file when one lacks permission to move that process."
4938 msgstr ""
4939
4940 #. type: Plain text
4941 #: build/C/man7/cpuset.7:1129
4942 msgid ""
4943 "Attempted to add, using B<write>(2), a CPU or memory node to a cpuset, when "
4944 "that CPU or memory node was not already in its parent."
4945 msgstr ""
4946
4947 #. type: Plain text
4948 #: build/C/man7/cpuset.7:1137
4949 msgid ""
4950 "Attempted to set, using B<write>(2), I<cpuset.cpu_exclusive> or I<cpuset."
4951 "mem_exclusive> on a cpuset whose parent lacks the same setting."
4952 msgstr ""
4953
4954 #. type: Plain text
4955 #: build/C/man7/cpuset.7:1144
4956 msgid "Attempted to B<write>(2)  a I<cpuset.memory_pressure> file."
4957 msgstr ""
4958
4959 #. type: Plain text
4960 #: build/C/man7/cpuset.7:1147
4961 msgid "Attempted to create a file in a cpuset directory."
4962 msgstr ""
4963
4964 #. type: TP
4965 #: build/C/man7/cpuset.7:1147 build/C/man7/cpuset.7:1152
4966 #: build/C/man7/cpuset.7:1157
4967 #, no-wrap
4968 msgid "B<EBUSY>"
4969 msgstr "B<EBUSY>"
4970
4971 #. type: Plain text
4972 #: build/C/man7/cpuset.7:1152
4973 msgid ""
4974 "Attempted to remove, using B<rmdir>(2), a cpuset with attached processes."
4975 msgstr ""
4976
4977 #. type: Plain text
4978 #: build/C/man7/cpuset.7:1157
4979 msgid "Attempted to remove, using B<rmdir>(2), a cpuset with child cpusets."
4980 msgstr ""
4981
4982 #. type: Plain text
4983 #: build/C/man7/cpuset.7:1162
4984 msgid ""
4985 "Attempted to remove a CPU or memory node from a cpuset that is also in a "
4986 "child of that cpuset."
4987 msgstr ""
4988
4989 #. type: TP
4990 #: build/C/man7/cpuset.7:1162 build/C/man7/cpuset.7:1167
4991 #, no-wrap
4992 msgid "B<EEXIST>"
4993 msgstr "B<EEXIST>"
4994
4995 #. type: Plain text
4996 #: build/C/man7/cpuset.7:1167
4997 msgid "Attempted to create, using B<mkdir>(2), a cpuset that already exists."
4998 msgstr ""
4999
5000 #. type: Plain text
5001 #: build/C/man7/cpuset.7:1172
5002 msgid "Attempted to B<rename>(2)  a cpuset to a name that already exists."
5003 msgstr ""
5004
5005 #. type: Plain text
5006 #: build/C/man7/cpuset.7:1180
5007 msgid ""
5008 "Attempted to B<read>(2)  or B<write>(2)  a cpuset file using a buffer that "
5009 "is outside the writing processes accessible address space."
5010 msgstr ""
5011
5012 #. type: Plain text
5013 #: build/C/man7/cpuset.7:1189
5014 msgid ""
5015 "Attempted to change a cpuset, using B<write>(2), in a way that would violate "
5016 "a I<cpu_exclusive> or I<mem_exclusive> attribute of that cpuset or any of "
5017 "its siblings."
5018 msgstr ""
5019
5020 #. type: Plain text
5021 #: build/C/man7/cpuset.7:1198
5022 msgid ""
5023 "Attempted to B<write>(2)  an empty I<cpuset.cpus> or I<cpuset.mems> list to "
5024 "a cpuset which has attached processes or child cpusets."
5025 msgstr ""
5026
5027 #. type: Plain text
5028 #: build/C/man7/cpuset.7:1208
5029 msgid ""
5030 "Attempted to B<write>(2)  a I<cpuset.cpus> or I<cpuset.mems> list which "
5031 "included a range with the second number smaller than the first number."
5032 msgstr ""
5033
5034 #. type: Plain text
5035 #: build/C/man7/cpuset.7:1217
5036 msgid ""
5037 "Attempted to B<write>(2)  a I<cpuset.cpus> or I<cpuset.mems> list which "
5038 "included an invalid character in the string."
5039 msgstr ""
5040
5041 #. type: Plain text
5042 #: build/C/man7/cpuset.7:1224
5043 msgid ""
5044 "Attempted to B<write>(2)  a list to a I<cpuset.cpus> file that did not "
5045 "include any online CPUs."
5046 msgstr ""
5047
5048 #. type: Plain text
5049 #: build/C/man7/cpuset.7:1231
5050 msgid ""
5051 "Attempted to B<write>(2)  a list to a I<cpuset.mems> file that did not "
5052 "include any online memory nodes."
5053 msgstr ""
5054
5055 #. type: Plain text
5056 #: build/C/man7/cpuset.7:1238
5057 msgid ""
5058 "Attempted to B<write>(2)  a list to a I<cpuset.mems> file that included a "
5059 "node that held no memory."
5060 msgstr ""
5061
5062 #. type: Plain text
5063 #: build/C/man7/cpuset.7:1246
5064 msgid ""
5065 "Attempted to B<write>(2)  a string to a cpuset I<tasks> file that does not "
5066 "begin with an ASCII decimal integer."
5067 msgstr ""
5068
5069 #. type: Plain text
5070 #: build/C/man7/cpuset.7:1251
5071 msgid "Attempted to B<rename>(2)  a cpuset into a different directory."
5072 msgstr ""
5073
5074 #. type: Plain text
5075 #: build/C/man7/cpuset.7:1258
5076 msgid ""
5077 "Attempted to B<read>(2)  a I</proc/E<lt>pidE<gt>/cpuset> file for a cpuset "
5078 "path that is longer than the kernel page size."
5079 msgstr ""
5080
5081 #. type: Plain text
5082 #: build/C/man7/cpuset.7:1263
5083 msgid ""
5084 "Attempted to create, using B<mkdir>(2), a cpuset whose base directory name "
5085 "is longer than 255 characters."
5086 msgstr ""
5087
5088 #. type: Plain text
5089 #: build/C/man7/cpuset.7:1270
5090 msgid ""
5091 "Attempted to create, using B<mkdir>(2), a cpuset whose full pathname, "
5092 "including the mount point (typically \"/dev/cpuset/\") prefix, is longer "
5093 "than 4095 characters."
5094 msgstr ""
5095
5096 #. type: TP
5097 #: build/C/man7/cpuset.7:1270
5098 #, no-wrap
5099 msgid "B<ENODEV>"
5100 msgstr "B<ENODEV>"
5101
5102 #. type: Plain text
5103 #: build/C/man7/cpuset.7:1275
5104 msgid ""
5105 "The cpuset was removed by another process at the same time as a B<write>(2)  "
5106 "was attempted on one of the pseudo-files in the cpuset directory."
5107 msgstr ""
5108
5109 #. type: Plain text
5110 #: build/C/man7/cpuset.7:1280
5111 msgid ""
5112 "Attempted to create, using B<mkdir>(2), a cpuset in a parent cpuset that "
5113 "doesn't exist."
5114 msgstr ""
5115
5116 #. type: Plain text
5117 #: build/C/man7/cpuset.7:1287
5118 msgid ""
5119 "Attempted to B<access>(2)  or B<open>(2)  a nonexistent file in a cpuset "
5120 "directory."
5121 msgstr ""
5122
5123 #. type: Plain text
5124 #: build/C/man7/cpuset.7:1292
5125 msgid ""
5126 "Insufficient memory is available within the kernel; can occur on a variety "
5127 "of system calls affecting cpusets, but only if the system is extremely short "
5128 "of memory."
5129 msgstr ""
5130
5131 #. type: TP
5132 #: build/C/man7/cpuset.7:1292 build/C/man7/cpuset.7:1304
5133 #, no-wrap
5134 msgid "B<ENOSPC>"
5135 msgstr "B<ENOSPC>"
5136
5137 #. type: Plain text
5138 #: build/C/man7/cpuset.7:1304
5139 msgid ""
5140 "Attempted to B<write>(2)  the process ID (PID)  of a process to a cpuset "
5141 "I<tasks> file when the cpuset had an empty I<cpuset.cpus> or empty I<cpuset."
5142 "mems> setting."
5143 msgstr ""
5144
5145 #. type: Plain text
5146 #: build/C/man7/cpuset.7:1314
5147 msgid ""
5148 "Attempted to B<write>(2)  an empty I<cpuset.cpus> or I<cpuset.mems> setting "
5149 "to a cpuset that has tasks attached."
5150 msgstr ""
5151
5152 #. type: Plain text
5153 #: build/C/man7/cpuset.7:1319
5154 msgid "Attempted to B<rename>(2)  a nonexistent cpuset."
5155 msgstr ""
5156
5157 #. type: Plain text
5158 #: build/C/man7/cpuset.7:1322
5159 msgid "Attempted to remove a file from a cpuset directory."
5160 msgstr ""
5161
5162 #. type: TP
5163 #: build/C/man7/cpuset.7:1322
5164 #, no-wrap
5165 msgid "B<ERANGE>"
5166 msgstr "B<ERANGE>"
5167
5168 #. type: Plain text
5169 #: build/C/man7/cpuset.7:1330
5170 msgid ""
5171 "Specified a I<cpuset.cpus> or I<cpuset.mems> list to the kernel which "
5172 "included a number too large for the kernel to set in its bit masks."
5173 msgstr ""
5174
5175 #.  ================== VERSIONS ==================
5176 #. type: Plain text
5177 #: build/C/man7/cpuset.7:1338
5178 msgid ""
5179 "Attempted to B<write>(2)  the process ID (PID) of a nonexistent process to a "
5180 "cpuset I<tasks> file."
5181 msgstr ""
5182
5183 #.  ================== NOTES ==================
5184 #. type: Plain text
5185 #: build/C/man7/cpuset.7:1341
5186 msgid "Cpusets appeared in version 2.6.12 of the Linux kernel."
5187 msgstr ""
5188
5189 #.  ================== BUGS ==================
5190 #. type: Plain text
5191 #: build/C/man7/cpuset.7:1352
5192 msgid ""
5193 "Despite its name, the I<pid> parameter is actually a thread ID, and each "
5194 "thread in a threaded group can be attached to a different cpuset.  The value "
5195 "returned from a call to B<gettid>(2)  can be passed in the argument I<pid>."
5196 msgstr ""
5197
5198 #. type: SH
5199 #: build/C/man7/cpuset.7:1352 build/C/man2/getpriority.2:225
5200 #: build/C/man2/getrlimit.2:525 build/C/man2/ioprio_set.2:337
5201 #: build/C/man2/setfsgid.2:106 build/C/man2/setfsuid.2:114
5202 #, no-wrap
5203 msgid "BUGS"
5204 msgstr "バグ"
5205
5206 #.  ================== EXAMPLE ==================
5207 #. type: Plain text
5208 #: build/C/man7/cpuset.7:1365
5209 msgid ""
5210 "I<cpuset.memory_pressure> cpuset files can be opened for writing, creation, "
5211 "or truncation, but then the B<write>(2)  fails with I<errno> set to "
5212 "B<EACCES>, and the creation and truncation options on B<open>(2)  have no "
5213 "effect."
5214 msgstr ""
5215
5216 #. type: SH
5217 #: build/C/man7/cpuset.7:1365 build/C/man2/getrlimit.2:600
5218 #, no-wrap
5219 msgid "EXAMPLE"
5220 msgstr "例"
5221
5222 #. type: Plain text
5223 #: build/C/man7/cpuset.7:1368
5224 msgid ""
5225 "The following examples demonstrate querying and setting cpuset options using "
5226 "shell commands."
5227 msgstr ""
5228
5229 #. type: SS
5230 #: build/C/man7/cpuset.7:1368
5231 #, no-wrap
5232 msgid "Creating and attaching to a cpuset."
5233 msgstr ""
5234
5235 #. type: Plain text
5236 #: build/C/man7/cpuset.7:1371
5237 msgid ""
5238 "To create a new cpuset and attach the current command shell to it, the steps "
5239 "are:"
5240 msgstr ""
5241
5242 #. type: IP
5243 #: build/C/man7/cpuset.7:1373 build/C/man7/cpuset.7:1412
5244 #, no-wrap
5245 msgid "1)"
5246 msgstr "1)"
5247
5248 #. type: Plain text
5249 #: build/C/man7/cpuset.7:1375
5250 msgid "mkdir /dev/cpuset (if not already done)"
5251 msgstr ""
5252
5253 #. type: IP
5254 #: build/C/man7/cpuset.7:1375 build/C/man7/cpuset.7:1418
5255 #, no-wrap
5256 msgid "2)"
5257 msgstr "2)"
5258
5259 #. type: Plain text
5260 #: build/C/man7/cpuset.7:1377
5261 msgid "mount -t cpuset none /dev/cpuset (if not already done)"
5262 msgstr ""
5263
5264 #. type: IP
5265 #: build/C/man7/cpuset.7:1377 build/C/man7/cpuset.7:1421
5266 #, no-wrap
5267 msgid "3)"
5268 msgstr "3)"
5269
5270 #. type: Plain text
5271 #: build/C/man7/cpuset.7:1380
5272 msgid "Create the new cpuset using B<mkdir>(1)."
5273 msgstr ""
5274
5275 #. type: IP
5276 #: build/C/man7/cpuset.7:1380 build/C/man7/cpuset.7:1424
5277 #, no-wrap
5278 msgid "4)"
5279 msgstr "4)"
5280
5281 #. type: Plain text
5282 #: build/C/man7/cpuset.7:1382
5283 msgid "Assign CPUs and memory nodes to the new cpuset."
5284 msgstr ""
5285
5286 #. type: IP
5287 #: build/C/man7/cpuset.7:1382 build/C/man7/cpuset.7:1429
5288 #, no-wrap
5289 msgid "5)"
5290 msgstr "5)"
5291
5292 #. type: Plain text
5293 #: build/C/man7/cpuset.7:1384
5294 msgid "Attach the shell to the new cpuset."
5295 msgstr ""
5296
5297 #. type: Plain text
5298 #: build/C/man7/cpuset.7:1389
5299 msgid ""
5300 "For example, the following sequence of commands will set up a cpuset named "
5301 "\"Charlie\", containing just CPUs 2 and 3, and memory node 1, and then "
5302 "attach the current shell to that cpuset."
5303 msgstr ""
5304
5305 #. type: Plain text
5306 #: build/C/man7/cpuset.7:1403
5307 #, no-wrap
5308 msgid ""
5309 "$B< mkdir /dev/cpuset>\n"
5310 "$B< mount -t cpuset cpuset /dev/cpuset>\n"
5311 "$B< cd /dev/cpuset>\n"
5312 "$B< mkdir Charlie>\n"
5313 "$B< cd Charlie>\n"
5314 "$B< /bin/echo 2-3 E<gt> cpuset.cpus>\n"
5315 "$B< /bin/echo 1 E<gt> cpuset.mems>\n"
5316 "$B< /bin/echo $$ E<gt> tasks>\n"
5317 "# The current shell is now running in cpuset Charlie\n"
5318 "# The next line should display '/Charlie'\n"
5319 "$B< cat /proc/self/cpuset>\n"
5320 msgstr ""
5321 "$B< mkdir /dev/cpuset>\n"
5322 "$B< mount -t cpuset cpuset /dev/cpuset>\n"
5323 "$B< cd /dev/cpuset>\n"
5324 "$B< mkdir Charlie>\n"
5325 "$B< cd Charlie>\n"
5326 "$B< /bin/echo 2-3 E<gt> cpuset.cpus>\n"
5327 "$B< /bin/echo 1 E<gt> cpuset.mems>\n"
5328 "$B< /bin/echo $$ E<gt> tasks>\n"
5329 "# The current shell is now running in cpuset Charlie\n"
5330 "# The next line should display '/Charlie'\n"
5331 "$B< cat /proc/self/cpuset>\n"
5332
5333 #. type: SS
5334 #: build/C/man7/cpuset.7:1405
5335 #, no-wrap
5336 msgid "Migrating a job to different memory nodes."
5337 msgstr ""
5338
5339 #. type: Plain text
5340 #: build/C/man7/cpuset.7:1410
5341 msgid ""
5342 "To migrate a job (the set of processes attached to a cpuset)  to different "
5343 "CPUs and memory nodes in the system, including moving the memory pages "
5344 "currently allocated to that job, perform the following steps."
5345 msgstr ""
5346
5347 #. type: Plain text
5348 #: build/C/man7/cpuset.7:1418
5349 msgid ""
5350 "Let's say we want to move the job in cpuset I<alpha> (CPUs 4-7 and memory "
5351 "nodes 2-3) to a new cpuset I<beta> (CPUs 16-19 and memory nodes 8-9)."
5352 msgstr ""
5353
5354 #. type: Plain text
5355 #: build/C/man7/cpuset.7:1421
5356 msgid "First create the new cpuset I<beta>."
5357 msgstr ""
5358
5359 #. type: Plain text
5360 #: build/C/man7/cpuset.7:1424
5361 msgid "Then allow CPUs 16-19 and memory nodes 8-9 in I<beta>."
5362 msgstr ""
5363
5364 #. type: Plain text
5365 #: build/C/man7/cpuset.7:1429
5366 msgid "Then enable I<memory_migration> in I<beta>."
5367 msgstr ""
5368
5369 #. type: Plain text
5370 #: build/C/man7/cpuset.7:1434
5371 msgid "Then move each process from I<alpha> to I<beta>."
5372 msgstr ""
5373
5374 #. type: Plain text
5375 #: build/C/man7/cpuset.7:1437
5376 msgid "The following sequence of commands accomplishes this."
5377 msgstr ""
5378
5379 #. type: Plain text
5380 #: build/C/man7/cpuset.7:1447
5381 #, no-wrap
5382 msgid ""
5383 "$B< cd /dev/cpuset>\n"
5384 "$B< mkdir beta>\n"
5385 "$B< cd beta>\n"
5386 "$B< /bin/echo 16-19 E<gt> cpuset.cpus>\n"
5387 "$B< /bin/echo 8-9 E<gt> cpuset.mems>\n"
5388 "$B< /bin/echo 1 E<gt> cpuset.memory_migrate>\n"
5389 "$B< while read i; do /bin/echo $i; done E<lt> ../alpha/tasks E<gt> tasks>\n"
5390 msgstr ""
5391 "$B< cd /dev/cpuset>\n"
5392 "$B< mkdir beta>\n"
5393 "$B< cd beta>\n"
5394 "$B< /bin/echo 16-19 E<gt> cpuset.cpus>\n"
5395 "$B< /bin/echo 8-9 E<gt> cpuset.mems>\n"
5396 "$B< /bin/echo 1 E<gt> cpuset.memory_migrate>\n"
5397 "$B< while read i; do /bin/echo $i; done E<lt> ../alpha/tasks E<gt> tasks>\n"
5398
5399 #. type: Plain text
5400 #: build/C/man7/cpuset.7:1456
5401 msgid ""
5402 "The above should move any processes in I<alpha> to I<beta>, and any memory "
5403 "held by these processes on memory nodes 2-3 to memory nodes 8-9, "
5404 "respectively."
5405 msgstr ""
5406
5407 #. type: Plain text
5408 #: build/C/man7/cpuset.7:1458
5409 msgid "Notice that the last step of the above sequence did not do:"
5410 msgstr ""
5411
5412 #. type: Plain text
5413 #: build/C/man7/cpuset.7:1462
5414 #, no-wrap
5415 msgid "$B< cp ../alpha/tasks tasks>\n"
5416 msgstr "$B< cp ../alpha/tasks tasks>\n"
5417
5418 #. type: Plain text
5419 #: build/C/man7/cpuset.7:1473
5420 msgid ""
5421 "The I<while> loop, rather than the seemingly easier use of the B<cp>(1)  "
5422 "command, was necessary because only one process PID at a time may be written "
5423 "to the I<tasks> file."
5424 msgstr ""
5425
5426 #. type: Plain text
5427 #: build/C/man7/cpuset.7:1481
5428 msgid ""
5429 "The same effect (writing one PID at a time) as the I<while> loop can be "
5430 "accomplished more efficiently, in fewer keystrokes and in syntax that works "
5431 "on any shell, but alas more obscurely, by using the B<-u> (unbuffered) "
5432 "option of B<sed>(1):"
5433 msgstr ""
5434
5435 #. type: Plain text
5436 #: build/C/man7/cpuset.7:1485
5437 #, no-wrap
5438 msgid "$B< sed -un p E<lt> ../alpha/tasks E<gt> tasks>\n"
5439 msgstr "$B< sed -un p E<lt> ../alpha/tasks E<gt> tasks>\n"
5440
5441 #. type: Plain text
5442 #: build/C/man7/cpuset.7:1502
5443 msgid ""
5444 "B<taskset>(1), B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), "
5445 "B<sched_getaffinity>(2), B<sched_setaffinity>(2), B<sched_setscheduler>(2), "
5446 "B<set_mempolicy>(2), B<CPU_SET>(3), B<proc>(5), B<numa>(7), B<migratepages>"
5447 "(8), B<numactl>(8)"
5448 msgstr ""
5449 "B<taskset>(1), B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), "
5450 "B<sched_getaffinity>(2), B<sched_setaffinity>(2), B<sched_setscheduler>(2), "
5451 "B<set_mempolicy>(2), B<CPU_SET>(3), B<proc>(5), B<numa>(7), B<migratepages>"
5452 "(8), B<numactl>(8)"
5453
5454 #. type: Plain text
5455 #: build/C/man7/cpuset.7:1505
5456 msgid "I<Documentation/cpusets.txt> in the Linux kernel source tree"
5457 msgstr "Linux カーネルソース内の I<Documentation/cpusets.txt>"
5458
5459 #. type: TH
5460 #: build/C/man7/credentials.7:27
5461 #, no-wrap
5462 msgid "CREDENTIALS"
5463 msgstr "CREDENTIALS"
5464
5465 #. type: TH
5466 #: build/C/man7/credentials.7:27
5467 #, no-wrap
5468 msgid "2008-06-03"
5469 msgstr "2008-06-03"
5470
5471 #. type: Plain text
5472 #: build/C/man7/credentials.7:30
5473 msgid "credentials - process identifiers"
5474 msgstr "credentials - 認証に用いられるプロセスの識別子"
5475
5476 #. type: SS
5477 #: build/C/man7/credentials.7:31
5478 #, no-wrap
5479 msgid "Process ID (PID)"
5480 msgstr "プロセスID (PID)"
5481
5482 #. type: Plain text
5483 #: build/C/man7/credentials.7:41
5484 msgid ""
5485 "Each process has a unique nonnegative integer identifier that is assigned "
5486 "when the process is created using B<fork>(2).  A process can obtain its PID "
5487 "using B<getpid>(2).  A PID is represented using the type I<pid_t> (defined "
5488 "in I<E<lt>sys/types.hE<gt>>)."
5489 msgstr ""
5490 "各プロセスは、負でない整数の一意な識別子を持つ。 この識別子は B<fork>(2)  を"
5491 "使ってプロセスが生成される際に割り当てられる。 プロセスは B<getpid>(2)  を"
5492 "使って自分の PID を取得できる。 PID は I<pid_t> 型で表現される (I<pid_t> は "
5493 "I<E<lt>sys/types.hE<gt>> で定義されている)。"
5494
5495 #.  .BR sched_rr_get_interval (2),
5496 #.  .BR sched_getaffinity (2),
5497 #.  .BR sched_setaffinity (2),
5498 #.  .BR sched_getparam (2),
5499 #.  .BR sched_setparam (2),
5500 #.  .BR sched_setscheduler (2),
5501 #.  .BR sched_getscheduler (2),
5502 #.  .BR getsid (2),
5503 #.  .BR waitid (2),
5504 #.  .BR wait4 (2),
5505 #. type: Plain text
5506 #: build/C/man7/credentials.7:62
5507 msgid ""
5508 "PIDs are used in a range of system calls to identify the process affected by "
5509 "the call, for example: B<kill>(2), B<ptrace>(2), B<setpriority>(2)  "
5510 "B<setpgid>(2), B<setsid>(2), B<sigqueue>(3), and B<waitpid>(2)."
5511 msgstr ""
5512 "PID は各種のシステムコールでそのシステムコールが作用するプロセスを 特定するた"
5513 "めに使用される。以下に例を挙げる: B<kill>(2), B<ptrace>(2), B<setpriority>"
5514 "(2), B<setpgid>(2), B<setsid>(2), B<sigqueue>(3), B<waitpid>(2)."
5515
5516 #. type: Plain text
5517 #: build/C/man7/credentials.7:65
5518 msgid "A process's PID is preserved across an B<execve>(2)."
5519 msgstr "プロセスの PID は B<execve>(2)  の前後で不変である。"
5520
5521 #. type: SS
5522 #: build/C/man7/credentials.7:65
5523 #, no-wrap
5524 msgid "Parent process ID (PPID)"
5525 msgstr "親プロセス ID (PPID)"
5526
5527 #. type: Plain text
5528 #: build/C/man7/credentials.7:73
5529 msgid ""
5530 "A process's parent process ID identifies the process that created this "
5531 "process using B<fork>(2).  A process can obtain its PPID using B<getppid>"
5532 "(2).  A PPID is represented using the type I<pid_t>."
5533 msgstr ""
5534 "プロセスの親プロセスの ID は、 B<fork>(2)  を使ってそのプロセスを生成したプロ"
5535 "セスを示す。 プロセスは B<getppid>(2)  を使って自分の PPID を取得できる。 "
5536 "PPID は I<pid_t> 型で表現される。"
5537
5538 #. type: Plain text
5539 #: build/C/man7/credentials.7:76
5540 msgid "A process's PPID is preserved across an B<execve>(2)."
5541 msgstr "プロセスの PPID は B<execve>(2)  の前後で不変である。"
5542
5543 #. type: SS
5544 #: build/C/man7/credentials.7:76
5545 #, no-wrap
5546 msgid "Process group ID and session ID"
5547 msgstr "プロセスグループ ID とセッション ID"
5548
5549 #. type: Plain text
5550 #: build/C/man7/credentials.7:84
5551 msgid ""
5552 "Each process has a session ID and a process group ID, both represented using "
5553 "the type I<pid_t>.  A process can obtain its session ID using B<getsid>(2), "
5554 "and its process group ID using B<getpgrp>(2)."
5555 msgstr ""
5556 "各プロセスはセッション ID とプロセスグループ ID を持つ。 これらの ID はどちら"
5557 "も I<pid_t> 型で表現される。 プロセスは、それぞれ B<getsid>(2), B<getpgrp>"
5558 "(2)  を使って自分のセッション ID、プロセスグループ ID を取得できる。"
5559
5560 #. type: Plain text
5561 #: build/C/man7/credentials.7:90
5562 msgid ""
5563 "A child created by B<fork>(2)  inherits its parent's session ID and process "
5564 "group ID.  A process's session ID and process group ID are preserved across "
5565 "an B<execve>(2)."
5566 msgstr ""
5567 "B<fork>(2)  で生成された子プロセスは親プロセスのセッション ID とプロセスグ"
5568 "ループ ID を継承する。プロセスのセッション ID とプロセスグループ ID は "
5569 "B<execve>(2)  の前後で不変である。"
5570
5571 #. type: Plain text
5572 #: build/C/man7/credentials.7:103
5573 msgid ""
5574 "Sessions and process groups are abstractions devised to support shell job "
5575 "control.  A process group (sometimes called a \"job\") is a collection of "
5576 "processes that share the same process group ID; the shell creates a new "
5577 "process group for the process(es) used to execute single command or pipeline "
5578 "(e.g., the two processes created to execute the command \"ls\\ |\\ wc\" are "
5579 "placed in the same process group).  A process's group membership can be set "
5580 "using B<setpgid>(2).  The process whose process ID is the same as its "
5581 "process group ID is the I<process group leader> for that group."
5582 msgstr ""
5583 "セッションとプロセスグループの概念は、シェルのジョブ制御を行うために 考案され"
5584 "たものである。 プロセスグループ (時には「ジョブ」と呼ばれることもある) は、 "
5585 "同じプロセスグループ ID を共有するプロセスの集まりである。 シェルは、一つのコ"
5586 "マンドもしくはパイプラインの実行に使われるプロセス群に 対して一つのプロセスグ"
5587 "ループを生成する (例えば、コマンド \"ls\\ |\\ wc\" を実行するために生成される"
5588 "二つのプロセスは 同じプロセスグループに置かれる)。 所属するプロセスグループ"
5589 "は B<setpgid>(2)  を使って設定できる。 自身のプロセス ID がプロセスグループ "
5590 "ID と同じプロセスは、 そのグループの「プロセスグループ・リーダー」である。"
5591
5592 #. type: Plain text
5593 #: build/C/man7/credentials.7:115
5594 msgid ""
5595 "A session is a collection of processes that share the same session ID.  All "
5596 "of the members of a process group also have the same session ID (i.e., all "
5597 "of the members of a process group always belong to the same session, so that "
5598 "sessions and process groups form a strict two-level hierarchy of "
5599 "processes.)  A new session is created when a process calls B<setsid>(2), "
5600 "which creates a new session whose session ID is the same as the PID of the "
5601 "process that called B<setsid>(2).  The creator of the session is called the "
5602 "I<session leader>."
5603 msgstr ""
5604 "セッションは、同じセッション ID を共有するプロセスの集まりである。 ある一つの"
5605 "プロセスグループの全メンバーは同じセッション ID を持つ (つまり、一つのプロセ"
5606 "スグループのメンバーは全て同じセッションに所属し、 これにより、セッションとプ"
5607 "ロセスグループで二階層のプロセス階層が形成できる)。 新たなセッションの生成は"
5608 "プロセスが B<setsid>(2)  を呼び出すことで行う。 B<setsid>(2)  は、 B<setsid>"
5609 "(2)  を呼び出したプロセスの PID と同じ値のセッション ID を持つ 新たなセッショ"
5610 "ンを生成する。 セッションの生成者は「セッション・リーダー」と呼ばれる。"
5611
5612 #. type: SS
5613 #: build/C/man7/credentials.7:115
5614 #, no-wrap
5615 msgid "User and group identifiers"
5616 msgstr "ユーザ ID とグループ ID"
5617
5618 #. type: Plain text
5619 #: build/C/man7/credentials.7:123
5620 msgid ""
5621 "Each process has various associated user and groups IDs.  These IDs are "
5622 "integers, respectively represented using the types I<uid_t> and I<gid_t> "
5623 "(defined in I<E<lt>sys/types.hE<gt>>)."
5624 msgstr ""
5625 "各プロセスは、数種類のユーザ ID とグループ ID を持つ。 ユーザ ID、グループ "
5626 "ID は整数で、それぞれ I<uid_t>, I<gid_t> 型で表現される (これらは I<E<lt>sys/"
5627 "types.hE<gt>> で定義されている)。"
5628
5629 #. type: Plain text
5630 #: build/C/man7/credentials.7:125
5631 msgid "On Linux, each process has the following user and group identifiers:"
5632 msgstr ""
5633 "Linux では、各プロセスは以下のような種類のユーザ ID とグループ ID を持つ。"
5634
5635 #. type: Plain text
5636 #: build/C/man7/credentials.7:131
5637 msgid ""
5638 "Real user ID and real group ID.  These IDs determine who owns the process.  "
5639 "A process can obtain its real user (group) ID using B<getuid>(2)  (B<getgid>"
5640 "(2))."
5641 msgstr ""
5642 "実ユーザ ID と実グループ ID。 これらの ID によりプロセスの所有者が決定され"
5643 "る。 プロセスが自分の実ユーザ ID、実グループ ID を取得するには、それぞれ "
5644 "B<getuid>(2), B<getgid>(2)  を使用する。"
5645
5646 #. type: Plain text
5647 #: build/C/man7/credentials.7:143
5648 #, fuzzy
5649 #| msgid ""
5650 #| "Effective user ID and effective group ID.  These IDs are used by the "
5651 #| "kernel to determine the permissions that the process will have when "
5652 #| "accessing shared resources such as message queues, shared memory, and "
5653 #| "semaphores.  On most UNIX systems, these IDs also determine the "
5654 #| "permissions when accessing files.  However, Linux uses the file system "
5655 #| "IDs described below for this task.  A process can obtain its effective "
5656 #| "user (group) ID using B<geteuid>(2)  (B<getegid>(2))."
5657 msgid ""
5658 "Effective user ID and effective group ID.  These IDs are used by the kernel "
5659 "to determine the permissions that the process will have when accessing "
5660 "shared resources such as message queues, shared memory, and semaphores.  On "
5661 "most UNIX systems, these IDs also determine the permissions when accessing "
5662 "files.  However, Linux uses the filesystem IDs described below for this "
5663 "task.  A process can obtain its effective user (group) ID using B<geteuid>"
5664 "(2)  (B<getegid>(2))."
5665 msgstr ""
5666 "実効ユーザ ID と実効グループ ID。 これらの ID は、メッセージキュー、共有メモ"
5667 "リ、セマフォなどの 共有リソースにアクセスしようとした際にそのプロセスがアクセ"
5668 "ス許可を 持っているかをカーネルが判定するのに使用される。 ほとんどの UNIX シ"
5669 "ステムでは、これらの ID はファイルへのアクセス時の アクセス許可の判定にも使用"
5670 "される。 しかしながら、Linux ではファイルへのアクセス許可の判定には 後述の"
5671 "ファイルシステム ID が使用される。 プロセスが自分の実効ユーザ ID、実効グルー"
5672 "プ ID を取得するには、それぞれ B<geteuid>(2), B<getegid>(2)  を使用する。"
5673
5674 #. type: Plain text
5675 #: build/C/man7/credentials.7:165
5676 msgid ""
5677 "Saved set-user-ID and saved set-group-ID.  These IDs are used in set-user-ID "
5678 "and set-group-ID programs to save a copy of the corresponding effective IDs "
5679 "that were set when the program was executed (see B<execve>(2)).  A set-user-"
5680 "ID program can assume and drop privileges by switching its effective user ID "
5681 "back and forth between the values in its real user ID and saved set-user-"
5682 "ID.  This switching is done via calls to B<seteuid>(2), B<setreuid>(2), or "
5683 "B<setresuid>(2).  A set-group-ID program performs the analogous tasks using "
5684 "B<setegid>(2), B<setregid>(2), or B<setresgid>(2).  A process can obtain its "
5685 "saved set-user-ID (set-group-ID) using B<getresuid>(2)  (B<getresgid>(2))."
5686 msgstr ""
5687 "保存 (saved) set-user-ID と保存 set-group-ID。 これらの ID は、set-user-ID "
5688 "や set-group-ID されたプログラムにおいて、 プログラムの実行時に設定された実"
5689 "効 ID のコピーを保存するために 使用される (B<execve>(2)  参照)。 set-user-ID "
5690 "プログラムは、実効ユーザ ID を実ユーザID と保存 set-user-ID の間で行ったり来"
5691 "たり切り替えることで、特権を得たり落としたりできる。 この切り替えは "
5692 "B<seteuid>(2), B<setreuid>(2), B<setresuid>(2)  を呼び出すことで実行できる。 "
5693 "set-group-ID プログラムは、 B<setegid>(2), B<setregid>(2), B<setresgid>(2)  "
5694 "を使って同様のことができる。 プロセスが自分の保存 set-user-ID、保存 set-"
5695 "group-ID を取得するには、 B<getresuid(2),> B<getresgids>(2)  をそれぞれ使用す"
5696 "る。"
5697
5698 #. type: Plain text
5699 #: build/C/man7/credentials.7:182
5700 #, fuzzy
5701 #| msgid ""
5702 #| "File system user ID and file system group ID (Linux-specific).  These "
5703 #| "IDs, in conjunction with the supplementary group IDs described below, are "
5704 #| "used to determine permissions for accessing files; see B<path_resolution>"
5705 #| "(7)  for details.  Whenever a process's effective user (group) ID is "
5706 #| "changed, the kernel also automatically changes the file system user "
5707 #| "(group) ID to the same value.  Consequently, the file system IDs normally "
5708 #| "have the same values as the corresponding effective ID, and the semantics "
5709 #| "for file-permission checks are thus the same on Linux as on other UNIX "
5710 #| "systems.  The file system IDs can be made to differ from the effective "
5711 #| "IDs by calling B<setfsuid>(2)  and B<setfsgid>(2)."
5712 msgid ""
5713 "Filesystem user ID and filesystem group ID (Linux-specific).  These IDs, in "
5714 "conjunction with the supplementary group IDs described below, are used to "
5715 "determine permissions for accessing files; see B<path_resolution>(7)  for "
5716 "details.  Whenever a process's effective user (group) ID is changed, the "
5717 "kernel also automatically changes the filesystem user (group) ID to the same "
5718 "value.  Consequently, the filesystem IDs normally have the same values as "
5719 "the corresponding effective ID, and the semantics for file-permission checks "
5720 "are thus the same on Linux as on other UNIX systems.  The filesystem IDs can "
5721 "be made to differ from the effective IDs by calling B<setfsuid>(2)  and "
5722 "B<setfsgid>(2)."
5723 msgstr ""
5724 "ファイルシステム・ユーザ ID とファイルシステム・グループ ID (Linux 固有)。 こ"
5725 "れらの ID は、後述の補助グループ ID と組み合わせて使用され、 ファイルへのアク"
5726 "セス権の決定に利用される。詳細は B<path_resolution>(7)  を参照。 プロセスの実"
5727 "効 ID (ユーザ ID や グループ ID) が変更されるたびに、 カーネルは自動的に対応"
5728 "するファイルシステム ID を同じ値に変更する。 その結果、ファイルシステム ID は"
5729 "通常は対応する実効 ID と同じ値となり、 ファイルのアクセス権のチェック方法は "
5730 "Linux と他の UNIX システムで同じである。 ファイルシステム ID は実効 ID とは異"
5731 "なる値にすることができ、 変更は B<setfsuid>(2)  と B<setfsgid>(2)  を呼び出し"
5732 "て行う。"
5733
5734 #.  Since kernel 2.6.4, the limit is visible via the read-only file
5735 #.  /proc/sys/kernel/ngroups_max.
5736 #.  As at 2.6.22-rc2, this file is still read-only.
5737 #. type: Plain text
5738 #: build/C/man7/credentials.7:201
5739 msgid ""
5740 "Supplementary group IDs.  This is a set of additional group IDs that are "
5741 "used for permission checks when accessing files and other shared resources.  "
5742 "On Linux kernels before 2.6.4, a process can be a member of up to 32 "
5743 "supplementary groups; since kernel 2.6.4, a process can be a member of up to "
5744 "65536 supplementary groups.  The call I<sysconf(_SC_NGROUPS_MAX)> can be "
5745 "used to determine the number of supplementary groups of which a process may "
5746 "be a member.  A process can obtain its set of supplementary group IDs using "
5747 "B<getgroups>(2), and can modify the set using B<setgroups>(2)."
5748 msgstr ""
5749 "補助グループ ID。 この ID は、ファイルや他の共有リソースへのアクセス時にアク"
5750 "セス許可の チェックに使用される、追加のグループ ID の集合である。 カーネル "
5751 "2.6.4 より前の Linux では、一つのプロセスあたりの 補助グループのメンバー数は"
5752 "最大で 32 である。 カーネル 2.6.4 以降では、一つのプロセスあたりの 補助グルー"
5753 "プのメンバー数は最大で 65536 である。 I<sysconf(_SC_NGROUPS_MAX)> を呼び出す"
5754 "ことで、あるプロセスがメンバーとなることができる可能性のある 補助グループ数を"
5755 "知ることができる。 プロセスは、自分の補助グループ ID の集合を B<getgroups>"
5756 "(2)  で取得でき、 B<setgroups>(2)  で集合を変更できる。"
5757
5758 #. type: Plain text
5759 #: build/C/man7/credentials.7:211
5760 msgid ""
5761 "A child process created by B<fork>(2)  inherits copies of its parent's user "
5762 "and groups IDs.  During an B<execve>(2), a process's real user and group ID "
5763 "and supplementary group IDs are preserved; the effective and saved set IDs "
5764 "may be changed, as described in B<execve>(2)."
5765 msgstr ""
5766 "B<fork>(2)  で生成された子プロセスは親プロセスのユーザ ID とグループ ID を継"
5767 "承する。 B<execve>(2)  の間、プロセスの実ユーザ/グループ ID と補助グループ "
5768 "ID 集合は不変である。 実効 ID と保存セット ID は変更される可能性がある "
5769 "(B<execve>(2)  で説明されている)。"
5770
5771 #. type: Plain text
5772 #: build/C/man7/credentials.7:214
5773 msgid ""
5774 "Aside from the purposes noted above, a process's user IDs are also employed "
5775 "in a number of other contexts:"
5776 msgstr "上記の目的以外にも、プロセスのユーザ ID は他の様々な場面で利用される。"
5777
5778 #. type: Plain text
5779 #: build/C/man7/credentials.7:217
5780 msgid ""
5781 "when determining the permissions for sending signals\\(emsee B<kill>(2);"
5782 msgstr "シグナルを送る許可の判定時\\(em B<kill>(2)  参照。"
5783
5784 #. type: Plain text
5785 #: build/C/man7/credentials.7:227
5786 msgid ""
5787 "when determining the permissions for setting process-scheduling parameters "
5788 "(nice value, real time scheduling policy and priority, CPU affinity, I/O "
5789 "priority) using B<setpriority>(2), B<sched_setaffinity>(2), "
5790 "B<sched_setscheduler>(2), B<sched_setparam>(2), and B<ioprio_set>(2);"
5791 msgstr ""
5792 "プロセスのスケジューリング関連のパラメータ (nice 値、 リアルタイム・スケ"
5793 "ジューリングポリシーや優先度、CPU affinity、 入出力優先度) の設定許可の判定"
5794 "時。 スケジューリング関連のパラメータ設定には B<setpriority>(2), "
5795 "B<sched_setaffinity>(2), B<sched_setscheduler>(2), B<sched_setparam>(2), "
5796 "B<ioprio_set>(2)  が使用される。"
5797
5798 #. type: Plain text
5799 #: build/C/man7/credentials.7:230
5800 msgid "when checking resource limits; see B<getrlimit>(2);"
5801 msgstr "リソース上限のチェック時。 B<getrlimit>(2)  参照。"
5802
5803 #. type: Plain text
5804 #: build/C/man7/credentials.7:234
5805 msgid ""
5806 "when checking the limit on the number of inotify instances that the process "
5807 "may create; see B<inotify>(7)."
5808 msgstr ""
5809 "プロセスが生成できる inotify インスタンス数の上限のチェック時。 B<inotify>"
5810 "(7)  参照。"
5811
5812 #. type: Plain text
5813 #: build/C/man7/credentials.7:240
5814 #, fuzzy
5815 #| msgid ""
5816 #| "Process IDs, parent process IDs, process group IDs, and session IDs are "
5817 #| "specified in POSIX.1-2001.  The real, effective, and saved set user and "
5818 #| "groups IDs, and the supplementary group IDs, are specified in "
5819 #| "POSIX.1-2001.  The file system user and group IDs are a Linux extension."
5820 msgid ""
5821 "Process IDs, parent process IDs, process group IDs, and session IDs are "
5822 "specified in POSIX.1-2001.  The real, effective, and saved set user and "
5823 "groups IDs, and the supplementary group IDs, are specified in POSIX.1-2001.  "
5824 "The filesystem user and group IDs are a Linux extension."
5825 msgstr ""
5826 "プロセス ID、親プロセス ID、プロセスグループ ID、セッション ID は "
5827 "POSIX.1-2001 で規定されている。 実 ID、実効 ID、保存セット ID のユーザ ID / "
5828 "グループ ID および 補助グループ ID は POSIX.1-2001 で規定されている。 ファイ"
5829 "ルシステム・ユーザ ID / グループ ID は Linux による拡張である。"
5830
5831 #. type: Plain text
5832 #: build/C/man7/credentials.7:251
5833 msgid ""
5834 "The POSIX threads specification requires that credentials are shared by all "
5835 "of the threads in a process.  However, at the kernel level, Linux maintains "
5836 "separate user and group credentials for each thread.  The NPTL threading "
5837 "implementation does some work to ensure that any change to user or group "
5838 "credentials (e.g., calls to B<setuid>(2), B<setresuid>(2))  is carried "
5839 "through to all of the POSIX threads in a process."
5840 msgstr ""
5841 "POSIX のスレッド仕様では、これらの識別子がプロセス内の全スレッドで 共有される"
5842 "ことを求めている。 しかしながら、カーネルのレベルでは、Linux はスレッド毎に"
5843 "別々の ユーザとグループに関する識別子を管理している。 NPTL スレッド実装が、"
5844 "(例えば B<setuid>(2), B<setresuid>(2)  などの呼び出しによる) ユーザやグループ"
5845 "に関する識別子に対する変更が プロセス内の全ての POSIX スレッドに対して反映さ"
5846 "れることを保証する ための処理を行っている。"
5847
5848 #. type: Plain text
5849 #: build/C/man7/credentials.7:282
5850 msgid ""
5851 "B<bash>(1), B<csh>(1), B<ps>(1), B<access>(2), B<execve>(2), B<faccessat>"
5852 "(2), B<fork>(2), B<getpgrp>(2), B<getpid>(2), B<getppid>(2), B<getsid>(2), "
5853 "B<kill>(2), B<killpg>(2), B<setegid>(2), B<seteuid>(2), B<setfsgid>(2), "
5854 "B<setfsuid>(2), B<setgid>(2), B<setgroups>(2), B<setresgid>(2), B<setresuid>"
5855 "(2), B<setuid>(2), B<waitpid>(2), B<euidaccess>(3), B<initgroups>(3), "
5856 "B<tcgetpgrp>(3), B<tcsetpgrp>(3), B<capabilities>(7), B<path_resolution>(7), "
5857 "B<unix>(7)"
5858 msgstr ""
5859 "B<bash>(1), B<csh>(1), B<ps>(1), B<access>(2), B<execve>(2), B<faccessat>"
5860 "(2), B<fork>(2), B<getpgrp>(2), B<getpid>(2), B<getppid>(2), B<getsid>(2), "
5861 "B<kill>(2), B<killpg>(2), B<setegid>(2), B<seteuid>(2), B<setfsgid>(2), "
5862 "B<setfsuid>(2), B<setgid>(2), B<setgroups>(2), B<setresgid>(2), B<setresuid>"
5863 "(2), B<setuid>(2), B<waitpid>(2), B<euidaccess>(3), B<initgroups>(3), "
5864 "B<tcgetpgrp>(3), B<tcsetpgrp>(3), B<capabilities>(7), B<path_resolution>(7), "
5865 "B<unix>(7)"
5866
5867 #. type: TH
5868 #: build/C/man2/getgid.2:25
5869 #, no-wrap
5870 msgid "GETGID"
5871 msgstr "GETGID"
5872
5873 #. type: TH
5874 #: build/C/man2/getgid.2:25 build/C/man2/getgroups.2:31
5875 #: build/C/man2/getresuid.2:28 build/C/man2/getuid.2:26
5876 #: build/C/man2/setgid.2:29 build/C/man2/setresuid.2:26
5877 #: build/C/man2/setreuid.2:45 build/C/man2/setuid.2:30
5878 #, no-wrap
5879 msgid "2010-11-22"
5880 msgstr "2010-11-22"
5881
5882 #. type: Plain text
5883 #: build/C/man2/getgid.2:28
5884 msgid "getgid, getegid - get group identity"
5885 msgstr "getgid, getegid - グループ ID を得る"
5886
5887 #. type: Plain text
5888 #: build/C/man2/getgid.2:30 build/C/man2/getgroups.2:38
5889 #: build/C/man2/getpid.2:32 build/C/man2/getresuid.2:35
5890 #: build/C/man2/getsid.2:31 build/C/man2/getuid.2:31 build/C/man2/seteuid.2:36
5891 #: build/C/man2/setgid.2:36 build/C/man2/setpgid.2:53
5892 #: build/C/man2/setresuid.2:33 build/C/man2/setreuid.2:52
5893 #: build/C/man2/setsid.2:36 build/C/man2/setuid.2:37
5894 msgid "B<#include E<lt>unistd.hE<gt>>"
5895 msgstr "B<#include E<lt>unistd.hE<gt>>"
5896
5897 #. type: Plain text
5898 #: build/C/man2/getgid.2:32 build/C/man2/getgroups.2:36
5899 #: build/C/man2/getpid.2:30 build/C/man2/getuid.2:33 build/C/man2/seteuid.2:34
5900 #: build/C/man2/setgid.2:34 build/C/man2/setreuid.2:50
5901 #: build/C/man2/setuid.2:35
5902 msgid "B<#include E<lt>sys/types.hE<gt>>"
5903 msgstr "B<#include E<lt>sys/types.hE<gt>>"
5904
5905 #. type: Plain text
5906 #: build/C/man2/getgid.2:34
5907 msgid "B<gid_t getgid(void);>"
5908 msgstr "B<gid_t getgid(void);>"
5909
5910 #. type: Plain text
5911 #: build/C/man2/getgid.2:36
5912 msgid "B<gid_t getegid(void);>"
5913 msgstr "B<gid_t getegid(void);>"
5914
5915 #. type: Plain text
5916 #: build/C/man2/getgid.2:39
5917 msgid "B<getgid>()  returns the real group ID of the calling process."
5918 msgstr "B<getgid>()  は呼び出し元のプロセスの実グループ ID を返す。"
5919
5920 #. type: Plain text
5921 #: build/C/man2/getgid.2:42
5922 msgid "B<getegid>()  returns the effective group ID of the calling process."
5923 msgstr "B<getegid>()  は呼び出し元のプロセスの実効グループ ID を返す。"
5924
5925 #. type: Plain text
5926 #: build/C/man2/getgid.2:44 build/C/man2/getpid.2:46 build/C/man2/getuid.2:45
5927 msgid "These functions are always successful."
5928 msgstr "これらの関数は常に成功する。"
5929
5930 #. type: Plain text
5931 #: build/C/man2/getgid.2:46 build/C/man2/getuid.2:47
5932 msgid "POSIX.1-2001, 4.3BSD."
5933 msgstr "POSIX.1-2001, 4.3BSD."
5934
5935 #. type: Plain text
5936 #: build/C/man2/getgid.2:62
5937 msgid ""
5938 "The original Linux B<getgid>()  and B<getegid>()  system calls supported "
5939 "only 16-bit group IDs.  Subsequently, Linux 2.4 added B<getgid32>()  and "
5940 "B<getegid32>(), supporting 32-bit IDs.  The glibc B<getgid>()  and B<getegid>"
5941 "()  wrapper functions transparently deal with the variations across kernel "
5942 "versions."
5943 msgstr ""
5944 "元々の Linux の B<getgid>() と B<getegid>() システムコールは\n"
5945 "16 ビットのグループ ID だけに対応していた。\n"
5946 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
5947 "B<getgid32>() と B<getegid32>() が追加された。\n"
5948 "glibc の B<getgid>() と B<getegid>() のラッパー関数は\n"
5949 "カーネルバージョンによるこの違いを吸収している。"
5950
5951 #. type: Plain text
5952 #: build/C/man2/getgid.2:67
5953 msgid "B<getresgid>(2), B<setgid>(2), B<setregid>(2), B<credentials>(7)"
5954 msgstr "B<getresgid>(2), B<setgid>(2), B<setregid>(2), B<credentials>(7)"
5955
5956 #. type: TH
5957 #: build/C/man2/getgroups.2:31
5958 #, no-wrap
5959 msgid "GETGROUPS"
5960 msgstr "GETGROUPS"
5961
5962 #. type: Plain text
5963 #: build/C/man2/getgroups.2:34
5964 msgid "getgroups, setgroups - get/set list of supplementary group IDs"
5965 msgstr "getgroups, setgroups - 補助グループ ID のリストを取得/設定する"
5966
5967 #. type: Plain text
5968 #: build/C/man2/getgroups.2:40
5969 msgid "B<int getgroups(int >I<size>B<, gid_t >I<list>B<[]);>"
5970 msgstr "B<int getgroups(int >I<size>B<, gid_t >I<list>B<[]);>"
5971
5972 #. type: Plain text
5973 #: build/C/man2/getgroups.2:42
5974 msgid "B<#include E<lt>grp.hE<gt>>"
5975 msgstr "B<#include E<lt>grp.hE<gt>>"
5976
5977 #. type: Plain text
5978 #: build/C/man2/getgroups.2:44
5979 msgid "B<int setgroups(size_t >I<size>B<, const gid_t *>I<list>B<);>"
5980 msgstr "B<int setgroups(size_t >I<size>B<, const gid_t *>I<list>B<);>"
5981
5982 #. type: Plain text
5983 #: build/C/man2/getgroups.2:52
5984 msgid "B<setgroups>(): _BSD_SOURCE"
5985 msgstr "B<setgroups>(): _BSD_SOURCE"
5986
5987 #. type: Plain text
5988 #: build/C/man2/getgroups.2:70
5989 msgid ""
5990 "B<getgroups>()  returns the supplementary group IDs of the calling process "
5991 "in I<list>.  The argument I<size> should be set to the maximum number of "
5992 "items that can be stored in the buffer pointed to by I<list>.  If the "
5993 "calling process is a member of more than I<size> supplementary groups, then "
5994 "an error results.  It is unspecified whether the effective group ID of the "
5995 "calling process is included in the returned list.  (Thus, an application "
5996 "should also call B<getegid>(2)  and add or remove the resulting value.)"
5997 msgstr ""
5998 "B<getgroups>()  は呼び出し元プロセスの補助グループ (supplementary group) ID "
5999 "を I<list> に返す。 I<size> 引き数には、 I<list> により参照されるバッファに格"
6000 "納できる要素の最大数を設定すべきである。 呼び出し元プロセスが I<size> 個より"
6001 "多くの補助グループのメンバの場合には、エラーとなる。 この関数を呼び出したプロ"
6002 "セスの実効グループ ID が、 返されるリストに含まれるかどうかは規定されていな"
6003 "い (したがって、アプリケーションは B<getegid>(2)  を呼び出し、その結果の値を"
6004 "追加・削除すべきである)。"
6005
6006 #. type: Plain text
6007 #: build/C/man2/getgroups.2:81
6008 msgid ""
6009 "If I<size> is zero, I<list> is not modified, but the total number of "
6010 "supplementary group IDs for the process is returned.  This allows the caller "
6011 "to determine the size of a dynamically allocated I<list> to be used in a "
6012 "further call to B<getgroups>()."
6013 msgstr ""
6014 "I<size> が 0 ならば、 I<list> は修正されないが、そのプロセスの補助グループ "
6015 "ID の合計数が返される。 これを使うことで、それ以降の B<getgroups>()  の呼び出"
6016 "しで必要となる動的割り当てバッファ I<list> のサイズを、呼び出し元が決定するこ"
6017 "とができる。"
6018
6019 #. type: Plain text
6020 #: build/C/man2/getgroups.2:92
6021 msgid ""
6022 "B<setgroups>()  sets the supplementary group IDs for the calling process.  "
6023 "Appropriate privileges (Linux: the B<CAP_SETGID> capability) are required.  "
6024 "The I<size> argument specifies the number of supplementary group IDs in the "
6025 "buffer pointed to by I<list>."
6026 msgstr ""
6027 "B<setgroups>()  は、呼び出し元プロセスの補助グループ ID を設定する。 適切な特"
6028 "権 (Linux では B<CAP_SETGID> ケーパビリティ (capability)) が必要である。 "
6029 "I<size> 引き数には、 I<list> により参照されるバッファに格納された補助グルー"
6030 "プ ID の数を指定する。"
6031
6032 #. type: Plain text
6033 #: build/C/man2/getgroups.2:99
6034 msgid ""
6035 "On success, B<getgroups>()  returns the number of supplementary group IDs.  "
6036 "On error, -1 is returned, and I<errno> is set appropriately."
6037 msgstr ""
6038 "B<getgroups>()  は、成功すると補助グループ ID の数を返す。 エラーの場合 -1 を"
6039 "返し、 I<errno> を適切に設定する。"
6040
6041 #. type: Plain text
6042 #: build/C/man2/getgroups.2:106
6043 msgid ""
6044 "On success, B<setgroups>()  returns 0.  On error, -1 is returned, and "
6045 "I<errno> is set appropriately."
6046 msgstr ""
6047 "B<setgroups>()  は、成功すると 0 を返す。 エラーの場合 -1 を返し、 I<errno> "
6048 "を適切に設定する。"
6049
6050 #. type: Plain text
6051 #: build/C/man2/getgroups.2:111
6052 msgid "I<list> has an invalid address."
6053 msgstr "I<list> が不正なアドレスである。"
6054
6055 #. type: Plain text
6056 #: build/C/man2/getgroups.2:114
6057 msgid "B<getgroups>()  can additionally fail with the following error:"
6058 msgstr "B<getgroups>()  は、上記に加えて以下のエラーで失敗する可能性がある。"
6059
6060 #. type: Plain text
6061 #: build/C/man2/getgroups.2:118
6062 msgid ""
6063 "I<size> is less than the number of supplementary group IDs, but is not zero."
6064 msgstr "I<size> が補助グループ ID の数より小さいが 0 でない。"
6065
6066 #. type: Plain text
6067 #: build/C/man2/getgroups.2:121
6068 msgid "B<setgroups>()  can additionally fail with the following errors:"
6069 msgstr "B<setgroups>()  は、上記に加えて以下のエラーで失敗する可能性がある。"
6070
6071 #. type: Plain text
6072 #: build/C/man2/getgroups.2:127
6073 msgid ""
6074 "I<size> is greater than B<NGROUPS_MAX> (32 before Linux 2.6.4; 65536 since "
6075 "Linux 2.6.4)."
6076 msgstr ""
6077 "I<size> が B<NGROUPS_MAX> より大きい (B<NGROUPS_MAX> は Linux 2.6.4 より前で"
6078 "は 32、Linux 2.6.4 以降では 65536)。"
6079
6080 #. type: Plain text
6081 #: build/C/man2/getgroups.2:133
6082 msgid "The calling process has insufficient privilege."
6083 msgstr "呼び出し元プロセスが十分な特権を持っていない。"
6084
6085 #. type: Plain text
6086 #: build/C/man2/getgroups.2:141
6087 msgid ""
6088 "SVr4, 4.3BSD.  The B<getgroups>()  function is in POSIX.1-2001.  Since "
6089 "B<setgroups>()  requires privilege, it is not covered by POSIX.1-2001."
6090 msgstr ""
6091 "SVr4, 4.3BSD.  B<getgroups>()  関数は POSIX.1-2001 に準拠している。 "
6092 "B<setgroups>()  は特権を必要とするため、POSIX.1-2001 に従っていない。"
6093
6094 #. type: Plain text
6095 #: build/C/man2/getgroups.2:149
6096 msgid ""
6097 "A process can have up to B<NGROUPS_MAX> supplementary group IDs in addition "
6098 "to the effective group ID.  The set of supplementary group IDs is inherited "
6099 "from the parent process, and preserved across an B<execve>(2)."
6100 msgstr ""
6101 "プロセスは、実効グループ ID に加え、最大 B<NGROUPS_MAX> までの補助グループ "
6102 "ID を持つことができる。 補助グループ ID の集合は親プロセスから継承され、 "
6103 "B<execve>(2)  の前後で保持される。"
6104
6105 #. type: Plain text
6106 #: build/C/man2/getgroups.2:152
6107 msgid ""
6108 "The maximum number of supplementary group IDs can be found using B<sysconf>"
6109 "(3):"
6110 msgstr ""
6111 "補助グループ ID の最大数は B<sysconf>(3)  を使って以下のようにして調べること"
6112 "ができる:"
6113
6114 #. type: Plain text
6115 #: build/C/man2/getgroups.2:156
6116 #, no-wrap
6117 msgid ""
6118 "    long ngroups_max;\n"
6119 "    ngroups_max = sysconf(_SC_NGROUPS_MAX);\n"
6120 msgstr ""
6121 "    long ngroups_max;\n"
6122 "    ngroups_max = sysconf(_SC_NGROUPS_MAX);\n"
6123
6124 #. type: Plain text
6125 #: build/C/man2/getgroups.2:161
6126 msgid ""
6127 "The maximum return value of B<getgroups>()  cannot be larger than one more "
6128 "than this value."
6129 msgstr ""
6130 "B<getgroups>()  の返り値の最大値は、この値より 1 大きい値より大きくなることは"
6131 "ない。"
6132
6133 #. type: Plain text
6134 #: build/C/man2/getgroups.2:171
6135 msgid ""
6136 "The original Linux B<getgroups>()  system call supported only 16-bit group "
6137 "IDs.  Subsequently, Linux 2.4 added B<getgroups32>(), supporting 32-bit "
6138 "IDs.  The glibc B<getgroups>()  wrapper function transparently deals with "
6139 "the variation across kernel versions."
6140 msgstr ""
6141 "元々の Linux の B<getgroups>() システムコールは 16 ビットのグループ ID だけ\n"
6142 "に対応していた。その後、Linux 2.4 で、32 ビットの ID に対応した\n"
6143 "B<getgroups>() が追加された。glibc の B<getgroups> のラッパー関数はカーネル\n"
6144 "バージョンによるこの違いを吸収している。"
6145
6146 #. type: Plain text
6147 #: build/C/man2/getgroups.2:178
6148 msgid ""
6149 "B<getgid>(2), B<setgid>(2), B<getgrouplist>(3), B<initgroups>(3), "
6150 "B<capabilities>(7), B<credentials>(7)"
6151 msgstr ""
6152 "B<getgid>(2), B<setgid>(2), B<getgrouplist>(3), B<initgroups>(3), "
6153 "B<capabilities>(7), B<credentials>(7)"
6154
6155 #. type: TH
6156 #: build/C/man2/getpid.2:25
6157 #, no-wrap
6158 msgid "GETPID"
6159 msgstr "GETPID"
6160
6161 #. type: TH
6162 #: build/C/man2/getpid.2:25
6163 #, no-wrap
6164 msgid "2008-09-23"
6165 msgstr "2008-09-23"
6166
6167 #. type: Plain text
6168 #: build/C/man2/getpid.2:28
6169 msgid "getpid, getppid - get process identification"
6170 msgstr "getpid, getppid - プロセス ID を得る"
6171
6172 #. type: Plain text
6173 #: build/C/man2/getpid.2:34
6174 msgid "B<pid_t getpid(void);>"
6175 msgstr "B<pid_t getpid(void);>"
6176
6177 #. type: Plain text
6178 #: build/C/man2/getpid.2:36
6179 msgid "B<pid_t getppid(void);>"
6180 msgstr "B<pid_t getppid(void);>"
6181
6182 #. type: Plain text
6183 #: build/C/man2/getpid.2:41
6184 msgid ""
6185 "B<getpid>()  returns the process ID of the calling process.  (This is often "
6186 "used by routines that generate unique temporary filenames.)"
6187 msgstr ""
6188 "B<getpid>()  は呼び出し元のプロセスのプロセス ID を返す。(テンポラリ用のファ"
6189 "イル名として 他と重ならない名前を生成するルーチンでしばしば使用される。)"
6190
6191 #. type: Plain text
6192 #: build/C/man2/getpid.2:44
6193 msgid ""
6194 "B<getppid>()  returns the process ID of the parent of the calling process."
6195 msgstr "B<getppid>()  は呼び出し元のプロセスの親プロセスのプロセス ID を返す。"
6196
6197 #. type: Plain text
6198 #: build/C/man2/getpid.2:48
6199 msgid "POSIX.1-2001, 4.3BSD, SVr4."
6200 msgstr "POSIX.1-2001, 4.3BSD, SVr4."
6201
6202 #.  The following program demonstrates this "feature":
6203 #.  #define _GNU_SOURCE
6204 #.  #include <sys/syscall.h>
6205 #.  #include <sys/wait.h>
6206 #.  #include <stdio.h>
6207 #.  #include <stdlib.h>
6208 #.  #include <unistd.h>
6209 #.  int
6210 #.  main(int argc, char *argv[])
6211 #.  {
6212 #.     /* The following statement fills the getpid() cache */
6213 #.     printf("parent PID = %ld
6214 #. ", (long) getpid());
6215 #.     if (syscall(SYS_fork) == 0) {
6216 #.         if (getpid() != syscall(SYS_getpid))
6217 #.             printf("child getpid() mismatch: getpid()=%ld; "
6218 #.                     "syscall(SYS_getpid)=%ld
6219 #. ",
6220 #.                     (long) getpid(), (long) syscall(SYS_getpid));
6221 #.         exit(EXIT_SUCCESS);
6222 #.     }
6223 #.     wait(NULL);
6224 #. }
6225 #. type: Plain text
6226 #: build/C/man2/getpid.2:100
6227 msgid ""
6228 "Since glibc version 2.3.4, the glibc wrapper function for B<getpid>()  "
6229 "caches PIDs, so as to avoid additional system calls when a process calls "
6230 "B<getpid>()  repeatedly.  Normally this caching is invisible, but its "
6231 "correct operation relies on support in the wrapper functions for B<fork>(2), "
6232 "B<vfork>(2), and B<clone>(2): if an application bypasses the glibc wrappers "
6233 "for these system calls by using B<syscall>(2), then a call to B<getpid>()  "
6234 "in the child will return the wrong value (to be precise: it will return the "
6235 "PID of the parent process).  See also B<clone>(2)  for discussion of a case "
6236 "where B<getpid>()  may return the wrong value even when invoking B<clone>"
6237 "(2)  via the glibc wrapper function."
6238 msgstr ""
6239 "glibc バージョン 2.3.4 以降では、 glibc の B<getpid>()  のラッパー関数は PID "
6240 "をキャッシュする。 これは、プロセスが繰り返し B<getpid>()  を呼び出した場合に"
6241 "その都度システムコールを呼ぶのを避けるためである。 通常は、このキャッシュ処理"
6242 "が見えることはないが、 キャッシュ処理が正しく働くためには B<fork>(2), "
6243 "B<vfork>(2), B<clone>(2)  のラッパー関数でのサポートが必要である。 アプリケー"
6244 "ションがこれらのシステムコールを呼び出す際に、 glibc のラッパー関数を経由せず"
6245 "に B<syscall>(2)  を使った場合には、子プロセスで B<getpid>()  を呼び出すと間"
6246 "違った値が返ることだろう (正確にいうと、親プロセスの PID が返される)。 "
6247 "B<clone>(2)  を glibc のラッパー関数経由で起動した際にも B<getpid>()  が間"
6248 "違った値を返す場合があり、これに関する議論は B<clone>(2)  も参照してほしい。"
6249
6250 #. type: Plain text
6251 #: build/C/man2/getpid.2:110
6252 msgid ""
6253 "B<clone>(2), B<fork>(2), B<kill>(2), B<exec>(3), B<mkstemp>(3), B<tempnam>"
6254 "(3), B<tmpfile>(3), B<tmpnam>(3), B<credentials>(7)"
6255 msgstr ""
6256 "B<clone>(2), B<fork>(2), B<kill>(2), B<exec>(3), B<mkstemp>(3), B<tempnam>"
6257 "(3), B<tmpfile>(3), B<tmpnam>(3), B<credentials>(7)"
6258
6259 #. type: TH
6260 #: build/C/man2/getpriority.2:48
6261 #, no-wrap
6262 msgid "GETPRIORITY"
6263 msgstr "GETPRIORITY"
6264
6265 #. type: Plain text
6266 #: build/C/man2/getpriority.2:51
6267 msgid "getpriority, setpriority - get/set program scheduling priority"
6268 msgstr ""
6269 "getpriority, setpriority - プログラムのスケジューリングの優先度を取得/設定す"
6270 "る"
6271
6272 #. type: Plain text
6273 #: build/C/man2/getpriority.2:53 build/C/man2/getrlimit.2:69
6274 #: build/C/man2/getrusage.2:44
6275 msgid "B<#include E<lt>sys/time.hE<gt>>"
6276 msgstr "B<#include E<lt>sys/time.hE<gt>>"
6277
6278 #. type: Plain text
6279 #: build/C/man2/getpriority.2:55 build/C/man2/getrlimit.2:71
6280 #: build/C/man2/getrusage.2:46
6281 msgid "B<#include E<lt>sys/resource.hE<gt>>"
6282 msgstr "B<#include E<lt>sys/resource.hE<gt>>"
6283
6284 #. type: Plain text
6285 #: build/C/man2/getpriority.2:57
6286 msgid "B<int getpriority(int >I<which>B<, int >I<who>B<);>"
6287 msgstr "B<int getpriority(int >I<which>B<, int >I<who>B<);>"
6288
6289 #. type: Plain text
6290 #: build/C/man2/getpriority.2:59
6291 msgid "B<int setpriority(int >I<which>B<, int >I<who>B<, int >I<prio>B<);>"
6292 msgstr "B<int setpriority(int >I<which>B<, int >I<who>B<, int >I<prio>B<);>"
6293
6294 #. type: Plain text
6295 #: build/C/man2/getpriority.2:70
6296 msgid ""
6297 "The scheduling priority of the process, process group, or user, as indicated "
6298 "by I<which> and I<who> is obtained with the B<getpriority>()  call and set "
6299 "with the B<setpriority>()  call."
6300 msgstr ""
6301 "システムコール B<getpriority>()  や B<setpriority>()  は、 I<which> と "
6302 "I<who> で指定されたプロセス、プロセスグループ、ユーザーの スケジューリング優"
6303 "先度 (scheduling priority) の 取得や設定をそれぞれ行う。"
6304
6305 #. type: Plain text
6306 #: build/C/man2/getpriority.2:97
6307 msgid ""
6308 "The value I<which> is one of B<PRIO_PROCESS>, B<PRIO_PGRP>, or B<PRIO_USER>, "
6309 "and I<who> is interpreted relative to I<which> (a process identifier for "
6310 "B<PRIO_PROCESS>, process group identifier for B<PRIO_PGRP>, and a user ID "
6311 "for B<PRIO_USER>).  A zero value for I<who> denotes (respectively) the "
6312 "calling process, the process group of the calling process, or the real user "
6313 "ID of the calling process.  I<Prio> is a value in the range -20 to 19 (but "
6314 "see the Notes below).  The default priority is 0; lower priorities cause "
6315 "more favorable scheduling."
6316 msgstr ""
6317 "I<which> の値は B<PRIO_PROCESS>, B<PRIO_PGRP>, B<PRIO_USER>, のどれか一つ"
6318 "で、 I<who> は I<which> に応じて解釈される (B<PRIO_PROCESS> だとプロセス識別"
6319 "子、 B<PRIO_PGRP> だとプロセスグループ識別子、 B<PRIO_USER> だと UID (ユーザ"
6320 "ID) と解釈される)。 I<who> がゼロならば、(それぞれ)呼び出したプロセス、 呼び"
6321 "出したプロセスのプロセスグループ、 呼び出したプロセスの実UID を意味する。 "
6322 "I<prio> は -20 から 19 の範囲の値で (但し以下の注意の項を参照のこと)、 デフォ"
6323 "ルトの優先度は 0 である; 小さな数字ほど、有利なスケジューリングとなる。"
6324
6325 #. type: Plain text
6326 #: build/C/man2/getpriority.2:107
6327 msgid ""
6328 "The B<getpriority>()  call returns the highest priority (lowest numerical "
6329 "value)  enjoyed by any of the specified processes.  The B<setpriority>()  "
6330 "call sets the priorities of all of the specified processes to the specified "
6331 "value.  Only the superuser may lower priorities."
6332 msgstr ""
6333 "B<getpriority>()  コールは指定したプロセスの中の最も高い優先度 (数値的には最"
6334 "小の値) を返す。 B<setpriority>()  コールは指定したプロセス全ての優先度を指定"
6335 "した値に設定する。 優先度を今より小さい値に設定できるのはスーパーユーザーだけ"
6336 "である。"
6337
6338 #. type: Plain text
6339 #: build/C/man2/getpriority.2:120
6340 msgid ""
6341 "Since B<getpriority>()  can legitimately return the value -1, it is "
6342 "necessary to clear the external variable I<errno> prior to the call, then "
6343 "check it afterward to determine if -1 is an error or a legitimate value.  "
6344 "The B<setpriority>()  call returns 0 if there is no error, or -1 if there is."
6345 msgstr ""
6346 "B<getpriority>()  は成功した場合にも -1 の値を返す可能性があるので、 呼び出し"
6347 "の前に外部変数の I<errno> をクリアし、呼び出しの後に返り値の -1 が正当な値か "
6348 "エラーかを判別する必要がある。 B<setpriority>()  コールはエラーがなければ 0 "
6349 "を返し、エラーがあれば -1 を返す。"
6350
6351 #. type: Plain text
6352 #: build/C/man2/getpriority.2:129
6353 msgid "I<which> was not one of B<PRIO_PROCESS>, B<PRIO_PGRP>, or B<PRIO_USER>."
6354 msgstr ""
6355 "I<which> が B<PRIO_PROCESS>, B<PRIO_PGRP>, B<PRIO_USER> のいずれでもない。"
6356
6357 #. type: Plain text
6358 #: build/C/man2/getpriority.2:136
6359 msgid "No process was located using the I<which> and I<who> values specified."
6360 msgstr "I<which> と I<who> で指定されたプロセスが存在しない。"
6361
6362 #. type: Plain text
6363 #: build/C/man2/getpriority.2:140
6364 msgid ""
6365 "In addition to the errors indicated above, B<setpriority>()  may fail if:"
6366 msgstr "上記のものに加えて B<setpriority>()  では以下のエラーがある:"
6367
6368 #. type: Plain text
6369 #: build/C/man2/getpriority.2:152
6370 msgid ""
6371 "The caller attempted to lower a process priority, but did not have the "
6372 "required privilege (on Linux: did not have the B<CAP_SYS_NICE> capability).  "
6373 "Since Linux 2.6.12, this error occurs only if the caller attempts to set a "
6374 "process priority outside the range of the B<RLIMIT_NICE> soft resource limit "
6375 "of the target process; see B<getrlimit>(2)  for details."
6376 msgstr ""
6377 "呼び出し元がプロセスの優先度を下げようとしたが、必要な特権を 持っていなかっ"
6378 "た (Linux の場合、 B<CAP_SYS_NICE> ケーパビリティがなかった)。 Linux 2.6.12 "
6379 "以降では、呼び出し元が、あるプロセスの優先度を、 変更対象のプロセスのリソー"
6380 "ス B<RLIMIT_NICE> のソフトリミットの範囲外に設定しようとした場合にのみ、 この"
6381 "エラーが発生する。詳細は B<getrlimit>(2)  を参照。"
6382
6383 #. type: Plain text
6384 #: build/C/man2/getpriority.2:160
6385 msgid ""
6386 "A process was located, but its effective user ID did not match either the "
6387 "effective or the real user ID of the caller, and was not privileged (on "
6388 "Linux: did not have the B<CAP_SYS_NICE> capability).  But see NOTES below."
6389 msgstr ""
6390 "プロセスは見つかったが、そのプロセスの実効 (effective) UID が 呼び出し元の実"
6391 "効UID にも実 (real) UID にも一致せず、 呼び出し元が特権も持っていなかった "
6392 "(Linux の場合、 B<CAP_SYS_NICE> ケーパビリティがなかった)。 以下の「注意」も"
6393 "参照のこと。"
6394
6395 #. type: Plain text
6396 #: build/C/man2/getpriority.2:163
6397 msgid ""
6398 "SVr4, 4.4BSD (these function calls first appeared in 4.2BSD), POSIX.1-2001."
6399 msgstr "SVr4, 4.4BSD (これらの関数は 4.2BSD で最初に登場した), POSIX.1-2001."
6400
6401 #. type: Plain text
6402 #: build/C/man2/getpriority.2:169
6403 msgid ""
6404 "A child created by B<fork>(2)  inherits its parent's nice value.  The nice "
6405 "value is preserved across B<execve>(2)."
6406 msgstr ""
6407 "B<fork>(2)  で作成された子プロセスは、 親プロセスの nice 値を継承する。 "
6408 "B<execve>(2)  の前後で nice 値は保存される。"
6409
6410 #. type: Plain text
6411 #: build/C/man2/getpriority.2:180
6412 msgid ""
6413 "The degree to which their relative nice value affects the scheduling of "
6414 "processes varies across UNIX systems, and, on Linux, across kernel "
6415 "versions.  Starting with kernel 2.6.23, Linux adopted an algorithm that "
6416 "causes relative differences in nice values to have a much stronger effect.  "
6417 "This causes very low nice values (+19) to truly provide little CPU to a "
6418 "process whenever there is any other higher priority load on the system, and "
6419 "makes high nice values (-20) deliver most of the CPU to applications that "
6420 "require it (e.g., some audio applications)."
6421 msgstr ""
6422 "相対的な nice 値の違いがプロセス間のスケジューリングにどの程度影響を与えるか "
6423 "は、UNIX システム間で異なり、Linux ではカーネルバージョンにより異なる。 "
6424 "Linux は、カーネル 2.6.23 以降で、nice 値の相対的な違いが、非常に強い影響を "
6425 "与えるアルゴリズムを採用した。このアルゴリズムでは、 他に優先度の高いものがシ"
6426 "ステムに存在する時には、 非常に低い nice 値 (+19) ではプロセスに本当にほとん"
6427 "ど CPU が割り当てられない。 また、高い nice 値 (-20) では CPU を必要とするア"
6428 "プリケーション (例えば オーディオアプリケーション) に CPU のほとんどが割り当"
6429 "てられる。"
6430
6431 #. type: Plain text
6432 #: build/C/man2/getpriority.2:195
6433 msgid ""
6434 "The details on the condition for B<EPERM> depend on the system.  The above "
6435 "description is what POSIX.1-2001 says, and seems to be followed on all "
6436 "System V-like systems.  Linux kernels before 2.6.12 required the real or "
6437 "effective user ID of the caller to match the real user of the process I<who> "
6438 "(instead of its effective user ID).  Linux 2.6.12 and later require the "
6439 "effective user ID of the caller to match the real or effective user ID of "
6440 "the process I<who>.  All BSD-like systems (SunOS 4.1.3, Ultrix 4.2, 4.3BSD, "
6441 "FreeBSD 4.3, OpenBSD-2.5, ...) behave in the same manner as Linux 2.6.12 and "
6442 "later."
6443 msgstr ""
6444 "B<EPERM> が発生する条件の詳細はシステムに依存する。 上記の説明は "
6445 "POSIX.1-2001 のものであり、全ての System V 風システムは これに従っているよう"
6446 "である。 2.6.12 より前の Linux カーネルでは、呼び出し元の実 UID または 実効 "
6447 "UID がプロセス I<who> の (実効 UID でなく)  実 UID に一致する必要がある。 "
6448 "Linux 2.6.12 以降では、呼び出し元の実行 UID がプロセス I<who> の実 UID か実"
6449 "効 UID のいずれかと一致する必要がある。 全ての BSD 風システム (SunOS 4.1.3, "
6450 "Ultrix 4.2, 4.3BSD, FreeBSD 4.3, OpenBSD-2.5等) は、 Linux 2.6.12 以降と同じ"
6451 "動作をする。"
6452
6453 #. type: Plain text
6454 #: build/C/man2/getpriority.2:211
6455 msgid ""
6456 "The actual priority range varies between kernel versions.  Linux before "
6457 "1.3.36 had -infinity..15.  Since kernel 1.3.43, Linux has the range "
6458 "-20..19.  Within the kernel, nice values are actually represented using the "
6459 "corresponding range 40..1 (since negative numbers are error codes) and these "
6460 "are the values employed by the B<setpriority>()  and B<getpriority>()  "
6461 "system calls.  The glibc wrapper functions for these system calls handle the "
6462 "translations between the user-land and kernel representations of the nice "
6463 "value according to the formula I<unice\\ =\\ 20\\ -\\ knice>."
6464 msgstr ""
6465 "実際の優先度の値の範囲はカーネルのバージョンによって異なる。 1.3.36 より前の "
6466 "Linux では、優先度の範囲は負の無限大 〜 15 である。 1.3.43 以降の Linux で"
6467 "は、優先度の範囲は -20 〜 19 である。 カーネル内部では、nice 値は実際には 40 "
6468 "〜 1 の範囲を使って 表現されており (負の値はエラーコードとなるため)、こちらの"
6469 "値が システムコール B<setpriority>()  と B<getpriority>()  で使用されてい"
6470 "る。 glibc のこれらのシステムコールのラッパー関数において、nice 値の ユーザ領"
6471 "域 (user-land) とカーネル表現の間の変換が行われる。 変換式は以下の通り: "
6472 "I<unice\\ =\\ 20\\ -\\ knice>"
6473
6474 #. type: Plain text
6475 #: build/C/man2/getpriority.2:213
6476 msgid "On some systems, the range of nice values is -20..20."
6477 msgstr "いくつかのシステムでは、nice 値の範囲は \\20 〜 20 である。"
6478
6479 #. type: Plain text
6480 #: build/C/man2/getpriority.2:225
6481 msgid ""
6482 "Including I<E<lt>sys/time.hE<gt>> is not required these days, but increases "
6483 "portability.  (Indeed, I<E<lt>sys/resource.hE<gt>> defines the I<rusage> "
6484 "structure with fields of type I<struct timeval> defined in I<E<lt>sys/time."
6485 "hE<gt>>.)"
6486 msgstr ""
6487 "現在では I<E<lt>sys/time.hE<gt>> をインクルードする必要はないが、インクルード"
6488 "すれば移植性を高めることができる (実際には I<E<lt>sys/resource.hE<gt>> で "
6489 "I<rusage> 構造体が定義されているが、そのフィールドで使用されている I<struct "
6490 "timeval> 型は I<E<lt>sys/time.hE<gt>> で定義されている)。"
6491
6492 #. type: Plain text
6493 #: build/C/man2/getpriority.2:232
6494 msgid ""
6495 "According to POSIX, the nice value is a per-process setting.  However, under "
6496 "the current Linux/NPTL implementation of POSIX threads, the nice value is a "
6497 "per-thread attribute: different threads in the same process can have "
6498 "different nice values.  Portable applications should avoid relying on the "
6499 "Linux behavior, which may be made standards conformant in the future."
6500 msgstr ""
6501 "POSIX では nice 値はプロセス単位の設定となっている。 一方、 現在の POSIX ス"
6502 "レッドの Linux/NPTL 実装では、 nice 値はスレッド単位の属性である。 同じプロセ"
6503 "スの別々のスレッドが異なる nice 値を持つ場合がある。 移植性が必要なアプリケー"
6504 "ションではこの Linux の動作を前提するのは避けるべきである。 Linux の動作は将"
6505 "来標準に準拠した動作になるかもしれない。"
6506
6507 #. type: Plain text
6508 #: build/C/man2/getpriority.2:237
6509 msgid "B<nice>(1), B<renice>(1), B<fork>(2), B<capabilities>(7)"
6510 msgstr "B<nice>(1), B<renice>(1), B<fork>(2), B<capabilities>(7)"
6511
6512 #. type: Plain text
6513 #: build/C/man2/getpriority.2:240
6514 msgid ""
6515 "I<Documentation/scheduler/sched-nice-design.txt> in the Linux kernel source "
6516 "tree (since Linux 2.6.23)"
6517 msgstr ""
6518 "Linux カーネルのソースツリー内の I<Documentation/scheduler/sched-nice-design."
6519 "txt> (Linux 2.6.23 以降)"
6520
6521 #. type: TH
6522 #: build/C/man2/getresuid.2:28
6523 #, no-wrap
6524 msgid "GETRESUID"
6525 msgstr "GETRESUID"
6526
6527 #. type: Plain text
6528 #: build/C/man2/getresuid.2:31
6529 msgid "getresuid, getresgid - get real, effective and saved user/group IDs"
6530 msgstr ""
6531 "getresuid, getresgid - 実、実効、保存、ユーザー ID / グループ ID を取得する"
6532
6533 #. type: Plain text
6534 #: build/C/man2/getresuid.2:33 build/C/man2/setresuid.2:31
6535 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
6536 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
6537
6538 #. type: Plain text
6539 #: build/C/man2/getresuid.2:37
6540 msgid ""
6541 "B<int getresuid(uid_t *>I<ruid>B<, uid_t *>I<euid>B<, uid_t *>I<suid>B<);>"
6542 msgstr ""
6543 "B<int getresuid(uid_t *>I<ruid>B<, uid_t *>I<euid>B<, uid_t *>I<suid>B<);>"
6544
6545 #. type: Plain text
6546 #: build/C/man2/getresuid.2:39
6547 msgid ""
6548 "B<int getresgid(gid_t *>I<rgid>B<, gid_t *>I<egid>B<, gid_t *>I<sgid>B<);>"
6549 msgstr ""
6550 "B<int getresgid(gid_t *>I<rgid>B<, gid_t *>I<egid>B<, gid_t *>I<sgid>B<);>"
6551
6552 #. type: Plain text
6553 #: build/C/man2/getresuid.2:50
6554 msgid ""
6555 "B<getresuid>()  returns the real UID, the effective UID, and the saved set-"
6556 "user-ID of the calling process, in the arguments I<ruid>, I<euid>, and "
6557 "I<suid>, respectively.  B<getresgid>()  performs the analogous task for the "
6558 "process's group IDs."
6559 msgstr ""
6560 "B<getresuid>()  は、呼び出したプロセスの実 (real) UID、実効 (effective) "
6561 "UID、 保存 (saved) set-user-ID (B<getresgid> の場合はグループ ID) を、 それぞ"
6562 "れ引き数 I<ruid>, I<euid>, I<suid> に格納して返す。 B<getresgid>()  は、呼び"
6563 "出したプロセスのグループ ID について同様の処理を行う。"
6564
6565 #. type: Plain text
6566 #: build/C/man2/getresuid.2:60
6567 msgid ""
6568 "One of the arguments specified an address outside the calling program's "
6569 "address space."
6570 msgstr ""
6571 "指定した引き数のどれかが、呼び出したプログラムのアドレス空間の外の アドレスで"
6572 "ある。"
6573
6574 #. type: Plain text
6575 #: build/C/man2/getresuid.2:62
6576 msgid "These system calls appeared on Linux starting with kernel 2.1.44."
6577 msgstr "これらのシステムコールはカーネル 2.1.44 から Linux に登場した。"
6578
6579 #. type: Plain text
6580 #: build/C/man2/getresuid.2:67
6581 msgid ""
6582 "The prototypes are given by glibc since version 2.3.2, provided "
6583 "B<_GNU_SOURCE> is defined."
6584 msgstr ""
6585 "プロトタイプ宣言は 2.3.2 以降の glibc では B<_GNU_SOURCE> を定義していると得"
6586 "られる。"
6587
6588 #. type: Plain text
6589 #: build/C/man2/getresuid.2:70 build/C/man2/setresuid.2:86
6590 msgid ""
6591 "These calls are nonstandard; they also appear on HP-UX and some of the BSDs."
6592 msgstr "これらのコールは非標準である。 HP-UX や BSD 系のいくつかにも存在する。"
6593
6594 #. type: Plain text
6595 #: build/C/man2/getresuid.2:86
6596 msgid ""
6597 "The original Linux B<getresuid>()  and B<getresgid>()  system calls "
6598 "supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
6599 "B<getresuid32>()  and B<getresgid32>(), supporting 32-bit IDs.  The glibc "
6600 "B<getresuid>()  and B<getresgid>()  wrapper functions transparently deal "
6601 "with the variations across kernel versions."
6602 msgstr ""
6603 "元々の Linux の B<getresuid>() と B<getresgid>() システムコールは\n"
6604 "16 ビットのグループ ID だけに対応していた。\n"
6605 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
6606 "B<getresuid32>() と B<getresgid32>() が追加された。\n"
6607 "glibc の B<getresuid>() と B<getresgid>() のラッパー関数は\n"
6608 "カーネルバージョンによるこの違いを吸収している。"
6609
6610 #. type: Plain text
6611 #: build/C/man2/getresuid.2:92
6612 msgid ""
6613 "B<getuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), B<credentials>"
6614 "(7)"
6615 msgstr ""
6616 "B<getuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), B<credentials>"
6617 "(7)"
6618
6619 #. type: TH
6620 #: build/C/man2/getrlimit.2:64
6621 #, no-wrap
6622 msgid "GETRLIMIT"
6623 msgstr "GETRLIMIT"
6624
6625 #. type: TH
6626 #: build/C/man2/getrlimit.2:64 build/C/man2/setsid.2:30
6627 #, no-wrap
6628 msgid "2013-02-11"
6629 msgstr "2013-02-11"
6630
6631 #. type: Plain text
6632 #: build/C/man2/getrlimit.2:67
6633 msgid "getrlimit, setrlimit, prlimit - get/set resource limits"
6634 msgstr "getrlimit, setrlimit, prlimit - 資源の制限を取得/設定する"
6635
6636 #. type: Plain text
6637 #: build/C/man2/getrlimit.2:73
6638 msgid "B<int getrlimit(int >I<resource>B<, struct rlimit *>I<rlim>B<);>"
6639 msgstr "B<int getrlimit(int >I<resource>B<, struct rlimit *>I<rlim>B<);>"
6640
6641 #. type: Plain text
6642 #: build/C/man2/getrlimit.2:75
6643 msgid "B<int setrlimit(int >I<resource>B<, const struct rlimit *>I<rlim>B<);>"
6644 msgstr "B<int setrlimit(int >I<resource>B<, const struct rlimit *>I<rlim>B<);>"
6645
6646 #. type: Plain text
6647 #: build/C/man2/getrlimit.2:78
6648 msgid ""
6649 "B<int prlimit(pid_t >I<pid>B<, int >I<resource>B<, const struct rlimit "
6650 "*>I<new_limit>B<,>"
6651 msgstr ""
6652 "B<int prlimit(pid_t >I<pid>B<, int >I<resource>B<, const struct rlimit "
6653 "*>I<new_limit>B<,>"
6654
6655 #. type: Plain text
6656 #: build/C/man2/getrlimit.2:80
6657 msgid "B< struct rlimit *>I<old_limit>B<);>"
6658 msgstr "B< struct rlimit *>I<old_limit>B<);>"
6659
6660 #. type: Plain text
6661 #: build/C/man2/getrlimit.2:88
6662 msgid "B<prlimit>(): _GNU_SOURCE && _FILE_OFFSET_BITS == 64"
6663 msgstr "B<prlimit>(): _GNU_SOURCE && _FILE_OFFSET_BITS == 64"
6664
6665 #. type: Plain text
6666 #: build/C/man2/getrlimit.2:97
6667 msgid ""
6668 "The B<getrlimit>()  and B<setrlimit>()  system calls get and set resource "
6669 "limits respectively.  Each resource has an associated soft and hard limit, "
6670 "as defined by the I<rlimit> structure:"
6671 msgstr ""
6672 "B<getrlimit>() と B<setrlimit>() はそれぞれ資源 (resource) の制限\n"
6673 "(limit) の設定と取得を行う。 各リソースには、それに対応するソフトリミッ\n"
6674 "トとハードリミットがあり、 I<rlimit> 構造体で定義される:"
6675
6676 #. type: Plain text
6677 #: build/C/man2/getrlimit.2:104
6678 #, no-wrap
6679 msgid ""
6680 "struct rlimit {\n"
6681 "    rlim_t rlim_cur;  /* Soft limit */\n"
6682 "    rlim_t rlim_max;  /* Hard limit (ceiling for rlim_cur) */\n"
6683 "};\n"
6684 msgstr ""
6685 "struct rlimit {\n"
6686 "    rlim_t rlim_cur;  /* ソフトリミット */\n"
6687 "    rlim_t rlim_max;  /* ハードリミット\n"
6688 "                         (rlim_cur より小さくない) */\n"
6689 "};\n"
6690
6691 #. type: Plain text
6692 #: build/C/man2/getrlimit.2:115
6693 msgid ""
6694 "The soft limit is the value that the kernel enforces for the corresponding "
6695 "resource.  The hard limit acts as a ceiling for the soft limit: an "
6696 "unprivileged process may set only its soft limit to a value in the range "
6697 "from 0 up to the hard limit, and (irreversibly) lower its hard limit.  A "
6698 "privileged process (under Linux: one with the B<CAP_SYS_RESOURCE> "
6699 "capability) may make arbitrary changes to either limit value."
6700 msgstr ""
6701 "ソフトリミットは、カーネルが対応するリソースに対して課す制限値である。 ハード"
6702 "リミットはソフトリミットの上限として働く。 特権を持たないプロセスは、ソフトリ"
6703 "ミットの値を 0 からハードリミットの範囲に設定することと、 ハードリミットを下"
6704 "げることのみができる (一度下げたハードリミットは上げられない)。 特権プロセス "
6705 "(Linux では B<CAP_SYS_RESOURCE> ケーパビリティ (capability) を持つプロセス) "
6706 "は ソフトリミットとハードリミットを自由に変更できる。"
6707
6708 #. type: Plain text
6709 #: build/C/man2/getrlimit.2:122
6710 msgid ""
6711 "The value B<RLIM_INFINITY> denotes no limit on a resource (both in the "
6712 "structure returned by B<getrlimit>()  and in the structure passed to "
6713 "B<setrlimit>())."
6714 msgstr ""
6715 "値 B<RLIM_INFINITY> はリソースに制限がないことを表す (この値は B<getrlimit>"
6716 "()  が返す構造体と B<setrlimit>()  に渡す構造体の両方で使用される)。"
6717
6718 #. type: Plain text
6719 #: build/C/man2/getrlimit.2:126
6720 msgid "The I<resource> argument must be one of:"
6721 msgstr "I<resource> 引き数は次のいずれか 1 つである。"
6722
6723 #. type: TP
6724 #: build/C/man2/getrlimit.2:126
6725 #, no-wrap
6726 msgid "B<RLIMIT_AS>"
6727 msgstr "B<RLIMIT_AS>"
6728
6729 #.  since 2.0.27 / 2.1.12
6730 #. type: Plain text
6731 #: build/C/man2/getrlimit.2:146
6732 msgid ""
6733 "The maximum size of the process's virtual memory (address space) in bytes.  "
6734 "This limit affects calls to B<brk>(2), B<mmap>(2)  and B<mremap>(2), which "
6735 "fail with the error B<ENOMEM> upon exceeding this limit.  Also automatic "
6736 "stack expansion will fail (and generate a B<SIGSEGV> that kills the process "
6737 "if no alternate stack has been made available via B<sigaltstack>(2)).  Since "
6738 "the value is a I<long>, on machines with a 32-bit I<long> either this limit "
6739 "is at most 2 GiB, or this resource is unlimited."
6740 msgstr ""
6741 "プロセスの仮想メモリ (アドレス空間) の最大サイズ (バイト単位)。 この制限は "
6742 "B<brk>(2), B<mmap>(2), B<mremap>(2)  の呼び出しに影響し、この制限を超えた場合"
6743 "は エラー B<ENOMEM> で失敗する。 また自動的なスタック拡張にも失敗する (さら"
6744 "に B<sigaltstack>(2)  を使った代替スタックを利用可能にしていなかった場合に"
6745 "は、 B<SIGSEGV> を生成してそのプロセスを kill する)。 この値は I<long> 型なの"
6746 "で、32 ビットの I<long> 型を持つマシンでは、 この制限は最大で 2 GiB になる"
6747 "か、この資源が無制限になる。"
6748
6749 #. type: TP
6750 #: build/C/man2/getrlimit.2:146
6751 #, no-wrap
6752 msgid "B<RLIMIT_CORE>"
6753 msgstr "B<RLIMIT_CORE>"
6754
6755 #. type: Plain text
6756 #: build/C/man2/getrlimit.2:153
6757 msgid ""
6758 "Maximum size of I<core> file.  When 0 no core dump files are created.  When "
6759 "nonzero, larger dumps are truncated to this size."
6760 msgstr ""
6761 "I<core> ファイルの最大サイズ。 0 の場合、core ファイルは生成されない。 0 以外"
6762 "の場合、このサイズより大きいダンプは切り詰められる。"
6763
6764 #. type: TP
6765 #: build/C/man2/getrlimit.2:153
6766 #, no-wrap
6767 msgid "B<RLIMIT_CPU>"
6768 msgstr "B<RLIMIT_CPU>"
6769
6770 #. type: Plain text
6771 #: build/C/man2/getrlimit.2:173
6772 msgid ""
6773 "CPU time limit in seconds.  When the process reaches the soft limit, it is "
6774 "sent a B<SIGXCPU> signal.  The default action for this signal is to "
6775 "terminate the process.  However, the signal can be caught, and the handler "
6776 "can return control to the main program.  If the process continues to consume "
6777 "CPU time, it will be sent B<SIGXCPU> once per second until the hard limit is "
6778 "reached, at which time it is sent B<SIGKILL>.  (This latter point describes "
6779 "Linux behavior.  Implementations vary in how they treat processes which "
6780 "continue to consume CPU time after reaching the soft limit.  Portable "
6781 "applications that need to catch this signal should perform an orderly "
6782 "termination upon first receipt of B<SIGXCPU>.)"
6783 msgstr ""
6784 "CPU 時間の上限 (秒数)。プロセスがソフトリミットに達した場合に、\n"
6785 "B<SIGXCPU> シグナルを送る。このシグナルに対するデフォルトの動作は、\n"
6786 "プロセスの終了である。ただし、シグナルをキャッチして、ハンドラがメイン\n"
6787 "プログラムに制御を返すこともできる。プロセスが CPU 時間を使い続けた\n"
6788 "場合は、ハードリミットに達するまで 1 秒毎にプロセスに B<SIGXCPU> を送り、\n"
6789 "ハードリミットに達すると B<SIGKILL> を送る。\n"
6790 "(ソフトリミットを超過したときの動作は、 Linux における動作である。ソフ\n"
6791 "トリミットを超えて CPU 時間を使い続けるプロセスの扱い方についての実装は\n"
6792 "変化してきている。 このシグナルをキャッチする必要のある 移植性を考えた\n"
6793 "アプリケーションでは、 最初に B<SIGXCPU> を受け取った時点で正しく終了\n"
6794 "すべきである。)"
6795
6796 #. type: TP
6797 #: build/C/man2/getrlimit.2:173
6798 #, no-wrap
6799 msgid "B<RLIMIT_DATA>"
6800 msgstr "B<RLIMIT_DATA>"
6801
6802 #. type: Plain text
6803 #: build/C/man2/getrlimit.2:184
6804 msgid ""
6805 "The maximum size of the process's data segment (initialized data, "
6806 "uninitialized data, and heap).  This limit affects calls to B<brk>(2)  and "
6807 "B<sbrk>(2), which fail with the error B<ENOMEM> upon encountering the soft "
6808 "limit of this resource."
6809 msgstr ""
6810 "プロセスのデータセグメント (初期化されたデータ・初期化されていないデータ・"
6811 "ヒープ) の最大値。 このリミットは B<brk>(2)  と B<sbrk>(2)  の呼び出しに影響"
6812 "する。 これらの関数は、このリソースのソフトリミットに達すると、 エラー "
6813 "B<ENOMEM> で失敗する。"
6814
6815 #. type: TP
6816 #: build/C/man2/getrlimit.2:184
6817 #, no-wrap
6818 msgid "B<RLIMIT_FSIZE>"
6819 msgstr "B<RLIMIT_FSIZE>"
6820
6821 #. type: Plain text
6822 #: build/C/man2/getrlimit.2:196
6823 msgid ""
6824 "The maximum size of files that the process may create.  Attempts to extend a "
6825 "file beyond this limit result in delivery of a B<SIGXFSZ> signal.  By "
6826 "default, this signal terminates a process, but a process can catch this "
6827 "signal instead, in which case the relevant system call (e.g., B<write>(2), "
6828 "B<truncate>(2))  fails with the error B<EFBIG>."
6829 msgstr ""
6830 "プロセスが作成できるファイルサイズの最大値。 このサイズを超えてファイルを拡張"
6831 "すると、 B<SIGXFSZ> シグナルを送る。 デフォルトでは、このシグナルはプロセスを"
6832 "終了する。 プロセスをキャッチすることもできるが、 関連するシステムコール "
6833 "(B<write>(2), B<truncate>(2)  など) はエラー B<EFBIG> で失敗する。"
6834
6835 #. type: TP
6836 #: build/C/man2/getrlimit.2:196
6837 #, no-wrap
6838 msgid "B<RLIMIT_LOCKS> (Early Linux 2.4 only)"
6839 msgstr "B<RLIMIT_LOCKS> (初期の Linux 2.4 のみ)"
6840
6841 #.  to be precise: Linux 2.4.0-test9; no longer in 2.4.25 / 2.5.65
6842 #. type: Plain text
6843 #: build/C/man2/getrlimit.2:204
6844 msgid ""
6845 "A limit on the combined number of B<flock>(2)  locks and B<fcntl>(2)  leases "
6846 "that this process may establish."
6847 msgstr ""
6848 "このプロセスが実行できる B<flock>(2)  ロック数と B<fcntl>(2)  リース数の合計"
6849 "値を制限する。"
6850
6851 #. type: TP
6852 #: build/C/man2/getrlimit.2:204
6853 #, no-wrap
6854 msgid "B<RLIMIT_MEMLOCK>"
6855 msgstr "B<RLIMIT_MEMLOCK>"
6856
6857 #. type: Plain text
6858 #: build/C/man2/getrlimit.2:242
6859 msgid ""
6860 "The maximum number of bytes of memory that may be locked into RAM.  In "
6861 "effect this limit is rounded down to the nearest multiple of the system page "
6862 "size.  This limit affects B<mlock>(2)  and B<mlockall>(2)  and the B<mmap>"
6863 "(2)  B<MAP_LOCKED> operation.  Since Linux 2.6.9 it also affects the "
6864 "B<shmctl>(2)  B<SHM_LOCK> operation, where it sets a maximum on the total "
6865 "bytes in shared memory segments (see B<shmget>(2))  that may be locked by "
6866 "the real user ID of the calling process.  The B<shmctl>(2)  B<SHM_LOCK> "
6867 "locks are accounted for separately from the per-process memory locks "
6868 "established by B<mlock>(2), B<mlockall>(2), and B<mmap>(2)  B<MAP_LOCKED>; a "
6869 "process can lock bytes up to this limit in each of these two categories.  In "
6870 "Linux kernels before 2.6.9, this limit controlled the amount of memory that "
6871 "could be locked by a privileged process.  Since Linux 2.6.9, no limits are "
6872 "placed on the amount of memory that a privileged process may lock, and this "
6873 "limit instead governs the amount of memory that an unprivileged process may "
6874 "lock."
6875 msgstr ""
6876 "RAM 内にロックできるメモリの最大バイト数。 実際には、この制限はシステムページ"
6877 "サイズの最も近い倍数に 切り捨てて丸められる。 この制限は B<mlock>(2), "
6878 "B<mlockall>(2), B<mmap>(2)  の B<MAP_LOCKED> 操作に影響する。 Linux 2.6.9 以"
6879 "降では B<shmctl>(2)  B<SHM_LOCK> 操作にも影響する。 この操作は呼び出し元プロ"
6880 "セスの実 (real) ユーザー ID にロックされる 共有メモリセグメント (B<shmget>"
6881 "(2)  を参照) の合計バイト数の最大値を設定する。 B<shmctl>(2)  B<SHM_LOCK> に"
6882 "よるロックは、 B<mlock>(2), B<mlockall>(2), B<mmap>(2)  の B<MAP_LOCKED> に"
6883 "よって確立されるプロセス毎のメモリロックとは分けて数える。 1 つのプロセスはこ"
6884 "の制限までのバイトをロックできる。 この制限には 2 つの種類がある。 2.6.9 より"
6885 "前の Linux カーネル では、 この制限は特権プロセスによってロックされるメモリの"
6886 "合計を制御していた。 Linux 2.6.9 以降では、特権プロセスがロックするメモリの合"
6887 "計に制限はなく、 代わりにこの制限は非特権プロセスがロックするメモリの合計に "
6888 "適用されるようになった。"
6889
6890 #. type: TP
6891 #: build/C/man2/getrlimit.2:242
6892 #, no-wrap
6893 msgid "B<RLIMIT_MSGQUEUE> (Since Linux 2.6.8)"
6894 msgstr "B<RLIMIT_MSGQUEUE> (Linux 2.6.8 以降)"
6895
6896 #. type: Plain text
6897 #: build/C/man2/getrlimit.2:250
6898 msgid ""
6899 "Specifies the limit on the number of bytes that can be allocated for POSIX "
6900 "message queues for the real user ID of the calling process.  This limit is "
6901 "enforced for B<mq_open>(3).  Each message queue that the user creates counts "
6902 "(until it is removed)  against this limit according to the formula:"
6903 msgstr ""
6904 "呼び出し元プロセスの実ユーザー ID に対して、 POSIX メッセージキューのために確"
6905 "保できるバイト数の制限を指定する。 この制限は B<mq_open>(3)  に対して適用され"
6906 "る。 ユーザが作成した各々のメッセージキューのバイト数は 以下の式により計算さ"
6907 "れ、(そのキューが削除されるまでの間)  この制限の計算対象に含められる。"
6908
6909 #. type: Plain text
6910 #: build/C/man2/getrlimit.2:254
6911 #, no-wrap
6912 msgid ""
6913 "    bytes = attr.mq_maxmsg * sizeof(struct msg_msg *) +\n"
6914 "            attr.mq_maxmsg * attr.mq_msgsize\n"
6915 msgstr ""
6916 "    bytes = attr.mq_maxmsg * sizeof(struct msg_msg *) +\n"
6917 "            attr.mq_maxmsg * attr.mq_msgsize\n"
6918
6919 #. type: Plain text
6920 #: build/C/man2/getrlimit.2:262
6921 msgid ""
6922 "where I<attr> is the I<mq_attr> structure specified as the fourth argument "
6923 "to B<mq_open>(3)."
6924 msgstr ""
6925 "ここで I<attr> は I<mq_attr> 構造体であり、 B<mq_open>(3)  の第 4 引き数とし"
6926 "て指定される。"
6927
6928 #. type: Plain text
6929 #: build/C/man2/getrlimit.2:268
6930 msgid ""
6931 "The first addend in the formula, which includes I<sizeof(struct msg_msg\\ *)"
6932 "> (4 bytes on Linux/i386), ensures that the user cannot create an unlimited "
6933 "number of zero-length messages (such messages nevertheless each consume some "
6934 "system memory for bookkeeping overhead)."
6935 msgstr ""
6936 "I<sizeof(struct msg_msg\\ *)> (Linux/i386 では 4 バイト) を含む最初の加数"
6937 "は、 ユーザーが長さ 0 のメッセージを無制限に作れないこと保証している (このよ"
6938 "うなメッセージであっても、 記録のためのオーバーヘッドでシステムメモリを消費す"
6939 "る)。"
6940
6941 #. type: TP
6942 #: build/C/man2/getrlimit.2:268
6943 #, no-wrap
6944 msgid "B<RLIMIT_NICE> (since Linux 2.6.12, but see BUGS below)"
6945 msgstr "B<RLIMIT_NICE> (Linux 2.6.12 以降, 下記の「バグ」の節も参照)"
6946
6947 #. type: Plain text
6948 #: build/C/man2/getrlimit.2:281
6949 msgid ""
6950 "Specifies a ceiling to which the process's nice value can be raised using "
6951 "B<setpriority>(2)  or B<nice>(2).  The actual ceiling for the nice value is "
6952 "calculated as I<20\\ -\\ rlim_cur>.  (This strangeness occurs because "
6953 "negative numbers cannot be specified as resource limit values, since they "
6954 "typically have special meanings.  For example, B<RLIM_INFINITY> typically is "
6955 "the same as -1.)"
6956 msgstr ""
6957 "B<setpriority>(2)  や B<nice>(2)  を使って引き上げられるプロセスの nice 値の"
6958 "上限を指定する。 nice 値の実際の上限は I<20\\ -\\ rlim_cur> で計算される (こ"
6959 "のような変な状況は、リソース制限値として負の数を指定できないため 発生する。通"
6960 "常、負の値は特別な意味を持っているからである。 例えば、通常は "
6961 "B<RLIM_INFINITY> の値は -1 である)。"
6962
6963 #. type: TP
6964 #: build/C/man2/getrlimit.2:281
6965 #, no-wrap
6966 msgid "B<RLIMIT_NOFILE>"
6967 msgstr "B<RLIMIT_NOFILE>"
6968
6969 #. type: Plain text
6970 #: build/C/man2/getrlimit.2:295
6971 msgid ""
6972 "Specifies a value one greater than the maximum file descriptor number that "
6973 "can be opened by this process.  Attempts (B<open>(2), B<pipe>(2), B<dup>(2), "
6974 "etc.)  to exceed this limit yield the error B<EMFILE>.  (Historically, this "
6975 "limit was named B<RLIMIT_OFILE> on BSD.)"
6976 msgstr ""
6977 "このプロセスがオープンできるファイルディスクリプタ数の最大値より 1 大きい値を"
6978 "指定する。 (B<open>(2), B<pipe>(2), B<dup>(2)  などにより) この上限を超えよう"
6979 "とした場合、エラー B<EMFILE> が発生する (歴史的に、BSD ではこの上限は "
6980 "B<RLIMIT_OFILE> という名前となっている)。"
6981
6982 #. type: TP
6983 #: build/C/man2/getrlimit.2:295
6984 #, no-wrap
6985 msgid "B<RLIMIT_NPROC>"
6986 msgstr "B<RLIMIT_NPROC>"
6987
6988 #. type: Plain text
6989 #: build/C/man2/getrlimit.2:303
6990 msgid ""
6991 "The maximum number of processes (or, more precisely on Linux, threads)  that "
6992 "can be created for the real user ID of the calling process.  Upon "
6993 "encountering this limit, B<fork>(2)  fails with the error B<EAGAIN>."
6994 msgstr ""
6995 "呼び出したプロセスの実ユーザー ID で作成できる最大プロセス数 (より正確には "
6996 "Linux ではスレッド数)。 この上限に達すると、 B<fork>(2)  はエラー B<EAGAIN> "
6997 "で失敗する。"
6998
6999 #. type: TP
7000 #: build/C/man2/getrlimit.2:303
7001 #, no-wrap
7002 msgid "B<RLIMIT_RSS>"
7003 msgstr "B<RLIMIT_RSS>"
7004
7005 #.  As at kernel 2.6.12, this limit still does nothing in 2.6 though
7006 #.  talk of making it do something has surfaced from time to time in LKML
7007 #.        -- MTK, Jul 05
7008 #. type: Plain text
7009 #: build/C/man2/getrlimit.2:315
7010 msgid ""
7011 "Specifies the limit (in pages) of the process's resident set (the number of "
7012 "virtual pages resident in RAM).  This limit has effect only in Linux 2.4.x, "
7013 "x E<lt> 30, and there affects only calls to B<madvise>(2)  specifying "
7014 "B<MADV_WILLNEED>."
7015 msgstr ""
7016 "プロセスの resident set (RAM 上に存在する仮想ページの数) の 上限を (ページ数"
7017 "で) 指定する。 この制限は 2.4.30 より前でしか影響がなく、 B<madvise>(2)  に "
7018 "B<MADV_WILLNEED> を指定した関数コールにしか影響しない。"
7019
7020 #. type: TP
7021 #: build/C/man2/getrlimit.2:315
7022 #, no-wrap
7023 msgid "B<RLIMIT_RTPRIO> (Since Linux 2.6.12, but see BUGS)"
7024 msgstr "B<RLIMIT_RTPRIO> (Linux 2.6.12 以降, バグの節も参照)"
7025
7026 #. type: Plain text
7027 #: build/C/man2/getrlimit.2:322
7028 msgid ""
7029 "Specifies a ceiling on the real-time priority that may be set for this "
7030 "process using B<sched_setscheduler>(2)  and B<sched_setparam>(2)."
7031 msgstr ""
7032 "B<sched_setscheduler>(2)  や B<sched_setparam>(2)  を使って設定できる、そのプ"
7033 "ロセスのリアルタイム優先度の上限を指定する。"
7034
7035 #. type: TP
7036 #: build/C/man2/getrlimit.2:322
7037 #, no-wrap
7038 msgid "B<RLIMIT_RTTIME> (Since Linux 2.6.25)"
7039 msgstr "B<RLIMIT_RTTIME> (Linux 2.6.25 以降)"
7040
7041 #. type: Plain text
7042 #: build/C/man2/getrlimit.2:334
7043 msgid ""
7044 "Specifies a limit (in microseconds)  on the amount of CPU time that a "
7045 "process scheduled under a real-time scheduling policy may consume without "
7046 "making a blocking system call.  For the purpose of this limit, each time a "
7047 "process makes a blocking system call, the count of its consumed CPU time is "
7048 "reset to zero.  The CPU time count is not reset if the process continues "
7049 "trying to use the CPU but is preempted, its time slice expires, or it calls "
7050 "B<sched_yield>(2)."
7051 msgstr ""
7052 "リアルタイムスケジューリング方針でスケジューリングされるプロセスが ブロッキン"
7053 "グ型のシステムコールを呼び出さずに消費することのできる CPU 時間の合計について"
7054 "の上限を (マイクロ秒単位で) 指定する。 この上限の目的のため、プロセスがブロッ"
7055 "キング型のシステムコールを 呼び出す度に、消費された CPU 時間のカウントは 0 に"
7056 "リセットされる。 プロセスが CPU を使い続けようとしたが他のプロセスに置き換え"
7057 "られた (preempted) 場合や、そのプロセスのタイムスライスが満了した場合、 その"
7058 "プロセスが B<sched_yield>(2)  を呼び出した場合は、CPU 時間のカウントはリセッ"
7059 "トされない。"
7060
7061 #. type: Plain text
7062 #: build/C/man2/getrlimit.2:345
7063 msgid ""
7064 "Upon reaching the soft limit, the process is sent a B<SIGXCPU> signal.  If "
7065 "the process catches or ignores this signal and continues consuming CPU time, "
7066 "then B<SIGXCPU> will be generated once each second until the hard limit is "
7067 "reached, at which point the process is sent a B<SIGKILL> signal."
7068 msgstr ""
7069 "ソフトリミットに達すると、そのプロセスに B<SIGXCPU> シグナルが送られる。その"
7070 "プロセスがこのシグナルを捕捉するか 無視して、CPU 時間を消費し続けた場合に"
7071 "は、 ハードリミットに達するまで 1 秒に 1 回 B<SIGXCPU> が生成され続けることに"
7072 "なる。 ハードリミットに達した時点で、そのプロセスには B<SIGKILL> シグナルが送"
7073 "られる。"
7074
7075 #. type: Plain text
7076 #: build/C/man2/getrlimit.2:348
7077 msgid ""
7078 "The intended use of this limit is to stop a runaway real-time process from "
7079 "locking up the system."
7080 msgstr ""
7081 "この上限を意図的に使用するのは、暴走したリアルタイムプロセスを 停止して、シス"
7082 "テムが動かなくなるのを避ける場合である。"
7083
7084 #. type: TP
7085 #: build/C/man2/getrlimit.2:348
7086 #, no-wrap
7087 msgid "B<RLIMIT_SIGPENDING> (Since Linux 2.6.8)"
7088 msgstr "B<RLIMIT_SIGPENDING> (Linux 2.6.8 以降)"
7089
7090 #.  This replaces the /proc/sys/kernel/rtsig-max system-wide limit
7091 #.  that was present in kernels <= 2.6.7.  MTK Dec 04
7092 #. type: Plain text
7093 #: build/C/man2/getrlimit.2:362
7094 msgid ""
7095 "Specifies the limit on the number of signals that may be queued for the real "
7096 "user ID of the calling process.  Both standard and real-time signals are "
7097 "counted for the purpose of checking this limit.  However, the limit is "
7098 "enforced only for B<sigqueue>(3); it is always possible to use B<kill>(2)  "
7099 "to queue one instance of any of the signals that are not already queued to "
7100 "the process."
7101 msgstr ""
7102 "呼び出し元プロセスの実ユーザー ID に対して キューに入れられるシグナルの\n"
7103 "数の制限を指定する。この制限をチェックするため、標準シグナルとリアルタ\n"
7104 "イムシグナルの両方がカウントされる。しかし、この制限は B<sigqueue>(3)\n"
7105 "に対してのみ適用され、 B<kill>(2) 使うことで、そのプロセスに対してま\n"
7106 "だキューに入れられていない シグナルのインスタンスをキューに入れることが\n"
7107 "できる。"
7108
7109 #. type: TP
7110 #: build/C/man2/getrlimit.2:362
7111 #, no-wrap
7112 msgid "B<RLIMIT_STACK>"
7113 msgstr "B<RLIMIT_STACK>"
7114
7115 #. type: Plain text
7116 #: build/C/man2/getrlimit.2:370
7117 msgid ""
7118 "The maximum size of the process stack, in bytes.  Upon reaching this limit, "
7119 "a B<SIGSEGV> signal is generated.  To handle this signal, a process must "
7120 "employ an alternate signal stack (B<sigaltstack>(2))."
7121 msgstr ""
7122 "プロセススタックの最大サイズをバイト単位で指定する。 この上限に達すると、 "
7123 "B<SIGSEGV> シグナルが生成される。 このシグナルを扱うためには、 プロセスは代り"
7124 "のシグナルスタック (B<sigaltstack>(2))  を使用しなければならない。"
7125
7126 #. type: Plain text
7127 #: build/C/man2/getrlimit.2:375
7128 msgid ""
7129 "Since Linux 2.6.23, this limit also determines the amount of space used for "
7130 "the process's command-line arguments and environment variables; for details, "
7131 "see B<execve>(2)."
7132 msgstr ""
7133 "Linux 2.6.23 以降では、この制限はプロセスのコマンドライン引き数と環境変数 に"
7134 "使用される空間の合計サイズの上限の決定にも使用される。詳細については "
7135 "B<execve>(2)  を参照。"
7136
7137 #. type: SS
7138 #: build/C/man2/getrlimit.2:375
7139 #, no-wrap
7140 msgid "prlimit()"
7141 msgstr "prlimit()"
7142
7143 #.  commit c022a0acad534fd5f5d5f17280f6d4d135e74e81
7144 #.  Author: Jiri Slaby <jslaby@suse.cz>
7145 #.  Date:   Tue May 4 18:03:50 2010 +0200
7146 #. type: Plain text
7147 #: build/C/man2/getrlimit.2:386
7148 msgid ""
7149 "The Linux-specific B<prlimit>()  system call combines and extends the "
7150 "functionality of B<setrlimit>()  and B<getrlimit>().  It can be used to both "
7151 "set and get the resource limits of an arbitrary process."
7152 msgstr ""
7153 "Linux 固有の B<prlimit>() システムコールは、 B<setrlimit>() と B<getrlimit> "
7154 "の機能を合わせて拡張したものである。 このシステムコールを使って、任意のプロセ"
7155 "スのリソース上限の設定と取得を行うことができる。"
7156
7157 #. type: Plain text
7158 #: build/C/man2/getrlimit.2:393
7159 msgid ""
7160 "The I<resource> argument has the same meaning as for B<setrlimit>()  and "
7161 "B<getrlimit>()."
7162 msgstr ""
7163 "I<resource> 引き数は B<setrlimit>() や B<getrlimit>() と同じ意味である。"
7164
7165 #. type: Plain text
7166 #: build/C/man2/getrlimit.2:411
7167 msgid ""
7168 "If the I<new_limit> argument is a not NULL, then the I<rlimit> structure to "
7169 "which it points is used to set new values for the soft and hard limits for "
7170 "I<resource>.  If the I<old_limit> argument is a not NULL, then a successful "
7171 "call to B<prlimit>()  places the previous soft and hard limits for "
7172 "I<resource> in the I<rlimit> structure pointed to by I<old_limit>."
7173 msgstr ""
7174 "I<new_limit> 引き数が NULL 以外の場合、 I<new_limit> が指す I<rlimit> 構造体"
7175 "を使って I<resource> のソフトリミットとハードリミットの新しい値が設定され"
7176 "る。 I<old_limit> 引き数が NULL 以外の場合、 B<prlimit>() の呼び出しが成功す"
7177 "ると、 I<resource> の直前のソフトリミットとハードリミットが I<old_limit> が指"
7178 "す I<rlimit> 構造体に格納される。"
7179
7180 #.  FIXME this permission check is strange
7181 #.  Asked about this on LKML, 7 Nov 2010
7182 #.      "Inconsistent credential checking in prlimit() syscall"
7183 #. type: Plain text
7184 #: build/C/man2/getrlimit.2:430
7185 msgid ""
7186 "The I<pid> argument specifies the ID of the process on which the call is to "
7187 "operate.  If I<pid> is 0, then the call applies to the calling process.  To "
7188 "set or get the resources of a process other than itself, the caller must "
7189 "have the B<CAP_SYS_RESOURCE> capability, or the real, effective, and saved "
7190 "set user IDs of the target process must match the real user ID of the caller "
7191 "I<and> the real, effective, and saved set group IDs of the target process "
7192 "must match the real group ID of the caller."
7193 msgstr ""
7194 "I<pid> 引き数は呼び出しの操作対象となるプロセス ID を指定する。 I<pid> が 0 "
7195 "の場合、呼び出しは呼び出し元プロセスに対して適用される。 自分以外のプロセスの"
7196 "リソースの設定と取得を行うためには、 呼び出し元プロセスが "
7197 "B<CAP_SYS_RESOURCE> ケーパビリティを持っているか、 対象となるプロセスの実ユー"
7198 "ザ ID、 実効ユーザ ID、 保存 set-user-ID が呼び出し元プロセスの実ユーザ ID と"
7199 "一致し、 かつ、 対象となるプロセスの実グループ ID、 実効グループ ID、 保存 "
7200 "set-group-ID が呼び出し元プロセスの実グループ ID と一致していなければならな"
7201 "い。"
7202
7203 #. type: Plain text
7204 #: build/C/man2/getrlimit.2:435
7205 msgid ""
7206 "On success, these system calls return 0.  On error, -1 is returned, and "
7207 "I<errno> is set appropriately."
7208 msgstr ""
7209 "成功した場合、これらのシステムコールは 0 を返す。\n"
7210 "エラーの場合は -1 が返され、 I<errno> が適切に設定される。"
7211
7212 #. type: Plain text
7213 #: build/C/man2/getrlimit.2:440
7214 msgid ""
7215 "A pointer argument points to a location outside the accessible address space."
7216 msgstr "場所を指すポインタ引き数がアクセス可能なアドレス空間外を指している。"
7217
7218 #. type: Plain text
7219 #: build/C/man2/getrlimit.2:452
7220 msgid ""
7221 "The value specified in I<resource> is not valid; or, for B<setrlimit>()  or "
7222 "B<prlimit>(): I<rlim-E<gt>rlim_cur> was greater than I<rlim-E<gt>rlim_max>."
7223 msgstr ""
7224 "I<resource> で指定された値が有効でない。\n"
7225 "または、 B<setrlimit>() や B<prlimit>() で、\n"
7226 "I<rlim-E<gt>rlim_cur> が I<rlim-E<gt>rlim_max> よりも大きかった。"
7227
7228 #. type: Plain text
7229 #: build/C/man2/getrlimit.2:464
7230 msgid ""
7231 "An unprivileged process tried to raise the hard limit; the "
7232 "B<CAP_SYS_RESOURCE> capability is required to do this.  Or, the caller tried "
7233 "to increase the hard B<RLIMIT_NOFILE> limit above the current kernel maximum "
7234 "(B<NR_OPEN>).  Or, the calling process did not have permission to set limits "
7235 "for the process specified by I<pid>."
7236 msgstr ""
7237 "特権のないプロセスがハードリミットを上げようとした。\n"
7238 "これを行うためには B<CAP_SYS_RESOURCE> ケーパビリティが必要である。\n"
7239 "または、特権のないプロセスが B<RLIMIT_NOFILE> ハードリミットを\n"
7240 "現在のカーネルの最大値 (B<NR_OPEN>) 以上に増やそうとした。\n"
7241 "または、呼び出したプロセスが I<pid> で指定されたプロセスのリミットを\n"
7242 "設定する許可を持っていなかった。"
7243
7244 #. type: Plain text
7245 #: build/C/man2/getrlimit.2:468
7246 msgid "Could not find a process with the ID specified in I<pid>."
7247 msgstr "I<pid> で指定された ID のプロセスが見つからなかった。"
7248
7249 #. type: Plain text
7250 #: build/C/man2/getrlimit.2:473
7251 msgid ""
7252 "The B<prlimit>()  system call is available since Linux 2.6.36.  Library "
7253 "support is available since glibc 2.13."
7254 msgstr ""
7255 "B<prlimit>() システムコールは Linux 2.6.36 以降で利用できる。 ライブラリのサ"
7256 "ポートは glibc 2.13 以降で利用できる。"
7257
7258 #. type: Plain text
7259 #: build/C/man2/getrlimit.2:477
7260 msgid "B<getrlimit>(), B<setrlimit>(): SVr4, 4.3BSD, POSIX.1-2001."
7261 msgstr "B<getrlimit>(), B<setrlimit>(): SVr4, 4.3BSD, POSIX.1-2001."
7262
7263 #. type: Plain text
7264 #: build/C/man2/getrlimit.2:480
7265 msgid "B<prlimit>(): Linux-specific."
7266 msgstr "B<prlimit>(): Linux 固有。"
7267
7268 #. type: Plain text
7269 #: build/C/man2/getrlimit.2:496
7270 msgid ""
7271 "B<RLIMIT_MEMLOCK> and B<RLIMIT_NPROC> derive from BSD and are not specified "
7272 "in POSIX.1-2001; they are present on the BSDs and Linux, but on few other "
7273 "implementations.  B<RLIMIT_RSS> derives from BSD and is not specified in "
7274 "POSIX.1-2001; it is nevertheless present on most implementations.  "
7275 "B<RLIMIT_MSGQUEUE>, B<RLIMIT_NICE>, B<RLIMIT_RTPRIO>, B<RLIMIT_RTTIME>, and "
7276 "B<RLIMIT_SIGPENDING> are Linux-specific."
7277 msgstr ""
7278 "B<RLIMIT_MEMLOCK> と B<RLIMIT_NPROC> は BSD から派生し、\n"
7279 "POSIX.1-2001 には指定されていない。\n"
7280 "これらは BSD 系と Linux に存在するが、他の実装は少ない。\n"
7281 "B<RLIMIT_RSS> は BSD から派生し、POSIX.1-2001 には指定されていない。\n"
7282 "それにも関わらず多くの実装で存在する。\n"
7283 "B<RLIMIT_MSGQUEUE>, B<RLIMIT_NICE>, B<RLIMIT_RTPRIO>, B<RLIMIT_RTTIME>,\n"
7284 "B<RLIMIT_SIGPENDING> は Linux 固有のものである。"
7285
7286 #. type: Plain text
7287 #: build/C/man2/getrlimit.2:502
7288 msgid ""
7289 "A child process created via B<fork>(2)  inherits its parent's resource "
7290 "limits.  Resource limits are preserved across B<execve>(2)."
7291 msgstr ""
7292 "B<fork>(2)  で作成された作成された子プロセスは、 親プロセスのリソース制限を継"
7293 "承する。 B<execve>(2)  の前後でリソース制限は保存される。"
7294
7295 #. type: Plain text
7296 #: build/C/man2/getrlimit.2:511
7297 msgid ""
7298 "One can set the resource limits of the shell using the built-in I<ulimit> "
7299 "command (I<limit> in B<csh>(1)).  The shell's resource limits are inherited "
7300 "by the processes that it creates to execute commands."
7301 msgstr ""
7302 "シェルのリソース制限は、シェルの組み込みコマンドである I<ulimit> (B<csh>(1)  "
7303 "では I<limit )> を使って設定することができる。 このシェルのリソース制限は、コ"
7304 "マンドを実行してシェルが生成するプロセス に引き継がれる。"
7305
7306 #. type: Plain text
7307 #: build/C/man2/getrlimit.2:516
7308 msgid ""
7309 "Since Linux 2.6.24, the resource limits of any process can be inspected via "
7310 "I</proc/[pid]/limits>; see B<proc>(5)."
7311 msgstr ""
7312 "Linux 2.6.24 以降では、 プロセスのリソース上限は I</proc/[pid]/limits> で知る"
7313 "ことができる。 B<proc>(5) 参照。"
7314
7315 #. type: Plain text
7316 #: build/C/man2/getrlimit.2:525
7317 msgid ""
7318 "Ancient systems provided a B<vlimit>()  function with a similar purpose to "
7319 "B<setrlimit>().  For backward compatibility, glibc also provides B<vlimit>"
7320 "().  All new applications should be written using B<setrlimit>()."
7321 msgstr ""
7322 "古いシステムでは、 B<setrlimit>()  と同様の目的を持つ関数 B<vlimit>()  が提供"
7323 "されていた。 後方互換性のため、glibc でも B<vlimit>()  を提供している。 全て"
7324 "の新しいアプリケーションでは、 B<setrlimit>()  を使用すべきである。"
7325
7326 #.  FIXME prlimit() does not suffer
7327 #.  https://bugzilla.kernel.org/show_bug.cgi?id=5042
7328 #.  http://sources.redhat.com/bugzilla/show_bug.cgi?id=12201
7329 #.  Since versions 2.13, glibc has library implementations of
7330 #.  getrlimit() and setrlimit() that use prlimit() to work around
7331 #.  this bug.
7332 #. type: Plain text
7333 #: build/C/man2/getrlimit.2:540
7334 msgid ""
7335 "In older Linux kernels, the B<SIGXCPU> and B<SIGKILL> signals delivered when "
7336 "a process encountered the soft and hard B<RLIMIT_CPU> limits were delivered "
7337 "one (CPU) second later than they should have been.  This was fixed in kernel "
7338 "2.6.8."
7339 msgstr ""
7340 "以前の Linux カーネルでは、プロセスがソフトまたはハード B<RLIMIT_CPU> リミッ"
7341 "トに達した場合に送られる B<SIGXCPU> と B<SIGKILL> シグナルが、本来送られるべ"
7342 "き時点の 1 (CPU) 秒後に送られてしまう。 これはカーネル 2.6.8 で修正された。"
7343
7344 #.  see http://marc.theaimsgroup.com/?l=linux-kernel&m=114008066530167&w=2
7345 #. type: Plain text
7346 #: build/C/man2/getrlimit.2:548
7347 msgid ""
7348 "In 2.6.x kernels before 2.6.17, a B<RLIMIT_CPU> limit of 0 is wrongly "
7349 "treated as \"no limit\" (like B<RLIM_INFINITY>).  Since Linux 2.6.17, "
7350 "setting a limit of 0 does have an effect, but is actually treated as a limit "
7351 "of 1 second."
7352 msgstr ""
7353 "2.6.17 より前の 2.6.x カーネルでは、 B<RLIMIT_CPU> リミットが 0 の場合、 "
7354 "(B<RLIM_INFINITY> と同じように) 「制限なし」と間違って解釈されていた。 Linux "
7355 "2.6.17 以降では、リミットを 0 に設定した場合にも 効果を持つようになっている"
7356 "が、実際にはリミットの値は 1 秒となる。"
7357
7358 #.  See https://lwn.net/Articles/145008/
7359 #. type: Plain text
7360 #: build/C/man2/getrlimit.2:553
7361 msgid ""
7362 "A kernel bug means that B<RLIMIT_RTPRIO> does not work in kernel 2.6.12; the "
7363 "problem is fixed in kernel 2.6.13."
7364 msgstr ""
7365 "カーネル 2.6.12 には、 B<RLIMIT_RTPRIO> が動作しないというバグがある。この問"
7366 "題はカーネル 2.6.13 で修正されている。"
7367
7368 #.  see http://marc.theaimsgroup.com/?l=linux-kernel&m=112256338703880&w=2
7369 #. type: Plain text
7370 #: build/C/man2/getrlimit.2:564
7371 msgid ""
7372 "In kernel 2.6.12, there was an off-by-one mismatch between the priority "
7373 "ranges returned by B<getpriority>(2)  and B<RLIMIT_NICE>.  This had the "
7374 "effect that the actual ceiling for the nice value was calculated as I<19\\ -"
7375 "\\ rlim_cur>.  This was fixed in kernel 2.6.13."
7376 msgstr ""
7377 "カーネル 2.6.12 では、 B<getpriority>(2)  と B<RLIMIT_NICE> が返す優先度の範"
7378 "囲が一つずれていた。このため、nice 値の実際の上限が I<19\\ -\\ rlim_cur> に"
7379 "なってしまうという影響があった。これはカーネル 2.6.13 で修正された。"
7380
7381 #.  The relevant patch, sent to LKML, seems to be
7382 #.  http://thread.gmane.org/gmane.linux.kernel/273462
7383 #.  From: Roland McGrath <roland <at> redhat.com>
7384 #.  Subject: [PATCH 7/7] make RLIMIT_CPU/SIGXCPU per-process
7385 #.  Date: 2005-01-23 23:27:46 GMT
7386 #.  Tested Solaris 10, FreeBSD 9, OpenBSD 5.0
7387 #.  FIXME https://bugzilla.kernel.org/show_bug.cgi?id=50951
7388 #. type: Plain text
7389 #: build/C/man2/getrlimit.2:591
7390 msgid ""
7391 "Since Linux 2.6.12, if a process reaches its soft B<RLIMIT_CPU> limit and "
7392 "has a handler installed for B<SIGXCPU>, then, in addition to invoking the "
7393 "signal handler, the kernel increases the soft limit by one second.  This "
7394 "behavior repeats if the process continues to consume CPU time, until the "
7395 "hard limit is reached, at which point the process is killed.  Other "
7396 "implementations do not change the B<RLIMIT_CPU> soft limit in this manner, "
7397 "and the Linux behavior is probably not standards conformant; portable "
7398 "applications should avoid relying on this Linux-specific behavior.  The "
7399 "Linux-specific B<RLIMIT_RTTIME> limit exhibits the same behavior when the "
7400 "soft limit is encountered."
7401 msgstr ""
7402 "Linux 2.6.12 以降では、 プロセスがその B<RLIMIT_CPU> ソフトリミットに達し、 "
7403 "B<SIGXCPU> に対してシグナルハンドラが設定されている場合、 シグナルハンドラを"
7404 "起動するだけでなく、 カーネルは 1 秒間ソフトリミットを増やす。 そのプロセス"
7405 "が CPU 時間を消費し続けている限り、 ハードリミットに達するまで、この動作が繰"
7406 "り返される。 ハードリミットに達すると、その時点でプロセスは kill される。 他"
7407 "の実装では、上記のような B<RLIMIT_CPU> ソフトリミットの変更は行われず、 おそ"
7408 "らく Linux の動作は標準に準拠していない。 移植性が必要なアプリケーションでは"
7409 "この Linux 固有の動作を前提にするのは避けるべきである。 Linux 固有の上限 "
7410 "B<RLIMIT_RTTIME> でも、 ソフトリミットに達した場合に同じ動作となる。"
7411
7412 #. type: Plain text
7413 #: build/C/man2/getrlimit.2:600
7414 msgid ""
7415 "Kernels before 2.4.22 did not diagnose the error B<EINVAL> for B<setrlimit>"
7416 "()  when I<rlim-E<gt>rlim_cur> was greater than I<rlim-E<gt>rlim_max>."
7417 msgstr ""
7418 "2.4.22 より前のカーネルでは、 I<rlim-E<gt>rlim_cur> が I<rlim-E<gt>rlim_max> "
7419 "より大きかった場合、 B<setrlimit>()  での B<EINVAL> エラーを検出できない。"
7420
7421 #. type: Plain text
7422 #: build/C/man2/getrlimit.2:603
7423 msgid "The program below demonstrates the use of B<prlimit>()."
7424 msgstr "以下のプログラムに B<prlimit>() の使用例を示す。"
7425
7426 #. type: Plain text
7427 #: build/C/man2/getrlimit.2:612
7428 #, no-wrap
7429 msgid ""
7430 "#define _GNU_SOURCE\n"
7431 "#define _FILE_OFFSET_BITS 64\n"
7432 "#include E<lt>stdio.hE<gt>\n"
7433 "#include E<lt>time.hE<gt>\n"
7434 "#include E<lt>stdlib.hE<gt>\n"
7435 "#include E<lt>unistd.hE<gt>\n"
7436 "#include E<lt>sys/resource.hE<gt>\n"
7437 msgstr ""
7438 "#define _GNU_SOURCE\n"
7439 "#define _FILE_OFFSET_BITS 64\n"
7440 "#include E<lt>stdio.hE<gt>\n"
7441 "#include E<lt>time.hE<gt>\n"
7442 "#include E<lt>stdlib.hE<gt>\n"
7443 "#include E<lt>unistd.hE<gt>\n"
7444 "#include E<lt>sys/resource.hE<gt>\n"
7445
7446 #. type: Plain text
7447 #: build/C/man2/getrlimit.2:615
7448 #, no-wrap
7449 msgid ""
7450 "#define errExit(msg) \tdo { perror(msg); exit(EXIT_FAILURE); \\e\n"
7451 "                        } while (0)\n"
7452 msgstr ""
7453 "#define errExit(msg) \tdo { perror(msg); exit(EXIT_FAILURE); \\e\n"
7454 "                        } while (0)\n"
7455
7456 #. type: Plain text
7457 #: build/C/man2/getrlimit.2:622
7458 #, no-wrap
7459 msgid ""
7460 "int\n"
7461 "main(int argc, char *argv[])\n"
7462 "{\n"
7463 "    struct rlimit old, new;\n"
7464 "    struct rlimit *newp;\n"
7465 "    pid_t pid;\n"
7466 msgstr ""
7467 "int\n"
7468 "main(int argc, char *argv[])\n"
7469 "{\n"
7470 "    struct rlimit old, new;\n"
7471 "    struct rlimit *newp;\n"
7472 "    pid_t pid;\n"
7473
7474 #. type: Plain text
7475 #: build/C/man2/getrlimit.2:628
7476 #, no-wrap
7477 msgid ""
7478 "    if (!(argc == 2 || argc == 4)) {\n"
7479 "        fprintf(stderr, \"Usage: %s E<lt>pidE<gt> [E<lt>new-soft-limitE<gt> \"\n"
7480 "                \"E<lt>new-hard-limitE<gt>]\\en\", argv[0]);\n"
7481 "        exit(EXIT_FAILURE);\n"
7482 "    }\n"
7483 msgstr ""
7484 "    if (!(argc == 2 || argc == 4)) {\n"
7485 "        fprintf(stderr, \"Usage: %s E<lt>pidE<gt> [E<lt>new-soft-limitE<gt> \"\n"
7486 "                \"E<lt>new-hard-limitE<gt>]\\en\", argv[0]);\n"
7487 "        exit(EXIT_FAILURE);\n"
7488 "    }\n"
7489
7490 #. type: Plain text
7491 #: build/C/man2/getrlimit.2:630
7492 #, no-wrap
7493 msgid "    pid = atoi(argv[1]);        /* PID of target process */\n"
7494 msgstr "    pid = atoi(argv[1]);        /* PID of target process */\n"
7495
7496 #. type: Plain text
7497 #: build/C/man2/getrlimit.2:637
7498 #, no-wrap
7499 msgid ""
7500 "    newp = NULL;\n"
7501 "    if (argc == 4) {\n"
7502 "        new.rlim_cur = atoi(argv[2]);\n"
7503 "        new.rlim_max = atoi(argv[3]);\n"
7504 "        newp = &new;\n"
7505 "    }\n"
7506 msgstr ""
7507 "    newp = NULL;\n"
7508 "    if (argc == 4) {\n"
7509 "        new.rlim_cur = atoi(argv[2]);\n"
7510 "        new.rlim_max = atoi(argv[3]);\n"
7511 "        newp = &new;\n"
7512 "    }\n"
7513
7514 #. type: Plain text
7515 #: build/C/man2/getrlimit.2:640
7516 #, no-wrap
7517 msgid ""
7518 "    /* Set CPU time limit of target process; retrieve and display\n"
7519 "       previous limit */\n"
7520 msgstr ""
7521 "    /* Set CPU time limit of target process; retrieve and display\n"
7522 "       previous limit */\n"
7523
7524 #. type: Plain text
7525 #: build/C/man2/getrlimit.2:645
7526 #, no-wrap
7527 msgid ""
7528 "    if (prlimit(pid, RLIMIT_CPU, newp, &old) == -1)\n"
7529 "        errExit(\"prlimit-1\");\n"
7530 "    printf(\"Previous limits: soft=%lld; hard=%lld\\en\",\n"
7531 "            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
7532 msgstr ""
7533 "    if (prlimit(pid, RLIMIT_CPU, newp, &old) == -1)\n"
7534 "        errExit(\"prlimit-1\");\n"
7535 "    printf(\"Previous limits: soft=%lld; hard=%lld\\en\",\n"
7536 "            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
7537
7538 #. type: Plain text
7539 #: build/C/man2/getrlimit.2:647
7540 #, no-wrap
7541 msgid "    /* Retrieve and display new CPU time limit */\n"
7542 msgstr "    /* Retrieve and display new CPU time limit */\n"
7543
7544 #. type: Plain text
7545 #: build/C/man2/getrlimit.2:652
7546 #, no-wrap
7547 msgid ""
7548 "    if (prlimit(pid, RLIMIT_CPU, NULL, &old) == -1)\n"
7549 "        errExit(\"prlimit-2\");\n"
7550 "    printf(\"New limits: soft=%lld; hard=%lld\\en\",\n"
7551 "            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
7552 msgstr ""
7553 "    if (prlimit(pid, RLIMIT_CPU, NULL, &old) == -1)\n"
7554 "        errExit(\"prlimit-2\");\n"
7555 "    printf(\"New limits: soft=%lld; hard=%lld\\en\",\n"
7556 "            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
7557
7558 #. type: Plain text
7559 #: build/C/man2/getrlimit.2:655
7560 #, no-wrap
7561 msgid ""
7562 "    exit(EXIT_FAILURE);\n"
7563 "}\n"
7564 msgstr ""
7565 "    exit(EXIT_FAILURE);\n"
7566 "}\n"
7567
7568 #. type: Plain text
7569 #: build/C/man2/getrlimit.2:674
7570 msgid ""
7571 "B<prlimit>(1), B<dup>(2), B<fcntl>(2), B<fork>(2), B<getrusage>(2), B<mlock>"
7572 "(2), B<mmap>(2), B<open>(2), B<quotactl>(2), B<sbrk>(2), B<shmctl>(2), "
7573 "B<malloc>(3), B<sigqueue>(3), B<ulimit>(3), B<core>(5), B<capabilities>(7), "
7574 "B<signal>(7)"
7575 msgstr ""
7576 "B<prlimit>(1), B<dup>(2), B<fcntl>(2), B<fork>(2), B<getrusage>(2), B<mlock>"
7577 "(2), B<mmap>(2), B<open>(2), B<quotactl>(2), B<sbrk>(2), B<shmctl>(2), "
7578 "B<malloc>(3), B<sigqueue>(3), B<ulimit>(3), B<core>(5), B<capabilities>(7), "
7579 "B<signal>(7)"
7580
7581 #. type: TH
7582 #: build/C/man2/getrusage.2:39
7583 #, no-wrap
7584 msgid "GETRUSAGE"
7585 msgstr "GETRUSAGE"
7586
7587 #. type: TH
7588 #: build/C/man2/getrusage.2:39 build/C/man2/getsid.2:26
7589 #, no-wrap
7590 msgid "2010-09-26"
7591 msgstr "2010-09-26"
7592
7593 #. type: Plain text
7594 #: build/C/man2/getrusage.2:42
7595 msgid "getrusage - get resource usage"
7596 msgstr "getrusage - 資源の使用量を取得する"
7597
7598 #. type: Plain text
7599 #: build/C/man2/getrusage.2:48
7600 msgid "B<int getrusage(int >I<who>B<, struct rusage *>I<usage>B<);>"
7601 msgstr "B<int getrusage(int >I<who>B<, struct rusage *>I<usage>B<);>"
7602
7603 #. type: Plain text
7604 #: build/C/man2/getrusage.2:54
7605 msgid ""
7606 "B<getrusage>()  returns resource usage measures for I<who>, which can be one "
7607 "of the following:"
7608 msgstr ""
7609 "B<getrusage>()  は I<who> の資源 (resource) の使用量を返す。 I<who> には以下"
7610 "のいずれか一つを指定できる。"
7611
7612 #. type: TP
7613 #: build/C/man2/getrusage.2:54
7614 #, no-wrap
7615 msgid "B<RUSAGE_SELF>"
7616 msgstr "B<RUSAGE_SELF>"
7617
7618 #. type: Plain text
7619 #: build/C/man2/getrusage.2:58
7620 msgid ""
7621 "Return resource usage statistics for the calling process, which is the sum "
7622 "of resources used by all threads in the process."
7623 msgstr ""
7624 "呼び出したプロセスの資源使用量、 そのプロセス内の全スレッドが使用している資源"
7625 "の合計を返す。"
7626
7627 #. type: TP
7628 #: build/C/man2/getrusage.2:58
7629 #, no-wrap
7630 msgid "B<RUSAGE_CHILDREN>"
7631 msgstr "B<RUSAGE_CHILDREN>"
7632
7633 #. type: Plain text
7634 #: build/C/man2/getrusage.2:65
7635 msgid ""
7636 "Return resource usage statistics for all children of the calling process "
7637 "that have terminated and been waited for.  These statistics will include the "
7638 "resources used by grandchildren, and further removed descendants, if all of "
7639 "the intervening descendants waited on their terminated children."
7640 msgstr ""
7641 "呼び出したプロセスの子プロセスのうち、 終了して待ち状態にある全プロセスが使用"
7642 "している資源使用量の統計を返す。 これらの統計情報には、孫プロセスやその子孫の"
7643 "プロセスのうち、 削除待ちのものが使用している資源も含まれる。"
7644
7645 #. type: TP
7646 #: build/C/man2/getrusage.2:65
7647 #, no-wrap
7648 msgid "B<RUSAGE_THREAD> (since Linux 2.6.26)"
7649 msgstr "B<RUSAGE_THREAD> (Linux 2.6.26 以降)"
7650
7651 #. type: Plain text
7652 #: build/C/man2/getrusage.2:68
7653 msgid "Return resource usage statistics for the calling thread."
7654 msgstr "呼び出したスレッドに関する資源使用量の統計を返す。"
7655
7656 #. type: Plain text
7657 #: build/C/man2/getrusage.2:72
7658 msgid ""
7659 "The resource usages are returned in the structure pointed to by I<usage>, "
7660 "which has the following form:"
7661 msgstr ""
7662 "資源使用量は I<usage> が指す構造体に格納されて返される。 構造体は以下の形式で"
7663 "ある。"
7664
7665 #. type: Plain text
7666 #: build/C/man2/getrusage.2:93
7667 #, no-wrap
7668 msgid ""
7669 "struct rusage {\n"
7670 "    struct timeval ru_utime; /* user CPU time used */\n"
7671 "    struct timeval ru_stime; /* system CPU time used */\n"
7672 "    long   ru_maxrss;        /* maximum resident set size */\n"
7673 "    long   ru_ixrss;         /* integral shared memory size */\n"
7674 "    long   ru_idrss;         /* integral unshared data size */\n"
7675 "    long   ru_isrss;         /* integral unshared stack size */\n"
7676 "    long   ru_minflt;        /* page reclaims (soft page faults) */\n"
7677 "    long   ru_majflt;        /* page faults (hard page faults) */\n"
7678 "    long   ru_nswap;         /* swaps */\n"
7679 "    long   ru_inblock;       /* block input operations */\n"
7680 "    long   ru_oublock;       /* block output operations */\n"
7681 "    long   ru_msgsnd;        /* IPC messages sent */\n"
7682 "    long   ru_msgrcv;        /* IPC messages received */\n"
7683 "    long   ru_nsignals;      /* signals received */\n"
7684 "    long   ru_nvcsw;         /* voluntary context switches */\n"
7685 "    long   ru_nivcsw;        /* involuntary context switches */\n"
7686 "};\n"
7687 msgstr ""
7688 "struct rusage {\n"
7689 "    struct timeval ru_utime; /* 使用されたユーザー CPU 時間 */\n"
7690 "    struct timeval ru_stime; /* 使用されたシステム CPU 時間 */\n"
7691 "    long   ru_maxrss;        /* RAM 上に存在する仮想ページのサイズ\n"
7692 "                               (resident set size) の最大値 */\n"
7693 "    long   ru_ixrss;         /* 共有メモリの合計サイズ */\n"
7694 "    long   ru_idrss;         /* 非共有データの合計サイズ */\n"
7695 "    long   ru_isrss;         /* 非共有スタックの合計サイズ */\n"
7696 "    long   ru_minflt;        /* ページの再利用 (ソフトページフォルト) */\n"
7697 "    long   ru_majflt;        /* ページフォールト (ハードページフォルト) */\n"
7698 "    long   ru_nswap;         /* スワップ */\n"
7699 "    long   ru_inblock;       /* ブロック入力操作 */\n"
7700 "    long   ru_oublock;       /* ブロック出力操作 */\n"
7701 "    long   ru_msgsnd;        /* 送信された IPC メッセージ */\n"
7702 "    long   ru_msgrcv;        /* 受信された IPC メッセージ */\n"
7703 "    long   ru_nsignals;      /* 受信されたシグナル */\n"
7704 "    long   ru_nvcsw;         /* 意図したコンテキスト切り替え */\n"
7705 "    long   ru_nivcsw;        /* 意図しないコンテキスト切り替え */\n"
7706 "};\n"
7707
7708 #. type: Plain text
7709 #: build/C/man2/getrusage.2:101
7710 msgid ""
7711 "Not all fields are completed; unmaintained fields are set to zero by the "
7712 "kernel.  (The unmaintained fields are provided for compatibility with other "
7713 "systems, and because they may one day be supported on Linux.)  The fields "
7714 "are interpreted as follows:"
7715 msgstr ""
7716 "すべてのフィールドがサポートされているわけではない。 メンテナンスされていない"
7717 "フィールドには、 カーネルが 0 を設定する (メンテナンスされていないフィールド"
7718 "は、 他のシステムとの互換性のために提供されており、 いつか Linux でもサポート"
7719 "されるかもしれない)。 各フィールドの詳細は以下の通りである。"
7720
7721 #. type: TP
7722 #: build/C/man2/getrusage.2:101
7723 #, no-wrap
7724 msgid "I<ru_utime>"
7725 msgstr "I<ru_utime>"
7726
7727 #. type: Plain text
7728 #: build/C/man2/getrusage.2:107
7729 msgid ""
7730 "This is the total amount of time spent executing in user mode, expressed in "
7731 "a I<timeval> structure (seconds plus microseconds)."
7732 msgstr ""
7733 "ユーザモードでの実行で消費された合計時間。 I<timeval> 構造体 (秒とミリ秒) で"
7734 "表現される。"
7735
7736 #. type: TP
7737 #: build/C/man2/getrusage.2:107
7738 #, no-wrap
7739 msgid "I<ru_stime>"
7740 msgstr "I<ru_stime>"
7741
7742 #. type: Plain text
7743 #: build/C/man2/getrusage.2:113
7744 msgid ""
7745 "This is the total amount of time spent executing in kernel mode, expressed "
7746 "in a I<timeval> structure (seconds plus microseconds)."
7747 msgstr ""
7748 "カーネルモードでの実行で消費された合計時間。 I<timeval> 構造体 (秒とミリ秒) "
7749 "で表現される。"
7750
7751 #. type: TP
7752 #: build/C/man2/getrusage.2:113
7753 #, no-wrap
7754 msgid "I<ru_maxrss> (since Linux 2.6.32)"
7755 msgstr "I<ru_maxrss> (Linux 2.6.32 以降)"
7756
7757 #. type: Plain text
7758 #: build/C/man2/getrusage.2:120
7759 msgid ""
7760 "This is the maximum resident set size used (in kilobytes).  For "
7761 "B<RUSAGE_CHILDREN>, this is the resident set size of the largest child, not "
7762 "the maximum resident set size of the process tree."
7763 msgstr ""
7764 "使用された resident set size の最大値 (キロバイト単位)。 B<RUSAGE_CHILDREN> "
7765 "の場合には、プロセスツリーの resident set size の最大値ではなく、 最も大きい"
7766 "子プロセスの resident set size となる。"
7767
7768 #. type: TP
7769 #: build/C/man2/getrusage.2:120
7770 #, no-wrap
7771 msgid "I<ru_ixrss> (unmaintained)"
7772 msgstr "I<ru_ixrss> (メンテナンスされていない)"
7773
7774 #.  On some systems, this field records the number of signals received.
7775 #. type: Plain text
7776 #: build/C/man2/getrusage.2:126 build/C/man2/getrusage.2:131
7777 #: build/C/man2/getrusage.2:136 build/C/man2/getrusage.2:148
7778 #: build/C/man2/getrusage.2:160 build/C/man2/getrusage.2:166
7779 #: build/C/man2/getrusage.2:170
7780 msgid "This field is currently unused on Linux."
7781 msgstr "このフィールドは現在のところ Linux では未使用である。"
7782
7783 #. type: TP
7784 #: build/C/man2/getrusage.2:126
7785 #, no-wrap
7786 msgid "I<ru_idrss> (unmaintained)"
7787 msgstr "I<ru_idrss> (メンテナンスされていない)"
7788
7789 #. type: TP
7790 #: build/C/man2/getrusage.2:131
7791 #, no-wrap
7792 msgid "I<ru_isrss> (unmaintained)"
7793 msgstr "I<ru_isrss> (メンテナンスされていない)"
7794
7795 #. type: TP
7796 #: build/C/man2/getrusage.2:136
7797 #, no-wrap
7798 msgid "I<ru_minflt>"
7799 msgstr "I<ru_minflt>"
7800
7801 #. type: Plain text
7802 #: build/C/man2/getrusage.2:141
7803 msgid ""
7804 "The number of page faults serviced without any I/O activity; here I/O "
7805 "activity is avoided by ``reclaiming'' a page frame from the list of pages "
7806 "awaiting reallocation."
7807 msgstr ""
7808 "I/O 動作なしで発生したページフォルトの回数。 再割り当てを待っているページリス"
7809 "トからページフレームを「回収」 (reclaim) することで、 I/O 動作を避けることが"
7810 "できる。"
7811
7812 #. type: TP
7813 #: build/C/man2/getrusage.2:141
7814 #, no-wrap
7815 msgid "I<ru_majflt>"
7816 msgstr "I<ru_majflt>"
7817
7818 #. type: Plain text
7819 #: build/C/man2/getrusage.2:144
7820 msgid "The number of page faults serviced that required I/O activity."
7821 msgstr "I/O 動作を必要とするページフォルトの回数。"
7822
7823 #. type: TP
7824 #: build/C/man2/getrusage.2:144
7825 #, no-wrap
7826 msgid "I<ru_nswap> (unmaintained)"
7827 msgstr "I<ru_nswap> (メンテナンスされていない)"
7828
7829 #. type: TP
7830 #: build/C/man2/getrusage.2:148
7831 #, no-wrap
7832 msgid "I<ru_inblock> (since Linux 2.6.22)"
7833 msgstr "I<ru_inblock> (Linux 2.6.22 以降)"
7834
7835 #. type: Plain text
7836 #: build/C/man2/getrusage.2:151
7837 #, fuzzy
7838 #| msgid "The number of times the file system had to perform input."
7839 msgid "The number of times the filesystem had to perform input."
7840 msgstr "ファイルシステムが入力を実行する必要があった回数。"
7841
7842 #. type: TP
7843 #: build/C/man2/getrusage.2:151
7844 #, no-wrap
7845 msgid "I<ru_oublock> (since Linux 2.6.22)"
7846 msgstr "I<ru_oublock> (Linux 2.6.22 以降)"
7847
7848 #. type: Plain text
7849 #: build/C/man2/getrusage.2:154
7850 #, fuzzy
7851 #| msgid "The number of times the file system had to perform output."
7852 msgid "The number of times the filesystem had to perform output."
7853 msgstr "ファイルシステムが出力を実行する必要があった回数。"
7854
7855 #. type: TP
7856 #: build/C/man2/getrusage.2:154
7857 #, no-wrap
7858 msgid "I<ru_msgsnd> (unmaintained)"
7859 msgstr "I<ru_msgsnd> (メンテナンスされていない)"
7860
7861 #. type: TP
7862 #: build/C/man2/getrusage.2:160
7863 #, no-wrap
7864 msgid "I<ru_msgrcv> (unmaintained)"
7865 msgstr "I<ru_msgrcv> (メンテナンスされていない)"
7866
7867 #. type: TP
7868 #: build/C/man2/getrusage.2:166
7869 #, no-wrap
7870 msgid "I<ru_nsignals> (unmaintained)"
7871 msgstr "I<ru_nsignals> (メンテナンスされていない)"
7872
7873 #. type: TP
7874 #: build/C/man2/getrusage.2:170
7875 #, no-wrap
7876 msgid "I<ru_nvcsw> (since Linux 2.6)"
7877 msgstr "I<ru_nvcsw> (Linux 2.6 以降)"
7878
7879 #. type: Plain text
7880 #: build/C/man2/getrusage.2:175
7881 msgid ""
7882 "The number of times a context switch resulted due to a process voluntarily "
7883 "giving up the processor before its time slice was completed (usually to "
7884 "await availability of a resource)."
7885 msgstr ""
7886 "自分のタイムスライスが完了する前にプロセスが自発的にプロセッサを解放して行わ"
7887 "れたコンテキストスイッチの回数 (通常はリソースが利用可能になるのを待つために"
7888 "行われる)。"
7889
7890 #. type: TP
7891 #: build/C/man2/getrusage.2:175
7892 #, no-wrap
7893 msgid "I<ru_nivcsw> (since Linux 2.6)"
7894 msgstr "I<memory_migrate> (Linux 2.6.16 以降)"
7895
7896 #. type: Plain text
7897 #: build/C/man2/getrusage.2:180
7898 msgid ""
7899 "The number of times a context switch resulted due to a higher priority "
7900 "process becoming runnable or because the current process exceeded its time "
7901 "slice."
7902 msgstr ""
7903 "優先度が自分より高いプロセッサが実行可能になったか、現在のプロセスが自分のタ"
7904 "イムスライスを超過したことにより行われたコンテキストスイッチの回数。"
7905
7906 #. type: Plain text
7907 #: build/C/man2/getrusage.2:191
7908 msgid "I<usage> points outside the accessible address space."
7909 msgstr "I<usage> がアクセス可能なアドレス空間の外を指している。"
7910
7911 #. type: Plain text
7912 #: build/C/man2/getrusage.2:195
7913 msgid "I<who> is invalid."
7914 msgstr "I<who> が無効である。"
7915
7916 #. type: Plain text
7917 #: build/C/man2/getrusage.2:203
7918 msgid ""
7919 "SVr4, 4.3BSD.  POSIX.1-2001 specifies B<getrusage>(), but specifies only the "
7920 "fields I<ru_utime> and I<ru_stime>."
7921 msgstr ""
7922 "SVr4, 4.3BSD.  POSIX.1-2001 は B<getrusage>()  を規定しているが、規定している"
7923 "フィールドは I<ru_utime> と I<ru_stime> だけである。"
7924
7925 #. type: Plain text
7926 #: build/C/man2/getrusage.2:206
7927 msgid "B<RUSAGE_THREAD> is Linux-specific."
7928 msgstr "B<RUSAGE_THREAD> は Linux 固有である。"
7929
7930 #. type: Plain text
7931 #: build/C/man2/getrusage.2:209
7932 msgid "Resource usage metrics are preserved across an B<execve>(2)."
7933 msgstr "B<execve>(2)  の前後でリソース使用量の指標は保持される。"
7934
7935 #. type: Plain text
7936 #: build/C/man2/getrusage.2:217
7937 msgid ""
7938 "Including I<E<lt>sys/time.hE<gt>> is not required these days, but increases "
7939 "portability.  (Indeed, I<struct timeval> is defined in I<E<lt>sys/time."
7940 "hE<gt>>.)"
7941 msgstr ""
7942 "今日では I<E<lt>sys/time.hE<gt>> をインクルードする必要はないが、 インクルー"
7943 "ドしておけば移植性が増す。 (実際 I<struct timeval> は I<E<lt>sys/time."
7944 "hE<gt>> で定義されている。)"
7945
7946 #.  See the description of getrusage() in XSH.
7947 #.  A similar statement was also in SUSv2.
7948 #. type: Plain text
7949 #: build/C/man2/getrusage.2:229
7950 msgid ""
7951 "In Linux kernel versions before 2.6.9, if the disposition of B<SIGCHLD> is "
7952 "set to B<SIG_IGN> then the resource usages of child processes are "
7953 "automatically included in the value returned by B<RUSAGE_CHILDREN>, although "
7954 "POSIX.1-2001 explicitly prohibits this.  This nonconformance is rectified in "
7955 "Linux 2.6.9 and later."
7956 msgstr ""
7957 "2.6.9 より前のバージョンの Linux カーネルでは、 B<SIGCHLD> の処理が "
7958 "B<SIG_IGN> に設定されていると、 子プロセスのリソース使用量が "
7959 "B<RUSAGE_CHILDREN> で返される値に自動的に含められる。 しかし POSIX.1-2001 で"
7960 "は、これを明確に禁止している。 この準拠していなかった点は、Linux 2.6.9 以降で"
7961 "改正された。"
7962
7963 #. type: Plain text
7964 #: build/C/man2/getrusage.2:232
7965 msgid ""
7966 "The structure definition shown at the start of this page was taken from "
7967 "4.3BSD Reno."
7968 msgstr "このページの最初で示した構造体の定義は 4.3BSD Reno のものである。"
7969
7970 #. type: Plain text
7971 #: build/C/man2/getrusage.2:241
7972 msgid ""
7973 "Ancient systems provided a B<vtimes>()  function with a similar purpose to "
7974 "B<getrusage>().  For backward compatibility, glibc also provides B<vtimes>"
7975 "().  All new applications should be written using B<getrusage>()."
7976 msgstr ""
7977 "古いシステムでは、 B<getrusage>() と同様の目的を持つ関数 B<vtimes>() が提供\n"
7978 "されていた。後方互換性のため、glibc でも B<vtimes>() を提供している。\n"
7979 "全ての新しいアプリケーションでは B<getrusage>() を使用すべきである。"
7980
7981 #. type: Plain text
7982 #: build/C/man2/getrusage.2:246
7983 msgid "See also the description of I</proc/PID/stat> in B<proc>(5)."
7984 msgstr "B<proc>(5)  にある I</proc/PID/stat> の説明も参照のこと。"
7985
7986 #. type: Plain text
7987 #: build/C/man2/getrusage.2:253
7988 msgid ""
7989 "B<clock_gettime>(2), B<getrlimit>(2), B<times>(2), B<wait>(2), B<wait4>(2), "
7990 "B<clock>(3)"
7991 msgstr ""
7992 "B<clock_gettime>(2), B<getrlimit>(2), B<times>(2), B<wait>(2), B<wait4>(2), "
7993 "B<clock>(3)"
7994
7995 #. type: TH
7996 #: build/C/man2/getsid.2:26
7997 #, no-wrap
7998 msgid "GETSID"
7999 msgstr "GETSID"
8000
8001 #. type: Plain text
8002 #: build/C/man2/getsid.2:29
8003 msgid "getsid - get session ID"
8004 msgstr "getsid - セッション ID を取得する。"
8005
8006 #. type: Plain text
8007 #: build/C/man2/getsid.2:33
8008 msgid "B<pid_t getsid(pid_t>I< pid>B<);>"
8009 msgstr "B<pid_t getsid(pid_t>I< pid>B<);>"
8010
8011 #. type: Plain text
8012 #: build/C/man2/getsid.2:42
8013 msgid "B<getsid>():"
8014 msgstr "B<getsid>():"
8015
8016 #. type: Plain text
8017 #: build/C/man2/getsid.2:45 build/C/man2/setpgid.2:79
8018 msgid ""
8019 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
8020 msgstr ""
8021 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
8022
8023 #. type: Plain text
8024 #: build/C/man2/getsid.2:47 build/C/man2/setpgid.2:81
8025 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
8026 msgstr "|| /* glibc 2.12 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
8027
8028 #. type: Plain text
8029 #: build/C/man2/getsid.2:58
8030 msgid ""
8031 "I<getsid(0)> returns the session ID of the calling process.  I<getsid(p)> "
8032 "returns the session ID of the process with process ID I<p>.  (The session ID "
8033 "of a process is the process group ID of the session leader.)"
8034 msgstr ""
8035 "I<getsid(0)> は呼び出し元のプロセスのセッション ID を返す。 I<getsid(p)> はプ"
8036 "ロセス ID I<p> を持つプロセスのセッション ID を返す (プロセスのセッション ID "
8037 "は セッションリーダーのプロセスグループ ID である)。"
8038
8039 #. type: Plain text
8040 #: build/C/man2/getsid.2:63
8041 msgid ""
8042 "On success, a session ID is returned.  On error, I<(pid_t)\\ -1> will be "
8043 "returned, and I<errno> is set appropriately."
8044 msgstr ""
8045 "成功すると、セッション ID が返される。 エラーの場合、I<(pid_t) -1> が返さ"
8046 "れ、 I<errno> が適切に設定される。"
8047
8048 #. type: Plain text
8049 #: build/C/man2/getsid.2:70
8050 msgid ""
8051 "A process with process ID I<p> exists, but it is not in the same session as "
8052 "the calling process, and the implementation considers this an error."
8053 msgstr ""
8054 "プロセス ID I<p> のプロセスは存在するが、呼び出し元のプロセスと同じセッション"
8055 "ではなく、 さらに実装がこの状態をエラーと判断した場合。"
8056
8057 #. type: Plain text
8058 #: build/C/man2/getsid.2:75
8059 msgid "No process with process ID I<p> was found."
8060 msgstr "プロセス ID が I<p> のプロセスがない。"
8061
8062 #.  Linux has this system call since Linux 1.3.44.
8063 #.  There is libc support since libc 5.2.19.
8064 #. type: Plain text
8065 #: build/C/man2/getsid.2:79
8066 msgid "This system call is available on Linux since version 2.0."
8067 msgstr "このシステムコールは Linux バージョン 2.0 以降で利用可能である。"
8068
8069 #. type: Plain text
8070 #: build/C/man2/getsid.2:81 build/C/man2/setgid.2:68 build/C/man2/setsid.2:67
8071 msgid "SVr4, POSIX.1-2001."
8072 msgstr "SVr4, POSIX.1-2001."
8073
8074 #. type: Plain text
8075 #: build/C/man2/getsid.2:84
8076 msgid "Linux does not return B<EPERM>."
8077 msgstr "Linux は B<EPERM> を返さない。"
8078
8079 #. type: Plain text
8080 #: build/C/man2/getsid.2:88
8081 msgid "B<getpgid>(2), B<setsid>(2), B<credentials>(7)"
8082 msgstr "B<getpgid>(2), B<setsid>(2), B<credentials>(7)"
8083
8084 #. type: TH
8085 #: build/C/man2/getuid.2:26
8086 #, no-wrap
8087 msgid "GETUID"
8088 msgstr "GETUID"
8089
8090 #. type: Plain text
8091 #: build/C/man2/getuid.2:29
8092 msgid "getuid, geteuid - get user identity"
8093 msgstr "getuid, geteuid - ユーザー ID を得る"
8094
8095 #. type: Plain text
8096 #: build/C/man2/getuid.2:35
8097 msgid "B<uid_t getuid(void);>"
8098 msgstr "B<uid_t getuid(void);>"
8099
8100 #. type: Plain text
8101 #: build/C/man2/getuid.2:37
8102 msgid "B<uid_t geteuid(void);>"
8103 msgstr "B<uid_t geteuid(void);>"
8104
8105 #. type: Plain text
8106 #: build/C/man2/getuid.2:40
8107 msgid "B<getuid>()  returns the real user ID of the calling process."
8108 msgstr "B<getuid>()  は呼び出し元のプロセスの実ユーザー ID を返す。"
8109
8110 #. type: Plain text
8111 #: build/C/man2/getuid.2:43
8112 msgid "B<geteuid>()  returns the effective user ID of the calling process."
8113 msgstr "B<geteuid>()  は呼び出し元のプロセスの実効ユーザー ID を返す。"
8114
8115 #. type: SS
8116 #: build/C/man2/getuid.2:48
8117 #, no-wrap
8118 msgid "History"
8119 msgstr "歴史"
8120
8121 #. type: Plain text
8122 #: build/C/man2/getuid.2:57
8123 msgid ""
8124 "In UNIX V6 the B<getuid>()  call returned I<(euid E<lt>E<lt> 8) + uid>.  "
8125 "UNIX V7 introduced separate calls B<getuid>()  and B<geteuid>()."
8126 msgstr ""
8127 "UNIX V6 では B<getuid>()  コールは I<(euid E<lt>E<lt> 8) + uid> を返してい"
8128 "た。 UNIX V7 では B<getuid>()  と B<geteuid>()  という別々のコールが導入され"
8129 "た。"
8130
8131 #. type: Plain text
8132 #: build/C/man2/getuid.2:73
8133 msgid ""
8134 "The original Linux B<getuid>()  and B<geteuid>()  system calls supported "
8135 "only 16-bit user IDs.  Subsequently, Linux 2.4 added B<getuid32>()  and "
8136 "B<geteuid32>(), supporting 32-bit IDs.  The glibc B<getuid>()  and B<geteuid>"
8137 "()  wrapper functions transparently deal with the variations across kernel "
8138 "versions."
8139 msgstr ""
8140 "元々の Linux の B<getuid>() と B<geteuid>() システムコールは\n"
8141 "16 ビットのグループ ID だけに対応していた。\n"
8142 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
8143 "B<getuid32>() と B<geteuid32>() が追加された。\n"
8144 "glibc の B<getuid>() と B<geteuid>() のラッパー関数は\n"
8145 "カーネルバージョンによるこの違いを吸収している。"
8146
8147 #. type: Plain text
8148 #: build/C/man2/getuid.2:78
8149 msgid "B<getresuid>(2), B<setreuid>(2), B<setuid>(2), B<credentials>(7)"
8150 msgstr "B<getresuid>(2), B<setreuid>(2), B<setuid>(2), B<credentials>(7)"
8151
8152 #. type: TH
8153 #: build/C/man2/iopl.2:33
8154 #, no-wrap
8155 msgid "IOPL"
8156 msgstr "IOPL"
8157
8158 #. type: TH
8159 #: build/C/man2/iopl.2:33
8160 #, no-wrap
8161 msgid "2013-03-15"
8162 msgstr "2013-03-15"
8163
8164 #. type: Plain text
8165 #: build/C/man2/iopl.2:36
8166 msgid "iopl - change I/O privilege level"
8167 msgstr "iopl - I/O 特権レベルを変更する"
8168
8169 #. type: Plain text
8170 #: build/C/man2/iopl.2:38
8171 msgid "B<#include E<lt>sys/io.hE<gt>>"
8172 msgstr "B<#include E<lt>sys/io.hE<gt>>"
8173
8174 #. type: Plain text
8175 #: build/C/man2/iopl.2:40
8176 msgid "B<int iopl(int >I<level>B<);>"
8177 msgstr "B<int iopl(int >I<level>B<);>"
8178
8179 #. type: Plain text
8180 #: build/C/man2/iopl.2:45
8181 msgid ""
8182 "B<iopl>()  changes the I/O privilege level of the calling process, as "
8183 "specified by the two least significant bits in I<level>."
8184 msgstr ""
8185 "B<iopl>()  は呼び出し元のプロセスの I/O 特権レベルを I<level> の下位 2 ビット"
8186 "で指定した値に変更する。"
8187
8188 #. type: Plain text
8189 #: build/C/man2/iopl.2:51
8190 msgid ""
8191 "This call is necessary to allow 8514-compatible X servers to run under "
8192 "Linux.  Since these X servers require access to all 65536 I/O ports, the "
8193 "B<ioperm>(2)  call is not sufficient."
8194 msgstr ""
8195 "この関数は 8514 互換の X サーバを Linux で動作させるために必要である。 なぜな"
8196 "らこの X サーバは 65536 個の I/O ポート全てへのアクセスを要求するので "
8197 "B<ioperm>(2)  関数では不十分だからである。"
8198
8199 #. type: Plain text
8200 #: build/C/man2/iopl.2:55
8201 msgid ""
8202 "In addition to granting unrestricted I/O port access, running at a higher I/"
8203 "O privilege level also allows the process to disable interrupts.  This will "
8204 "probably crash the system, and is not recommended."
8205 msgstr ""
8206 "より高い I/O 特権レベルでの動作をさせることによって I/O ポートアクセスの制限"
8207 "を解除することに加えて、プロセスが割り込みを 無効にすることもできるようにな"
8208 "る。この機能は時としてシステムの破壊を もたらすので勧められない。"
8209
8210 #. type: Plain text
8211 #: build/C/man2/iopl.2:60
8212 msgid "Permissions are inherited by B<fork>(2)  and B<execve>(2)."
8213 msgstr "B<fork>(2)  や B<exec>(2)  を行った場合、特権は継承される。"
8214
8215 #. type: Plain text
8216 #: build/C/man2/iopl.2:62
8217 msgid "The I/O privilege level for a normal process is 0."
8218 msgstr "通常のプロセスの I/O 特権レベルは 0 である。"
8219
8220 #. type: Plain text
8221 #: build/C/man2/iopl.2:66
8222 msgid ""
8223 "This call is mostly for the i386 architecture.  On many other architectures "
8224 "it does not exist or will always return an error."
8225 msgstr ""
8226 "このシステムコールはほとんど i386 アーキテクチャのためだけのものである。 その"
8227 "他の多くのアーキテクチャでは存在しないか、常にエラーを返す。"
8228
8229 #. type: Plain text
8230 #: build/C/man2/iopl.2:76
8231 msgid "I<level> is greater than 3."
8232 msgstr "引き数 I<level> が 3 より大きい。"
8233
8234 #. type: Plain text
8235 #: build/C/man2/iopl.2:79
8236 msgid "This call is unimplemented."
8237 msgstr "このシステムコールは実装されていない。"
8238
8239 #. type: Plain text
8240 #: build/C/man2/iopl.2:87
8241 msgid ""
8242 "The calling process has insufficient privilege to call B<iopl>(); the "
8243 "B<CAP_SYS_RAWIO> capability is required to raise the I/O privilege level "
8244 "above its current value."
8245 msgstr ""
8246 "呼び出し元プロセスに B<iopl>()  を呼び出すのに十分な権限がなかった。 I/O 特権"
8247 "レベルを現在の値より上げるには B<CAP_SYS_RAWIO> ケーパビリティが必要である。"
8248
8249 #. type: Plain text
8250 #: build/C/man2/iopl.2:91
8251 msgid ""
8252 "B<iopl>()  is Linux-specific and should not be used in programs that are "
8253 "intended to be portable."
8254 msgstr ""
8255 "B<ipc>()  は Linux 特有であり、 移植を意図したプログラムでは 使用してはいけな"
8256 "い。"
8257
8258 #. type: Plain text
8259 #: build/C/man2/iopl.2:100
8260 msgid ""
8261 "Libc5 treats it as a system call and has a prototype in I<E<lt>unistd."
8262 "hE<gt>>.  Glibc1 does not have a prototype.  Glibc2 has a prototype both in "
8263 "I<E<lt>sys/io.hE<gt>> and in I<E<lt>sys/perm.hE<gt>>.  Avoid the latter, it "
8264 "is available on i386 only."
8265 msgstr ""
8266 "libc5 ではシステムコールとして扱い I<E<lt>unistd.hE<gt>> にプロトタイプが存在"
8267 "している。 glibc1 にはプロトタイプは存在していない。 glibc2 は I<E<lt>sys/io."
8268 "hE<gt>> と I<E<lt>sys/perm.hE<gt>> の両方にプロトタイプを持っている。 後者は "
8269 "i386 のみで利用可能なので、使用すべきではない。"
8270
8271 #. type: Plain text
8272 #: build/C/man2/iopl.2:104
8273 msgid "B<ioperm>(2), B<outb>(2), B<capabilities>(7)"
8274 msgstr "B<ioperm>(2), B<outb>(2), B<capabilities>(7)"
8275
8276 #. type: TH
8277 #: build/C/man2/ioprio_set.2:24
8278 #, no-wrap
8279 msgid "IOPRIO_SET"
8280 msgstr "IOPRIO_SET"
8281
8282 #. type: Plain text
8283 #: build/C/man2/ioprio_set.2:27
8284 msgid "ioprio_get, ioprio_set - get/set I/O scheduling class and priority"
8285 msgstr "ioprio_get, ioprio_set - I/O スケジューリングクラスと優先度の設定/取得"
8286
8287 #. type: Plain text
8288 #: build/C/man2/ioprio_set.2:31
8289 #, no-wrap
8290 msgid ""
8291 "B<int ioprio_get(int >I<which>B<, int >I<who>B<);>\n"
8292 "B<int ioprio_set(int >I<which>B<, int >I<who>B<, int >I<ioprio>B<);>\n"
8293 msgstr ""
8294 "B<int ioprio_get(int >I<which>B<, int >I<who>B<);>\n"
8295 "B<int ioprio_set(int >I<which>B<, int >I<who>B<, int >I<ioprio>B<);>\n"
8296
8297 #. type: Plain text
8298 #: build/C/man2/ioprio_set.2:35
8299 msgid "I<Note>: There are no glibc wrappers for these system calls; see NOTES."
8300 msgstr ""
8301 "I<注意>: これらのシステムコールには glibc ラッパー関数は存在しない。 「注意」"
8302 "の節を参照。"
8303
8304 #. type: Plain text
8305 #: build/C/man2/ioprio_set.2:42
8306 msgid ""
8307 "The B<ioprio_get>()  and B<ioprio_set>()  system calls respectively get and "
8308 "set the I/O scheduling class and priority of one or more threads."
8309 msgstr ""
8310 "システムコール B<ioprio_get>()  / B<ioprio_set>()  は、(1つ以上の) スレッド"
8311 "の I/O スケジューリングクラスと 優先度の取得/設定を行う。"
8312
8313 #. type: Plain text
8314 #: build/C/man2/ioprio_set.2:54
8315 msgid ""
8316 "The I<which> and I<who> arguments identify the thread(s) on which the system "
8317 "calls operate.  The I<which> argument determines how I<who> is interpreted, "
8318 "and has one of the following values:"
8319 msgstr ""
8320 "I<which> と I<who> 引き数でシステムコールの操作対象となるスレッドを指示す"
8321 "る。 I<which> 引き数は、 I<who> をどのように解釈するかを決めるもので、以下の"
8322 "いずれか一つを指定する。"
8323
8324 #. type: TP
8325 #: build/C/man2/ioprio_set.2:54
8326 #, no-wrap
8327 msgid "B<IOPRIO_WHO_PROCESS>"
8328 msgstr "B<IOPRIO_WHO_PROCESS>"
8329
8330 #. type: Plain text
8331 #: build/C/man2/ioprio_set.2:61
8332 msgid ""
8333 "I<who> is a process ID or thread ID identifying a single process or thread.  "
8334 "If I<who> is 0, then operate on the calling thread."
8335 msgstr ""
8336 "I<who> は特定のプロセスやスレッドを特定するためのプロセス ID かスレッド ID で"
8337 "ある。 I<who> が 0 の場合、呼び出し元のスレッドに対して操作が行われる。"
8338
8339 #. type: TP
8340 #: build/C/man2/ioprio_set.2:61
8341 #, no-wrap
8342 msgid "B<IOPRIO_WHO_PGRP>"
8343 msgstr "B<IOPRIO_WHO_PGRP>"
8344
8345 #. type: Plain text
8346 #: build/C/man2/ioprio_set.2:68
8347 msgid ""
8348 "I<who> is a process group ID identifying all the members of a process "
8349 "group.  If I<who> is 0, then operate on the process group of which the "
8350 "caller is a member."
8351 msgstr ""
8352 "I<who> はプロセスグループ ID であり、プロセスグループの全メンバが対象とな"
8353 "る。 I<who> が 0 の場合、 呼び出し元がメンバーとなっているプロセスグループに"
8354 "対して操作が行われる。"
8355
8356 #. type: TP
8357 #: build/C/man2/ioprio_set.2:68
8358 #, no-wrap
8359 msgid "B<IOPRIO_WHO_USER>"
8360 msgstr "B<IOPRIO_WHO_USER>"
8361
8362 #.  FIXME who==0 needs to be documented,
8363 #.  See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=652443
8364 #. type: Plain text
8365 #: build/C/man2/ioprio_set.2:75
8366 msgid ""
8367 "I<who> is a user ID identifying all of the processes that have a matching "
8368 "real UID."
8369 msgstr "I<who> はユーザID であり、実 UID に一致する全プロセスが対象となる。"
8370
8371 #. type: Plain text
8372 #: build/C/man2/ioprio_set.2:98
8373 msgid ""
8374 "If I<which> is specified as B<IOPRIO_WHO_PGRP> or B<IOPRIO_WHO_USER> when "
8375 "calling B<ioprio_get>(), and more than one process matches I<who>, then the "
8376 "returned priority will be the highest one found among all of the matching "
8377 "processes.  One priority is said to be higher than another one if it belongs "
8378 "to a higher priority class (B<IOPRIO_CLASS_RT> is the highest priority "
8379 "class; B<IOPRIO_CLASS_IDLE> is the lowest)  or if it belongs to the same "
8380 "priority class as the other process but has a higher priority level (a lower "
8381 "priority number means a higher priority level)."
8382 msgstr ""
8383 "B<ioprio_get>()  の呼び出し時に I<which> に B<IOPRIO_WHO_PGRP> か "
8384 "B<IOPRIO_WHO_USER> が指定され、 I<who> に一致するプロセスが複数あった場合、 "
8385 "一致するプロセス全体の中で最も高い優先度が返される。 優先度が高いとは、より高"
8386 "い優先度クラスに属している (B<IOPRIO_CLASS_RT> が最も高い優先度クラスで、 "
8387 "B<IOPRIO_CLASS_IDLE> が最も低い)、もしくは 同じ優先度クラスに属しているが優先"
8388 "度レベルが高い (優先度番号が小さい方が優先度レベルが高いことを意味する)、 と"
8389 "いうことである。"
8390
8391 #. type: Plain text
8392 #: build/C/man2/ioprio_set.2:108
8393 msgid ""
8394 "The I<ioprio> argument given to B<ioprio_set>()  is a bit mask that "
8395 "specifies both the scheduling class and the priority to be assigned to the "
8396 "target process(es).  The following macros are used for assembling and "
8397 "dissecting I<ioprio> values:"
8398 msgstr ""
8399 "B<ioprio_set>()  に渡す I<ioprio> 引き数は、対象となるプロセスに割り当てるス"
8400 "ケジューリングクラスと 優先度の両方を指定するビットマスクである。 I<ioprio> "
8401 "の値を組み立てたり解釈するのに、以下のマクロが利用できる。"
8402
8403 #. type: TP
8404 #: build/C/man2/ioprio_set.2:108
8405 #, no-wrap
8406 msgid "B<IOPRIO_PRIO_VALUE(>I<class>B<, >I<data>B<)>"
8407 msgstr "B<IOPRIO_PRIO_VALUE(>I<class>B<, >I<data>B<)>"
8408
8409 #. type: Plain text
8410 #: build/C/man2/ioprio_set.2:117
8411 msgid ""
8412 "Given a scheduling I<class> and priority (I<data>), this macro combines the "
8413 "two values to produce an I<ioprio> value, which is returned as the result of "
8414 "the macro."
8415 msgstr ""
8416 "スケジューリングクラス I<class> と優先度 (I<data>)  を与えると、このマクロは "
8417 "2つの値を組み合わせて、 I<ioprio> 値を生成し、マクロの結果として返す。"
8418
8419 #. type: TP
8420 #: build/C/man2/ioprio_set.2:117
8421 #, no-wrap
8422 msgid "B<IOPRIO_PRIO_CLASS(>I<mask>B<)>"
8423 msgstr "B<IOPRIO_PRIO_CLASS(>I<mask>B<)>"
8424
8425 #. type: Plain text
8426 #: build/C/man2/ioprio_set.2:129
8427 msgid ""
8428 "Given I<mask> (an I<ioprio> value), this macro returns its I/O class "
8429 "component, that is, one of the values B<IOPRIO_CLASS_RT>, "
8430 "B<IOPRIO_CLASS_BE>, or B<IOPRIO_CLASS_IDLE>."
8431 msgstr ""
8432 "I<mask> (I<ioprio> 値) を与えると、このマクロは I/O クラス要素、つまり "
8433 "B<IOPRIO_CLASS_RT>, B<IOPRIO_CLASS_BE>, B<IOPRIO_CLASS_IDLE> のいずれか一つの"
8434 "値を返す。"
8435
8436 #. type: TP
8437 #: build/C/man2/ioprio_set.2:129
8438 #, no-wrap
8439 msgid "B<IOPRIO_PRIO_DATA(>I<mask>B<)>"
8440 msgstr "B<IOPRIO_PRIO_DATA(>I<mask>B<)>"
8441
8442 #. type: Plain text
8443 #: build/C/man2/ioprio_set.2:138
8444 msgid ""
8445 "Given I<mask> (an I<ioprio> value), this macro returns its priority "
8446 "(I<data>)  component."
8447 msgstr ""
8448 "I<mask> (I<ioprio> 値) を与えると、このマクロは優先度 (I<data>)  要素を返す。"
8449
8450 #. type: Plain text
8451 #: build/C/man2/ioprio_set.2:141
8452 msgid ""
8453 "See the NOTES section for more information on scheduling classes and "
8454 "priorities."
8455 msgstr ""
8456 "スケジューリングクラスと優先度に関する詳しい情報は、 「備考」の節を参照のこ"
8457 "と。"
8458
8459 #. type: Plain text
8460 #: build/C/man2/ioprio_set.2:149
8461 msgid ""
8462 "I/O priorities are supported for reads and for synchronous (B<O_DIRECT>, "
8463 "B<O_SYNC>)  writes.  I/O priorities are not supported for asynchronous "
8464 "writes because they are issued outside the context of the program dirtying "
8465 "the memory, and thus program-specific priorities do not apply."
8466 msgstr ""
8467 "I/O 優先度は読み出しと同期書き込み (B<O_DIRECT>, B<O_SYNC>)  に対応してい"
8468 "る。 I/O 優先度は非同期書き込みには対応していない。なぜなら、 非同期書き込み"
8469 "はメモリ書き換えを行うプログラムの動作 (context) とは 関係なく発行され、その"
8470 "ためプログラム単位の優先度は適用されないから である。"
8471
8472 #. type: Plain text
8473 #: build/C/man2/ioprio_set.2:162
8474 msgid ""
8475 "On success, B<ioprio_get>()  returns the I<ioprio> value of the process with "
8476 "highest I/O priority of any of the processes that match the criteria "
8477 "specified in I<which> and I<who>.  On error, -1 is returned, and I<errno> is "
8478 "set to indicate the error."
8479 msgstr ""
8480 "成功すると、 B<ioprio_get>()  は、 I<which> と I<who> で指定された基準に合致"
8481 "した全プロセスで最も高い I/O 優先度を持つプロセスの I<ioprio> 値を返す。 エ"
8482 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
8483
8484 #. type: Plain text
8485 #: build/C/man2/ioprio_set.2:169
8486 msgid ""
8487 "On success, B<ioprio_set>()  returns 0.  On error, -1 is returned, and "
8488 "I<errno> is set to indicate the error."
8489 msgstr ""
8490 "成功すると、 B<ioprio_set>()  は 0 を返す。 エラーの場合、-1 を返し、 "
8491 "I<errno> にエラーを示す値を設定する。"
8492
8493 #. type: Plain text
8494 #: build/C/man2/ioprio_set.2:179
8495 msgid ""
8496 "Invalid value for I<which> or I<ioprio>.  Refer to the NOTES section for "
8497 "available scheduler classes and priority levels for I<ioprio>."
8498 msgstr ""
8499 "I<which> か I<ioprio> の値が不正である。 I<ioprio> 用に指定可能なスケジューラ"
8500 "クラスと優先度レベルについては 「備考」を参照のこと。"
8501
8502 #. type: Plain text
8503 #: build/C/man2/ioprio_set.2:187
8504 msgid ""
8505 "The calling process does not have the privilege needed to assign this "
8506 "I<ioprio> to the specified process(es).  See the NOTES section for more "
8507 "information on required privileges for B<ioprio_set>()."
8508 msgstr ""
8509 "呼び出し元プロセスが、指定されたプロセスに I<ioprio> を割り当てるのに必要な権"
8510 "限を持っていない。 B<ioprio_set>()  に必要な権限についての詳しい情報は「備"
8511 "考」の節を参照のこと。"
8512
8513 #. type: Plain text
8514 #: build/C/man2/ioprio_set.2:193
8515 msgid ""
8516 "No process(es) could be found that matched the specification in I<which> and "
8517 "I<who>."
8518 msgstr ""
8519 "I<which> と I<who> で指定された基準に合致するプロセスが見つからなかった。"
8520
8521 #. type: Plain text
8522 #: build/C/man2/ioprio_set.2:196
8523 msgid "These system calls have been available on Linux since kernel 2.6.13."
8524 msgstr ""
8525 "これらのシステムコールはカーネル 2.6.13 以降の Linux で利用可能である。"
8526
8527 #. type: Plain text
8528 #: build/C/man2/ioprio_set.2:201
8529 msgid ""
8530 "Glibc does not provide a wrapper for these system calls; call them using "
8531 "B<syscall>(2)."
8532 msgstr ""
8533 "glibc はこれらのシステムコールに対するラッパー関数を提供していない。 "
8534 "B<syscall>(2)  を使って呼び出すこと。"
8535
8536 #. type: Plain text
8537 #: build/C/man2/ioprio_set.2:220
8538 msgid ""
8539 "Two or more processes or threads can share an I/O context.  This will be the "
8540 "case when B<clone>(2)  was called with the B<CLONE_IO> flag.  However, by "
8541 "default, the distinct threads of a process will B<not> share the same I/O "
8542 "context.  This means that if you want to change the I/O priority of all "
8543 "threads in a process, you may need to call B<ioprio_set>()  on each of the "
8544 "threads.  The thread ID that you would need for this operation is the one "
8545 "that is returned by B<gettid>(2)  or B<clone>(2)."
8546 msgstr ""
8547 "複数のプロセスやスレッドが一つの I/O コンテキストを共有する場合がある。 "
8548 "B<clone>(2) を B<CLONE_IO> フラグ付きで呼び出した場合にはこの状況となる。 し"
8549 "かしながら、デフォルトでは、一つのプロセスの個々のスレッドは I/O コンテキスト"
8550 "を共有「しない」。 したがって、 プロセス内のすべてのスレッドの I/O 優先度を変"
8551 "更したい場合には、 それぞれのスレッドに対して B<ioprio_set>() を呼び出す必要"
8552 "がある。 この操作を行うのに必要となるスレッド ID には B<gettid>(2) か "
8553 "B<clone>(2) が返す値を指定する。"
8554
8555 #. type: Plain text
8556 #: build/C/man2/ioprio_set.2:225
8557 msgid ""
8558 "These system calls have an effect only when used in conjunction with an I/O "
8559 "scheduler that supports I/O priorities.  As at kernel 2.6.17 the only such "
8560 "scheduler is the Completely Fair Queuing (CFQ) I/O scheduler."
8561 msgstr ""
8562 "これらのシステムコールは、I/O 優先度に対応した I/O スケジューラと 組み合わせ"
8563 "て使用された場合にのみ効果を持つ。 カーネル 2.6.17 では、この条件を満たすスケ"
8564 "ジューラは Completely Fair Queuing (CFQ) I/O スケジューラだけである。"
8565
8566 #. type: SS
8567 #: build/C/man2/ioprio_set.2:225
8568 #, no-wrap
8569 msgid "Selecting an I/O scheduler"
8570 msgstr "I/O スケジューラの選択"
8571
8572 #. type: Plain text
8573 #: build/C/man2/ioprio_set.2:229
8574 msgid ""
8575 "I/O Schedulers are selected on a per-device basis via the special file I</"
8576 "sys/block/E<lt>deviceE<gt>/queue/scheduler>."
8577 msgstr ""
8578 "I/O スケジューラの選択はデバイス単位に行われ、その選択は スペシャルファイル "
8579 "I</sys/block/E<lt>deviceE<gt>/queue/scheduler> 経由で行われる。"
8580
8581 #. type: Plain text
8582 #: build/C/man2/ioprio_set.2:235
8583 #, fuzzy
8584 #| msgid ""
8585 #| "One can view the current I/O scheduler via the I</sys> file system.  For "
8586 #| "example, the following command displays a list of all schedulers "
8587 #| "currently loaded in the kernel:"
8588 msgid ""
8589 "One can view the current I/O scheduler via the I</sys> filesystem.  For "
8590 "example, the following command displays a list of all schedulers currently "
8591 "loaded in the kernel:"
8592 msgstr ""
8593 "現在の I/O スケジューラは I</sys> ファイルシステム経由で参照できる。例えば、"
8594 "以下のコマンドを実行すると、 現在カーネルでロードされているスケジューラの全リ"
8595 "ストが表示される。"
8596
8597 #. type: Plain text
8598 #: build/C/man2/ioprio_set.2:240
8599 #, no-wrap
8600 msgid ""
8601 "$B< cat /sys/block/hda/queue/scheduler>\n"
8602 "noop anticipatory deadline [cfq]\n"
8603 msgstr ""
8604 "$B< cat /sys/block/hda/queue/scheduler>\n"
8605 "noop anticipatory deadline [cfq]\n"
8606
8607 #. type: Plain text
8608 #: build/C/man2/ioprio_set.2:254
8609 msgid ""
8610 "The scheduler surrounded by brackets is the one actually in use for the "
8611 "device (I<hda> in the example).  Setting another scheduler is done by "
8612 "writing the name of the new scheduler to this file.  For example, the "
8613 "following command will set the scheduler for the I<hda> device to I<cfq>:"
8614 msgstr ""
8615 "括弧で囲まれたスケジューラがそのデバイス (上の例では I<hda>)  について実際に"
8616 "使用されているスケジューラである。 別のスケジューラを設定するには、このファイ"
8617 "ルに新しいスケジューラ名を 書き込めばよい。例えば、以下のコマンドを実行する"
8618 "と、デバイス I<hda> のスケジューラとして I<cfq> が設定される。"
8619
8620 #. type: Plain text
8621 #: build/C/man2/ioprio_set.2:260
8622 #, no-wrap
8623 msgid ""
8624 "$B< su>\n"
8625 "Password:\n"
8626 "#B< echo cfq E<gt> /sys/block/hda/queue/scheduler>\n"
8627 msgstr ""
8628 "$B< su>\n"
8629 "Password:\n"
8630 "#B< echo cfq E<gt> /sys/block/hda/queue/scheduler>\n"
8631
8632 #. type: SS
8633 #: build/C/man2/ioprio_set.2:262
8634 #, no-wrap
8635 msgid "The Completely Fair Queuing (CFQ) I/O scheduler"
8636 msgstr "Completely Fair Queuing (CFQ) I/O スケジューラ"
8637
8638 #. type: Plain text
8639 #: build/C/man2/ioprio_set.2:268
8640 msgid ""
8641 "Since v3 (aka CFQ Time Sliced) CFQ implements I/O nice levels similar to "
8642 "those of CPU scheduling.  These nice levels are grouped in three scheduling "
8643 "classes each one containing one or more priority levels:"
8644 msgstr ""
8645 "バージョン 3 (別名 CFQ Time Sliced) 以降、 CPU スケジューリングと同様の I/O "
8646 "nice レベルが CFQ に実装されている。 これらの nice レベルは 3つのスケジューリ"
8647 "ングクラスに分類でき、 各スケジューリングクラスにつき 1つ以上の優先度レベルが"
8648 "定義されている。"
8649
8650 #. type: TP
8651 #: build/C/man2/ioprio_set.2:268
8652 #, no-wrap
8653 msgid "B<IOPRIO_CLASS_RT> (1)"
8654 msgstr "B<IOPRIO_CLASS_RT> (1)"
8655
8656 #. type: Plain text
8657 #: build/C/man2/ioprio_set.2:283
8658 msgid ""
8659 "This is the real-time I/O class.  This scheduling class is given higher "
8660 "priority than any other class: processes from this class are given first "
8661 "access to the disk every time.  Thus this I/O class needs to be used with "
8662 "some care: one I/O real-time process can starve the entire system.  Within "
8663 "the real-time class, there are 8 levels of class data (priority) that "
8664 "determine exactly how much time this process needs the disk for on each "
8665 "service.  The highest real-time priority level is 0; the lowest is 7.  In "
8666 "the future this might change to be more directly mappable to performance, by "
8667 "passing in a desired data rate instead."
8668 msgstr ""
8669 "これはリアルタイム I/O クラスである。 このスケジューリングクラスには他のクラ"
8670 "スよりも高い優先度が与えられる。 このクラスのプロセスには、常にディスクへのア"
8671 "クセスが優先して 割り当てられる。そのため、この I/O クラスを使う際には、 たっ"
8672 "た一つの リアルタイム I/O クラスのプロセスにより システム全体のディスクアクセ"
8673 "スができなくなってしまうことがある という点に、注意を払う必要がある。 このク"
8674 "ラスには、8 段階の class data (優先度レベル) がある。 この値は、そのプロセス"
8675 "が 1回のディスクアクセスにどれだけの 時間が必要かを正確に決めるためのものであ"
8676 "る。 最高のリアルタイム優先度レベルは 0 で、最低は 7 である。 将来的には、優"
8677 "先度レベルは、希望するデータレートを渡すなど、 より直接的に性能条件を反映でき"
8678 "るように変更されるかもしれない。"
8679
8680 #. type: TP
8681 #: build/C/man2/ioprio_set.2:283
8682 #, no-wrap
8683 msgid "B<IOPRIO_CLASS_BE> (2)"
8684 msgstr "B<IOPRIO_CLASS_BE> (2)"
8685
8686 #. type: Plain text
8687 #: build/C/man2/ioprio_set.2:296
8688 msgid ""
8689 "This is the best-effort scheduling class, which is the default for any "
8690 "process that hasn't set a specific I/O priority.  The class data (priority) "
8691 "determines how much I/O bandwidth the process will get.  Best-effort "
8692 "priority levels are analogous to CPU nice values (see B<getpriority>(2)).  "
8693 "The priority level determines a priority relative to other processes in the "
8694 "best-effort scheduling class.  Priority levels range from 0 (highest) to 7 "
8695 "(lowest)."
8696 msgstr ""
8697 "これは ベストエフォート・スケジューリングクラスである。 このクラスは、特定の "
8698 "I/O 優先度を設定していないプロセスの デフォルト値である。 class data (優先度"
8699 "レベル) により、そのプロセスがどの程度の I/O 帯域を得られるかが決定される。 "
8700 "ベストエフォート・優先度レベルは、CPU の nice 値 (B<getpriority>(2)  参照) と"
8701 "同様のものである。 優先度レベルは、ベストエフォート・スケジューリングクラスの"
8702 "中で 他のプロセスとの相対的な優先度を決定する。 優先度レベルの値の範囲は 0 "
8703 "(最高) から 7 (最低) である。"
8704
8705 #. type: TP
8706 #: build/C/man2/ioprio_set.2:296
8707 #, no-wrap
8708 msgid "B<IOPRIO_CLASS_IDLE> (3)"
8709 msgstr "B<IOPRIO_CLASS_IDLE> (3)"
8710
8711 #. type: Plain text
8712 #: build/C/man2/ioprio_set.2:305
8713 msgid ""
8714 "This is the idle scheduling class.  Processes running at this level only get "
8715 "I/O time when no-one else needs the disk.  The idle class has no class "
8716 "data.  Attention is required when assigning this priority class to a "
8717 "process, since it may become starved if higher priority processes are "
8718 "constantly accessing the disk."
8719 msgstr ""
8720 "これは idle スケジューリングクラスである。 このレベルで動作するプロセスは他に"
8721 "ディスクアクセスをしようとする プロセスがない場合にのみ I/O 時間を取得する。 "
8722 "idle クラスには class data (優先度) は用意されていない。 プロセスにこの優先度"
8723 "を割り当てる際には注意が必要である。 なぜなら、優先度の高いプロセスが常にディ"
8724 "スクにアクセスしている場合には ディスクにアクセスできなくなる可能性があるから"
8725 "だ。"
8726
8727 #. type: Plain text
8728 #: build/C/man2/ioprio_set.2:309
8729 msgid ""
8730 "Refer to I<Documentation/block/ioprio.txt> for more information on the CFQ I/"
8731 "O Scheduler and an example program."
8732 msgstr ""
8733 "CFQ I/O スケジューラの更なる情報とサンプルプログラムについては "
8734 "I<Documentation/block/ioprio.txt> を参照のこと。"
8735
8736 #. type: SS
8737 #: build/C/man2/ioprio_set.2:309
8738 #, no-wrap
8739 msgid "Required permissions to set I/O priorities"
8740 msgstr "I/O 優先度の設定に必要な許可"
8741
8742 #. type: Plain text
8743 #: build/C/man2/ioprio_set.2:312
8744 msgid ""
8745 "Permission to change a process's priority is granted or denied based on two "
8746 "assertions:"
8747 msgstr ""
8748 "プロセスの優先度を変更する許可が得られるかどうかは 以下の 2つの条件に基いて決"
8749 "定される。"
8750
8751 #. type: TP
8752 #: build/C/man2/ioprio_set.2:312
8753 #, no-wrap
8754 msgid "B<Process ownership>"
8755 msgstr "B<プロセスの所有権>"
8756
8757 #. type: Plain text
8758 #: build/C/man2/ioprio_set.2:320
8759 msgid ""
8760 "An unprivileged process may set only the I/O priority of a process whose "
8761 "real UID matches the real or effective UID of the calling process.  A "
8762 "process which has the B<CAP_SYS_NICE> capability can change the priority of "
8763 "any process."
8764 msgstr ""
8765 "非特権プロセスは、プロセスの実 UID が呼び出し元プロセスの実 UID もしくは 実"
8766 "効 UID と一致するプロセスの I/O 優先度のみを設定できる。 B<CAP_SYS_NICE> ケー"
8767 "パビリティを持つプロセスは、どのプロセスの優先度でも変更できる。"
8768
8769 #. type: TP
8770 #: build/C/man2/ioprio_set.2:320
8771 #, no-wrap
8772 msgid "B<What is the desired priority>"
8773 msgstr "B<どの優先度に設定しようとしているか>"
8774
8775 #. type: Plain text
8776 #: build/C/man2/ioprio_set.2:332
8777 msgid ""
8778 "Attempts to set very high priorities (B<IOPRIO_CLASS_RT>)  require the "
8779 "B<CAP_SYS_ADMIN> capability.  Kernel versions up to 2.6.24 also required "
8780 "B<CAP_SYS_ADMIN> to set a very low priority (B<IOPRIO_CLASS_IDLE>), but "
8781 "since Linux 2.6.25, this is no longer required."
8782 msgstr ""
8783 "非常に高い優先度 (B<IOPRIO_CLASS_RT>)  を設定しようとする場合、 "
8784 "B<CAP_SYS_ADMIN> ケーパビリティが必要である。 カーネル 2.6.24 以前では、非常"
8785 "に低い優先度 (B<IOPRIO_CLASS_IDLE>)  を設定するためにも B<CAP_SYS_ADMIN> ケー"
8786 "パビリティが必要であったが、 Linux 2.6.25 以降ではもはや必要なくなった。"
8787
8788 #. type: Plain text
8789 #: build/C/man2/ioprio_set.2:337
8790 msgid ""
8791 "A call to B<ioprio_set>()  must follow both rules, or the call will fail "
8792 "with the error B<EPERM>."
8793 msgstr ""
8794 "B<ioprio_set>()  はこの両方のルールに従い、条件を満たさない場合、エラー "
8795 "B<EPERM> で失敗する。"
8796
8797 #.  6 May 07: Bug report raised:
8798 #.  http://sources.redhat.com/bugzilla/show_bug.cgi?id=4464
8799 #.  Ulrich Drepper replied that he wasn't going to add these
8800 #.  to glibc.
8801 #. type: Plain text
8802 #: build/C/man2/ioprio_set.2:346
8803 msgid ""
8804 "Glibc does not yet provide a suitable header file defining the function "
8805 "prototypes and macros described on this page.  Suitable definitions can be "
8806 "found in I<linux/ioprio.h>."
8807 msgstr ""
8808 "glibc は、このページに記載された関数プロトタイプやマクロを定義する 適切なヘッ"
8809 "ダファイルをまだ提供していない。 必要な定義については I<linux/ioprio.h> を見"
8810 "ればよい。"
8811
8812 #. type: Plain text
8813 #: build/C/man2/ioprio_set.2:351
8814 msgid "B<ionice>(1), B<getpriority>(2), B<open>(2), B<capabilities>(7)"
8815 msgstr "B<ionice>(1), B<getpriority>(2), B<open>(2), B<capabilities>(7)"
8816
8817 #. type: Plain text
8818 #: build/C/man2/ioprio_set.2:354
8819 msgid "I<Documentation/block/ioprio.txt> in the Linux kernel source tree"
8820 msgstr "Linux カーネルソース内の I<Documentation/block/ioprio.txt>"
8821
8822 #. type: TH
8823 #: build/C/man2/ipc.2:25
8824 #, no-wrap
8825 msgid "IPC"
8826 msgstr "IPC"
8827
8828 #. type: TH
8829 #: build/C/man2/ipc.2:25
8830 #, no-wrap
8831 msgid "2012-10-16"
8832 msgstr "2012-10-16"
8833
8834 #. type: Plain text
8835 #: build/C/man2/ipc.2:28
8836 msgid "ipc - System V IPC system calls"
8837 msgstr "ipc - System V IPC システムコール"
8838
8839 #. type: Plain text
8840 #: build/C/man2/ipc.2:33
8841 #, no-wrap
8842 msgid ""
8843 "B<int ipc(unsigned int >I<call>B<, int >I<first>B<, int >I<second>B<, int >I<third>B<,>\n"
8844 "B<        void *>I<ptr>B<, long >I<fifth>B<);>\n"
8845 msgstr ""
8846 "B<int ipc(unsigned int >I<call>B<, int >I<first>B<, int >I<second>B<, int >I<third>B<,>\n"
8847 "B<        void *>I<ptr>B<, long >I<fifth>B<);>\n"
8848
8849 #. type: Plain text
8850 #: build/C/man2/ipc.2:41
8851 msgid ""
8852 "B<ipc>()  is a common kernel entry point for the System V IPC calls for "
8853 "messages, semaphores, and shared memory.  I<call> determines which IPC "
8854 "function to invoke; the other arguments are passed through to the "
8855 "appropriate call."
8856 msgstr ""
8857 "B<ipc>()  は メッセージ、セマフォー、共有メモリに関する System V IPC コール"
8858 "の 共通のカーネルへのエントリポイントである。 I<call> はどの IPC 関数を呼び出"
8859 "すかを決め; 他の引き数は適切なコールへと渡される。"
8860
8861 #. type: Plain text
8862 #: build/C/man2/ipc.2:45
8863 msgid ""
8864 "User programs should call the appropriate functions by their usual names.  "
8865 "Only standard library implementors and kernel hackers need to know about "
8866 "B<ipc>()."
8867 msgstr ""
8868 "ユーザープログラムは通常の名前で適切な関数を呼び出すべきである。 標準ライブラ"
8869 "リの実装者やカーネルハッカーのみが B<ipc>()  について知る必要がある。"
8870
8871 #. type: Plain text
8872 #: build/C/man2/ipc.2:49
8873 msgid ""
8874 "B<ipc>()  is Linux-specific, and should not be used in programs intended to "
8875 "be portable."
8876 msgstr ""
8877 "B<ipc>()  は Linux 特有であり、 移植を意図したプログラムでは 使用してはいけな"
8878 "い。"
8879
8880 #. type: Plain text
8881 #: build/C/man2/ipc.2:57
8882 msgid ""
8883 "On some architectures\\(emfor example x86-64 and ARM\\(emthere is no B<ipc>"
8884 "()  system call; instead B<msgctl>(2), B<semctl>(2), B<shmctl>(2), and so on "
8885 "really are implemented as separate system calls."
8886 msgstr ""
8887 "いくつかのアーキテクチャ\\(emfor 例えば x86-64 や ARM\\(emでは、システムコー"
8888 "ル B<ipc>()  が存在しない。実際には、その代わりに B<msgctl>(2), B<semctl>"
8889 "(2), B<shmctl>(2)  などが独立したシステムコールとして実装されている。"
8890
8891 #. type: Plain text
8892 #: build/C/man2/ipc.2:70
8893 msgid ""
8894 "B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), "
8895 "B<semget>(2), B<semop>(2), B<semtimedop>(2), B<shmat>(2), B<shmctl>(2), "
8896 "B<shmdt>(2), B<shmget>(2)"
8897 msgstr ""
8898 "B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), "
8899 "B<semget>(2), B<semop>(2), B<shmat>(2), B<shmctl>(2), B<shmdt>(2), B<shmget>"
8900 "(2)"
8901
8902 #. type: TH
8903 #: build/C/man2/seteuid.2:29
8904 #, no-wrap
8905 msgid "SETEUID"
8906 msgstr "SETEUID"
8907
8908 #. type: TH
8909 #: build/C/man2/seteuid.2:29
8910 #, no-wrap
8911 msgid "2012-07-02"
8912 msgstr "2012-07-02"
8913
8914 #. type: Plain text
8915 #: build/C/man2/seteuid.2:32
8916 msgid "seteuid, setegid - set effective user or group ID"
8917 msgstr "seteuid, setegid - 実効ユーザー ID や 実効グループ ID を設定する"
8918
8919 #. type: Plain text
8920 #: build/C/man2/seteuid.2:38
8921 msgid "B<int seteuid(uid_t >I<euid>B<);>"
8922 msgstr "B<int seteuid(uid_t >I<euid>B<);>"
8923
8924 #. type: Plain text
8925 #: build/C/man2/seteuid.2:40
8926 msgid "B<int setegid(gid_t >I<egid>B<);>"
8927 msgstr "B<int setegid(gid_t >I<egid>B<);>"
8928
8929 #. type: Plain text
8930 #: build/C/man2/seteuid.2:49
8931 msgid "B<seteuid>(), B<setegid>():"
8932 msgstr "B<seteuid>(), B<setegid>():"
8933
8934 #. type: Plain text
8935 #: build/C/man2/seteuid.2:51
8936 msgid ""
8937 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
8938 "\\ 600"
8939 msgstr ""
8940 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
8941 "\\ 600"
8942
8943 #. type: Plain text
8944 #: build/C/man2/seteuid.2:58
8945 msgid ""
8946 "B<seteuid>()  sets the effective user ID of the calling process.  "
8947 "Unprivileged user processes may only set the effective user ID to the real "
8948 "user ID, the effective user ID or the saved set-user-ID."
8949 msgstr ""
8950 "B<seteuid>()  は呼び出し元のプロセスの実効ユーザー ID を設定する。 非特権ユー"
8951 "ザーのプロセスの場合、実効ユーザー ID に設定できるのは、 実ユーザー ID・実効"
8952 "ユーザー ID・保存 set-user-ID のいずれかだけである。"
8953
8954 #.  When
8955 #.  .I euid
8956 #.  equals \-1, nothing is changed.
8957 #.  (This is an artifact of the implementation in glibc of seteuid()
8958 #.  using setresuid(2).)
8959 #. type: Plain text
8960 #: build/C/man2/seteuid.2:67
8961 msgid ""
8962 "Precisely the same holds for B<setegid>()  with \"group\" instead of \"user"
8963 "\"."
8964 msgstr ""
8965 "B<setegid>()  は「ユーザー」ではなく「グループ」に対して全く同じことを行う。"
8966
8967 #. type: Plain text
8968 #: build/C/man2/seteuid.2:91
8969 msgid ""
8970 "The calling process is not privileged (Linux: does not have the "
8971 "B<CAP_SETUID> capability in the case of B<seteuid>(), or the B<CAP_SETGID> "
8972 "capability in the case of B<setegid>())  and I<euid> (respectively, "
8973 "I<egid>)  is not the real user (group) ID, the effective user (group) ID, or "
8974 "the saved set-user-ID (saved set-group-ID)."
8975 msgstr ""
8976 "呼び出し元のプロセスに特権がなく、 I<euid> (I<egid>)  が実ユーザー (グルー"
8977 "プ) ID、または実効ユーザー (グループ) ID、 保存 set-user-ID (保存 set-group-"
8978 "ID) のいずれでもではない (Linux においては、 B<seteuid>()  では "
8979 "B<CAP_SETUID> ケーパビリティ (capability) が、 B<setegid>()  では "
8980 "B<CAP_SETGID> ケーパビリティがない場合に、特権がないと判断される)。"
8981
8982 #. type: Plain text
8983 #: build/C/man2/seteuid.2:93
8984 msgid "4.3BSD, POSIX.1-2001."
8985 msgstr "4.3BSD, POSIX.1-2001."
8986
8987 #. type: Plain text
8988 #: build/C/man2/seteuid.2:99
8989 msgid ""
8990 "Setting the effective user (group) ID to the saved set-user-ID (saved set-"
8991 "group-ID) is possible since Linux 1.1.37 (1.1.38).  On an arbitrary system "
8992 "one should check B<_POSIX_SAVED_IDS>."
8993 msgstr ""
8994 "実効ユーザー (グループ) ID を保存 set-user-ID (保存 set-group-ID) に 設定でき"
8995 "るのは、Linux 1.1.37 (1.1.38) 以降である。 全てのシステムにおいて "
8996 "B<_POSIX_SAVED_IDS> をチェックすべきである。"
8997
8998 #. type: Plain text
8999 #: build/C/man2/seteuid.2:115
9000 msgid ""
9001 "Under libc4, libc5 and glibc 2.0 B<seteuid(>I<euid>B<)> is equivalent to "
9002 "B<setreuid(-1,>I< euid>B<)> and hence may change the saved set-user-ID.  "
9003 "Under glibc 2.1 and later it is equivalent to B<setresuid(-1,>I< euid>B<, -1)"
9004 "> and hence does not change the saved set-user-ID.  Analogous remarks hold "
9005 "for B<setegid>(), with the difference that the change in implementation from "
9006 "B<setregid(-1,>I< egid>B<)> to B<setresgid(-1,>I< egid>B<, -1)> occurred in "
9007 "glibc 2.2 or 2.3 (dependeing on the hardware architecture)."
9008 msgstr ""
9009 "libc4, libc5, glibc 2.0 では、 B<seteuid(>I<euid>B<)> は B<setreuid(-1,>I< "
9010 "euid>B<)> と等価であり、保存 set-user-ID を変更するかもしれない。 glibc 2.1 "
9011 "では、 B<setresuid(-1,>I< euid>B<, -1)> と等価であり、保存 set-user-ID 変更し"
9012 "ない。 同様のことが B<setegid>() にも言えるが、 glibc 2.2 か 2.3 で、 実装が "
9013 "B<setregid(-1,>I< egid>B<)> から B<setresgid(-1,>I< egid>B<, -1)> へ変更され"
9014 "た点だけが違う (どの glibc バージョンで変更が行われたかは、ハードウェアアーキ"
9015 "テクチャによって異なる)。"
9016
9017 #. type: Plain text
9018 #: build/C/man2/seteuid.2:124
9019 msgid ""
9020 "According to POSIX.1, B<seteuid>()  (B<setegid>())  need not permit I<euid> "
9021 "(I<egid>)  to be the same value as the current effective user (group) ID, "
9022 "and some implementations do not permit this."
9023 msgstr ""
9024 "POSIX.1 では、 B<seteuid>()  (B<setegid>())  で、 I<euid> (I<egid>)  として現"
9025 "在の実効ユーザ (グループ) ID と同じ値を指定可能である 必要はないとされてお"
9026 "り、いくつかの実装では I<euid> (I<egid>)  として現在の実効ユーザ (グループ) "
9027 "ID と同じ値を 指定することができない。"
9028
9029 #. type: Plain text
9030 #: build/C/man2/seteuid.2:131
9031 msgid ""
9032 "B<geteuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), B<capabilities>"
9033 "(7), B<credentials>(7)"
9034 msgstr ""
9035 "B<geteuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), B<capabilities>"
9036 "(7), B<credentials>(7)"
9037
9038 #. type: TH
9039 #: build/C/man2/setfsgid.2:31
9040 #, no-wrap
9041 msgid "SETFSGID"
9042 msgstr "SETFSGID"
9043
9044 #. type: TH
9045 #: build/C/man2/setfsgid.2:31 build/C/man2/setfsuid.2:31
9046 #, fuzzy, no-wrap
9047 #| msgid "2013-07-21"
9048 msgid "2013-08-08"
9049 msgstr "2013-07-21"
9050
9051 #. type: Plain text
9052 #: build/C/man2/setfsgid.2:34
9053 #, fuzzy
9054 #| msgid "setfsgid - set group identity used for file system checks"
9055 msgid "setfsgid - set group identity used for filesystem checks"
9056 msgstr ""
9057 "setfsgid - ファイルシステムのチェックに用いられるグループ ID を設定する"
9058
9059 #. type: Plain text
9060 #: build/C/man2/setfsgid.2:36 build/C/man2/setfsuid.2:36
9061 #, fuzzy
9062 #| msgid "B<#include E<lt>sys/io.hE<gt>>"
9063 msgid "B<#include E<lt>sys/fsuid.hE<gt>>"
9064 msgstr "B<#include E<lt>sys/io.hE<gt>>"
9065
9066 #. type: Plain text
9067 #: build/C/man2/setfsgid.2:38
9068 msgid "B<int setfsgid(uid_t >I<fsgid>B<);>"
9069 msgstr "B<int setfsgid(uid_t >I<fsgid>B<);>"
9070
9071 #. type: Plain text
9072 #: build/C/man2/setfsgid.2:51
9073 #, fuzzy
9074 #| msgid ""
9075 #| "The system call B<setfsgid>()  sets the group ID that the Linux kernel "
9076 #| "uses to check for all accesses to the file system.  Normally, the value "
9077 #| "of I<fsgid> will shadow the value of the effective group ID.  In fact, "
9078 #| "whenever the effective group ID is changed, I<fsgid> will also be changed "
9079 #| "to the new value of the effective group ID."
9080 msgid ""
9081 "The system call B<setfsgid>()  changes the value of the caller's filesystem "
9082 "group ID\\(emthe group ID that the Linux kernel uses to check for all "
9083 "accesses to the filesystem.  Normally, the value of the filesystem group ID "
9084 "will shadow the value of the effective group ID.  In fact, whenever the "
9085 "effective group ID is changed, the filesystem group ID will also be changed "
9086 "to the new value of the effective group ID."
9087 msgstr ""
9088 "システムコール B<setfsgid>()  は Linux カーネルがファイルシステムに対する 全"
9089 "てのアクセスのチェックに使用するグループ IDを設定する。通常は I<fsgid> の値は"
9090 "実効 (effective) グループID と同じになる。実際、 実効グループ ID が変更される"
9091 "度に I<fsgid> もまた新しい実効グループID の値に変更される。"
9092
9093 #. type: Plain text
9094 #: build/C/man2/setfsgid.2:62
9095 msgid ""
9096 "Explicit calls to B<setfsuid>(2)  and B<setfsgid>()  are usually used only "
9097 "by programs such as the Linux NFS server that need to change what user and "
9098 "group ID is used for file access without a corresponding change in the real "
9099 "and effective user and group IDs.  A change in the normal user IDs for a "
9100 "program such as the NFS server is a security hole that can expose it to "
9101 "unwanted signals.  (But see below.)"
9102 msgstr ""
9103 "通常、 B<setfsuid>()  や B<setfsgid>() を明示的に呼び出すのは、Linux NFS サー"
9104 "バー のように、 ファイルアクセスに用いるユーザID / グループID を変更しなけれ"
9105 "ばならないが、 対応する実(real)/実効(effective) ユーザID / グループID は変更"
9106 "したくないような プログラムに限られる。 NFS サーバーのようなプログラムで、通"
9107 "常のユーザID を変更すると、 プロセスを望まないシグナルにさらす可能性があり、 "
9108 "セキュリティホールになる。(下記参照)"
9109
9110 #. type: Plain text
9111 #: build/C/man2/setfsgid.2:68
9112 #, fuzzy
9113 #| msgid ""
9114 #| "B<setfsgid>()  will succeed only if the caller is the superuser or if "
9115 #| "I<fsgid> matches either the real group ID, effective group ID, saved set-"
9116 #| "group-ID, or the current value of I<fsgid>."
9117 msgid ""
9118 "B<setfsgid>()  will succeed only if the caller is the superuser or if "
9119 "I<fsgid> matches either the caller's real group ID, effective group ID, "
9120 "saved set-group-ID, or current the filesystem user ID."
9121 msgstr ""
9122 "B<setfsgid>()  は、スーパーユーザによって呼び出された場合か、 I<fsgid> が実グ"
9123 "ループID、実効グループID、 保存セットグループID (saved set-group-ID)、現在の "
9124 "I<fsgid> の値のいずれかに一致する場合にのみ成功する。"
9125
9126 #. type: Plain text
9127 #: build/C/man2/setfsgid.2:71
9128 msgid ""
9129 "On both success and failure, this call returns the previous filesystem group "
9130 "ID of the caller."
9131 msgstr ""
9132
9133 #.  This system call is present since Linux 1.1.44
9134 #.  and in libc since libc 4.7.6.
9135 #. type: Plain text
9136 #: build/C/man2/setfsgid.2:75 build/C/man2/setfsuid.2:75
9137 msgid "This system call is present in Linux since version 1.2."
9138 msgstr "このシステムコールはバージョン 1.2 以降の Linux に存在する。"
9139
9140 #. type: Plain text
9141 #: build/C/man2/setfsgid.2:79
9142 msgid ""
9143 "B<setfsgid>()  is Linux-specific and should not be used in programs intended "
9144 "to be portable."
9145 msgstr ""
9146 "B<setfsgid>()  は Linux 特有であり、移植を想定したプログラムで使用してはいけ"
9147 "ない。"
9148
9149 #. type: Plain text
9150 #: build/C/man2/setfsgid.2:85
9151 msgid ""
9152 "When glibc determines that the argument is not a valid group ID, it will "
9153 "return -1 and set I<errno> to B<EINVAL> without attempting the system call."
9154 msgstr ""
9155 "glibc が引き数がグループID として不正だと判断した場合は、 システムコールを行"
9156 "わず I<errno> に B<EINVAL> を設定して -1 が返される。"
9157
9158 #. type: Plain text
9159 #: build/C/man2/setfsgid.2:96
9160 #, fuzzy
9161 #| msgid ""
9162 #| "Note that at the time this system call was introduced, a process could "
9163 #| "send a signal to a process with the same effective user ID.  Today signal "
9164 #| "permission handling is slightly different."
9165 msgid ""
9166 "Note that at the time this system call was introduced, a process could send "
9167 "a signal to a process with the same effective user ID.  Today signal "
9168 "permission handling is slightly different.  See B<setfsuid>(2)  for a "
9169 "discussion of why the use of both B<setfsuid>(2)  and B<setfsgid>()  is "
9170 "nowadays unneeded."
9171 msgstr ""
9172 "このシステムコールが導入された当時、プロセスは 同じ実効ユーザIDのプロセスへシ"
9173 "グナルを送ることができた。 今日では、シグナル送信権限の扱いはかなり違うものに"
9174 "なっている。"
9175
9176 #. type: Plain text
9177 #: build/C/man2/setfsgid.2:106
9178 msgid ""
9179 "The original Linux B<setfsgid>()  system call supported only 16-bit group "
9180 "IDs.  Subsequently, Linux 2.4 added B<setfsgid32>()  supporting 32-bit IDs.  "
9181 "The glibc B<setfsgid>()  wrapper function transparently deals with the "
9182 "variation across kernel versions."
9183 msgstr ""
9184 "元々の Linux の B<setfsgid>() システムコールは\n"
9185 "16 ビットのグループ ID だけに対応していた。\n"
9186 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
9187 "B<setfsgid32>() が追加された。\n"
9188 "glibc の B<setfsgid>() のラッパー関数は\n"
9189 "カーネルバージョンによるこの違いを吸収している。"
9190
9191 #. type: Plain text
9192 #: build/C/man2/setfsgid.2:123
9193 msgid ""
9194 "No error indications of any kind are returned to the caller, and the fact "
9195 "that both successful and unsuccessful calls return the same value makes it "
9196 "impossible to directly determine whether the call succeeded or failed.  "
9197 "Instead, the caller must resort to looking at the return value from a "
9198 "further call such as I<setfsgid(-1)> (which will always fail), in order to "
9199 "determine if a preceding call to B<setfsgid>()  changed the filesystem group "
9200 "ID.  At the very least, B<EPERM> should be returned when the call fails "
9201 "(because the caller lacks the B<CAP_SETGID> capability)."
9202 msgstr ""
9203
9204 #. type: Plain text
9205 #: build/C/man2/setfsgid.2:128
9206 msgid "B<kill>(2), B<setfsuid>(2), B<capabilities>(7), B<credentials>(7)"
9207 msgstr "B<kill>(2), B<setfsuid>(2), B<capabilities>(7), B<credentials>(7)"
9208
9209 #. type: TH
9210 #: build/C/man2/setfsuid.2:31
9211 #, no-wrap
9212 msgid "SETFSUID"
9213 msgstr "SETFSUID"
9214
9215 #. type: Plain text
9216 #: build/C/man2/setfsuid.2:34
9217 #, fuzzy
9218 #| msgid "setfsuid - set user identity used for file system checks"
9219 msgid "setfsuid - set user identity used for filesystem checks"
9220 msgstr "setfsuid - ファイルシステムのチェックに用いられるユーザ ID を設定する"
9221
9222 #. type: Plain text
9223 #: build/C/man2/setfsuid.2:38
9224 msgid "B<int setfsuid(uid_t >I<fsuid>B<);>"
9225 msgstr "B<int setfsuid(uid_t >I<fsuid>B<);>"
9226
9227 #. type: Plain text
9228 #: build/C/man2/setfsuid.2:51
9229 #, fuzzy
9230 #| msgid ""
9231 #| "The system call B<setfsuid>()  sets the user ID that the Linux kernel "
9232 #| "uses to check for all accesses to the file system.  Normally, the value "
9233 #| "of I<fsuid> will shadow the value of the effective user ID.  In fact, "
9234 #| "whenever the effective user ID is changed, I<fsuid> will also be changed "
9235 #| "to the new value of the effective user ID."
9236 msgid ""
9237 "The system call B<setfsuid>()  changes the value of the caller's filesystem "
9238 "user ID\\(emthe user ID that the Linux kernel uses to check for all accesses "
9239 "to the filesystem.  Normally, the value of the filesystem user ID will "
9240 "shadow the value of the effective user ID.  In fact, whenever the effective "
9241 "user ID is changed, the filesystem user ID will also be changed to the new "
9242 "value of the effective user ID."
9243 msgstr ""
9244 "B<setfsuid>()  は Linux カーネルがファイルシステムに対する 全てのアクセスの"
9245 "チェックに使用するユーザID を設定する。通常は I<fsuid> の値は実効 "
9246 "(effective) ユーザID と同じになる。実際、 実効ユーザID が変更される度に "
9247 "I<fsuid> もまた新しい実効ユーザID の値に変更される。"
9248
9249 #. type: Plain text
9250 #: build/C/man2/setfsuid.2:62
9251 msgid ""
9252 "Explicit calls to B<setfsuid>()  and B<setfsgid>(2)  are usually used only "
9253 "by programs such as the Linux NFS server that need to change what user and "
9254 "group ID is used for file access without a corresponding change in the real "
9255 "and effective user and group IDs.  A change in the normal user IDs for a "
9256 "program such as the NFS server is a security hole that can expose it to "
9257 "unwanted signals.  (But see below.)"
9258 msgstr ""
9259 "通常、 B<setfsuid>()  や B<setfsgid>() を明示的に呼び出すのは、Linux NFS サー"
9260 "バー のように、 ファイルアクセスに用いるユーザID / グループID を変更しなけれ"
9261 "ばならないが、 対応する実(real)/実効(effective) ユーザID / グループID は変更"
9262 "したくないような プログラムに限られる。 NFS サーバーのようなプログラムで、通"
9263 "常のユーザID を変更すると、 プロセスを望まないシグナルにさらす可能性があり、 "
9264 "セキュリティホールになる。(下記参照)"
9265
9266 #. type: Plain text
9267 #: build/C/man2/setfsuid.2:68
9268 #, fuzzy
9269 #| msgid ""
9270 #| "B<setfsuid>()  will succeed only if the caller is the superuser or if "
9271 #| "I<fsuid> matches either the real user ID, effective user ID, saved set-"
9272 #| "user-ID, or the current value of I<fsuid>."
9273 msgid ""
9274 "B<setfsuid>()  will succeed only if the caller is the superuser or if "
9275 "I<fsuid> matches either the caller's real user ID, effective user ID, saved "
9276 "set-user-ID, or current filesystem user ID."
9277 msgstr ""
9278 "B<setfsuid>()  は、スーパーユーザによって呼び出された場合か、 I<fsuid> が実"
9279 "ユーザID、実効ユーザID、 保存セットユーザID (saved set-user-ID)、現在の "
9280 "I<fsuid> の値のいずれかに一致する場合にのみ成功する。"
9281
9282 #. type: Plain text
9283 #: build/C/man2/setfsuid.2:71
9284 msgid ""
9285 "On both success and failure, this call returns the previous filesystem user "
9286 "ID of the caller."
9287 msgstr ""
9288
9289 #. type: Plain text
9290 #: build/C/man2/setfsuid.2:79
9291 msgid ""
9292 "B<setfsuid>()  is Linux-specific and should not be used in programs intended "
9293 "to be portable."
9294 msgstr ""
9295 "B<setfsuid>()  は Linux 特有であり、移植を想定したプログラムで使用してはいけ"
9296 "ない。"
9297
9298 #. type: Plain text
9299 #: build/C/man2/setfsuid.2:85
9300 msgid ""
9301 "When glibc determines that the argument is not a valid user ID, it will "
9302 "return -1 and set I<errno> to B<EINVAL> without attempting the system call."
9303 msgstr ""
9304 "glibc が引き数がユーザID として不正だと判断した場合は、 システムコールを行わ"
9305 "ず I<errno> に B<EINVAL> を設定して -1 が返される。"
9306
9307 #. type: Plain text
9308 #: build/C/man2/setfsuid.2:104
9309 msgid ""
9310 "At the time when this system call was introduced, one process could send a "
9311 "signal to another process with the same effective user ID.  This meant that "
9312 "if a privilged process changed its effective user ID for the purpose of file "
9313 "permission checking, then it could become vulnerable to receiving signals "
9314 "sent by another (unprivileged) process with the same user ID.  The "
9315 "filesystem user ID attribute was thus added to allow a process to change its "
9316 "user ID for the purposes of file permission checking without at the same "
9317 "time becoming vulnerable to receiving unwanted signals.  Since Linux 2.0, "
9318 "signal permission handling is different (see B<kill>(2)), with the result "
9319 "that a process change can change its effective user ID without being "
9320 "vulnerable to receiving signals from unwanted processes.  Thus, B<setfsuid>"
9321 "()  is nowadays unneeded and should be avoided in new applications (likewise "
9322 "for B<setfsgid>(2))."
9323 msgstr ""
9324
9325 #. type: Plain text
9326 #: build/C/man2/setfsuid.2:114
9327 msgid ""
9328 "The original Linux B<setfsuid>()  system call supported only 16-bit user "
9329 "IDs.  Subsequently, Linux 2.4 added B<setfsuid32>()  supporting 32-bit IDs.  "
9330 "The glibc B<setfsuid>()  wrapper function transparently deals with the "
9331 "variation across kernel versions."
9332 msgstr ""
9333 "元々の Linux の B<setfsuid>() システムコールは\n"
9334 "16 ビットのグループ ID だけに対応していた。\n"
9335 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
9336 "B<setfsuid32>() が追加された。\n"
9337 "glibc の B<setfsuid>() のラッパー関数は\n"
9338 "カーネルバージョンによるこの違いを吸収している。"
9339
9340 #. type: Plain text
9341 #: build/C/man2/setfsuid.2:131
9342 msgid ""
9343 "No error indications of any kind are returned to the caller, and the fact "
9344 "that both successful and unsuccessful calls return the same value makes it "
9345 "impossible to directly determine whether the call succeeded or failed.  "
9346 "Instead, the caller must resort to looking at the return value from a "
9347 "further call such as I<setfsuid(-1)> (which will always fail), in order to "
9348 "determine if a preceding call to B<setfsuid>()  changed the filesystem user "
9349 "ID.  At the very least, B<EPERM> should be returned when the call fails "
9350 "(because the caller lacks the B<CAP_SETUID> capability)."
9351 msgstr ""
9352
9353 #. type: Plain text
9354 #: build/C/man2/setfsuid.2:136
9355 msgid "B<kill>(2), B<setfsgid>(2), B<capabilities>(7), B<credentials>(7)"
9356 msgstr "B<kill>(2), B<setfsgid>(2), B<capabilities>(7), B<credentials>(7)"
9357
9358 #. type: TH
9359 #: build/C/man2/setgid.2:29
9360 #, no-wrap
9361 msgid "SETGID"
9362 msgstr "SETGID"
9363
9364 #. type: Plain text
9365 #: build/C/man2/setgid.2:32
9366 msgid "setgid - set group identity"
9367 msgstr "setgid - グループ識別(identity)を設定する"
9368
9369 #. type: Plain text
9370 #: build/C/man2/setgid.2:38
9371 msgid "B<int setgid(gid_t >I<gid>B<);>"
9372 msgstr "B<int setgid(gid_t >I<gid>B<);>"
9373
9374 #. type: Plain text
9375 #: build/C/man2/setgid.2:43
9376 msgid ""
9377 "B<setgid>()  sets the effective group ID of the calling process.  If the "
9378 "caller is the superuser, the real GID and saved set-group-ID are also set."
9379 msgstr ""
9380 "B<setgid>()  は呼び出し元のプロセスの実効 (effective) グループID を設定す"
9381 "る。 もしスーパーユーザーによって呼び出された場合は、 実 (real) グループID と"
9382 "保存 (saved) set-group-ID も設定される。"
9383
9384 #. type: Plain text
9385 #: build/C/man2/setgid.2:53
9386 msgid ""
9387 "Under Linux, B<setgid>()  is implemented like the POSIX version with the "
9388 "B<_POSIX_SAVED_IDS> feature.  This allows a set-group-ID program that is not "
9389 "set-user-ID-root to drop all of its group privileges, do some un-privileged "
9390 "work, and then reengage the original effective group ID in a secure manner."
9391 msgstr ""
9392 "Linux において、 B<setgid>()  は B<_POSIX_SAVED_IDS> をもった POSIX 版のよう"
9393 "に実装されている。 これは set-user-ID-root でない set-group-ID プログラムにそ"
9394 "のグループの 特権の全て落とし、特権の必要ない仕事をし、本来の実効グループID "
9395 "に 安全な方法で再び戻すことを許す。"
9396
9397 #. type: Plain text
9398 #: build/C/man2/setgid.2:66
9399 msgid ""
9400 "The calling process is not privileged (does not have the B<CAP_SETGID> "
9401 "capability), and I<gid> does not match the real group ID or saved set-group-"
9402 "ID of the calling process."
9403 msgstr ""
9404 "呼び出し元のプロセスに権限がなく (B<CAP_SETGID> ケーパビリティがなく)、かつ "
9405 "I<gid> が呼び出し元のプロセスの実グループID と保存セットグループID のどちらと"
9406 "も一致しない。"
9407
9408 #. type: Plain text
9409 #: build/C/man2/setgid.2:78
9410 msgid ""
9411 "The original Linux B<setgid>()  system call supported only 16-bit group "
9412 "IDs.  Subsequently, Linux 2.4 added B<setgid32>()  supporting 32-bit IDs.  "
9413 "The glibc B<setgid>()  wrapper function transparently deals with the "
9414 "variation across kernel versions."
9415 msgstr ""
9416 "元々の Linux の B<setgid>() システムコールは\n"
9417 "16 ビットのグループ ID だけに対応していた。\n"
9418 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
9419 "B<setgid32>() が追加された。\n"
9420 "glibc の B<setgid>() のラッパー関数は\n"
9421 "カーネルバージョンによるこの違いを吸収している。"
9422
9423 #. type: Plain text
9424 #: build/C/man2/setgid.2:84
9425 msgid ""
9426 "B<getgid>(2), B<setegid>(2), B<setregid>(2), B<capabilities>(7), "
9427 "B<credentials>(7)"
9428 msgstr ""
9429 "B<getgid>(2), B<setegid>(2), B<setregid>(2), B<capabilities>(7), "
9430 "B<credentials>(7)"
9431
9432 #. type: TH
9433 #: build/C/man2/setpgid.2:48
9434 #, no-wrap
9435 msgid "SETPGID"
9436 msgstr "SETPGID"
9437
9438 #. type: TH
9439 #: build/C/man2/setpgid.2:48
9440 #, no-wrap
9441 msgid "2013-07-31"
9442 msgstr "2013-07-31"
9443
9444 #. type: Plain text
9445 #: build/C/man2/setpgid.2:51
9446 msgid "setpgid, getpgid, setpgrp, getpgrp - set/get process group"
9447 msgstr "setpgid, getpgid, setpgrp, getpgrp - プロセスグループの設定/取得を行う"
9448
9449 #. type: Plain text
9450 #: build/C/man2/setpgid.2:55
9451 msgid "B<int setpgid(pid_t >I<pid>B<, pid_t >I<pgid>B<);>"
9452 msgstr "B<int setpgid(pid_t >I<pid>B<, pid_t >I<pgid>B<);>"
9453
9454 #. type: Plain text
9455 #: build/C/man2/setpgid.2:57
9456 msgid "B<pid_t getpgid(pid_t >I<pid>B<);>"
9457 msgstr "B<pid_t getpgid(pid_t >I<pid>B<);>"
9458
9459 #. type: Plain text
9460 #: build/C/man2/setpgid.2:59
9461 msgid "B<pid_t getpgrp(void);> /* POSIX.1 version */"
9462 msgstr "B<pid_t getpgrp(void);> /* POSIX.1 version */"
9463
9464 #. type: Plain text
9465 #: build/C/man2/setpgid.2:62
9466 msgid ""
9467 "B<pid_t getpgrp(pid_t >I<pid>B<);\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ > /* BSD "
9468 "version */"
9469 msgstr ""
9470 "B<pid_t getpgrp(pid_t >I<pid>B<);\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ > /* BSD "
9471 "version */"
9472
9473 #. type: Plain text
9474 #: build/C/man2/setpgid.2:64
9475 msgid "B<int setpgrp(void);> /* System V version */"
9476 msgstr "B<int setpgrp(void);> /* System V version */"
9477
9478 #. type: Plain text
9479 #: build/C/man2/setpgid.2:67
9480 msgid "B<int setpgrp(pid_t >I<pid>B<, pid_t >I<pgid>B<);\\ > /* BSD version */"
9481 msgstr ""
9482 "B<int setpgrp(pid_t >I<pid>B<, pid_t >I<pgid>B<);\\ > /* BSD version */"
9483
9484 #. type: Plain text
9485 #: build/C/man2/setpgid.2:76
9486 msgid "B<getpgid>():"
9487 msgstr "B<getpgid>():"
9488
9489 #. type: Plain text
9490 #: build/C/man2/setpgid.2:84
9491 msgid "B<setpgrp>() (POSIX.1):"
9492 msgstr "B<setpgrp>() (POSIX.1):"
9493
9494 #. type: Plain text
9495 #: build/C/man2/setpgid.2:87
9496 #, no-wrap
9497 msgid ""
9498 "    _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
9499 "    _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED\n"
9500 msgstr ""
9501 "    _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
9502 "    _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED\n"
9503
9504 #. type: Plain text
9505 #: build/C/man2/setpgid.2:91
9506 msgid "B<setpgrp>()\\ (BSD), B<getpgrp>()\\ (BSD):"
9507 msgstr "B<setpgrp>()\\ (BSD), B<getpgrp>()\\ (BSD):"
9508
9509 #. type: Plain text
9510 #: build/C/man2/setpgid.2:95
9511 #, no-wrap
9512 msgid ""
9513 "    _BSD_SOURCE &&\n"
9514 "        !\\ (_POSIX_SOURCE || _POSIX_C_SOURCE || _XOPEN_SOURCE ||\n"
9515 "           _XOPEN_SOURCE_EXTENDED || _GNU_SOURCE || _SVID_SOURCE)\n"
9516 msgstr ""
9517 "    _BSD_SOURCE &&\n"
9518 "        !\\ (_POSIX_SOURCE || _POSIX_C_SOURCE || _XOPEN_SOURCE ||\n"
9519 "           _XOPEN_SOURCE_EXTENDED || _GNU_SOURCE || _SVID_SOURCE)\n"
9520
9521 #. type: Plain text
9522 #: build/C/man2/setpgid.2:107
9523 msgid ""
9524 "All of these interfaces are available on Linux, and are used for getting and "
9525 "setting the process group ID (PGID) of a process.  The preferred, POSIX.1-"
9526 "specified ways of doing this are: B<getpgrp>(void), for retrieving the "
9527 "calling process's PGID; and B<setpgid>(), for setting a process's PGID."
9528 msgstr ""
9529 "これらのインタフェースすべてが Linux で利用可能で、 これらを使ってプロセスの"
9530 "プロセスグループ ID (PGID) の 取得や設定ができる。 推奨の、POSIX.1 で規定され"
9531 "た方法では、 B<getpgrp>(void)  で呼び出し元プロセスの PGID を取得し、 "
9532 "B<setpgid>()  で設定する。"
9533
9534 #. type: Plain text
9535 #: build/C/man2/setpgid.2:132
9536 msgid ""
9537 "B<setpgid>()  sets the PGID of the process specified by I<pid> to I<pgid>.  "
9538 "If I<pid> is zero, then the process ID of the calling process is used.  If "
9539 "I<pgid> is zero, then the PGID of the process specified by I<pid> is made "
9540 "the same as its process ID.  If B<setpgid>()  is used to move a process from "
9541 "one process group to another (as is done by some shells when creating "
9542 "pipelines), both process groups must be part of the same session (see "
9543 "B<setsid>(2)  and B<credentials>(7)).  In this case, the I<pgid> specifies "
9544 "an existing process group to be joined and the session ID of that group must "
9545 "match the session ID of the joining process."
9546 msgstr ""
9547 "B<setpgid>()  は I<pid> で指定したプロセスの PGID に I<pgid> を設定する。 "
9548 "I<pid> がゼロならば、呼び出し元プロセスのプロセス ID が pid として使用され"
9549 "る。 I<pgid> がゼロならば、 I<pid> で指定されたプロセスの PGID がそのプロセス"
9550 "のプロセス ID と 同じに設定される。 B<setpgid>()  をプロセスをあるプロセスグ"
9551 "ループから別のグループへ 移動するために使用する場合は (一部のシェルはパイプラ"
9552 "インを生成 する時にこれを行う)、両方のプロセスグループは同じセッションの 一部"
9553 "でなければならない (B<setsid>(2)  と B<credentials>(7)  参照)。この場合は "
9554 "I<pgid> は参加すべき既存の プロセスグループを指定し、そのセッション ID は参加"
9555 "するプロセスの セッション ID に一致しなければならない。"
9556
9557 #. type: Plain text
9558 #: build/C/man2/setpgid.2:137
9559 msgid ""
9560 "The POSIX.1 version of B<getpgrp>(), which takes no arguments, returns the "
9561 "PGID of the calling process."
9562 msgstr ""
9563 "POSIX.1 バージョンの B<getpgrp>()  は引き数を一つもとらず、 呼び出し元プロセ"
9564 "スの PGID を返す。"
9565
9566 #. type: Plain text
9567 #: build/C/man2/setpgid.2:148
9568 msgid ""
9569 "B<getpgid>()  returns the PGID of the process specified by I<pid>.  If "
9570 "I<pid> is zero, the process ID of the calling process is used.  (Retrieving "
9571 "the PGID of a process other than the caller is rarely necessary, and the "
9572 "POSIX.1 B<getpgrp>()  is preferred for that task.)"
9573 msgstr ""
9574 "B<getpgid>()  は I<pid> で指定されたプロセスの PGID を返す。 I<pid> がゼロな"
9575 "らば、呼び出し元プロセスのプロセス ID が pid として使用される。 (呼び出し元プ"
9576 "ロセス以外のプロセスの PGID の取得が必要になることは めったになく、呼び出し元"
9577 "プロセスの PGID を取得するには POSIX.1 バージョンの B<getpgrp>()  を使うのが"
9578 "望ましい。)"
9579
9580 #. type: Plain text
9581 #: build/C/man2/setpgid.2:153
9582 msgid ""
9583 "The System V-style B<setpgrp>(), which takes no arguments, is equivalent to "
9584 "I<setpgid(0,\\ 0)>."
9585 msgstr ""
9586 "System V バージョンの B<setpgrp>()  は引き数を一つもとらず、 I<setpgid(0,\\ "
9587 "0)> と等価である。"
9588
9589 #.  The true BSD setpgrp() system call differs in allowing the PGID
9590 #.  to be set to arbitrary values, rather than being restricted to
9591 #.  PGIDs in the same session.
9592 #. type: Plain text
9593 #: build/C/man2/setpgid.2:165
9594 msgid ""
9595 "The BSD-specific B<setpgrp>()  call, which takes arguments I<pid> and "
9596 "I<pgid>, is equivalent to I<setpgid(pid, pgid)>."
9597 msgstr ""
9598 "BSD 仕様の B<setpgrp>()  は I<pid> と I<pgid> を引き数にとり、 I<setpgid"
9599 "(pid, pgid)> と等価である。"
9600
9601 #. type: Plain text
9602 #: build/C/man2/setpgid.2:172
9603 msgid ""
9604 "The BSD-specific B<getpgrp>()  call, which takes a single I<pid> argument, "
9605 "is equivalent to I<getpgid(pid)>."
9606 msgstr ""
9607 "BSD 仕様の B<getpgrp>()  は I<pid> だけを引き数にとり、 I<getpgid(pid)> と等"
9608 "価である。"
9609
9610 #. type: Plain text
9611 #: build/C/man2/setpgid.2:181
9612 msgid ""
9613 "On success, B<setpgid>()  and B<setpgrp>()  return zero.  On error, -1 is "
9614 "returned, and I<errno> is set appropriately."
9615 msgstr ""
9616 "B<setpgid>()  と B<setpgrp>()  は成功した場合、ゼロを返す。エラーの場合は -1 "
9617 "を返し、 I<errno> が適切に設定される。"
9618
9619 #. type: Plain text
9620 #: build/C/man2/setpgid.2:185
9621 msgid "The POSIX.1 B<getpgrp>()  always returns the PGID of the caller."
9622 msgstr ""
9623 "POSIX.1 バージョンの B<getpgrp>()  は常に呼び出しプロセスの PGID を返す。"
9624
9625 #. type: Plain text
9626 #: build/C/man2/setpgid.2:193
9627 msgid ""
9628 "B<getpgid>(), and the BSD-specific B<getpgrp>()  return a process group on "
9629 "success.  On error, -1 is returned, and I<errno> is set appropriately."
9630 msgstr ""
9631 "B<getpgid>()  と BSD 仕様の B<getpgrp>()  は成功した場合プロセスグループを返"
9632 "す。 エラーの場合は -1 を返し、 I<errno> が適切に設定される。"
9633
9634 #. type: Plain text
9635 #: build/C/man2/setpgid.2:202
9636 msgid ""
9637 "An attempt was made to change the process group ID of one of the children of "
9638 "the calling process and the child had already performed an B<execve>(2)  "
9639 "(B<setpgid>(), B<setpgrp>())."
9640 msgstr ""
9641 "呼び出し元プロセスの子プロセスのプロセスグループ ID を変更しようとしたが、 す"
9642 "でにその子プロセスは B<execve>(2)  を実行していた。 (B<setpgid>(), B<setpgrp>"
9643 "())"
9644
9645 #. type: Plain text
9646 #: build/C/man2/setpgid.2:208
9647 msgid "I<pgid> is less than 0 (B<setpgid>(), B<setpgrp>())."
9648 msgstr "I<pgid> が 0 より小さい。 (B<setpgid>(), B<setpgrp>())"
9649
9650 #. type: Plain text
9651 #: build/C/man2/setpgid.2:217
9652 msgid ""
9653 "An attempt was made to move a process into a process group in a different "
9654 "session, or to change the process group ID of one of the children of the "
9655 "calling process and the child was in a different session, or to change the "
9656 "process group ID of a session leader (B<setpgid>(), B<setpgrp>())."
9657 msgstr ""
9658 "プロセスを異なるセッションのプロセスグループに移動させようとした。 または呼び"
9659 "出し元プロセスの子プロセスのプロセスグループ ID を変更しようと したが、その子"
9660 "プロセスは別のセッションだった。 またはセッションリーダーのプロセスグループ "
9661 "ID を変更しようとした。 (B<setpgid>(), B<setpgrp>())"
9662
9663 #. type: Plain text
9664 #: build/C/man2/setpgid.2:227
9665 msgid ""
9666 "For B<getpgid>(): I<pid> does not match any process.  For B<setpgid>(): "
9667 "I<pid> is not the calling process and not a child of the calling process."
9668 msgstr ""
9669 "B<getpgid>()  の場合: I<pid> がどのプロセスにも一致しない。 B<setpgid>()  の"
9670 "場合: I<pid> が呼び出し元のプロセスではなく、呼び出し元のプロセスの子プロセス"
9671 "でもない。"
9672
9673 #. type: Plain text
9674 #: build/C/man2/setpgid.2:233
9675 msgid ""
9676 "B<setpgid>()  and the version of B<getpgrp>()  with no arguments conform to "
9677 "POSIX.1-2001."
9678 msgstr ""
9679 "B<setpgid>()  と、引き数なしバージョンの B<getpgrp>()  は POSIX.1-2001 に準拠"
9680 "している。"
9681
9682 #. type: Plain text
9683 #: build/C/man2/setpgid.2:242
9684 msgid ""
9685 "POSIX.1-2001 also specifies B<getpgid>()  and the version of B<setpgrp>()  "
9686 "that takes no arguments.  (POSIX.1-2008 marks this B<setpgrp>()  "
9687 "specification as obsolete.)"
9688 msgstr ""
9689 "POSIX.1-2001 は、 B<getpgid>()  と、引き数なしバージョンの B<setpgrp>()  も規"
9690 "定している。 POSIX.1-2008 は、この B<setpgrp>()  の仕様を廃止予定としている。"
9691
9692 #. type: Plain text
9693 #: build/C/man2/setpgid.2:249
9694 msgid ""
9695 "The version of B<getpgrp>()  with one argument and the version of B<setpgrp>"
9696 "()  that takes two arguments derive from 4.2BSD, and are not specified by "
9697 "POSIX.1."
9698 msgstr ""
9699 "引き数 1 個バージョンの B<getpgrp>()  と引き数 2 個バージョンの B<setpgrp>"
9700 "()  は 4.2BSD に由来し、 POSIX.1 では規定されていない。"
9701
9702 #. type: Plain text
9703 #: build/C/man2/setpgid.2:255
9704 msgid ""
9705 "A child created via B<fork>(2)  inherits its parent's process group ID.  The "
9706 "PGID is preserved across an B<execve>(2)."
9707 msgstr ""
9708 "B<fork>(2)  で作成された子プロセスは、親プロセスの PGID を継承する。 "
9709 "B<execve>(2)  の前後で PGID は保存される。"
9710
9711 #. type: Plain text
9712 #: build/C/man2/setpgid.2:258
9713 msgid ""
9714 "Each process group is a member of a session and each process is a member of "
9715 "the session of which its process group is a member."
9716 msgstr ""
9717 "各プロセスグループはセッションのメンバーであり、各プロセスは そのプロセスグ"
9718 "ループが所属しているセッションのメンバーである。"
9719
9720 #. type: Plain text
9721 #: build/C/man2/setpgid.2:285
9722 msgid ""
9723 "A session can have a controlling terminal.  At any time, one (and only one) "
9724 "of the process groups in the session can be the foreground process group for "
9725 "the terminal; the remaining process groups are in the background.  If a "
9726 "signal is generated from the terminal (e.g., typing the interrupt key to "
9727 "generate B<SIGINT>), that signal is sent to the foreground process group.  "
9728 "(See B<termios>(3)  for a description of the characters that generate "
9729 "signals.)  Only the foreground process group may B<read>(2)  from the "
9730 "terminal; if a background process group tries to B<read>(2)  from the "
9731 "terminal, then the group is sent a B<SIGTTIN> signal, which suspends it.  "
9732 "The B<tcgetpgrp>(3)  and B<tcsetpgrp>(3)  functions are used to get/set the "
9733 "foreground process group of the controlling terminal."
9734 msgstr ""
9735 "セッションは制御端末 (controlling terminal) を持つことができる。 いつでも、"
9736 "セッションに所属するプロセスグループの一つ (だけ) が 端末のフォアグランドのプ"
9737 "ロセスグループになることができ、 残りのプロセスグループはバックグラウンドにな"
9738 "る。 端末からシグナルが生成された場合 (例えば、中断キーを叩いて B<SIGINT> が"
9739 "生成されるなど)、そのシグナルはフォアグラウンドのプロセスグループ に送られる "
9740 "(シグナルを生成する文字の説明は B<termios>(3)  を参照)。 フォアグラウンドのプ"
9741 "ロセスグループだけが端末からの B<read>(2)  ができる。 バックグラウンドのプロ"
9742 "セスグループが端末からの B<read>(2)  を行おうとした場合、そのプロセスグループ"
9743 "にはシグナル B<SIGTTIN> が送られ、そのプロセスグループは一時停止 (suspend) す"
9744 "る。 関数 B<tcgetpgrp>(3)  と B<tcsetpgrp>(3)  を使うと、制御端末のフォアグラ"
9745 "ウンドのプロセスグループを 取得/設定できる。"
9746
9747 #. type: Plain text
9748 #: build/C/man2/setpgid.2:293
9749 msgid ""
9750 "The B<setpgid>()  and B<getpgrp>()  calls are used by programs such as "
9751 "B<bash>(1)  to create process groups in order to implement shell job control."
9752 msgstr ""
9753 "B<setpgid>()  と B<getpgrp>()  は、 B<bash>(1)  のようなプログラムで、シェル"
9754 "のジョブ制御 (job control) の実装のための プロセスグループを作成するのに使わ"
9755 "れる。"
9756
9757 #. type: Plain text
9758 #: build/C/man2/setpgid.2:303
9759 msgid ""
9760 "If a session has a controlling terminal, and the B<CLOCAL> flag for that "
9761 "terminal is not set, and a terminal hangup occurs, then the session leader "
9762 "is sent a B<SIGHUP>.  If the session leader exits, then a B<SIGHUP> signal "
9763 "will also be sent to each process in the foreground process group of the "
9764 "controlling terminal."
9765 msgstr ""
9766 "セッションが制御端末を持っていて、その端末に対して B<CLOCAL> フラグが設定され"
9767 "ておらず、端末のハングアップが起きた場合、 セッション・リーダーに B<SIGHUP> "
9768 "が送られる。 セッション・リーダーが終了した場合には、その制御端末の フォアグ"
9769 "ランドのプロセスグループに所属する各プロセスにも B<SIGHUP> シグナルが送られ"
9770 "る。"
9771
9772 #.  exit.3 refers to the following text:
9773 #. type: Plain text
9774 #: build/C/man2/setpgid.2:317
9775 msgid ""
9776 "If the exit of the process causes a process group to become orphaned, and if "
9777 "any member of the newly orphaned process group is stopped, then a B<SIGHUP> "
9778 "signal followed by a B<SIGCONT> signal will be sent to each process in the "
9779 "newly orphaned process group.  An orphaned process group is one in which the "
9780 "parent of every member of process group is either itself also a member of "
9781 "the process group or is a member of a process group in a different session "
9782 "(see also B<credentials>(7))."
9783 msgstr ""
9784 "プロセスの終了によってプロセスグループが孤児 (orphaned) になった際に、 その新"
9785 "たに孤児になったプロセスグループに停止しているメンバーがいれば、 その孤児に"
9786 "なったプロセスグループに属す全てのプロセスに B<SIGHUP> シグナルに続けて "
9787 "B<SIGCONT> シグナルが送られる。 孤児になった (orphaned) プロセスグループと"
9788 "は、 そのプロセスグループの全てのメンバーについて、メンバーの親プロセスが、 "
9789 "親プロセス自身もそのプロセスグループのメンバーか、 別のセッションに属すプロセ"
9790 "スグループのメンバーのいずれかであるような、 プロセスグループのことである。"
9791
9792 #. type: Plain text
9793 #: build/C/man2/setpgid.2:324
9794 msgid ""
9795 "B<getuid>(2), B<setsid>(2), B<tcgetpgrp>(3), B<tcsetpgrp>(3), B<termios>(3), "
9796 "B<credentials>(7)"
9797 msgstr ""
9798 "B<getuid>(2), B<setsid>(2), B<tcgetpgrp>(3), B<tcsetpgrp>(3), B<termios>(3), "
9799 "B<credentials>(7)"
9800
9801 #. type: TH
9802 #: build/C/man2/setresuid.2:26
9803 #, no-wrap
9804 msgid "SETRESUID"
9805 msgstr "SETRESUID"
9806
9807 #. type: Plain text
9808 #: build/C/man2/setresuid.2:29
9809 msgid "setresuid, setresgid - set real, effective and saved user or group ID"
9810 msgstr "setresuid, setresgid - ユーザやグループの 実、実効、保存 ID を設定する"
9811
9812 #. type: Plain text
9813 #: build/C/man2/setresuid.2:35
9814 msgid "B<int setresuid(uid_t >I<ruid>B<, uid_t >I<euid>B<, uid_t >I<suid>B<);>"
9815 msgstr ""
9816 "B<int setresuid(uid_t >I<ruid>B<, uid_t >I<euid>B<, uid_t >I<suid>B<);>"
9817
9818 #. type: Plain text
9819 #: build/C/man2/setresuid.2:37
9820 msgid "B<int setresgid(gid_t >I<rgid>B<, gid_t >I<egid>B<, gid_t >I<sgid>B<);>"
9821 msgstr ""
9822 "B<int setresgid(gid_t >I<rgid>B<, gid_t >I<egid>B<, gid_t >I<sgid>B<);>"
9823
9824 #. type: Plain text
9825 #: build/C/man2/setresuid.2:41
9826 msgid ""
9827 "B<setresuid>()  sets the real user ID, the effective user ID, and the saved "
9828 "set-user-ID of the calling process."
9829 msgstr ""
9830 "B<setresuid>()  は呼び出し元のプロセスの実 (real) ユーザーID、実効 "
9831 "(effective) ユーザーID、 保存 set-user-ID を設定する。"
9832
9833 #. type: Plain text
9834 #: build/C/man2/setresuid.2:47
9835 msgid ""
9836 "Unprivileged user processes may change the real UID, effective UID, and "
9837 "saved set-user-ID, each to one of: the current real UID, the current "
9838 "effective UID or the current saved set-user-ID."
9839 msgstr ""
9840 "非特権ユーザーのプロセスは、その実 UID、実効 UID、保存 set-user-ID を、 現在"
9841 "の実 UID、現在の実効 UID、現在の保存 set-user-ID のどれかに変更することができ"
9842 "る:"
9843
9844 #. type: Plain text
9845 #: build/C/man2/setresuid.2:51
9846 msgid ""
9847 "Privileged processes (on Linux, those having the B<CAP_SETUID> capability)  "
9848 "may set the real UID, effective UID, and saved set-user-ID to arbitrary "
9849 "values."
9850 msgstr ""
9851 "特権プロセス (Linux では B<CAP_SETUID> ケーパビリティ (capability) を持つ プ"
9852 "ロセス) は、実 UID、実効 UID、保存 set-user-ID を任意の値に設定できる。"
9853
9854 #. type: Plain text
9855 #: build/C/man2/setresuid.2:53
9856 msgid ""
9857 "If one of the arguments equals -1, the corresponding value is not changed."
9858 msgstr "引き数のどれかが -1 の場合はその値は変更されずに残される。"
9859
9860 #. type: Plain text
9861 #: build/C/man2/setresuid.2:57
9862 #, fuzzy
9863 #| msgid ""
9864 #| "Regardless of what changes are made to the real UID, effective UID, and "
9865 #| "saved set-user-ID, the file system UID is always set to the same value as "
9866 #| "the (possibly new) effective UID."
9867 msgid ""
9868 "Regardless of what changes are made to the real UID, effective UID, and "
9869 "saved set-user-ID, the filesystem UID is always set to the same value as the "
9870 "(possibly new) effective UID."
9871 msgstr ""
9872 "実 UID、実効 UID、保存 set-user-ID にどんな変更が行われたかに関わらず、 ファ"
9873 "イルシステム UID は常に実効 UID (可能であれば変更後の新しい実効 UID)  と同じ"
9874 "値に設定される。"
9875
9876 #. type: Plain text
9877 #: build/C/man2/setresuid.2:64
9878 #, fuzzy
9879 #| msgid ""
9880 #| "Completely analogously, B<setresgid>()  sets the real GID, effective GID, "
9881 #| "and saved set-group-ID of the calling process (and always modifies the "
9882 #| "file system GID to be the same as the effective GID), with the same "
9883 #| "restrictions for unprivileged processes."
9884 msgid ""
9885 "Completely analogously, B<setresgid>()  sets the real GID, effective GID, "
9886 "and saved set-group-ID of the calling process (and always modifies the "
9887 "filesystem GID to be the same as the effective GID), with the same "
9888 "restrictions for unprivileged processes."
9889 msgstr ""
9890 "全く同じように、 B<setresgid>()  は呼び出し元のプロセスの実 GID、実効 GID、保"
9891 "存 set-group-ID を設定する (さらにファイルシステム GID を実効 GID と同じ値に"
9892 "修正する)。 非特権プロセスは同様の制限を受ける。"
9893
9894 #. type: TP
9895 #: build/C/man2/setresuid.2:70 build/C/man2/setuid.2:76
9896 #, no-wrap
9897 msgid "B<EAGAIN>"
9898 msgstr "B<EAGAIN>"
9899
9900 #. type: Plain text
9901 #: build/C/man2/setresuid.2:77
9902 msgid ""
9903 "I<uid> does not match the current UID and this call would bring that user ID "
9904 "over its B<RLIMIT_NPROC> resource limit."
9905 msgstr ""
9906 "I<uid> が現在のユーザー ID と違う値で、 この呼び出しにより ユーザー ID が リ"
9907 "ソース上限 B<RLIMIT_NPROC> を超えてしまう。"
9908
9909 #. type: Plain text
9910 #: build/C/man2/setresuid.2:81
9911 msgid ""
9912 "The calling process is not privileged (did not have the B<CAP_SETUID> "
9913 "capability) and tried to change the IDs to values that are not permitted."
9914 msgstr ""
9915 "呼び出したプロセスが特権を持たないのに (B<CAP_SETUID> ケーパビリティを持たな"
9916 "いのに)、 ID を許されていない値に変更しようとした。"
9917
9918 #. type: Plain text
9919 #: build/C/man2/setresuid.2:83
9920 msgid "These calls are available under Linux since Linux 2.1.44."
9921 msgstr "Linux ではバージョン 2.1.44 より利用可能になった。"
9922
9923 #. type: Plain text
9924 #: build/C/man2/setresuid.2:90
9925 msgid ""
9926 "Under HP-UX and FreeBSD, the prototype is found in I<E<lt>unistd.hE<gt>>.  "
9927 "Under Linux the prototype is provided by glibc since version 2.3.2."
9928 msgstr ""
9929 "HP-UX や FreeBSD では I<E<lt>unistd.hE<gt>> にプロトタイプが存在する。 \n"
9930 "Linux では、glibc 2.3.2 以降で プロトタイプが提供されている。"
9931
9932 #. type: Plain text
9933 #: build/C/man2/setresuid.2:106
9934 msgid ""
9935 "The original Linux B<setresuid>()  and B<setresgid>()  system calls "
9936 "supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
9937 "B<setresuid32>()  and B<setresgid32>(), supporting 32-bit IDs.  The glibc "
9938 "B<setresuid>()  and B<setresgid>()  wrapper functions transparently deal "
9939 "with the variations across kernel versions."
9940 msgstr ""
9941 "元々の Linux の B<setresuid>() と B<setresgid>() システムコールは\n"
9942 "16 ビットのグループ ID だけに対応していた。\n"
9943 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
9944 "B<setresuid32>() と B<setresgid32>() が追加された。\n"
9945 "glibc の B<setresuid>() と B<setresgid>() のラッパー関数は\n"
9946 "カーネルバージョンによるこの違いを吸収している。"
9947
9948 #. type: Plain text
9949 #: build/C/man2/setresuid.2:115
9950 msgid ""
9951 "B<getresuid>(2), B<getuid>(2), B<setfsgid>(2), B<setfsuid>(2), B<setreuid>"
9952 "(2), B<setuid>(2), B<capabilities>(7), B<credentials>(7)"
9953 msgstr ""
9954 "B<getresuid>(2), B<getuid>(2), B<setfsgid>(2), B<setfsuid>(2), B<setreuid>"
9955 "(2), B<setuid>(2), B<capabilities>(7), B<credentials>(7)"
9956
9957 #. type: TH
9958 #: build/C/man2/setreuid.2:45
9959 #, no-wrap
9960 msgid "SETREUID"
9961 msgstr "SETREUID"
9962
9963 #. type: Plain text
9964 #: build/C/man2/setreuid.2:48
9965 msgid "setreuid, setregid - set real and/or effective user or group ID"
9966 msgstr ""
9967 "setreuid, setregid - 実 (real) と実効 (effective) ユーザー (グループ) ID を設"
9968 "定する"
9969
9970 #. type: Plain text
9971 #: build/C/man2/setreuid.2:54
9972 msgid "B<int setreuid(uid_t >I<ruid>B<, uid_t >I<euid>B<);>"
9973 msgstr "B<int setreuid(uid_t >I<ruid>B<, uid_t >I<euid>B<);>"
9974
9975 #. type: Plain text
9976 #: build/C/man2/setreuid.2:56
9977 msgid "B<int setregid(gid_t >I<rgid>B<, gid_t >I<egid>B<);>"
9978 msgstr "B<int setregid(gid_t >I<rgid>B<, gid_t >I<egid>B<);>"
9979
9980 #. type: Plain text
9981 #: build/C/man2/setreuid.2:64
9982 msgid "B<setreuid>(), B<setregid>():"
9983 msgstr "B<setreuid>(), B<setregid>():"
9984
9985 #. type: Plain text
9986 #: build/C/man2/setreuid.2:68
9987 msgid ""
9988 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
9989 "_XOPEN_SOURCE_EXTENDED"
9990 msgstr ""
9991 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
9992 "_XOPEN_SOURCE_EXTENDED"
9993
9994 #. type: Plain text
9995 #: build/C/man2/setreuid.2:73
9996 msgid "B<setreuid>()  sets real and effective user IDs of the calling process."
9997 msgstr ""
9998 "B<setreuid>()  は呼び出し元のプロセスの実 (real) ユーザー ID と 実効 "
9999 "(effective) ユーザー ID を設定する。"
10000
10001 #. type: Plain text
10002 #: build/C/man2/setreuid.2:76
10003 msgid ""
10004 "Supplying a value of -1 for either the real or effective user ID forces the "
10005 "system to leave that ID unchanged."
10006 msgstr ""
10007 "実ユーザー ID や実効ユーザー ID に -1 を与えた場合、 システムはその ID を変更"
10008 "しない。"
10009
10010 #. type: Plain text
10011 #: build/C/man2/setreuid.2:79
10012 msgid ""
10013 "Unprivileged processes may only set the effective user ID to the real user "
10014 "ID, the effective user ID, or the saved set-user-ID."
10015 msgstr ""
10016 "非特権プロセスは実効ユーザー ID を実ユーザー ID または実効ユーザー ID または "
10017 "保存 set-user-ID にしか設定できない。"
10018
10019 #. type: Plain text
10020 #: build/C/man2/setreuid.2:82
10021 msgid ""
10022 "Unprivileged users may only set the real user ID to the real user ID or the "
10023 "effective user ID."
10024 msgstr ""
10025 "非特権ユーザーは、実ユーザー ID を実ユーザー ID または 実効ユーザー ID にしか"
10026 "設定できない。"
10027
10028 #. type: Plain text
10029 #: build/C/man2/setreuid.2:86
10030 msgid ""
10031 "If the real user ID is set or the effective user ID is set to a value not "
10032 "equal to the previous real user ID, the saved set-user-ID will be set to the "
10033 "new effective user ID."
10034 msgstr ""
10035 "実ユーザーID が設定されたり、実効ユーザーID が前の実ユーザーID と 異った値に"
10036 "設定された場合、保存 set-user-ID には新しい実効ユーザーID の値が設定される。"
10037
10038 #. type: Plain text
10039 #: build/C/man2/setreuid.2:91
10040 msgid ""
10041 "Completely analogously, B<setregid>()  sets real and effective group ID's of "
10042 "the calling process, and all of the above holds with \"group\" instead of "
10043 "\"user\"."
10044 msgstr ""
10045 "これと全く同様に、 B<setregid>()  は呼び出し元のプロセスの実グループ ID と実"
10046 "効グループ ID を設定し、 上記の説明で「ユーザー」を「グループ」に読み替えたこ"
10047 "とが成り立つ。"
10048
10049 #. type: Plain text
10050 #: build/C/man2/setreuid.2:113
10051 msgid ""
10052 "The calling process is not privileged (Linux: does not have the "
10053 "B<CAP_SETUID> capability in the case of B<setreuid>(), or the B<CAP_SETGID> "
10054 "capability in the case of B<setregid>())  and a change other than (i)  "
10055 "swapping the effective user (group) ID with the real user (group) ID, or "
10056 "(ii) setting one to the value of the other or (iii) setting the effective "
10057 "user (group) ID to the value of the saved set-user-ID (saved set-group-ID) "
10058 "was specified."
10059 msgstr ""
10060 "呼び出し元のプロセスに特権がなく (Linux では B<setreuid>()  の場合に "
10061 "B<CAP_SETUID> ケーパビリティ (capability) がなく、 B<setregid>()  の場合に "
10062 "B<CAP_SETGID> ケーパビリティがない)、 以下のいずれでもない変更が指定された: "
10063 "(i) 実効ユーザー (グループ) ID と実ユーザー (グループ) ID を入れ換える。 "
10064 "(ii) 片方の値を他方に設定する。 (iii) 実効ユーザー (グループ) ID に保存 set-"
10065 "user-ID (保存 set-group-ID)  の値を設定する。"
10066
10067 #. type: Plain text
10068 #: build/C/man2/setreuid.2:119
10069 msgid ""
10070 "POSIX.1-2001, 4.3BSD (the B<setreuid>()  and B<setregid>()  function calls "
10071 "first appeared in 4.2BSD)."
10072 msgstr ""
10073 "POSIX.1-2001, 4.3BSD (B<setreuid>()  と B<setregid>()  関数コールは 4.2BSD で"
10074 "登場した)。"
10075
10076 #. type: Plain text
10077 #: build/C/man2/setreuid.2:123
10078 msgid ""
10079 "Setting the effective user (group) ID to the saved set-user-ID (saved set-"
10080 "group-ID) is possible since Linux 1.1.37 (1.1.38)."
10081 msgstr ""
10082 "実効ユーザー (グループ) ID を保存ユーザー (グループ) ID に 設定することが、"
10083 "Linux 1.1.37 (1.1.38) から可能になった。"
10084
10085 #. type: Plain text
10086 #: build/C/man2/setreuid.2:140
10087 msgid ""
10088 "POSIX.1 does not specify all of possible ID changes that are permitted on "
10089 "Linux for an unprivileged process.  For B<setreuid>(), the effective user ID "
10090 "can be made the same as the real user ID or the save set-user-ID, and it is "
10091 "unspecified whether unprivileged processes may set the real user ID to the "
10092 "real user ID, the effective user ID, or the saved set-user-ID.  For "
10093 "B<setregid>(), the real group ID can be changed to the value of the saved "
10094 "set-group-ID, and the effective group ID can be changed to the value of the "
10095 "real group ID or the saved set-group-ID.  The precise details of what ID "
10096 "changes are permitted vary across implementations."
10097 msgstr ""
10098 "POSIX.1 では、非特権プロセスに対して Linux 上で認められている ID の変更の 全"
10099 "パターンを規定しているわけではない。 B<setreuid>()  では、実効ユーザ ID を実"
10100 "ユーザ ID もしくは保存 set-user-ID と 同じ値にすることができるが、 非特権プロ"
10101 "セスが実ユーザ ID を実ユーザ ID、実効ユーザ ID、 保存 set-user-ID のどの値に"
10102 "も設定できるかは規定されていない。 B<setregid>()  では、実グループ ID を保存 "
10103 "set-group-ID と同じ値に変更でき、 実効グループ ID を実グループ ID や保存 set-"
10104 "group-ID と同じ値に変更できる。 どのような ID の変更が認められているかの正確"
10105 "な詳細は 実装ごとに異なる。"
10106
10107 #. type: Plain text
10108 #: build/C/man2/setreuid.2:143
10109 msgid ""
10110 "POSIX.1 makes no specification about the effect of these calls on the saved "
10111 "set-user-ID and saved set-group-ID."
10112 msgstr ""
10113 "POSIX.1 では、これらのシステムコールが保存 set-user-ID や 保存 set-group-ID "
10114 "に与える影響については規定していない。"
10115
10116 #. type: Plain text
10117 #: build/C/man2/setreuid.2:159
10118 msgid ""
10119 "The original Linux B<setreuid>()  and B<setregid>()  system calls supported "
10120 "only 16-bit user and group IDs.  Subsequently, Linux 2.4 added B<setreuid32>"
10121 "()  and B<setregid32>(), supporting 32-bit IDs.  The glibc B<setreuid>()  "
10122 "and B<setregid>()  wrapper functions transparently deal with the variations "
10123 "across kernel versions."
10124 msgstr ""
10125 "元々の Linux の B<setreuid>() と B<setregid>() システムコールは\n"
10126 "16 ビットのグループ ID だけに対応していた。\n"
10127 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
10128 "B<setreuid32>() と B<setregid32>() が追加された。\n"
10129 "glibc の B<setreuid>() と B<setregid>() のラッパー関数は\n"
10130 "カーネルバージョンによるこの違いを吸収している。"
10131
10132 #. type: Plain text
10133 #: build/C/man2/setreuid.2:167
10134 msgid ""
10135 "B<getgid>(2), B<getuid>(2), B<seteuid>(2), B<setgid>(2), B<setresuid>(2), "
10136 "B<setuid>(2), B<capabilities>(7)"
10137 msgstr ""
10138 "B<getgid>(2), B<getuid>(2), B<seteuid>(2), B<setgid>(2), B<setresuid>(2), "
10139 "B<setuid>(2), B<capabilities>(7)"
10140
10141 #. type: TH
10142 #: build/C/man2/setsid.2:30
10143 #, no-wrap
10144 msgid "SETSID"
10145 msgstr "SETSID"
10146
10147 #. type: Plain text
10148 #: build/C/man2/setsid.2:33
10149 msgid "setsid - creates a session and sets the process group ID"
10150 msgstr "setsid - セッション (session) を作成し、プロセスグループ ID を設定する"
10151
10152 #. type: Plain text
10153 #: build/C/man2/setsid.2:38
10154 msgid "B<pid_t setsid(void);>"
10155 msgstr "B<pid_t setsid(void);>"
10156
10157 #. type: Plain text
10158 #: build/C/man2/setsid.2:51
10159 msgid ""
10160 "B<setsid>()  creates a new session if the calling process is not a process "
10161 "group leader.  The calling process is the leader of the new session, the "
10162 "process group leader of the new process group, and has no controlling "
10163 "terminal.  The process group ID and session ID of the calling process are "
10164 "set to the PID of the calling process.  The calling process will be the only "
10165 "process in this new process group and in this new session."
10166 msgstr ""
10167 "B<setsid>()  は呼び出したプロセスがプロセスグループ・リーダー (process group "
10168 "leader) でなければ、新しいセッションを作成する。 呼び出したプロセスは新しい"
10169 "セッションのリーダー、新しいプロセスグループの プロセスグループ・リーダーとな"
10170 "り、端末の制御を持たない。 呼び出したプロセスのプロセスグループ ID とセッショ"
10171 "ン ID には、 呼び出したプロセスの PID が設定される。呼び出したプロセスはこの "
10172 "新しいプロセスグループ、この新しいセッションの唯一のプロセスとなる。"
10173
10174 #. type: Plain text
10175 #: build/C/man2/setsid.2:58
10176 msgid ""
10177 "On success, the (new) session ID of the calling process is returned.  On "
10178 "error, I<(pid_t)\\ -1> is returned, and I<errno> is set to indicate the "
10179 "error."
10180 msgstr ""
10181 "成功すると、呼び出したプロセスの (新しい) セッション ID が返される。 エラーの"
10182 "場合は、 I<(pid_t)\\ -1> が返され、 I<error> にエラーを示す値が設定される。"
10183
10184 #. type: Plain text
10185 #: build/C/man2/setsid.2:65
10186 msgid ""
10187 "The process group ID of any process equals the PID of the calling process.  "
10188 "Thus, in particular, B<setsid>()  fails if the calling process is already a "
10189 "process group leader."
10190 msgstr ""
10191 "いずれかのプロセスのプロセスグループ ID が、 呼び出したプロセスの PID と等し"
10192 "い。 これは、呼び出したプロセスが既にプロセスリーダーの場合には B<setsid>()  "
10193 "は失敗することを意味する。"
10194
10195 #. type: Plain text
10196 #: build/C/man2/setsid.2:73
10197 msgid ""
10198 "A child created via B<fork>(2)  inherits its parent's session ID.  The "
10199 "session ID is preserved across an B<execve>(2)."
10200 msgstr ""
10201 "B<fork>(2)  で作成された子プロセスは、親プロセスのセッション ID を継承する。 "
10202 "B<execve>(2)  の前後でセッション ID は保存される。"
10203
10204 #. type: Plain text
10205 #: build/C/man2/setsid.2:84
10206 msgid ""
10207 "A process group leader is a process with process group ID equal to its PID.  "
10208 "In order to be sure that B<setsid>()  will succeed, B<fork>(2)  and B<_exit>"
10209 "(2), and have the child do B<setsid>()."
10210 msgstr ""
10211 "プロセスグループ・リーダーとは、そのプロセスのプロセスグループ ID が その "
10212 "PID に等しいプロセスである。 B<setsid>()  を確実に成功させるためには、 "
10213 "B<fork>(2)  して B<exit>(2)  し、子プロセスで B<setsid>()  を行なえば良い。"
10214
10215 #. type: Plain text
10216 #: build/C/man2/setsid.2:91
10217 msgid ""
10218 "B<setsid>(1), B<getsid>(2), B<setpgid>(2), B<setpgrp>(2), B<tcgetsid>(3), "
10219 "B<credentials>(7)"
10220 msgstr ""
10221 "B<setsid>(1), B<getsid>(2), B<setpgid>(2), B<setpgrp>(2), B<tcgetsid>(3), "
10222 "B<credentials>(7)"
10223
10224 #. type: TH
10225 #: build/C/man2/setuid.2:30
10226 #, no-wrap
10227 msgid "SETUID"
10228 msgstr "SETUID"
10229
10230 #. type: Plain text
10231 #: build/C/man2/setuid.2:33
10232 msgid "setuid - set user identity"
10233 msgstr "setuid - ユーザー識別 (identity) を設定する"
10234
10235 #. type: Plain text
10236 #: build/C/man2/setuid.2:39
10237 msgid "B<int setuid(uid_t >I<uid>B<);>"
10238 msgstr "B<int setuid(uid_t >I<uid>B<);>"
10239
10240 #. type: Plain text
10241 #: build/C/man2/setuid.2:44
10242 msgid ""
10243 "B<setuid>()  sets the effective user ID of the calling process.  If the "
10244 "effective UID of the caller is root, the real UID and saved set-user-ID are "
10245 "also set."
10246 msgstr ""
10247 "B<setuid>()  は呼び出し元のプロセスの実効 (effective) ユーザー ID を設定す"
10248 "る。 もし呼び出し元プロセスの実効 UID が root ならば、 実 (real) UID と保存 "
10249 "(saved) set-user-ID も設定される。"
10250
10251 #. type: Plain text
10252 #: build/C/man2/setuid.2:53
10253 msgid ""
10254 "Under Linux, B<setuid>()  is implemented like the POSIX version with the "
10255 "B<_POSIX_SAVED_IDS> feature.  This allows a set-user-ID (other than root) "
10256 "program to drop all of its user privileges, do some un-privileged work, and "
10257 "then reengage the original effective user ID in a secure manner."
10258 msgstr ""
10259 "Linux では、 B<setuid>()  は B<_POSIX_SAVED_IDS> をもった POSIX 版のように実"
10260 "装されている。 これは (ルート以外の) set-user-ID プログラムにそのユーザーの特"
10261 "権を 全て与え、特権の必要ない仕事をし、本来の実効ユーザー ID に 安全な方法で"
10262 "再び戻すことを許す。"
10263
10264 #. type: Plain text
10265 #: build/C/man2/setuid.2:63
10266 msgid ""
10267 "If the user is root or the program is set-user-ID-root, special care must be "
10268 "taken.  The B<setuid>()  function checks the effective user ID of the caller "
10269 "and if it is the superuser, all process-related user ID's are set to "
10270 "I<uid>.  After this has occurred, it is impossible for the program to regain "
10271 "root privileges."
10272 msgstr ""
10273 "ユーザーが root またはプログラムが root に set-user-ID されているならば、 特"
10274 "別の注意が払われる。 B<setuid>()  関数は呼び出し者の実効ユーザー ID をチェッ"
10275 "クし、 それがスーパーユーザーならば、 プロセスに関連する全てのユーザー ID に "
10276 "I<uid> を設定する。 これが行なわれた後にはプログラムが再びルートの特権を得る"
10277 "ことはできない。"
10278
10279 #. type: Plain text
10280 #: build/C/man2/setuid.2:70
10281 msgid ""
10282 "Thus, a set-user-ID-root program wishing to temporarily drop root "
10283 "privileges, assume the identity of an unprivileged user, and then regain "
10284 "root privileges afterward cannot use B<setuid>().  You can accomplish this "
10285 "with B<seteuid>(2)."
10286 msgstr ""
10287 "したがって、set-user-ID-root プログラムで、一時的にルート特権を解除し、 非特"
10288 "権ユーザであるかのように振舞い、後でルート権限をもう一度得ようと する場合に"
10289 "は、 B<setuid>()  を使うことができない。その場合には、 B<seteuid>(2)  を使う"
10290 "必要がある。"
10291
10292 #. type: Plain text
10293 #: build/C/man2/setuid.2:85
10294 msgid ""
10295 "The I<uid> does not match the current uid and I<uid> brings process over its "
10296 "B<RLIMIT_NPROC> resource limit."
10297 msgstr ""
10298 "I<uid> が現在のユーザー ID とマッチせず、この I<uid> によってプロセスがリソー"
10299 "ス上限 B<RLIMIT_NPROC> を超えた。"
10300
10301 #. type: Plain text
10302 #: build/C/man2/setuid.2:92
10303 msgid ""
10304 "The user is not privileged (Linux: does not have the B<CAP_SETUID> "
10305 "capability) and I<uid> does not match the real UID or saved set-user-ID of "
10306 "the calling process."
10307 msgstr ""
10308 "ユーザーが特権を持たず (Linux では B<CAP_SETUID> ケーパビリティ (capability) "
10309 "を持たず)、 I<uid> が呼び出し元プロセスの実 UID または保存 set-user-ID と一致"
10310 "しない。"
10311
10312 #.  SVr4 documents an additional EINVAL error condition.
10313 #. type: Plain text
10314 #: build/C/man2/setuid.2:97
10315 msgid ""
10316 "SVr4, POSIX.1-2001.  Not quite compatible with the 4.4BSD call, which sets "
10317 "all of the real, saved, and effective user IDs."
10318 msgstr ""
10319 "SVr4, POSIX.1-2001.  4.4BSD のコールとは完全な互換性はない、 BSD のコールは"
10320 "実 (real)、保存 (saved)、実効 (effective) ID の全てを設定する。"
10321
10322 #. type: Plain text
10323 #: build/C/man2/setuid.2:105
10324 #, fuzzy
10325 #| msgid ""
10326 #| "Linux has the concept of the file system user ID, normally equal to the "
10327 #| "effective user ID.  The B<setuid>()  call also sets the file system user "
10328 #| "ID of the calling process.  See B<setfsuid>(2)."
10329 msgid ""
10330 "Linux has the concept of the filesystem user ID, normally equal to the "
10331 "effective user ID.  The B<setuid>()  call also sets the filesystem user ID "
10332 "of the calling process.  See B<setfsuid>(2)."
10333 msgstr ""
10334 "Linux はファイルシステム・ユーザー ID の概念を持つ。\n"
10335 "通常、これは実効ユーザー ID に等しい。 \n"
10336 "B<setuid>()  コールは呼び出し元のプロセスの\n"
10337 "ファイルシステム・ユーザー ID も設定する。 \n"
10338 "B<setfsuid>(2) も参照すること。"
10339
10340 #. type: Plain text
10341 #: build/C/man2/setuid.2:110
10342 msgid ""
10343 "If I<uid> is different from the old effective UID, the process will be "
10344 "forbidden from leaving core dumps."
10345 msgstr ""
10346 "I<uid> が前の実効 UID と異っていた場合、\n"
10347 "プロセスはコアダンプすることを禁止される。"
10348
10349 #. type: Plain text
10350 #: build/C/man2/setuid.2:120
10351 msgid ""
10352 "The original Linux B<setuid>()  system call supported only 16-bit user IDs.  "
10353 "Subsequently, Linux 2.4 added B<setuid32>()  supporting 32-bit IDs.  The "
10354 "glibc B<setuid>()  wrapper function transparently deals with the variation "
10355 "across kernel versions."
10356 msgstr ""
10357 "元々の Linux の B<setuid>() システムコールは\n"
10358 "16 ビットのグループ ID だけに対応していた。\n"
10359 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
10360 "B<setuid32>() が追加された。\n"
10361 "glibc の B<setuid>() のラッパー関数は\n"
10362 "カーネルバージョンによるこの違いを吸収している。"
10363
10364 #. type: Plain text
10365 #: build/C/man2/setuid.2:127
10366 msgid ""
10367 "B<getuid>(2), B<seteuid>(2), B<setfsuid>(2), B<setreuid>(2), B<capabilities>"
10368 "(7), B<credentials>(7)"
10369 msgstr ""
10370 "B<getuid>(2), B<seteuid>(2), B<setfsuid>(2), B<setreuid>(2), B<capabilities>"
10371 "(7), B<credentials>(7)"
10372
10373 #. type: TH
10374 #: build/C/man7/svipc.7:40
10375 #, no-wrap
10376 msgid "SVIPC"
10377 msgstr "SVIPC"
10378
10379 #. type: Plain text
10380 #: build/C/man7/svipc.7:43
10381 msgid "svipc - System V interprocess communication mechanisms"
10382 msgstr "svipc - System V プロセス間通信機構"
10383
10384 #. type: Plain text
10385 #: build/C/man7/svipc.7:48
10386 #, no-wrap
10387 msgid ""
10388 "B<#include E<lt>sys/msg.hE<gt>>\n"
10389 "B<#include E<lt>sys/sem.hE<gt>>\n"
10390 "B<#include E<lt>sys/shm.hE<gt>>\n"
10391 msgstr ""
10392 "B<#include E<lt>sys/msg.hE<gt>>\n"
10393 "B<#include E<lt>sys/sem.hE<gt>>\n"
10394 "B<#include E<lt>sys/shm.hE<gt>>\n"
10395
10396 #. type: Plain text
10397 #: build/C/man7/svipc.7:56
10398 msgid ""
10399 "This manual page refers to the Linux implementation of the System V "
10400 "interprocess communication (IPC) mechanisms: message queues, semaphore sets, "
10401 "and shared memory segments.  In the following, the word I<resource> means an "
10402 "instantiation of one among such mechanisms."
10403 msgstr ""
10404 "このマニュアルページは System V プロセス間通信 (interprocess communication; "
10405 "IPC) 機構の Linux に おける実装を説明する。 このプロセス間通信機構には、 メッ"
10406 "セージキュー (message queue)、セマフォー集合 (semaphore set)、 共有メモリセグ"
10407 "メント (shared memory segment) などがある。以下で I<資源 (resource)> という用"
10408 "語を使用した場合にはこれらの機構のどれかを意味する。"
10409
10410 #. type: SS
10411 #: build/C/man7/svipc.7:56
10412 #, no-wrap
10413 msgid "Resource access permissions"
10414 msgstr "資源へのアクセス許可"
10415
10416 #. type: Plain text
10417 #: build/C/man7/svipc.7:64
10418 msgid ""
10419 "For each resource, the system uses a common structure of type I<struct "
10420 "ipc_perm> to store information needed in determining permissions to perform "
10421 "an IPC operation.  The I<ipc_perm> structure includes the following members:"
10422 msgstr ""
10423 "システムのそれぞれの資源は、IPC への操作を許可するかどうかを決定する ための情"
10424 "報を共通の構造体 I<struct ipc_perm> に格納して使用する。 I<ipc_perm> 構造体に"
10425 "は以下のメンバーが定義されている:"
10426
10427 #. type: Plain text
10428 #: build/C/man7/svipc.7:74
10429 #, no-wrap
10430 msgid ""
10431 "struct ipc_perm {\n"
10432 "    uid_t          cuid;   /* creator user ID */\n"
10433 "    gid_t          cgid;   /* creator group ID */\n"
10434 "    uid_t          uid;    /* owner user ID */\n"
10435 "    gid_t          gid;    /* owner group ID */\n"
10436 "    unsigned short mode;   /* r/w permissions */\n"
10437 "};\n"
10438 msgstr ""
10439 "struct ipc_perm {\n"
10440 "    uid_t          cuid;   /* 作成者のユーザーID */\n"
10441 "    gid_t          cgid;   /* 作成者のグループID */\n"
10442 "    uid_t          uid;    /* 所有者のユーザーID */\n"
10443 "    gid_t          gid;    /* 所有者のグループID */\n"
10444 "    unsigned short mode;   /* 読み書きの許可 */\n"
10445 "};\n"
10446
10447 #. type: Plain text
10448 #: build/C/man7/svipc.7:84
10449 msgid ""
10450 "The I<mode> member of the I<ipc_perm> structure defines, with its lower 9 "
10451 "bits, the access permissions to the resource for a process executing an IPC "
10452 "system call.  The permissions are interpreted as follows:"
10453 msgstr ""
10454 "I<ipc_perm> 構造体の I<mode> メンバーは以下の 9 ビットで、プロセスの IPC シス"
10455 "テムコール による資源へのアクセス許可を定義する。 許可は以下のように解釈され"
10456 "る:"
10457
10458 #. type: Plain text
10459 #: build/C/man7/svipc.7:88
10460 #, no-wrap
10461 msgid ""
10462 "    0400    Read by user.\n"
10463 "    0200    Write by user.\n"
10464 msgstr ""
10465 "    0400    ユーザーによる読み込み。\n"
10466 "    0200    ユーザーによる書き込み。\n"
10467
10468 #. type: Plain text
10469 #: build/C/man7/svipc.7:91
10470 #, no-wrap
10471 msgid ""
10472 "    0040    Read by group.\n"
10473 "    0020    Write by group.\n"
10474 msgstr ""
10475 "    0040    グループによる読み込み。\n"
10476 "    0020    グループによる書き込み。\n"
10477
10478 #. type: Plain text
10479 #: build/C/man7/svipc.7:94
10480 #, no-wrap
10481 msgid ""
10482 "    0004    Read by others.\n"
10483 "    0002    Write by others.\n"
10484 msgstr ""
10485 "    0004    他人による読み込み。\n"
10486 "    0002    他人による書き込み。\n"
10487
10488 #. type: Plain text
10489 #: build/C/man7/svipc.7:102
10490 msgid ""
10491 "Bits 0100, 0010, and 0001 (the execute bits) are unused by the system.  "
10492 "Furthermore, \"write\" effectively means \"alter\" for a semaphore set."
10493 msgstr ""
10494 "システムはビット 0100, 0010, 0001 (実行ビット) は使用しない。 さらに、セマ"
10495 "フォーの場合には \"書き込み(write)\" は実際には \"変更(alter)\" を意味する。"
10496
10497 #. type: Plain text
10498 #: build/C/man7/svipc.7:105
10499 msgid ""
10500 "The same system header file also defines the following symbolic constants:"
10501 msgstr "同じヘッダーファイルには以下のシンボルの定義が含まれている:"
10502
10503 #. type: TP
10504 #: build/C/man7/svipc.7:105
10505 #, no-wrap
10506 msgid "B<IPC_CREAT>"
10507 msgstr "B<IPC_CREAT>"
10508
10509 #. type: Plain text
10510 #: build/C/man7/svipc.7:108
10511 msgid "Create entry if key doesn't exist."
10512 msgstr "キー(key)が存在しない場合には新たなエントリを作成する。"
10513
10514 #. type: TP
10515 #: build/C/man7/svipc.7:108
10516 #, no-wrap
10517 msgid "B<IPC_EXCL>"
10518 msgstr "B<IPC_EXCL>"
10519
10520 #. type: Plain text
10521 #: build/C/man7/svipc.7:111
10522 msgid "Fail if key exists."
10523 msgstr "キー(key)が存在する場合には失敗する。"
10524
10525 #. type: TP
10526 #: build/C/man7/svipc.7:111
10527 #, no-wrap
10528 msgid "B<IPC_NOWAIT>"
10529 msgstr "B<IPC_NOWAIT>"
10530
10531 #. type: Plain text
10532 #: build/C/man7/svipc.7:114
10533 msgid "Error if request must wait."
10534 msgstr "要求が待たされる場合にはエラーになる。"
10535
10536 #. type: TP
10537 #: build/C/man7/svipc.7:114
10538 #, no-wrap
10539 msgid "B<IPC_PRIVATE>"
10540 msgstr "B<IPC_PRIVATE>"
10541
10542 #. type: Plain text
10543 #: build/C/man7/svipc.7:117
10544 msgid "Private key."
10545 msgstr "プライベートキー。"
10546
10547 #. type: TP
10548 #: build/C/man7/svipc.7:117
10549 #, no-wrap
10550 msgid "B<IPC_RMID>"
10551 msgstr "B<IPC_RMID>"
10552
10553 #. type: Plain text
10554 #: build/C/man7/svipc.7:120
10555 msgid "Remove resource."
10556 msgstr "資源を削除する。"
10557
10558 #. type: TP
10559 #: build/C/man7/svipc.7:120
10560 #, no-wrap
10561 msgid "B<IPC_SET>"
10562 msgstr "B<IPC_SET>"
10563
10564 #. type: Plain text
10565 #: build/C/man7/svipc.7:123
10566 msgid "Set resource options."
10567 msgstr "資源にオプションを設定する。"
10568
10569 #. type: TP
10570 #: build/C/man7/svipc.7:123
10571 #, no-wrap
10572 msgid "B<IPC_STAT>"
10573 msgstr "B<IPC_STAT>"
10574
10575 #. type: Plain text
10576 #: build/C/man7/svipc.7:126
10577 msgid "Get resource options."
10578 msgstr "資源のオプションを取得する。"
10579
10580 #. type: Plain text
10581 #: build/C/man7/svipc.7:135
10582 msgid ""
10583 "Note that B<IPC_PRIVATE> is a I<key_t> type, while all the other symbolic "
10584 "constants are flag fields and can be OR'ed into an I<int> type variable."
10585 msgstr ""
10586 "B<IPC_PRIVATE> は I<key_t> 型である。その他の全てのシンボルはフラグフィールド"
10587 "として I<int> 変数に OR 演算で格納することができる。"
10588
10589 #. type: SS
10590 #: build/C/man7/svipc.7:135
10591 #, no-wrap
10592 msgid "Message queues"
10593 msgstr "メッセージキュー"
10594
10595 #. type: Plain text
10596 #: build/C/man7/svipc.7:143
10597 msgid ""
10598 "A message queue is uniquely identified by a positive integer (its I<msqid>)  "
10599 "and has an associated data structure of type I<struct msqid_ds>, defined in "
10600 "I<E<lt>sys/msg.hE<gt>>, containing the following members:"
10601 msgstr ""
10602 "メッセージキューは正の整数 (I<msqid>)  によって識別され、 I<E<lt>sys/msg."
10603 "hE<gt>> に定義されている構造体 I<struct msqid_ds> に結びつけられている。 この"
10604 "構造体は以下のメンバーを含んでいる:"
10605
10606 #. type: Plain text
10607 #: build/C/man7/svipc.7:156
10608 #, no-wrap
10609 msgid ""
10610 "struct msqid_ds {\n"
10611 "    struct ipc_perm msg_perm;\n"
10612 "    msgqnum_t       msg_qnum;    /* no of messages on queue */\n"
10613 "    msglen_t        msg_qbytes;  /* bytes max on a queue */\n"
10614 "    pid_t           msg_lspid;   /* PID of last msgsnd(2) call */\n"
10615 "    pid_t           msg_lrpid;   /* PID of last msgrcv(2) call */\n"
10616 "    time_t          msg_stime;   /* last msgsnd(2) time */\n"
10617 "    time_t          msg_rtime;   /* last msgrcv(2) time */\n"
10618 "    time_t          msg_ctime;   /* last change time */\n"
10619 "};\n"
10620 msgstr ""
10621 "struct msqid_ds {\n"
10622 "    struct ipc_perm msg_perm;\n"
10623 "    msgqnum_t       msg_qnum;    /* キューにあるメッセージの数 */\n"
10624 "    msglen_t        msg_qbytes;  /* キューの最大バイト数 */\n"
10625 "    pid_t           msg_lspid;   /* 最後に msgsnd(2) をした PID */\n"
10626 "    pid_t           msg_lrpid;   /* 最後に msgrcv(2) をした PID */\n"
10627 "    time_t          msg_stime;   /* 最後に msgsnd(2) をした時間 */\n"
10628 "    time_t          msg_rtime;   /* 最後に msgrcv(2) をした時間 */\n"
10629 "    time_t          msg_ctime;   /* 最後に変更された時間 */\n"
10630 "};\n"
10631
10632 #. type: TP
10633 #: build/C/man7/svipc.7:158
10634 #, no-wrap
10635 msgid "I<msg_perm>"
10636 msgstr "I<msg_perm>"
10637
10638 #. type: Plain text
10639 #: build/C/man7/svipc.7:163
10640 msgid ""
10641 "I<ipc_perm> structure that specifies the access permissions on the message "
10642 "queue."
10643 msgstr "メッセージキューへのアクセス許可を指定する I<ipc_perm> 構造体。"
10644
10645 #. type: TP
10646 #: build/C/man7/svipc.7:163
10647 #, no-wrap
10648 msgid "I<msg_qnum>"
10649 msgstr "I<msg_qnum>"
10650
10651 #. type: Plain text
10652 #: build/C/man7/svipc.7:166
10653 msgid "Number of messages currently on the message queue."
10654 msgstr "現在、このメッセージキューにあるメッセージの数。"
10655
10656 #. type: TP
10657 #: build/C/man7/svipc.7:166
10658 #, no-wrap
10659 msgid "I<msg_qbytes>"
10660 msgstr "I<msg_qbytes>"
10661
10662 #. type: Plain text
10663 #: build/C/man7/svipc.7:170
10664 msgid "Maximum number of bytes of message text allowed on the message queue."
10665 msgstr "メッセージキューに入れることができるメッセージの最大バイト数。"
10666
10667 #. type: TP
10668 #: build/C/man7/svipc.7:170
10669 #, no-wrap
10670 msgid "I<msg_lspid>"
10671 msgstr "I<msg_lspid>"
10672
10673 #. type: Plain text
10674 #: build/C/man7/svipc.7:175
10675 msgid "ID of the process that performed the last B<msgsnd>(2)  system call."
10676 msgstr "最後に B<msgsnd>(2)  システムコールを行なったプロセスの ID。"
10677
10678 #. type: TP
10679 #: build/C/man7/svipc.7:175
10680 #, no-wrap
10681 msgid "I<msg_lrpid>"
10682 msgstr "I<msg_lrpid>"
10683
10684 #. type: Plain text
10685 #: build/C/man7/svipc.7:180
10686 msgid "ID of the process that performed the last B<msgrcv>(2)  system call."
10687 msgstr "最後に B<msgrcv>(2)  システムコールを行なったプロセスの ID。"
10688
10689 #. type: TP
10690 #: build/C/man7/svipc.7:180
10691 #, no-wrap
10692 msgid "I<msg_stime>"
10693 msgstr "I<msg_stime>"
10694
10695 #. type: Plain text
10696 #: build/C/man7/svipc.7:185
10697 msgid "Time of the last B<msgsnd>(2)  system call."
10698 msgstr "最後に B<msgsnd>(2)  システムコールを行なった時間。"
10699
10700 #. type: TP
10701 #: build/C/man7/svipc.7:185
10702 #, no-wrap
10703 msgid "I<msg_rtime>"
10704 msgstr "I<msg_rtime>"
10705
10706 #. type: Plain text
10707 #: build/C/man7/svipc.7:190
10708 msgid "Time of the last B<msgrcv>(2)  system call."
10709 msgstr "最後に B<msgrcv>(2)  を行なった時間。"
10710
10711 #. type: TP
10712 #: build/C/man7/svipc.7:190
10713 #, no-wrap
10714 msgid "I<msg_ctime>"
10715 msgstr "I<msg_ctime>"
10716
10717 #. type: Plain text
10718 #: build/C/man7/svipc.7:196
10719 msgid ""
10720 "Time of the last system call that changed a member of the I<msqid_ds> "
10721 "structure."
10722 msgstr "最後に I<msqid_ds> 構造体のメンバーが変更された時間。"
10723
10724 #. type: SS
10725 #: build/C/man7/svipc.7:196
10726 #, no-wrap
10727 msgid "Semaphore sets"
10728 msgstr "セマフォー集合"
10729
10730 #. type: Plain text
10731 #: build/C/man7/svipc.7:204
10732 msgid ""
10733 "A semaphore set is uniquely identified by a positive integer (its I<semid>)  "
10734 "and has an associated data structure of type I<struct semid_ds>, defined in "
10735 "I<E<lt>sys/sem.hE<gt>>, containing the following members:"
10736 msgstr ""
10737 "セマフォー集合は正の整数 (I<semid>)  によって識別され、 I<E<lt>sys/sem."
10738 "hE<gt>> に定義されている構造体 I<struct semid_ds> に結びつけられている。 この"
10739 "構造体は以下のメンバーを含んでいる:"
10740
10741 #. type: Plain text
10742 #: build/C/man7/svipc.7:213
10743 #, no-wrap
10744 msgid ""
10745 "struct semid_ds {\n"
10746 "    struct ipc_perm sem_perm;\n"
10747 "    time_t          sem_otime;   /* last operation time */\n"
10748 "    time_t          sem_ctime;   /* last change time */\n"
10749 "    unsigned long   sem_nsems;   /* count of sems in set */\n"
10750 "};\n"
10751 msgstr ""
10752 "struct semid_ds {\n"
10753 "    struct ipc_perm sem_perm;\n"
10754 "    time_t          sem_otime;   /* 最後に操作した時間 */\n"
10755 "    time_t          sem_ctime;   /* 最後に変更した時間 */\n"
10756 "    unsigned long   sem_nsems;   /* 集合の中にあるセマフォー数 */\n"
10757 "};\n"
10758
10759 #. type: TP
10760 #: build/C/man7/svipc.7:215
10761 #, no-wrap
10762 msgid "I<sem_perm>"
10763 msgstr "I<sem_perm>"
10764
10765 #. type: Plain text
10766 #: build/C/man7/svipc.7:220
10767 msgid ""
10768 "I<ipc_perm> structure that specifies the access permissions on the semaphore "
10769 "set."
10770 msgstr "セマフォー集合へのアクセス許可を指定する I<ipc_perm> 構造体。"
10771
10772 #. type: TP
10773 #: build/C/man7/svipc.7:220
10774 #, no-wrap
10775 msgid "I<sem_otime>"
10776 msgstr "I<sem_otime>"
10777
10778 #. type: Plain text
10779 #: build/C/man7/svipc.7:225
10780 msgid "Time of last B<semop>(2)  system call."
10781 msgstr "最後に B<semop>(2)  システムコールを行なった時間。"
10782
10783 #. type: TP
10784 #: build/C/man7/svipc.7:225
10785 #, no-wrap
10786 msgid "I<sem_ctime>"
10787 msgstr "I<sem_ctime>"
10788
10789 #. type: Plain text
10790 #: build/C/man7/svipc.7:231
10791 msgid ""
10792 "Time of last B<semctl>(2)  system call that changed a member of the above "
10793 "structure or of one semaphore belonging to the set."
10794 msgstr ""
10795 "最後に B<semctl>(2)  を行なって上記の構造体のメンバーを変更するか、セマフォー"
10796 "集合に属する セマフォーを変更した時間。"
10797
10798 #. type: TP
10799 #: build/C/man7/svipc.7:231
10800 #, no-wrap
10801 msgid "I<sem_nsems>"
10802 msgstr "I<sem_nsems>"
10803
10804 #. type: Plain text
10805 #: build/C/man7/svipc.7:239
10806 msgid ""
10807 "Number of semaphores in the set.  Each semaphore of the set is referenced by "
10808 "a nonnegative integer ranging from B<0> to I<sem_nsems-1>."
10809 msgstr ""
10810 "セマフォー集合の中にあるセマフォーの数。 集合の中にあるそれぞれのセマフォーは"
10811 "負でない整数によって参照され、 B<0> から I<sem_nsems-1> までの番号を持つ。"
10812
10813 #. type: Plain text
10814 #: build/C/man7/svipc.7:243
10815 msgid ""
10816 "A semaphore is a data structure of type I<struct sem> containing the "
10817 "following members:"
10818 msgstr ""
10819 "セマフォーは I<struct sem> 型のデータ構造体であり、以下のメンバーを含んでい"
10820 "る:"
10821
10822 #.     unsigned short semncnt; /* nr awaiting semval to increase */
10823 #.     unsigned short semzcnt; /* nr awaiting semval = 0 */
10824 #. type: Plain text
10825 #: build/C/man7/svipc.7:252
10826 #, no-wrap
10827 msgid ""
10828 "struct sem {\n"
10829 "    int semval;  /* semaphore value */\n"
10830 "    int sempid;  /* PID for last operation */\n"
10831 "};\n"
10832 msgstr ""
10833 "struct sem {\n"
10834 "    int semval;  /* セマフォーの値 */\n"
10835 "    int sempid;  /* 最後に操作したプロセス ID */\n"
10836 "};\n"
10837
10838 #. type: TP
10839 #: build/C/man7/svipc.7:254
10840 #, no-wrap
10841 msgid "I<semval>"
10842 msgstr "I<semval>"
10843
10844 #. type: Plain text
10845 #: build/C/man7/svipc.7:257
10846 msgid "Semaphore value: a nonnegative integer."
10847 msgstr "セマフォー値: 負でない整数。"
10848
10849 #. type: TP
10850 #: build/C/man7/svipc.7:257
10851 #, no-wrap
10852 msgid "I<sempid>"
10853 msgstr "I<sempid>"
10854
10855 #. .TP
10856 #. .I semncnt
10857 #. Number of processes suspended awaiting for
10858 #. .I semval
10859 #. to increase.
10860 #. .TP
10861 #. .I semznt
10862 #. Number of processes suspended awaiting for
10863 #. .I semval
10864 #. to become zero.
10865 #. type: Plain text
10866 #: build/C/man7/svipc.7:271
10867 msgid ""
10868 "ID of the last process that performed a semaphore operation on this "
10869 "semaphore."
10870 msgstr "このセマフォーを最後に操作したプロセスの ID。"
10871
10872 #. type: SS
10873 #: build/C/man7/svipc.7:271
10874 #, no-wrap
10875 msgid "Shared memory segments"
10876 msgstr "共有メモリセグメント"
10877
10878 #. type: Plain text
10879 #: build/C/man7/svipc.7:279
10880 msgid ""
10881 "A shared memory segment is uniquely identified by a positive integer (its "
10882 "I<shmid>)  and has an associated data structure of type I<struct shmid_ds>, "
10883 "defined in I<E<lt>sys/shm.hE<gt>>, containing the following members:"
10884 msgstr ""
10885 "共有メモリセグメントは正の整数 (I<shmid>)  によって識別され、 I<E<lt>sys/shm."
10886 "hE<gt>> に定義されている I<struct shmid_ds> 構造体に結びつけられている。 この"
10887 "構造体は以下のメンバーを含んでいる:"
10888
10889 #. type: Plain text
10890 #: build/C/man7/svipc.7:292
10891 #, no-wrap
10892 msgid ""
10893 "struct shmid_ds {\n"
10894 "    struct ipc_perm shm_perm;\n"
10895 "    size_t          shm_segsz;   /* size of segment */\n"
10896 "    pid_t           shm_cpid;    /* PID of creator */\n"
10897 "    pid_t           shm_lpid;    /* PID, last operation */\n"
10898 "    shmatt_t        shm_nattch;  /* no. of current attaches */\n"
10899 "    time_t          shm_atime;   /* time of last attach */\n"
10900 "    time_t          shm_dtime;   /* time of last detach */\n"
10901 "    time_t          shm_ctime;   /* time of last change */\n"
10902 "};\n"
10903 msgstr ""
10904 "struct shmid_ds {\n"
10905 "    struct ipc_perm shm_perm;\n"
10906 "    size_t          shm_segsz;   /* セグメントのサイズ */\n"
10907 "    pid_t           shm_cpid;    /* 作成者のプロセス ID */\n"
10908 "    pid_t           shm_lpid;    /* 最後に操作したプロセス ID */\n"
10909 "    shmatt_t        shm_nattch;  /* 現在、付加している数 */\n"
10910 "    time_t          shm_atime;   /* 最後に付加した時間 */\n"
10911 "    time_t          shm_dtime;   /* 最後に分離した時間 */\n"
10912 "    time_t          shm_ctime;   /* 最後に変更した時間 */\n"
10913 "};\n"
10914
10915 #. type: TP
10916 #: build/C/man7/svipc.7:294
10917 #, no-wrap
10918 msgid "I<shm_perm>"
10919 msgstr "I<shm_perm>"
10920
10921 #. type: Plain text
10922 #: build/C/man7/svipc.7:299
10923 msgid ""
10924 "I<ipc_perm> structure that specifies the access permissions on the shared "
10925 "memory segment."
10926 msgstr "共有メモリセグメントへのアクセス許可を指定した I<ipc_perm> 構造体。"
10927
10928 #. type: TP
10929 #: build/C/man7/svipc.7:299
10930 #, no-wrap
10931 msgid "I<shm_segsz>"
10932 msgstr "I<shm_segsz>"
10933
10934 #. type: Plain text
10935 #: build/C/man7/svipc.7:302
10936 msgid "Size in bytes of the shared memory segment."
10937 msgstr "共有メモリセグメントのバイト数。"
10938
10939 #. type: TP
10940 #: build/C/man7/svipc.7:302
10941 #, no-wrap
10942 msgid "I<shm_cpid>"
10943 msgstr "I<shm_cpid>"
10944
10945 #. type: Plain text
10946 #: build/C/man7/svipc.7:305
10947 msgid "ID of the process that created the shared memory segment."
10948 msgstr "共有メモリセグメントを作成したプロセスの ID。"
10949
10950 #. type: TP
10951 #: build/C/man7/svipc.7:305
10952 #, no-wrap
10953 msgid "I<shm_lpid>"
10954 msgstr "I<shm_lpid>"
10955
10956 #. type: Plain text
10957 #: build/C/man7/svipc.7:312
10958 msgid ""
10959 "ID of the last process that executed a B<shmat>(2)  or B<shmdt>(2)  system "
10960 "call."
10961 msgstr ""
10962 "最後に B<shmat>(2)  または B<shmdt>(2)  システムコールを実行したプロセスの "
10963 "ID。"
10964
10965 #. type: TP
10966 #: build/C/man7/svipc.7:312
10967 #, no-wrap
10968 msgid "I<shm_nattch>"
10969 msgstr "I<shm_nattch>"
10970
10971 #. type: Plain text
10972 #: build/C/man7/svipc.7:315
10973 msgid "Number of current alive attaches for this shared memory segment."
10974 msgstr "この共有メモリセグメントをメモリに付加 (attach) しているプロセスの数。"
10975
10976 #. type: TP
10977 #: build/C/man7/svipc.7:315
10978 #, no-wrap
10979 msgid "I<shm_atime>"
10980 msgstr "I<shm_atime>"
10981
10982 #. type: Plain text
10983 #: build/C/man7/svipc.7:320
10984 msgid "Time of the last B<shmat>(2)  system call."
10985 msgstr "最後に B<shmat>(2)  システムコールを行なった時間。"
10986
10987 #. type: TP
10988 #: build/C/man7/svipc.7:320
10989 #, no-wrap
10990 msgid "I<shm_dtime>"
10991 msgstr "I<shm_dtime>"
10992
10993 #. type: Plain text
10994 #: build/C/man7/svipc.7:325
10995 msgid "Time of the last B<shmdt>(2)  system call."
10996 msgstr "最後に B<shmdt>(2)  システムコールを行なった時間。"
10997
10998 #. type: TP
10999 #: build/C/man7/svipc.7:325
11000 #, no-wrap
11001 msgid "I<shm_ctime>"
11002 msgstr "I<shm_ctime>"
11003
11004 #. type: Plain text
11005 #: build/C/man7/svipc.7:331
11006 msgid "Time of the last B<shmctl>(2)  system call that changed I<shmid_ds>."
11007 msgstr ""
11008 "最後に B<shmctl>(2)  システムコールを行なって、 I<shmid_ds> 構造体を変更した"
11009 "時間。"
11010
11011 #. type: Plain text
11012 #: build/C/man7/svipc.7:348
11013 msgid ""
11014 "B<ipcmk>(1), B<ipcrm>(1), B<ipcs>(1), B<ipc>(2), B<msgctl>(2), B<msgget>(2), "
11015 "B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), B<semget>(2), B<semop>(2), B<shmat>"
11016 "(2), B<shmctl>(2), B<shmdt>(2), B<shmget>(2), B<ftok>(3)"
11017 msgstr ""
11018 "B<ipcmk>(1), B<ipcrm>(1), B<ipcs>(1), B<ipc>(2), B<msgctl>(2), B<msgget>(2), "
11019 "B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), B<semget>(2), B<semop>(2), B<shmat>"
11020 "(2), B<shmctl>(2), B<shmdt>(2), B<shmget>(2), B<ftok>(3)"
11021
11022 #. type: TH
11023 #: build/C/man3/ulimit.3:27
11024 #, no-wrap
11025 msgid "ULIMIT"
11026 msgstr "ULIMIT"
11027
11028 #. type: TH
11029 #: build/C/man3/ulimit.3:27
11030 #, no-wrap
11031 msgid "2008-08-06"
11032 msgstr "2008-08-06"
11033
11034 #. type: Plain text
11035 #: build/C/man3/ulimit.3:30
11036 msgid "ulimit - get and set user limits"
11037 msgstr "ulimit - ユーザー制限を取得・設定する"
11038
11039 #. type: Plain text
11040 #: build/C/man3/ulimit.3:32
11041 msgid "B<#include E<lt>ulimit.hE<gt>>"
11042 msgstr "B<#include E<lt>ulimit.hE<gt>>"
11043
11044 #. type: Plain text
11045 #: build/C/man3/ulimit.3:34
11046 msgid "B<long ulimit(int >I<cmd>B<, long >I<newlimit>B<);>"
11047 msgstr "B<long ulimit(int >I<cmd>B<, long >I<newlimit>B<);>"
11048
11049 #. type: Plain text
11050 #: build/C/man3/ulimit.3:46
11051 msgid ""
11052 "Warning: This routine is obsolete.  Use B<getrlimit>(2), B<setrlimit>(2), "
11053 "and B<sysconf>(3)  instead.  For the shell command B<ulimit>(), see B<bash>"
11054 "(1)."
11055 msgstr ""
11056 "注意: このルーチンは古い。 代わりに B<getrlimit>(2), B<setrlimit>(2), "
11057 "B<sysconf>(3)  などを用いること。 シェルコマンドとしての B<ulimit>()  につい"
11058 "ては、 B<bash>(1)  を見ること。"
11059
11060 #. type: Plain text
11061 #: build/C/man3/ulimit.3:53
11062 msgid ""
11063 "The B<ulimit>()  call will get or set some limit for the calling process.  "
11064 "The I<cmd> argument can have one of the following values."
11065 msgstr ""
11066 "B<ulimit>()  は呼び出し元のプロセスに関する制限のいくつかを取得・設定する。 "
11067 "I<cmd> 引き数には、以下の値のうちのどれか一つを与えることができる。"
11068
11069 #. type: TP
11070 #: build/C/man3/ulimit.3:53
11071 #, no-wrap
11072 msgid "B<UL_GETFSIZE>"
11073 msgstr "B<UL_GETFSIZE>"
11074
11075 #. type: Plain text
11076 #: build/C/man3/ulimit.3:56
11077 msgid "Return the limit on the size of a file, in units of 512 bytes."
11078 msgstr "ファイルサイズに関する制限を返す。単位は 512 バイト。"
11079
11080 #. type: TP
11081 #: build/C/man3/ulimit.3:56
11082 #, no-wrap
11083 msgid "B<UL_SETFSIZE>"
11084 msgstr "B<UL_SETFSIZE>"
11085
11086 #. type: Plain text
11087 #: build/C/man3/ulimit.3:59
11088 msgid "Set the limit on the size of a file."
11089 msgstr "ファイルサイズに関する制限を設定する。"
11090
11091 #. type: TP
11092 #: build/C/man3/ulimit.3:59
11093 #, no-wrap
11094 msgid "B<3>"
11095 msgstr "B<3>"
11096
11097 #. type: Plain text
11098 #: build/C/man3/ulimit.3:63
11099 msgid ""
11100 "(Not implemented for Linux.)  Return the maximum possible address of the "
11101 "data segment."
11102 msgstr ""
11103 "(Linux では実装されていない)  データセグメントで指定できるアドレスの最大値を"
11104 "返す。"
11105
11106 #. type: TP
11107 #: build/C/man3/ulimit.3:63
11108 #, no-wrap
11109 msgid "B<4>"
11110 msgstr "B<4>"
11111
11112 #. type: Plain text
11113 #: build/C/man3/ulimit.3:67
11114 msgid ""
11115 "(Implemented but no symbolic constant provided.)  Return the maximum number "
11116 "of files that the calling process can open."
11117 msgstr ""
11118 "(実装されているが、対応するシンボリックな定数は存在しない)  プロセスがオープ"
11119 "ンできるファイル数の最大値を返す。"
11120
11121 #. type: Plain text
11122 #: build/C/man3/ulimit.3:74
11123 msgid ""
11124 "On success, B<ulimit>()  returns a nonnegative value.  On error, -1 is "
11125 "returned, and I<errno> is set appropriately."
11126 msgstr ""
11127 "成功すると B<ulimit>()  は 0 または正の値を返す。 エラーが生じると -1 を返"
11128 "し、 I<errno> を適切な値に設定する。"
11129
11130 #. type: Plain text
11131 #: build/C/man3/ulimit.3:78
11132 msgid "A unprivileged process tried to increase a limit."
11133 msgstr "非特権プロセスが制限値を増加させようとした。"
11134
11135 #. type: Plain text
11136 #: build/C/man3/ulimit.3:83
11137 msgid "SVr4, POSIX.1-2001.  POSIX.1-2008 marks B<ulimit>()  as obsolete."
11138 msgstr ""
11139 "SVr4, POSIX.1-2001.  POSIX.1-2008 は B<ulimit>()  を廃止予定としている。"
11140
11141 #. type: Plain text
11142 #: build/C/man3/ulimit.3:88
11143 msgid "B<bash>(1), B<getrlimit>(2), B<setrlimit>(2), B<sysconf>(3)"
11144 msgstr "B<bash>(1), B<getrlimit>(2), B<setrlimit>(2), B<sysconf>(3)"
11145
11146 #~ msgid ""
11147 #~ "B<#include E<lt>unistd.hE<gt>> /* glibc uses E<lt>sys/fsuid.hE<gt> */"
11148 #~ msgstr ""
11149 #~ "B<#include E<lt>unistd.hE<gt>> /* glibc では E<lt>sys/fsuid.hE<gt> */"
11150
11151 #~ msgid ""
11152 #~ "On success, the previous value of I<fsgid> is returned.  On error, the "
11153 #~ "current value of I<fsgid> is returned."
11154 #~ msgstr ""
11155 #~ "成功した場合、 I<fsgid> の以前の値を返す。エラーの場合は I<fsgid> の現在の"
11156 #~ "値を返す。"
11157
11158 #~ msgid ""
11159 #~ "No error messages of any kind are returned to the caller.  At the very "
11160 #~ "least, B<EPERM> should be returned when the call fails (because the "
11161 #~ "caller lacks the B<CAP_SETGID> capability)."
11162 #~ msgstr ""
11163 #~ "いかなる種類のエラーメッセージも返さない。 失敗した場合は (呼び出し元には "
11164 #~ "B<CAP_SETGID> ケーパビリティがなかったのだから) 最低でも B<EPERM> くらいは"
11165 #~ "返すべきである。"
11166
11167 #~ msgid ""
11168 #~ "On success, the previous value of I<fsuid> is returned.  On error, the "
11169 #~ "current value of I<fsuid> is returned."
11170 #~ msgstr ""
11171 #~ "成功した場合、 I<fsuid> の以前の値を返す。エラーの場合は I<fsuid> の現在の"
11172 #~ "値を返す。"
11173
11174 #~ msgid ""
11175 #~ "No error messages of any kind are returned to the caller.  At the very "
11176 #~ "least, B<EPERM> should be returned when the call fails (because the "
11177 #~ "caller lacks the B<CAP_SETUID> capability)."
11178 #~ msgstr ""
11179 #~ "いかなる種類のエラーメッセージも呼び出し元に返さない。 失敗した場合は (呼"
11180 #~ "び出し元には B<CAP_SETUID> ケーパビリティがなかったのだから) 最低でも "
11181 #~ "B<EPERM> くらいは返すべきである。"