OSDN Git Service

bdc9264ab7ebde01fe48b3f3133a535a2e4eb1e4
[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: 2014-06-08 01:30+0900\n"
10 "PO-Revision-Date: 2014-06-08 01:36+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:100 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:435
174 #: build/C/man2/getrusage.2:188 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:195 build/C/man2/setresuid.2:64
179 #: build/C/man2/setreuid.2:93 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:193
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:98
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:440
203 #: build/C/man2/getrusage.2:193 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:216
207 #: build/C/man2/setresuid.2:69 build/C/man2/setreuid.2:98
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:217
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:441 build/C/man2/getrusage.2:194
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:457
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:231
366 #: build/C/man2/setresuid.2:77 build/C/man2/setreuid.2:99
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 msgid "I<filename> refers to a file on a read-only filesystem."
390 msgstr ""
391 "読み込みだけのファイルシステム上のファイルを I<filename> が参照している。"
392
393 #. type: TP
394 #: build/C/man2/acct.2:127
395 #, no-wrap
396 msgid "B<EUSERS>"
397 msgstr "B<EUSERS>"
398
399 #. type: Plain text
400 #: build/C/man2/acct.2:130
401 msgid "There are no more free file structures or we ran out of memory."
402 msgstr "使用可能なファイル構造体がないか、メモリが足りない。"
403
404 #. type: SH
405 #: build/C/man2/acct.2:130 build/C/man5/acct.5:153
406 #: build/C/man7/capabilities.7:1100 build/C/man2/capget.2:218
407 #: build/C/man7/credentials.7:287 build/C/man2/getgid.2:44
408 #: build/C/man2/getgroups.2:133 build/C/man2/getpid.2:46
409 #: build/C/man2/getpriority.2:160 build/C/man2/getresuid.2:67
410 #: build/C/man2/getrlimit.2:478 build/C/man2/getrusage.2:202
411 #: build/C/man2/getsid.2:79 build/C/man2/getuid.2:45 build/C/man2/iopl.2:87
412 #: build/C/man2/ioprio_set.2:196 build/C/man2/ipc.2:45
413 #: build/C/man2/seteuid.2:91 build/C/man2/setfsgid.2:75
414 #: build/C/man2/setfsuid.2:75 build/C/man2/setgid.2:66
415 #: build/C/man2/setpgid.2:250 build/C/man2/setresuid.2:83
416 #: build/C/man2/setreuid.2:115 build/C/man2/setsid.2:65
417 #: build/C/man2/setuid.2:92 build/C/man3/ulimit.3:78
418 #, no-wrap
419 msgid "CONFORMING TO"
420 msgstr "準拠"
421
422 #.  SVr4 documents an EBUSY error condition, but no EISDIR or ENOSYS.
423 #.  Also AIX and HP-UX document EBUSY (attempt is made
424 #.  to enable accounting when it is already enabled), as does Solaris
425 #.  (attempt is made to enable accounting using the same file that is
426 #.  currently being used).
427 #. type: Plain text
428 #: build/C/man2/acct.2:137
429 msgid "SVr4, 4.3BSD (but not POSIX)."
430 msgstr "SVr4, 4.3BSD (POSIX ではない)。"
431
432 #. type: SH
433 #: build/C/man2/acct.2:137 build/C/man5/acct.5:157
434 #: build/C/man7/capabilities.7:1106 build/C/man2/capget.2:220
435 #: build/C/man7/cpuset.7:1341 build/C/man7/credentials.7:293
436 #: build/C/man2/getgid.2:46 build/C/man2/getgroups.2:141
437 #: build/C/man2/getpid.2:48 build/C/man2/getpriority.2:163
438 #: build/C/man2/getresuid.2:70 build/C/man2/getrlimit.2:501
439 #: build/C/man2/getrusage.2:213 build/C/man2/getsid.2:81
440 #: build/C/man2/getuid.2:47 build/C/man2/iopl.2:91
441 #: build/C/man2/ioprio_set.2:198 build/C/man2/ipc.2:49
442 #: build/C/man2/seteuid.2:93 build/C/man2/setfsgid.2:79
443 #: build/C/man2/setfsuid.2:79 build/C/man2/setgid.2:68
444 #: build/C/man2/setpgid.2:272 build/C/man2/setresuid.2:86
445 #: build/C/man2/setreuid.2:121 build/C/man2/setsid.2:67
446 #: build/C/man2/setuid.2:97
447 #, no-wrap
448 msgid "NOTES"
449 msgstr "注意"
450
451 #. type: Plain text
452 #: build/C/man2/acct.2:140
453 msgid ""
454 "No accounting is produced for programs running when a system crash occurs.  "
455 "In particular, nonterminating processes are never accounted for."
456 msgstr ""
457 "システムがクラッシュした時に実行中だったプログラムのアカウントは生成されな"
458 "い。 特に、終了しないプログラムがアカウントされることはない。"
459
460 #. type: Plain text
461 #: build/C/man2/acct.2:143
462 msgid ""
463 "The structure of the records written to the accounting file is described in "
464 "B<acct>(5)."
465 msgstr ""
466 "アカウント用ファイルに書き込まれるレコードの構造体については B<acct>(5)  に説"
467 "明がある。"
468
469 #. type: SH
470 #: build/C/man2/acct.2:143 build/C/man5/acct.5:174
471 #: build/C/man7/capabilities.7:1162 build/C/man2/capget.2:228
472 #: build/C/man7/cpuset.7:1488 build/C/man7/credentials.7:304
473 #: build/C/man2/getgid.2:62 build/C/man2/getgroups.2:178
474 #: build/C/man2/getpid.2:100 build/C/man2/getpriority.2:232
475 #: build/C/man2/getresuid.2:86 build/C/man2/getrlimit.2:666
476 #: build/C/man2/getrusage.2:253 build/C/man2/getsid.2:84
477 #: build/C/man2/getuid.2:73 build/C/man2/iopl.2:100
478 #: build/C/man2/ioprio_set.2:346 build/C/man2/ipc.2:57
479 #: build/C/man2/seteuid.2:124 build/C/man2/setfsgid.2:123
480 #: build/C/man2/setfsuid.2:131 build/C/man2/setgid.2:78
481 #: build/C/man2/setpgid.2:340 build/C/man2/setresuid.2:106
482 #: build/C/man2/setreuid.2:161 build/C/man2/setsid.2:84
483 #: build/C/man2/setuid.2:120 build/C/man7/svipc.7:331 build/C/man3/ulimit.3:83
484 #, no-wrap
485 msgid "SEE ALSO"
486 msgstr "関連項目"
487
488 #. type: Plain text
489 #: build/C/man2/acct.2:145
490 msgid "B<acct>(5)"
491 msgstr "B<acct>(5)"
492
493 #. type: SH
494 #: build/C/man2/acct.2:145 build/C/man5/acct.5:179
495 #: build/C/man7/capabilities.7:1183 build/C/man2/capget.2:232
496 #: build/C/man7/cpuset.7:1506 build/C/man7/credentials.7:336
497 #: build/C/man2/getgid.2:67 build/C/man2/getgroups.2:185
498 #: build/C/man2/getpid.2:110 build/C/man2/getpriority.2:241
499 #: build/C/man2/getresuid.2:92 build/C/man2/getrlimit.2:684
500 #: build/C/man2/getrusage.2:260 build/C/man2/getsid.2:88
501 #: build/C/man2/getuid.2:78 build/C/man2/iopl.2:104
502 #: build/C/man2/ioprio_set.2:354 build/C/man2/ipc.2:70
503 #: build/C/man2/seteuid.2:131 build/C/man2/setfsgid.2:128
504 #: build/C/man2/setfsuid.2:136 build/C/man2/setgid.2:84
505 #: build/C/man2/setpgid.2:347 build/C/man2/setresuid.2:115
506 #: build/C/man2/setreuid.2:169 build/C/man2/setsid.2:91
507 #: build/C/man2/setuid.2:127 build/C/man7/svipc.7:348 build/C/man3/ulimit.3:88
508 #, no-wrap
509 msgid "COLOPHON"
510 msgstr "この文書について"
511
512 #. type: Plain text
513 #: build/C/man2/acct.2:153 build/C/man5/acct.5:187
514 #: build/C/man7/capabilities.7:1191 build/C/man2/capget.2:240
515 #: build/C/man7/cpuset.7:1514 build/C/man7/credentials.7:344
516 #: build/C/man2/getgid.2:75 build/C/man2/getgroups.2:193
517 #: build/C/man2/getpid.2:118 build/C/man2/getpriority.2:249
518 #: build/C/man2/getresuid.2:100 build/C/man2/getrlimit.2:692
519 #: build/C/man2/getrusage.2:268 build/C/man2/getsid.2:96
520 #: build/C/man2/getuid.2:86 build/C/man2/iopl.2:112
521 #: build/C/man2/ioprio_set.2:362 build/C/man2/ipc.2:78
522 #: build/C/man2/seteuid.2:139 build/C/man2/setfsgid.2:136
523 #: build/C/man2/setfsuid.2:144 build/C/man2/setgid.2:92
524 #: build/C/man2/setpgid.2:355 build/C/man2/setresuid.2:123
525 #: build/C/man2/setreuid.2:177 build/C/man2/setsid.2:99
526 #: build/C/man2/setuid.2:135 build/C/man7/svipc.7:356 build/C/man3/ulimit.3:96
527 msgid ""
528 "This page is part of release 3.68 of the Linux I<man-pages> project.  A "
529 "description of the project, information about reporting bugs, and the latest "
530 "version of this page, can be found at \\%http://www.kernel.org/doc/man-"
531 "pages/."
532 msgstr ""
533 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.68 の一部\n"
534 "である。プロジェクトの説明とバグ報告に関する情報は\n"
535 "http://www.kernel.org/doc/man-pages/ に書かれている。"
536
537 #. type: TH
538 #: build/C/man5/acct.5:25
539 #, no-wrap
540 msgid "2008-06-15"
541 msgstr "2008-06-15"
542
543 #. type: Plain text
544 #: build/C/man5/acct.5:28
545 msgid "acct - process accounting file"
546 msgstr "acct - プロセス・アカウンティング・ファイル"
547
548 #. type: Plain text
549 #: build/C/man5/acct.5:30
550 msgid "B<#include E<lt>sys/acct.hE<gt>>"
551 msgstr "B<#include E<lt>sys/acct.hE<gt>>"
552
553 #. type: Plain text
554 #: build/C/man5/acct.5:36
555 msgid ""
556 "If the kernel is built with the process accounting option enabled "
557 "(B<CONFIG_BSD_PROCESS_ACCT>), then calling B<acct>(2)  starts process "
558 "accounting, for example:"
559 msgstr ""
560 "カーネルがプロセス・アカウンティングのオプション "
561 "(B<CONFIG_BSD_PROCESS_ACCT>)  を有効にして作成されていると、以下のように "
562 "B<acct>(2)  を呼び出すとプロセス・アカウンティングが開始される。"
563
564 #. type: Plain text
565 #: build/C/man5/acct.5:39
566 msgid "acct(\"/var/log/pacct\");"
567 msgstr "acct(\"/var/log/pacct\");"
568
569 #. type: Plain text
570 #: build/C/man5/acct.5:47
571 msgid ""
572 "When process accounting is enabled, the kernel writes a record to the "
573 "accounting file as each process on the system terminates.  This record "
574 "contains information about the terminated process, and is defined in "
575 "I<E<lt>sys/acct.hE<gt>> as follows:"
576 msgstr ""
577 "プロセス・アカウンティングが有効になっていると、カーネルは システム上の各プロ"
578 "セスが終了するたびにアカウンティングファイルに レコードを書き込む。 このレ"
579 "コードは、終了したプロセスに関する情報を保持するもので、 I<E<lt>sys/acct."
580 "hE<gt>> で以下のように定義されている。"
581
582 #. type: Plain text
583 #: build/C/man5/acct.5:51
584 #, no-wrap
585 msgid "#define ACCT_COMM 16\n"
586 msgstr "#define ACCT_COMM 16\n"
587
588 #. type: Plain text
589 #: build/C/man5/acct.5:53
590 #, no-wrap
591 msgid "typedef u_int16_t comp_t;\n"
592 msgstr "typedef u_int16_t comp_t;\n"
593
594 #. type: Plain text
595 #: build/C/man5/acct.5:77
596 #, no-wrap
597 msgid ""
598 "struct acct {\n"
599 "    char ac_flag;           /* Accounting flags */\n"
600 "    u_int16_t ac_uid;       /* Accounting user ID */\n"
601 "    u_int16_t ac_gid;       /* Accounting group ID */\n"
602 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
603 "    u_int32_t ac_btime;     /* Process creation time\n"
604 "                               (seconds since the Epoch) */\n"
605 "    comp_t    ac_utime;     /* User CPU time */\n"
606 "    comp_t    ac_stime;     /* System CPU time */\n"
607 "    comp_t    ac_etime;     /* Elapsed time */\n"
608 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
609 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
610 "    comp_t    ac_rw;        /* Blocks read or written (unused) */\n"
611 "    comp_t    ac_minflt;    /* Minor page faults */\n"
612 "    comp_t    ac_majflt;    /* Major page faults */\n"
613 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
614 "    u_int32_t ac_exitcode;  /* Process termination status\n"
615 "                               (see wait(2)) */\n"
616 "    char      ac_comm[ACCT_COMM+1];\n"
617 "                            /* Command name (basename of last\n"
618 "                               executed command; null-terminated) */\n"
619 "    char      ac_pad[I<X>];    /* padding bytes */\n"
620 "};\n"
621 msgstr ""
622 "struct acct {\n"
623 "    char ac_flag;           /* Accounting flags */\n"
624 "    u_int16_t ac_uid;       /* Accounting user ID */\n"
625 "    u_int16_t ac_gid;       /* Accounting group ID */\n"
626 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
627 "    u_int32_t ac_btime;     /* Process creation time\n"
628 "                               (seconds since the Epoch) */\n"
629 "    comp_t    ac_utime;     /* User CPU time */\n"
630 "    comp_t    ac_stime;     /* System CPU time */\n"
631 "    comp_t    ac_etime;     /* Elapsed time */\n"
632 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
633 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
634 "    comp_t    ac_rw;        /* Blocks read or written (unused) */\n"
635 "    comp_t    ac_minflt;    /* Minor page faults */\n"
636 "    comp_t    ac_majflt;    /* Major page faults */\n"
637 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
638 "    u_int32_t ac_exitcode;  /* Process termination status\n"
639 "                               (see wait(2)) */\n"
640 "    char      ac_comm[ACCT_COMM+1];\n"
641 "                            /* Command name (basename of last\n"
642 "                               executed command; null-terminated) */\n"
643 "    char      ac_pad[I<X>];    /* padding bytes */\n"
644 "};\n"
645
646 #. type: Plain text
647 #: build/C/man5/acct.5:84
648 #, no-wrap
649 msgid ""
650 "enum {          /* Bits that may be set in ac_flag field */\n"
651 "    AFORK = 0x01,           /* Has executed fork, but no exec */\n"
652 "    ASU   = 0x02,           /* Used superuser privileges */\n"
653 "    ACORE = 0x08,           /* Dumped core */\n"
654 "    AXSIG = 0x10            /* Killed by a signal */\n"
655 "};\n"
656 msgstr ""
657 "enum {          /* Bits that may be set in ac_flag field */\n"
658 "    AFORK = 0x01,           /* Has executed fork, but no exec */\n"
659 "    ASU   = 0x02,           /* Used superuser privileges */\n"
660 "    ACORE = 0x08,           /* Dumped core */\n"
661 "    AXSIG = 0x10            /* Killed by a signal */\n"
662 "};\n"
663
664 #. type: Plain text
665 #: build/C/man5/acct.5:94
666 msgid ""
667 "The I<comp_t> data type is a floating-point value consisting of a 3-bit, "
668 "base-8 exponent, and a 13-bit mantissa.  A value, I<c>, of this type can be "
669 "converted to a (long) integer as follows:"
670 msgstr ""
671 "データ型 I<comp_t> は浮動小数点値で、3 ビット幅の基数が 8 の指数部と 13 ビッ"
672 "ト幅の仮数部から 構成される。 I<comp_t> 型の値 I<c> は以下のようにして (long "
673 "型の) 整数に変換できる。"
674
675 #. type: Plain text
676 #: build/C/man5/acct.5:97
677 #, no-wrap
678 msgid "    v = (c & 0x1fff) E<lt>E<lt> (((c E<gt>E<gt> 13) & 0x7) * 3);\n"
679 msgstr "    v = (c & 0x1fff) E<lt>E<lt> (((c E<gt>E<gt> 13) & 0x7) * 3);\n"
680
681 #. type: Plain text
682 #: build/C/man5/acct.5:107
683 msgid ""
684 "The I<ac_utime>, I<ac_stime>, and I<ac_etime> fields measure time in \"clock "
685 "ticks\"; divide these values by I<sysconf(_SC_CLK_TCK)> to convert them to "
686 "seconds."
687 msgstr ""
688 "フィールド I<ac_utime>, I<ac_stime>, I<ac_etime> は \"clock ticks\" 単位で計"
689 "測した時間である。 これらの値を I<sysconf(_SC_CLK_TCK)> で割ると、秒に変換で"
690 "きる。"
691
692 #. type: SS
693 #: build/C/man5/acct.5:107
694 #, no-wrap
695 msgid "Version 3 accounting file format"
696 msgstr "バージョン 3 のアカウンティングファイルのフォーマット"
697
698 #. type: Plain text
699 #: build/C/man5/acct.5:122
700 msgid ""
701 "Since kernel 2.6.8, an optional alternative version of the accounting file "
702 "can be produced if the B<CONFIG_BSD_PROCESS_ACCT_V3> option is set when "
703 "building the kernel.  With this option is set, the records written to the "
704 "accounting file contain additional fields, and the width of I<c_uid> and "
705 "I<ac_gid> fields is widened from 16 to 32 bits (in line with the increased "
706 "size of UID and GIDs in Linux 2.4 and later).  The records are defined as "
707 "follows:"
708 msgstr ""
709 "カーネル 2.6.8 以降では、 別のバージョンのアカウンティングファイルを生成する"
710 "ことができ、 これを使うにはカーネル構築時に B<CONFIG_BSD_PROCESS_ACCT_V3> オ"
711 "プションが有効になっている必要がある。 このオプションが設定されると、アカウン"
712 "ティングファイルに書き込まれる レコードにフィールドが追加される。 また、"
713 "フィールド I<c_uid> と I<ac_gid> の幅が 16 ビットから 32 ビットに拡張される "
714 "(これは Linux 2.4 以降で UID と GID のサイズが増えているのに 対応したものであ"
715 "る)。 このレコードは以下のように定義されている。"
716
717 #. type: Plain text
718 #: build/C/man5/acct.5:147
719 #, no-wrap
720 msgid ""
721 "struct acct_v3 {\n"
722 "    char      ac_flag;      /* Flags */\n"
723 "    char      ac_version;   /* Always set to ACCT_VERSION (3) */\n"
724 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
725 "    u_int32_t ac_exitcode;  /* Process termination status */\n"
726 "    u_int32_t ac_uid;       /* Real user ID */\n"
727 "    u_int32_t ac_gid;       /* Real group ID */\n"
728 "    u_int32_t ac_pid;       /* Process ID */\n"
729 "    u_int32_t ac_ppid;      /* Parent process ID */\n"
730 "    u_int32_t ac_btime;     /* Process creation time */\n"
731 "    float     ac_etime;     /* Elapsed time */\n"
732 "    comp_t    ac_utime;     /* User CPU time */\n"
733 "    comp_t    ac_stime;     /* System time */\n"
734 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
735 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
736 "    comp_t    ac_rw;        /* Blocks read or written\n"
737 "                               (unused) */\n"
738 "    comp_t    ac_minflt;    /* Minor page faults */\n"
739 "    comp_t    ac_majflt;    /* Major page faults */\n"
740 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
741 "    char      ac_comm[ACCT_COMM]; /* Command name */\n"
742 "};\n"
743 msgstr ""
744 "struct acct_v3 {\n"
745 "    char      ac_flag;      /* Flags */\n"
746 "    char      ac_version;   /* Always set to ACCT_VERSION (3) */\n"
747 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
748 "    u_int32_t ac_exitcode;  /* Process termination status */\n"
749 "    u_int32_t ac_uid;       /* Real user ID */\n"
750 "    u_int32_t ac_gid;       /* Real group ID */\n"
751 "    u_int32_t ac_pid;       /* Process ID */\n"
752 "    u_int32_t ac_ppid;      /* Parent process ID */\n"
753 "    u_int32_t ac_btime;     /* Process creation time */\n"
754 "    float     ac_etime;     /* Elapsed time */\n"
755 "    comp_t    ac_utime;     /* User CPU time */\n"
756 "    comp_t    ac_stime;     /* System time */\n"
757 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
758 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
759 "    comp_t    ac_rw;        /* Blocks read or written\n"
760 "                               (unused) */\n"
761 "    comp_t    ac_minflt;    /* Minor page faults */\n"
762 "    comp_t    ac_majflt;    /* Major page faults */\n"
763 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
764 "    char      ac_comm[ACCT_COMM]; /* Command name */\n"
765 "};\n"
766
767 #. type: SH
768 #: build/C/man5/acct.5:149 build/C/man7/cpuset.7:1338
769 #: build/C/man2/getresuid.2:60 build/C/man2/getrlimit.2:473
770 #: build/C/man2/getsid.2:75 build/C/man2/ioprio_set.2:193
771 #: build/C/man2/setfsgid.2:71 build/C/man2/setfsuid.2:71
772 #: build/C/man2/setresuid.2:81
773 #, no-wrap
774 msgid "VERSIONS"
775 msgstr "バージョン"
776
777 #. type: Plain text
778 #: build/C/man5/acct.5:153
779 msgid "The I<acct_v3> structure is defined in glibc since version 2.6."
780 msgstr "I<acct_v3> 構造体はバージョン 2.6 以降の glibc で定義されている。"
781
782 #. type: Plain text
783 #: build/C/man5/acct.5:157
784 msgid ""
785 "Process accounting originated on BSD.  Although it is present on most "
786 "systems, it is not standardized, and the details vary somewhat between "
787 "systems."
788 msgstr ""
789 "プロセスアカウンティングは BSD 由来である。 この機能はほとんどのシステムに存"
790 "在するが、標準化されておらず、 その詳細はシステムによりいくらか異なる。"
791
792 #. type: Plain text
793 #: build/C/man5/acct.5:160
794 msgid ""
795 "Records in the accounting file are ordered by termination time of the "
796 "process."
797 msgstr "アカウンティングファイルのレコードは、プロセスの終了時刻の順序となる。"
798
799 #. type: Plain text
800 #: build/C/man5/acct.5:167
801 msgid ""
802 "In kernels up to and including 2.6.9, a separate accounting record is "
803 "written for each thread created using the NPTL threading library; since "
804 "Linux 2.6.10, a single accounting record is written for the entire process "
805 "on termination of the last thread in the process."
806 msgstr ""
807 "バージョン 2.6.9 以前のカーネルでは、 NPTL スレッドライブラリを使って作成され"
808 "たスレッドでは スレッド毎に別々のアカウンティングレコードが書き込まれてい"
809 "た。 Linux 2.6.10 以降では、プロセス内の最後のスレッドが終了すると、 プロセス"
810 "全体についてのアカウンティングレコードが一つだけ書き込まれる。"
811
812 #. type: Plain text
813 #: build/C/man5/acct.5:174
814 msgid ""
815 "The I<proc/sys/kernel/acct> file, described in B<proc>(5), defines settings "
816 "that control the behavior of process accounting when disk space runs low."
817 msgstr ""
818 "I<proc/sys/kernel/acct> ファイル (B<proc>(5)  で説明されている) は、ディスク"
819 "容量の残りが少なくなった際の プロセス・アカウンティングの動作を制御する設定を"
820 "保持している。"
821
822 #. type: Plain text
823 #: build/C/man5/acct.5:179
824 msgid "B<lastcomm>(1), B<acct>(2), B<accton>(8), B<sa>(8)"
825 msgstr "B<lastcomm>(1), B<acct>(2), B<accton>(8), B<sa>(8)"
826
827 #. type: TH
828 #: build/C/man7/capabilities.7:48
829 #, no-wrap
830 msgid "CAPABILITIES"
831 msgstr "CAPABILITIES"
832
833 #. type: TH
834 #: build/C/man7/capabilities.7:48 build/C/man7/cpuset.7:25
835 #: build/C/man7/credentials.7:27
836 #, no-wrap
837 msgid "2014-05-21"
838 msgstr "2014-05-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:318
977 #: build/C/man7/capabilities.7:325 build/C/man7/capabilities.7:328
978 #: build/C/man7/capabilities.7:336 build/C/man7/capabilities.7:338
979 #: build/C/man7/capabilities.7:347 build/C/man7/capabilities.7:354
980 #: build/C/man7/capabilities.7:357 build/C/man7/capabilities.7:361
981 #: build/C/man7/capabilities.7:364 build/C/man7/capabilities.7:367
982 #: build/C/man7/capabilities.7:374 build/C/man7/capabilities.7:379
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:401 build/C/man7/capabilities.7:428
986 #: build/C/man7/capabilities.7:433 build/C/man7/capabilities.7:439
987 #: build/C/man7/capabilities.7:442 build/C/man7/capabilities.7:445
988 #: build/C/man7/capabilities.7:454 build/C/man7/capabilities.7:458
989 #: build/C/man7/capabilities.7:475 build/C/man7/capabilities.7:478
990 #: build/C/man7/capabilities.7:482 build/C/man7/capabilities.7:487
991 #: build/C/man7/capabilities.7:496 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:512 build/C/man7/capabilities.7:515
994 #: build/C/man7/capabilities.7:518 build/C/man7/capabilities.7:521
995 #: build/C/man7/capabilities.7:526 build/C/man7/capabilities.7:528
996 #: build/C/man7/capabilities.7:534 build/C/man7/capabilities.7:542
997 #: build/C/man7/capabilities.7:544 build/C/man7/capabilities.7:548
998 #: build/C/man7/capabilities.7:550 build/C/man7/capabilities.7:553
999 #: build/C/man7/capabilities.7:557 build/C/man7/capabilities.7:559
1000 #: build/C/man7/capabilities.7:561 build/C/man7/capabilities.7:563
1001 #: build/C/man7/capabilities.7:572 build/C/man7/capabilities.7:579
1002 #: build/C/man7/capabilities.7:584 build/C/man7/capabilities.7:589
1003 #: build/C/man7/capabilities.7:594 build/C/man7/capabilities.7:619
1004 #: build/C/man7/capabilities.7:626 build/C/man7/capabilities.7:827
1005 #: build/C/man7/capabilities.7:835 build/C/man7/capabilities.7:1151
1006 #: build/C/man7/capabilities.7:1156 build/C/man7/cpuset.7:540
1007 #: build/C/man7/cpuset.7:545 build/C/man7/cpuset.7:550
1008 #: build/C/man7/cpuset.7:726 build/C/man7/cpuset.7:730
1009 #: build/C/man7/cpuset.7:927 build/C/man7/cpuset.7:930
1010 #: build/C/man7/cpuset.7:934 build/C/man7/cpuset.7:938
1011 #: build/C/man7/cpuset.7:942 build/C/man7/credentials.7:177
1012 #: build/C/man7/credentials.7:183 build/C/man7/credentials.7:195
1013 #: build/C/man7/credentials.7:217 build/C/man7/credentials.7:234
1014 #: build/C/man7/credentials.7:266 build/C/man7/credentials.7:269
1015 #: build/C/man7/credentials.7:280 build/C/man7/credentials.7:283
1016 #, no-wrap
1017 msgid "*"
1018 msgstr "*"
1019
1020 #. type: Plain text
1021 #: build/C/man7/capabilities.7:101
1022 msgid ""
1023 "Bypass file read permission checks and directory read and execute permission "
1024 "checks;"
1025 msgstr ""
1026 "ファイルの読み出し権限のチェックとディレクトリの読み出しと実行 の権限チェック"
1027 "をバイパスする。"
1028
1029 #. type: Plain text
1030 #: build/C/man7/capabilities.7:104
1031 msgid "Invoke B<open_by_handle_at>(2)."
1032 msgstr "B<open_by_handle_at>(2) を起動する。"
1033
1034 #. type: TP
1035 #: build/C/man7/capabilities.7:107
1036 #, no-wrap
1037 msgid "B<CAP_FOWNER>"
1038 msgstr "B<CAP_FOWNER>"
1039
1040 #. type: Plain text
1041 #: build/C/man7/capabilities.7:121
1042 msgid ""
1043 "Bypass permission checks on operations that normally require the filesystem "
1044 "UID of the process to match the UID of the file (e.g., B<chmod>(2), "
1045 "B<utime>(2)), excluding those operations covered by B<CAP_DAC_OVERRIDE> and "
1046 "B<CAP_DAC_READ_SEARCH>;"
1047 msgstr ""
1048 "通常、プロセスのファイルシステム UID がファイルの UID に一致することが 要求さ"
1049 "れる操作 (例えば B<chmod>(2), B<utime>(2))  における権限チェックをバイパスす"
1050 "る。 但し、 B<CAP_DAC_OVERRIDE> か B<CAP_DAC_READ_SEARCH> によりチェックが行"
1051 "われる操作は除く。"
1052
1053 #. type: Plain text
1054 #: build/C/man7/capabilities.7:125
1055 msgid "set extended file attributes (see B<chattr>(1))  on arbitrary files;"
1056 msgstr ""
1057 "任意のファイルに対して拡張ファイル属性を設定する (B<chattr>(1)  参照)。"
1058
1059 #. type: Plain text
1060 #: build/C/man7/capabilities.7:127
1061 msgid "set Access Control Lists (ACLs) on arbitrary files;"
1062 msgstr "任意のファイルに対してアクセス制御リスト (ACL) を設定する。"
1063
1064 #. type: Plain text
1065 #: build/C/man7/capabilities.7:129
1066 msgid "ignore directory sticky bit on file deletion;"
1067 msgstr "ファイルの削除の際にディレクトリのスティッキービットを無視する。"
1068
1069 #. type: Plain text
1070 #: build/C/man7/capabilities.7:136
1071 msgid ""
1072 "specify B<O_NOATIME> for arbitrary files in B<open>(2)  and B<fcntl>(2)."
1073 msgstr ""
1074 "B<open>(2)  や B<fcntl>(2)  で任意のファイルに対して B<O_NOATIME> を指定す"
1075 "る。"
1076
1077 #. type: TP
1078 #: build/C/man7/capabilities.7:138
1079 #, no-wrap
1080 msgid "B<CAP_FSETID>"
1081 msgstr "B<CAP_FSETID>"
1082
1083 #. type: Plain text
1084 #: build/C/man7/capabilities.7:144
1085 msgid ""
1086 "Don't clear set-user-ID and set-group-ID permission bits when a file is "
1087 "modified; set the set-group-ID bit for a file whose GID does not match the "
1088 "filesystem or any of the supplementary GIDs of the calling process."
1089 msgstr ""
1090 "ファイルが変更されたときに set-user-ID とset-group-ID の許可ビットをクリア し"
1091 "ない。呼び出し元プロセスのファイルシステム GID と追加の GID のいずれとも GID "
1092 "が一致しないファイルに対して set-group-ID ビットを設定する。"
1093
1094 #. type: TP
1095 #: build/C/man7/capabilities.7:144
1096 #, no-wrap
1097 msgid "B<CAP_IPC_LOCK>"
1098 msgstr "B<CAP_IPC_LOCK>"
1099
1100 #.  FIXME As at Linux 3.2, there are some strange uses of this capability
1101 #.  in other places; they probably should be replaced with something else.
1102 #. type: Plain text
1103 #: build/C/man7/capabilities.7:153
1104 msgid "Lock memory (B<mlock>(2), B<mlockall>(2), B<mmap>(2), B<shmctl>(2))."
1105 msgstr ""
1106 "メモリーのロック (B<mlock>(2), B<mlockall>(2), B<mmap>(2), B<shmctl>(2))  を"
1107 "行う。"
1108
1109 #. type: TP
1110 #: build/C/man7/capabilities.7:153
1111 #, no-wrap
1112 msgid "B<CAP_IPC_OWNER>"
1113 msgstr "B<CAP_IPC_OWNER>"
1114
1115 #. type: Plain text
1116 #: build/C/man7/capabilities.7:156
1117 msgid "Bypass permission checks for operations on System V IPC objects."
1118 msgstr ""
1119 "System V IPC オブジェクトに対する操作に関して権限チェックをバイパスする。"
1120
1121 #. type: TP
1122 #: build/C/man7/capabilities.7:156
1123 #, no-wrap
1124 msgid "B<CAP_KILL>"
1125 msgstr "B<CAP_KILL>"
1126
1127 #.  FIXME CAP_KILL also has an effect for threads + setting child
1128 #.        termination signal to other than SIGCHLD: without this
1129 #.        capability, the termination signal reverts to SIGCHLD
1130 #.        if the child does an exec().  What is the rationale
1131 #.        for this?
1132 #. type: Plain text
1133 #: build/C/man7/capabilities.7:169
1134 msgid ""
1135 "Bypass permission checks for sending signals (see B<kill>(2)).  This "
1136 "includes use of the B<ioctl>(2)  B<KDSIGACCEPT> operation."
1137 msgstr ""
1138 "シグナルを送信する際に権限チェックをバイパスする (B<kill>(2)  参照)。これに"
1139 "は B<ioctl>(2)  の B<KDSIGACCEPT> 操作の使用も含まれる。"
1140
1141 #. type: TP
1142 #: build/C/man7/capabilities.7:169
1143 #, no-wrap
1144 msgid "B<CAP_LEASE> (since Linux 2.4)"
1145 msgstr "B<CAP_LEASE> (Linux 2.4 以降)"
1146
1147 #. type: Plain text
1148 #: build/C/man7/capabilities.7:173
1149 msgid "Establish leases on arbitrary files (see B<fcntl>(2))."
1150 msgstr "任意のファイルに対して ファイルリースを設定する (B<fcntl>(2)  参照)。"
1151
1152 #. type: TP
1153 #: build/C/man7/capabilities.7:173
1154 #, no-wrap
1155 msgid "B<CAP_LINUX_IMMUTABLE>"
1156 msgstr "B<CAP_LINUX_IMMUTABLE>"
1157
1158 #.  These attributes are now available on ext2, ext3, Reiserfs, XFS, JFS
1159 #. type: Plain text
1160 #: build/C/man7/capabilities.7:182
1161 msgid ""
1162 "Set the B<FS_APPEND_FL> and B<FS_IMMUTABLE_FL> i-node flags (see "
1163 "B<chattr>(1))."
1164 msgstr ""
1165 "拡張ファイル属性 B<FS_APPEND_FL> と B<FS_IMMUTABLE_FL> を設定する "
1166 "(B<chattr>(1)  参照)。"
1167
1168 #. type: TP
1169 #: build/C/man7/capabilities.7:182
1170 #, no-wrap
1171 msgid "B<CAP_MAC_ADMIN> (since Linux 2.6.25)"
1172 msgstr "B<CAP_MAC_ADMIN> (Linux 2.6.25 以降)"
1173
1174 #. type: Plain text
1175 #: build/C/man7/capabilities.7:186
1176 msgid ""
1177 "Override Mandatory Access Control (MAC).  Implemented for the Smack Linux "
1178 "Security Module (LSM)."
1179 msgstr ""
1180 "強制アクセス制御 (MAC) を上書きする。 Smack Linux Security Module (LSM) 用に"
1181 "実装されている。"
1182
1183 #. type: TP
1184 #: build/C/man7/capabilities.7:186
1185 #, no-wrap
1186 msgid "B<CAP_MAC_OVERRIDE> (since Linux 2.6.25)"
1187 msgstr "B<CAP_MAC_OVERRIDE> (Linux 2.6.25 以降)"
1188
1189 #. type: Plain text
1190 #: build/C/man7/capabilities.7:190
1191 msgid ""
1192 "Allow MAC configuration or state changes.  Implemented for the Smack LSM."
1193 msgstr "MAC の設定や状態を変更する。 Smack LSM 用に実装されている。"
1194
1195 #. type: TP
1196 #: build/C/man7/capabilities.7:190
1197 #, no-wrap
1198 msgid "B<CAP_MKNOD> (since Linux 2.4)"
1199 msgstr "B<CAP_MKNOD> (Linux 2.4 以降)"
1200
1201 #. type: Plain text
1202 #: build/C/man7/capabilities.7:194
1203 msgid "Create special files using B<mknod>(2)."
1204 msgstr ""
1205 "(Linux 2.4 以降)  B<mknod>(2)  を使用してスペシャルファイルを作成する。"
1206
1207 #. type: TP
1208 #: build/C/man7/capabilities.7:194
1209 #, no-wrap
1210 msgid "B<CAP_NET_ADMIN>"
1211 msgstr "B<CAP_NET_ADMIN>"
1212
1213 #. type: Plain text
1214 #: build/C/man7/capabilities.7:197
1215 msgid "Perform various network-related operations:"
1216 msgstr "各種のネットワーク関係の操作を実行する:"
1217
1218 #. type: Plain text
1219 #: build/C/man7/capabilities.7:201
1220 msgid "interface configuration;"
1221 msgstr "インターフェースの設定"
1222
1223 #. type: Plain text
1224 #: build/C/man7/capabilities.7:203
1225 msgid "administration of IP firewall, masquerading, and accounting;"
1226 msgstr "IP のファイアウォール、マスカレード、アカウンティング"
1227
1228 #. type: Plain text
1229 #: build/C/man7/capabilities.7:205
1230 msgid "modify routing tables;"
1231 msgstr "ルーティングテーブルの変更"
1232
1233 #. type: Plain text
1234 #: build/C/man7/capabilities.7:207
1235 msgid "bind to any address for transparent proxying;"
1236 msgstr "透過的プロキシでの任意のアドレスの割り当て (bind)"
1237
1238 #. type: Plain text
1239 #: build/C/man7/capabilities.7:209
1240 msgid "set type-of-service (TOS)"
1241 msgstr "サービス種別 (type-of-service; TOS) のセット"
1242
1243 #. type: Plain text
1244 #: build/C/man7/capabilities.7:211
1245 msgid "clear driver statistics;"
1246 msgstr "ドライバの統計情報のクリア"
1247
1248 #. type: Plain text
1249 #: build/C/man7/capabilities.7:213
1250 msgid "set promiscuous mode;"
1251 msgstr "promiscuous モードをセットする"
1252
1253 #. type: Plain text
1254 #: build/C/man7/capabilities.7:215
1255 msgid "enabling multicasting;"
1256 msgstr "マルチキャストを有効にする"
1257
1258 #. type: Plain text
1259 #: build/C/man7/capabilities.7:226
1260 msgid ""
1261 "use B<setsockopt>(2)  to set the following socket options: B<SO_DEBUG>, "
1262 "B<SO_MARK>, B<SO_PRIORITY> (for a priority outside the range 0 to 6), "
1263 "B<SO_RCVBUFFORCE>, and B<SO_SNDBUFFORCE>."
1264 msgstr ""
1265 "B<setsockopt>(2) を使って以下のソケットオプションを設定する:\n"
1266 "B<SO_DEBUG>, B<SO_MARK>, \n"
1267 "B<SO_PRIORITY> (優先度を 0 から 6 以外に設定する場合),\n"
1268 "B<SO_RCVBUFFORCE>, and B<SO_SNDBUFFORCE>"
1269
1270 #. type: TP
1271 #: build/C/man7/capabilities.7:228
1272 #, no-wrap
1273 msgid "B<CAP_NET_BIND_SERVICE>"
1274 msgstr "B<CAP_NET_BIND_SERVICE>"
1275
1276 #. type: Plain text
1277 #: build/C/man7/capabilities.7:232
1278 msgid ""
1279 "Bind a socket to Internet domain privileged ports (port numbers less than "
1280 "1024)."
1281 msgstr ""
1282 "インターネットドメインの特権ポート (ポート番号が 1024 番未満)  をバインドでき"
1283 "る。"
1284
1285 #. type: TP
1286 #: build/C/man7/capabilities.7:232
1287 #, no-wrap
1288 msgid "B<CAP_NET_BROADCAST>"
1289 msgstr "B<CAP_NET_BROADCAST>"
1290
1291 #. type: Plain text
1292 #: build/C/man7/capabilities.7:235
1293 msgid "(Unused)  Make socket broadcasts, and listen to multicasts."
1294 msgstr ""
1295 "(未使用) ソケットのブロードキャストと、マルチキャストの待ち受けを行う。"
1296
1297 #. type: TP
1298 #: build/C/man7/capabilities.7:235
1299 #, no-wrap
1300 msgid "B<CAP_NET_RAW>"
1301 msgstr "B<CAP_NET_RAW>"
1302
1303 #. type: Plain text
1304 #: build/C/man7/capabilities.7:241
1305 msgid "use RAW and PACKET sockets;"
1306 msgstr "RAW ソケットと PACKET ソケットを使用する。"
1307
1308 #. type: Plain text
1309 #: build/C/man7/capabilities.7:243
1310 msgid "bind to any address for transparent proxying."
1311 msgstr "透過的プロキシでの任意のアドレスの割り当て (bind)"
1312
1313 #. type: TP
1314 #: build/C/man7/capabilities.7:246
1315 #, no-wrap
1316 msgid "B<CAP_SETGID>"
1317 msgstr "B<CAP_SETGID>"
1318
1319 #. type: Plain text
1320 #: build/C/man7/capabilities.7:250
1321 msgid ""
1322 "Make arbitrary manipulations of process GIDs and supplementary GID list; "
1323 "forge GID when passing socket credentials via UNIX domain sockets."
1324 msgstr ""
1325 "プロセスの GID と追加の GID リストに対する任意の操作を行う。 UNIX ドメインソ"
1326 "ケット経由でソケットの資格情報 (credential) を渡す際に 偽の GID を渡すことが"
1327 "できる。"
1328
1329 #. type: TP
1330 #: build/C/man7/capabilities.7:250
1331 #, no-wrap
1332 msgid "B<CAP_SETFCAP> (since Linux 2.6.24)"
1333 msgstr "B<CAP_SETFCAP> (Linux 2.6.24 以降)"
1334
1335 #. type: Plain text
1336 #: build/C/man7/capabilities.7:253
1337 msgid "Set file capabilities."
1338 msgstr "ファイルケーパビリティを設定する。"
1339
1340 #. type: TP
1341 #: build/C/man7/capabilities.7:253
1342 #, no-wrap
1343 msgid "B<CAP_SETPCAP>"
1344 msgstr "B<CAP_SETPCAP>"
1345
1346 #. type: Plain text
1347 #: build/C/man7/capabilities.7:264
1348 msgid ""
1349 "If file capabilities are not supported: grant or remove any capability in "
1350 "the caller's permitted capability set to or from any other process.  (This "
1351 "property of B<CAP_SETPCAP> is not available when the kernel is configured to "
1352 "support file capabilities, since B<CAP_SETPCAP> has entirely different "
1353 "semantics for such kernels.)"
1354 msgstr ""
1355 "ファイルケーパビリティがサポートされていない場合: 呼び出し元が許可されている"
1356 "ケーパビリティセットに含まれる任意のケーパビリティを、 他のプロセスに付与した"
1357 "り、削除したりできる。 (カーネルがファイルケーパビリティをサポートしている場"
1358 "合、 B<CAP_SETPCAP> はこの役割を持たない。 なぜなら、ファイルケーパビリティを"
1359 "サポートしているカーネルでは B<CAP_SETPCAP> は全く別の意味を持つからである。)"
1360
1361 #. type: Plain text
1362 #: build/C/man7/capabilities.7:274
1363 msgid ""
1364 "If file capabilities are supported: add any capability from the calling "
1365 "thread's bounding set to its inheritable set; drop capabilities from the "
1366 "bounding set (via B<prctl>(2)  B<PR_CAPBSET_DROP>); make changes to the "
1367 "I<securebits> flags."
1368 msgstr ""
1369 "ファイルケーパビリティがサポートされている場合: 呼び出し元スレッドのバウン"
1370 "ディングセットの任意のケーパビリティを 自身の継承可能ケーパビリティセットに追"
1371 "加できる。 (B<prctl>(2)  B<PR_CAPBSET_DROP> を使って)  バウンディングセットか"
1372 "らケーパビリティを削除できる。 I<securebits> フラグを変更できる。"
1373
1374 #. type: TP
1375 #: build/C/man7/capabilities.7:274
1376 #, no-wrap
1377 msgid "B<CAP_SETUID>"
1378 msgstr "B<CAP_SETUID>"
1379
1380 #.  FIXME CAP_SETUID also an effect in exec(); document this.
1381 #. type: Plain text
1382 #: build/C/man7/capabilities.7:283
1383 msgid ""
1384 "Make arbitrary manipulations of process UIDs (B<setuid>(2), B<setreuid>(2), "
1385 "B<setresuid>(2), B<setfsuid>(2)); make forged UID when passing socket "
1386 "credentials via UNIX domain sockets."
1387 msgstr ""
1388 "プロセスの UID に対する任意の操作 (B<setuid>(2), B<setreuid>(2), "
1389 "B<setresuid>(2), B<setfsuid>(2))  を行う。 UNIX ドメインソケット経由でソケッ"
1390 "トの資格情報 (credential) を渡す際に 偽の UID を渡すことができる。"
1391
1392 #. type: TP
1393 #: build/C/man7/capabilities.7:283
1394 #, no-wrap
1395 msgid "B<CAP_SYS_ADMIN>"
1396 msgstr "B<CAP_SYS_ADMIN>"
1397
1398 #. type: Plain text
1399 #: build/C/man7/capabilities.7:297
1400 msgid ""
1401 "Perform a range of system administration operations including: "
1402 "B<quotactl>(2), B<mount>(2), B<umount>(2), B<swapon>(2), B<swapoff>(2), "
1403 "B<sethostname>(2), and B<setdomainname>(2);"
1404 msgstr ""
1405 "以下のシステム管理用の操作を実行する: B<quotactl>(2), B<mount>(2), "
1406 "B<umount>(2), B<swapon>(2), B<swapoff>(2), B<sethostname>(2), "
1407 "B<setdomainname>(2)."
1408
1409 #. type: Plain text
1410 #: build/C/man7/capabilities.7:303
1411 msgid ""
1412 "perform privileged B<syslog>(2)  operations (since Linux 2.6.37, "
1413 "B<CAP_SYSLOG> should be used to permit such operations);"
1414 msgstr ""
1415 "特権が必要な B<syslog>(2) の操作を実行する\n"
1416 "(Linux 2.6.37 以降では、このような操作を許可するには\n"
1417 "B<CAP_SYSLOG> を使うべきである)"
1418
1419 #. type: Plain text
1420 #: build/C/man7/capabilities.7:308
1421 msgid "perform B<VM86_REQUEST_IRQ> B<vm86>(2)  command;"
1422 msgstr "B<VM86_REQUEST_IRQ> B<vm86>(2) コマンドを実行する。"
1423
1424 #. type: Plain text
1425 #: build/C/man7/capabilities.7:314
1426 msgid ""
1427 "perform B<IPC_SET> and B<IPC_RMID> operations on arbitrary System V IPC "
1428 "objects;"
1429 msgstr ""
1430 "任意の System V IPC オブジェクトに対する B<IPC_SET> と B<IPC_RMID> 操作を実行"
1431 "する。"
1432
1433 #. type: Plain text
1434 #: build/C/man7/capabilities.7:318 build/C/man7/capabilities.7:557
1435 msgid "override B<RLIMIT_NPROC> resource limit;"
1436 msgstr "B<RLIMIT_NPROC> リソース制限を上書きする。"
1437
1438 #. type: Plain text
1439 #: build/C/man7/capabilities.7:325
1440 msgid ""
1441 "perform operations on I<trusted> and I<security> Extended Attributes (see "
1442 "B<attr>(5));"
1443 msgstr ""
1444 "拡張属性 I<trusted> と I<security> に対する操作を実行する (B<attr>(5)  参"
1445 "照)。"
1446
1447 #. type: Plain text
1448 #: build/C/man7/capabilities.7:328
1449 msgid "use B<lookup_dcookie>(2);"
1450 msgstr "B<lookup_dcookie>(2)  を呼び出す。"
1451
1452 #. type: Plain text
1453 #: build/C/man7/capabilities.7:336
1454 msgid ""
1455 "use B<ioprio_set>(2)  to assign B<IOPRIO_CLASS_RT> and (before Linux "
1456 "2.6.25)  B<IOPRIO_CLASS_IDLE> I/O scheduling classes;"
1457 msgstr ""
1458 "B<ioprio_set>(2)  を使って I/O スケジューリングクラス B<IOPRIO_CLASS_RT>, "
1459 "B<IOPRIO_CLASS_IDLE> を割り当てる (B<IOPRIO_CLASS_IDLE> は Linux 2.6.25 より"
1460 "前のバージョンのみ)。"
1461
1462 #. type: Plain text
1463 #: build/C/man7/capabilities.7:338
1464 msgid "forge UID when passing socket credentials;"
1465 msgstr "ソケットの資格情報 (credential) を渡す際に偽の UID を渡す。"
1466
1467 #. type: Plain text
1468 #: build/C/man7/capabilities.7:347
1469 msgid ""
1470 "exceed I</proc/sys/fs/file-max>, the system-wide limit on the number of open "
1471 "files, in system calls that open files (e.g., B<accept>(2), B<execve>(2), "
1472 "B<open>(2), B<pipe>(2));"
1473 msgstr ""
1474 "ファイルをオープンするシステムコール (例えば B<accept>(2), B<execve>(2), "
1475 "B<open>(2), B<pipe>(2))  でシステム全体でオープンできるファイル数の上限 I</"
1476 "proc/sys/fs/file-max> を超過する。"
1477
1478 #. type: Plain text
1479 #: build/C/man7/capabilities.7:354
1480 msgid ""
1481 "employ B<CLONE_*> flags that create new namespaces with B<clone>(2)  and "
1482 "B<unshare>(2);"
1483 msgstr ""
1484 "B<clone>(2) と B<unshare>(2) で新しい名前空間を作成する B<CLONE_*> \n"
1485 "フラグを利用する。"
1486
1487 #. type: Plain text
1488 #: build/C/man7/capabilities.7:357
1489 msgid "call B<perf_event_open>(2);"
1490 msgstr "B<perf_event_open>(2) を呼び出す。"
1491
1492 #. type: Plain text
1493 #: build/C/man7/capabilities.7:361
1494 msgid "access privileged I<perf> event information;"
1495 msgstr "特権が必要な I<perf> イベントの情報にアクセスする。"
1496
1497 #. type: Plain text
1498 #: build/C/man7/capabilities.7:364
1499 msgid "call B<setns>(2);"
1500 msgstr "B<setns>(2) を呼び出す。"
1501
1502 #. type: Plain text
1503 #: build/C/man7/capabilities.7:367
1504 msgid "call B<fanotify_init>(2);"
1505 msgstr "B<fanotify_init>(2) を呼び出す。"
1506
1507 #. type: Plain text
1508 #: build/C/man7/capabilities.7:374
1509 msgid "perform B<KEYCTL_CHOWN> and B<KEYCTL_SETPERM> B<keyctl>(2)  operations;"
1510 msgstr "B<keyctl>(2)  の B<KEYCTL_CHOWN> と B<KEYCTL_SETPERM> 操作を実行する。"
1511
1512 #. type: Plain text
1513 #: build/C/man7/capabilities.7:379
1514 msgid "perform B<madvise>(2)  B<MADV_HWPOISON> operation;"
1515 msgstr "B<madvise>(2)  の B<MADV_HWPOISON> 操作を実行する。"
1516
1517 #. type: Plain text
1518 #: build/C/man7/capabilities.7:385
1519 #, fuzzy
1520 #| msgid ""
1521 #| "employ the B<TIOCSTI> B<ioctl>(2)  to insert characters into the input "
1522 #| "queue of a terminal other than the caller's controlling terminal."
1523 msgid ""
1524 "employ the B<TIOCSTI> B<ioctl>(2)  to insert characters into the input queue "
1525 "of a terminal other than the caller's controlling terminal;"
1526 msgstr ""
1527 "B<TIOCSTI> B<ioctl>(2) を使って、\n"
1528 "呼び出し元の制御端末以外の端末の入力キューに文字を挿入する。"
1529
1530 #. type: Plain text
1531 #: build/C/man7/capabilities.7:389
1532 msgid "employ the obsolete B<nfsservctl>(2)  system call;"
1533 msgstr "廃止予定の B<nfsservctl>(2) システムコールを使用する。"
1534
1535 #. type: Plain text
1536 #: build/C/man7/capabilities.7:393
1537 msgid "employ the obsolete B<bdflush>(2)  system call;"
1538 msgstr "廃止予定の B<bdflush>(2) システムコールを使用する。"
1539
1540 #. type: Plain text
1541 #: build/C/man7/capabilities.7:397
1542 msgid "perform various privileged block-device B<ioctl>(2)  operations;"
1543 msgstr ""
1544 "特権が必要なブロックデバイスに対する各種の B<ioctl>(2) 操作を\n"
1545 "実行する。"
1546
1547 #. type: Plain text
1548 #: build/C/man7/capabilities.7:401
1549 msgid "perform various privileged filesystem B<ioctl>(2)  operations;"
1550 msgstr ""
1551 "特権が必要なファイルシステムに対する各種の B<ioctl>(2) 操作を\n"
1552 "実行する。"
1553
1554 #. type: Plain text
1555 #: build/C/man7/capabilities.7:403
1556 msgid "perform administrative operations on many device drivers."
1557 msgstr "多くのデバイスドライバに対する管理命令を実行する。"
1558
1559 #. type: TP
1560 #: build/C/man7/capabilities.7:405
1561 #, no-wrap
1562 msgid "B<CAP_SYS_BOOT>"
1563 msgstr "B<CAP_SYS_BOOT>"
1564
1565 #. type: Plain text
1566 #: build/C/man7/capabilities.7:411
1567 msgid "Use B<reboot>(2)  and B<kexec_load>(2)."
1568 msgstr "B<reboot>(2)  と B<kexec_load>(2)  を呼び出す。"
1569
1570 #. type: TP
1571 #: build/C/man7/capabilities.7:411
1572 #, no-wrap
1573 msgid "B<CAP_SYS_CHROOT>"
1574 msgstr "B<CAP_SYS_CHROOT>"
1575
1576 #. type: Plain text
1577 #: build/C/man7/capabilities.7:415
1578 msgid "Use B<chroot>(2)."
1579 msgstr "B<chroot>(2).  を呼び出す。"
1580
1581 #. type: TP
1582 #: build/C/man7/capabilities.7:415
1583 #, no-wrap
1584 msgid "B<CAP_SYS_MODULE>"
1585 msgstr "B<CAP_SYS_MODULE>"
1586
1587 #. type: Plain text
1588 #: build/C/man7/capabilities.7:424
1589 msgid ""
1590 "Load and unload kernel modules (see B<init_module>(2)  and "
1591 "B<delete_module>(2)); in kernels before 2.6.25: drop capabilities from the "
1592 "system-wide capability bounding set."
1593 msgstr ""
1594 "カーネルモジュールのロード、アンロードを行う (B<init_module>(2)  と "
1595 "B<delete_module>(2)  を参照のこと)。 バージョン 2.6.25 より前のカーネルで、 "
1596 "システム全体のケーパビリティバウンディングセット (capability bounding set)  "
1597 "からケーパビリティを外す。"
1598
1599 #. type: TP
1600 #: build/C/man7/capabilities.7:424
1601 #, no-wrap
1602 msgid "B<CAP_SYS_NICE>"
1603 msgstr "B<CAP_SYS_NICE>"
1604
1605 #. type: Plain text
1606 #: build/C/man7/capabilities.7:433
1607 msgid ""
1608 "Raise process nice value (B<nice>(2), B<setpriority>(2))  and change the "
1609 "nice value for arbitrary processes;"
1610 msgstr ""
1611 "プロセスの nice 値の引き上げ (B<nice>(2), B<setpriority>(2))  や、任意のプロ"
1612 "セスの nice 値の変更を行う。"
1613
1614 #. type: Plain text
1615 #: build/C/man7/capabilities.7:439
1616 msgid ""
1617 "set real-time scheduling policies for calling process, and set scheduling "
1618 "policies and priorities for arbitrary processes (B<sched_setscheduler>(2), "
1619 "B<sched_setparam>(2), B<shed_setattr>(2));"
1620 msgstr ""
1621 "呼び出し元プロセスに対するリアルタイムスケジューリングポリシーと、 任意のプロ"
1622 "セスに対するスケジューリングポリシーと優先度を設定する "
1623 "(B<sched_setscheduler>(2), B<sched_setparam>(2), B<shed_setattr>(2))。"
1624
1625 #. type: Plain text
1626 #: build/C/man7/capabilities.7:442
1627 msgid "set CPU affinity for arbitrary processes (B<sched_setaffinity>(2));"
1628 msgstr ""
1629 "任意のプロセスに対する CPU affinity を設定できる (B<sched_setaffinity>(2))。"
1630
1631 #. type: Plain text
1632 #: build/C/man7/capabilities.7:445
1633 msgid ""
1634 "set I/O scheduling class and priority for arbitrary processes "
1635 "(B<ioprio_set>(2));"
1636 msgstr ""
1637 "任意のプロセスに対して I/O スケジューリングクラスと優先度を設定できる "
1638 "(B<ioprio_set>(2))。"
1639
1640 #.  FIXME CAP_SYS_NICE also has the following effect for
1641 #.  migrate_pages(2):
1642 #.      do_migrate_pages(mm, &old, &new,
1643 #.          capable(CAP_SYS_NICE) ? MPOL_MF_MOVE_ALL : MPOL_MF_MOVE);
1644 #. type: Plain text
1645 #: build/C/man7/capabilities.7:454
1646 msgid ""
1647 "apply B<migrate_pages>(2)  to arbitrary processes and allow processes to be "
1648 "migrated to arbitrary nodes;"
1649 msgstr ""
1650 "B<migrate_pages>(2)  を任意のプロセスに適用し、プロセスを任意のノードに移動す"
1651 "る。"
1652
1653 #. type: Plain text
1654 #: build/C/man7/capabilities.7:458
1655 msgid "apply B<move_pages>(2)  to arbitrary processes;"
1656 msgstr "B<move_pages>(2)  を任意のプロセスに対して行う。"
1657
1658 #. type: Plain text
1659 #: build/C/man7/capabilities.7:465
1660 msgid ""
1661 "use the B<MPOL_MF_MOVE_ALL> flag with B<mbind>(2)  and B<move_pages>(2)."
1662 msgstr ""
1663 "B<mbind>(2)  と B<move_pages>(2)  で B<MPOL_MF_MOVE_ALL> フラグを使用する。"
1664
1665 #. type: TP
1666 #: build/C/man7/capabilities.7:467
1667 #, no-wrap
1668 msgid "B<CAP_SYS_PACCT>"
1669 msgstr "B<CAP_SYS_PACCT>"
1670
1671 #. type: Plain text
1672 #: build/C/man7/capabilities.7:471
1673 msgid "Use B<acct>(2)."
1674 msgstr "B<acct>(2)  を呼び出す。"
1675
1676 #. type: TP
1677 #: build/C/man7/capabilities.7:471
1678 #, no-wrap
1679 msgid "B<CAP_SYS_PTRACE>"
1680 msgstr "B<CAP_SYS_PTRACE>"
1681
1682 #. type: Plain text
1683 #: build/C/man7/capabilities.7:478
1684 msgid "Trace arbitrary processes using B<ptrace>(2);"
1685 msgstr ""
1686
1687 #. type: Plain text
1688 #: build/C/man7/capabilities.7:482
1689 #, fuzzy
1690 #| msgid "apply B<move_pages>(2)  to arbitrary processes;"
1691 msgid "apply B<get_robust_list>(2)  to arbitrary processes;"
1692 msgstr "B<move_pages>(2)  を任意のプロセスに対して行う。"
1693
1694 #. type: Plain text
1695 #: build/C/man7/capabilities.7:487
1696 msgid ""
1697 "transfer data to or from the memory of arbitrary processes using "
1698 "B<process_vm_readv>(2)  and B<process_vm_writev>(2)."
1699 msgstr ""
1700
1701 #. type: Plain text
1702 #: build/C/man7/capabilities.7:490
1703 msgid "inspect processes using B<kcmp>(2)."
1704 msgstr ""
1705
1706 #. type: TP
1707 #: build/C/man7/capabilities.7:492
1708 #, no-wrap
1709 msgid "B<CAP_SYS_RAWIO>"
1710 msgstr "B<CAP_SYS_RAWIO>"
1711
1712 #. type: Plain text
1713 #: build/C/man7/capabilities.7:501
1714 msgid "Perform I/O port operations (B<iopl>(2)  and B<ioperm>(2));"
1715 msgstr "I/O ポート操作を実行する (B<iopl>(2)、 B<ioperm>(2))。"
1716
1717 #. type: Plain text
1718 #: build/C/man7/capabilities.7:504
1719 msgid "access I</proc/kcore>;"
1720 msgstr "I</proc/kcore> にアクセスする。"
1721
1722 #. type: Plain text
1723 #: build/C/man7/capabilities.7:509
1724 msgid "employ the B<FIBMAP> B<ioctl>(2)  operation;"
1725 msgstr "B<FIBMAP> B<ioctl>(2) 操作を使用する。"
1726
1727 #. type: Plain text
1728 #: build/C/man7/capabilities.7:512
1729 msgid ""
1730 "open devices for accessing x86 model-specific registers (MSRs, see B<msr>(4))"
1731 msgstr ""
1732 "x86 モデルに固有のレジスタ (MSR レジスタ群、 B<msr>(4) 参照) にアクセスするた"
1733 "めのデバイスをオープンする。"
1734
1735 #. type: Plain text
1736 #: build/C/man7/capabilities.7:515
1737 msgid "update I</proc/sys/vm/mmap_min_addr>;"
1738 msgstr "I</proc/sys/vm/mmap_min_addr> を更新する。"
1739
1740 #. type: Plain text
1741 #: build/C/man7/capabilities.7:518
1742 msgid ""
1743 "create memory mappings at addresses below the value specified by I</proc/sys/"
1744 "vm/mmap_min_addr>;"
1745 msgstr ""
1746 "I</proc/sys/vm/mmap_min_addr> で指定された値よりも小さなアドレスにメモリマッ"
1747 "ピングを作成する。"
1748
1749 #. type: Plain text
1750 #: build/C/man7/capabilities.7:521
1751 msgid "map files in I</proc/bus/pci>;"
1752 msgstr "I</proc/bus/pci> にあるファイルをマップする。"
1753
1754 #. type: Plain text
1755 #: build/C/man7/capabilities.7:526
1756 msgid "open I</dev/mem> and I</dev/kmem>;"
1757 msgstr "I</dev/mem> や I</dev/kmem> をオープンする。"
1758
1759 #. type: Plain text
1760 #: build/C/man7/capabilities.7:528
1761 msgid "perform various SCSI device commands;"
1762 msgstr "各種の SCSI デバイスコマンドを実行する。"
1763
1764 #. type: Plain text
1765 #: build/C/man7/capabilities.7:534
1766 msgid "perform certain operations on B<hpsa>(4)  and B<cciss>(4)  devices;"
1767 msgstr "B<hpsa>(4) デバイスや B<cciss>(4) デバイスの特定の操作を実行する。"
1768
1769 #. type: Plain text
1770 #: build/C/man7/capabilities.7:536
1771 msgid "perform a range of device-specific operations on other devices."
1772 msgstr "他のデバイスに対して各種のデバイス固有命令を実行する。"
1773
1774 #. type: TP
1775 #: build/C/man7/capabilities.7:538
1776 #, no-wrap
1777 msgid "B<CAP_SYS_RESOURCE>"
1778 msgstr "B<CAP_SYS_RESOURCE>"
1779
1780 #. type: Plain text
1781 #: build/C/man7/capabilities.7:544
1782 msgid "Use reserved space on ext2 filesystems;"
1783 msgstr "ext2 ファイルシステム上の予約されている領域を使用する。"
1784
1785 #. type: Plain text
1786 #: build/C/man7/capabilities.7:548
1787 msgid "make B<ioctl>(2)  calls controlling ext3 journaling;"
1788 msgstr "ext3 のジャーナル機能を制御する B<ioctl>(2)  を使用する。"
1789
1790 #. type: Plain text
1791 #: build/C/man7/capabilities.7:550
1792 msgid "override disk quota limits;"
1793 msgstr "ディスク quota の上限を上書きする。"
1794
1795 #. type: Plain text
1796 #: build/C/man7/capabilities.7:553
1797 msgid "increase resource limits (see B<setrlimit>(2));"
1798 msgstr "リソース上限を増やす (B<setrlimit>(2))。"
1799
1800 #. type: Plain text
1801 #: build/C/man7/capabilities.7:559
1802 msgid "override maximum number of consoles on console allocation;"
1803 msgstr "コンソール割り当てにおいてコンソールの最大数を上書きする。"
1804
1805 #. type: Plain text
1806 #: build/C/man7/capabilities.7:561
1807 msgid "override maximum number of keymaps;"
1808 msgstr "キーマップの最大数を上書きする。"
1809
1810 #. type: Plain text
1811 #: build/C/man7/capabilities.7:563
1812 msgid "allow more than 64hz interrupts from the real-time clock;"
1813 msgstr "リアルタイムクロックから秒間 64 回を越える回数の割り当てが許可する。"
1814
1815 #. type: Plain text
1816 #: build/C/man7/capabilities.7:572
1817 msgid ""
1818 "raise I<msg_qbytes> limit for a System V message queue above the limit in I</"
1819 "proc/sys/kernel/msgmnb> (see B<msgop>(2)  and B<msgctl>(2));"
1820 msgstr ""
1821 "メッセージキューに関する上限 I<msg_qbytes> を \n"
1822 "I</proc/sys/kernel/msgmnb> に指定されている上限よりも大きく設定する\n"
1823 "(B<msgop>(2) と B<msgctl>(2) 参照)。"
1824
1825 #. type: Plain text
1826 #: build/C/man7/capabilities.7:579
1827 msgid ""
1828 "override the I</proc/sys/fs/pipe-size-max> limit when setting the capacity "
1829 "of a pipe using the B<F_SETPIPE_SZ> B<fcntl>(2)  command."
1830 msgstr ""
1831 "B<F_SETPIPE_SZ> B<fcntl>(2) を使ってパイプの容量を設定する際に\n"
1832 "上限 I</proc/sys/fs/pipe-size-max> を上書きする。"
1833
1834 #. type: Plain text
1835 #: build/C/man7/capabilities.7:584
1836 msgid ""
1837 "use B<F_SETPIPE_SZ> to increase the capacity of a pipe above the limit "
1838 "specified by I</proc/sys/fs/pipe-max-size>;"
1839 msgstr ""
1840 "I</proc/sys/fs/pipe-max-size> に指定されている上限を超えてパイプの容量\n"
1841 "を増やすのに B<F_SETPIPE_SZ> を使用する。"
1842
1843 #. type: Plain text
1844 #: build/C/man7/capabilities.7:589
1845 msgid ""
1846 "override I</proc/sys/fs/mqueue/queues_max> limit when creating POSIX message "
1847 "queues (see B<mq_overview>(7));"
1848 msgstr ""
1849 "POSIX メッセージキューを作成する際に、\n"
1850 "上限 I</proc/sys/fs/mqueue/queues_max> を上書きする\n"
1851 "(B<mq_overview>(7) 参照)。"
1852
1853 #. type: Plain text
1854 #: build/C/man7/capabilities.7:594
1855 msgid "employ B<prctl>(2)  B<PR_SET_MM> operation;"
1856 msgstr "B<prctl>(2) B<PR_SET_MM> 操作を使用する。"
1857
1858 #. type: Plain text
1859 #: build/C/man7/capabilities.7:599
1860 msgid ""
1861 "set I</proc/PID/oom_score_adj> to a value lower than the value last set by a "
1862 "process with B<CAP_SYS_RESOURCE>."
1863 msgstr ""
1864 "B<CAP_SYS_RESOURCE> を持ったプロセスによって最後に設定された値よりも小さな値"
1865 "を I</proc/PID/oom_score_adj> に設定する。"
1866
1867 #. type: TP
1868 #: build/C/man7/capabilities.7:601
1869 #, no-wrap
1870 msgid "B<CAP_SYS_TIME>"
1871 msgstr "B<CAP_SYS_TIME>"
1872
1873 #. type: Plain text
1874 #: build/C/man7/capabilities.7:608
1875 msgid ""
1876 "Set system clock (B<settimeofday>(2), B<stime>(2), B<adjtimex>(2)); set real-"
1877 "time (hardware) clock."
1878 msgstr ""
1879 "システムクロックを変更する (B<settimeofday>(2), B<stime>(2), "
1880 "B<adjtimex>(2))。 リアルタイム (ハードウェア) クロックを変更する。"
1881
1882 #. type: TP
1883 #: build/C/man7/capabilities.7:608
1884 #, no-wrap
1885 msgid "B<CAP_SYS_TTY_CONFIG>"
1886 msgstr "B<CAP_SYS_TTY_CONFIG>"
1887
1888 #. type: Plain text
1889 #: build/C/man7/capabilities.7:615
1890 msgid ""
1891 "Use B<vhangup>(2); employ various privileged B<ioctl>(2)  operations on "
1892 "virtual terminals."
1893 msgstr ""
1894 "B<vhangup>(2) を使用する。\n"
1895 "特権が必要な仮想端末に関する各種の B<ioctl>(2) 操作を利用できる。"
1896
1897 #. type: TP
1898 #: build/C/man7/capabilities.7:615
1899 #, no-wrap
1900 msgid "B<CAP_SYSLOG> (since Linux 2.6.37)"
1901 msgstr "B<CAP_SYSLOG> (Linux 2.6.37 以降)"
1902
1903 #. type: Plain text
1904 #: build/C/man7/capabilities.7:626
1905 msgid ""
1906 "Perform privileged B<syslog>(2)  operations.  See B<syslog>(2)  for "
1907 "information on which operations require privilege."
1908 msgstr ""
1909 "特権が必要な B<syslog>(2) 操作を実行できる。\n"
1910 "どの操作が特権が必要かについての情報は B<syslog>(2) を参照。"
1911
1912 #. type: Plain text
1913 #: build/C/man7/capabilities.7:636
1914 msgid ""
1915 "View kernel addresses exposed via I</proc> and other interfaces when I</proc/"
1916 "sys/kernel/kptr_restrict> has the value 1.  (See the discussion of the "
1917 "I<kptr_restrict> in B<proc>(5).)"
1918 msgstr ""
1919 "I</proc/sys/kernel/kptr_restrict> の値が 1 の場合、 I</proc> や他のインター"
1920 "フェース経由で公開されているカーネルアドレスを参照する (B<proc>(5) の "
1921 "I<kptr_restrict> の議論を参照)。"
1922
1923 #. type: TP
1924 #: build/C/man7/capabilities.7:638
1925 #, no-wrap
1926 msgid "B<CAP_WAKE_ALARM> (since Linux 3.0)"
1927 msgstr "B<CAP_WAKE_ALARM> (Linux 3.0 以降)"
1928
1929 #. type: Plain text
1930 #: build/C/man7/capabilities.7:646
1931 msgid ""
1932 "Trigger something that will wake up the system (set B<CLOCK_REALTIME_ALARM> "
1933 "and B<CLOCK_BOOTTIME_ALARM> timers)."
1934 msgstr ""
1935 "システムを起こすトリガーを有効にする (タイマー B<CLOCK_REALTIME_ALARM>\n"
1936 "や B<CLOCK_BOOTTIME_ALARM> を設定する)。"
1937
1938 #. type: SS
1939 #: build/C/man7/capabilities.7:646
1940 #, no-wrap
1941 msgid "Past and current implementation"
1942 msgstr "過去と現在の実装"
1943
1944 #. type: Plain text
1945 #: build/C/man7/capabilities.7:648
1946 msgid "A full implementation of capabilities requires that:"
1947 msgstr "完全な形のケーパビリティを実装するには、以下の要件を満たす必要がある:"
1948
1949 #. type: IP
1950 #: build/C/man7/capabilities.7:648 build/C/man7/capabilities.7:799
1951 #: build/C/man7/capabilities.7:946 build/C/man7/capabilities.7:999
1952 #, no-wrap
1953 msgid "1."
1954 msgstr "1."
1955
1956 #. type: Plain text
1957 #: build/C/man7/capabilities.7:652
1958 msgid ""
1959 "For all privileged operations, the kernel must check whether the thread has "
1960 "the required capability in its effective set."
1961 msgstr ""
1962 "全ての特権操作について、カーネルはそのスレッドの実効ケーパビリティセットに 必"
1963 "要なケーパビリティがあるかを確認する。"
1964
1965 #. type: IP
1966 #: build/C/man7/capabilities.7:652 build/C/man7/capabilities.7:804
1967 #: build/C/man7/capabilities.7:952 build/C/man7/capabilities.7:1005
1968 #, no-wrap
1969 msgid "2."
1970 msgstr "2."
1971
1972 #. type: Plain text
1973 #: build/C/man7/capabilities.7:655
1974 msgid ""
1975 "The kernel must provide system calls allowing a thread's capability sets to "
1976 "be changed and retrieved."
1977 msgstr ""
1978 "カーネルで、あるスレッドのケーパビリティセットを変更したり、 取得したりできる"
1979 "システムコールが提供される。"
1980
1981 #. type: IP
1982 #: build/C/man7/capabilities.7:655 build/C/man7/capabilities.7:955
1983 #: build/C/man7/capabilities.7:1009
1984 #, no-wrap
1985 msgid "3."
1986 msgstr "3."
1987
1988 #. type: Plain text
1989 #: build/C/man7/capabilities.7:658
1990 msgid ""
1991 "The filesystem must support attaching capabilities to an executable file, so "
1992 "that a process gains those capabilities when the file is executed."
1993 msgstr ""
1994 "ファイルシステムが、実行可能ファイルにケーパビリティを付与でき、ファイル 実行"
1995 "時にそのケーパビリティをプロセスが取得できるような機能をサポートする。"
1996
1997 #. type: Plain text
1998 #: build/C/man7/capabilities.7:662
1999 msgid ""
2000 "Before kernel 2.6.24, only the first two of these requirements are met; "
2001 "since kernel 2.6.24, all three requirements are met."
2002 msgstr ""
2003 "カーネル 2.6.24 より前では、最初の 2つの要件のみが満たされている。 カーネル "
2004 "2.6.24 以降では、3つの要件すべてが満たされている。"
2005
2006 #. type: SS
2007 #: build/C/man7/capabilities.7:662
2008 #, no-wrap
2009 msgid "Thread capability sets"
2010 msgstr "スレッドケーパビリティセット"
2011
2012 #. type: Plain text
2013 #: build/C/man7/capabilities.7:665
2014 msgid ""
2015 "Each thread has three capability sets containing zero or more of the above "
2016 "capabilities:"
2017 msgstr ""
2018 "各スレッドは以下の 3種類のケーパビリティセットを持つ。各々のケーパビリティ"
2019 "セットは 上記のケーパビリティの組み合わせである (全てのケーパビリティが無効で"
2020 "もよい)。"
2021
2022 #. type: TP
2023 #: build/C/man7/capabilities.7:665
2024 #, no-wrap
2025 msgid "I<Permitted>:"
2026 msgstr "I<許可 (permitted)>:"
2027
2028 #. type: Plain text
2029 #: build/C/man7/capabilities.7:673
2030 msgid ""
2031 "This is a limiting superset for the effective capabilities that the thread "
2032 "may assume.  It is also a limiting superset for the capabilities that may be "
2033 "added to the inheritable set by a thread that does not have the "
2034 "B<CAP_SETPCAP> capability in its effective set."
2035 msgstr ""
2036 "そのスレッドが持つことになっている実効ケーパビリティの 限定的なスーパーセット"
2037 "である。 これは、実効ケーパビリティセットに B<CAP_SETPCAP> ケーパビリティを"
2038 "持っていないスレッドが継承可能ケーパビリティセットに 追加可能なケーパビリティ"
2039 "の限定的なスーパーセットでもある。"
2040
2041 #. type: Plain text
2042 #: build/C/man7/capabilities.7:679
2043 msgid ""
2044 "If a thread drops a capability from its permitted set, it can never "
2045 "reacquire that capability (unless it B<execve>(2)s either a set-user-ID-root "
2046 "program, or a program whose associated file capabilities grant that "
2047 "capability)."
2048 msgstr ""
2049 "許可ケーパビリティセットから削除してしまったケーパビリティは、 (set-user-ID-"
2050 "root プログラムか、 そのケーパビリティをファイルケーパビリティで許可している"
2051 "プログラムを B<execve>(2)  しない限りは) もう一度獲得することはできない。"
2052
2053 #. type: TP
2054 #: build/C/man7/capabilities.7:679
2055 #, no-wrap
2056 msgid "I<Inheritable>:"
2057 msgstr "I<継承可能 (inheritable)>:"
2058
2059 #. type: Plain text
2060 #: build/C/man7/capabilities.7:686
2061 msgid ""
2062 "This is a set of capabilities preserved across an B<execve>(2).  It provides "
2063 "a mechanism for a process to assign capabilities to the permitted set of the "
2064 "new program during an B<execve>(2)."
2065 msgstr ""
2066 "B<execve>(2)  を前後で保持されるケーパビリティセットである。 この仕組みを使う"
2067 "ことで、あるプロセスが B<execve>(2)  を行う際に新しいプログラムの許可ケーパビ"
2068 "リティセットとして 割り当てるケーパビリティを指定することができる。"
2069
2070 #. type: TP
2071 #: build/C/man7/capabilities.7:686 build/C/man7/capabilities.7:736
2072 #, no-wrap
2073 msgid "I<Effective>:"
2074 msgstr "I<実効 (effective)>:"
2075
2076 #. type: Plain text
2077 #: build/C/man7/capabilities.7:690
2078 msgid ""
2079 "This is the set of capabilities used by the kernel to perform permission "
2080 "checks for the thread."
2081 msgstr ""
2082 "カーネルがスレッドの権限 (permission) をチェックするときに 使用するケーパビリ"
2083 "ティセットである。"
2084
2085 #. type: Plain text
2086 #: build/C/man7/capabilities.7:696
2087 msgid ""
2088 "A child created via B<fork>(2)  inherits copies of its parent's capability "
2089 "sets.  See below for a discussion of the treatment of capabilities during "
2090 "B<execve>(2)."
2091 msgstr ""
2092 "B<fork>(2)  で作成される子プロセスは、親のケーパビリティセットのコピーを継承"
2093 "する。 B<execve>(2)  中のケーパビリティの扱いについては下記を参照のこと。"
2094
2095 #. type: Plain text
2096 #: build/C/man7/capabilities.7:700
2097 msgid ""
2098 "Using B<capset>(2), a thread may manipulate its own capability sets (see "
2099 "below)."
2100 msgstr ""
2101 "B<capset>(2)  を使うと、プロセスは自分自身のケーパビリティセット を操作するこ"
2102 "とができる (下記参照)。"
2103
2104 #.  commit 73efc0394e148d0e15583e13712637831f926720
2105 #. type: Plain text
2106 #: build/C/man7/capabilities.7:709
2107 msgid ""
2108 "Since Linux 3.2, the file I</proc/sys/kernel/cap_last_cap> exposes the "
2109 "numerical value of the highest capability supported by the running kernel; "
2110 "this can be used to determine the highest bit that may be set in a "
2111 "capability set."
2112 msgstr ""
2113 "Linux 3.2 以降では、 ファイル I</proc/sys/kernel/cap_last_cap> で、 実行中の"
2114 "カーネルでサポートされているケーパビリティの最大値を参照できる。 この情報を"
2115 "使って、 ケーパビリティセットに設定される可能性がある最上位ビットを判定するこ"
2116 "とができる。"
2117
2118 #. type: SS
2119 #: build/C/man7/capabilities.7:709
2120 #, no-wrap
2121 msgid "File capabilities"
2122 msgstr "ファイルケーパビリティ"
2123
2124 #. type: Plain text
2125 #: build/C/man7/capabilities.7:724
2126 msgid ""
2127 "Since kernel 2.6.24, the kernel supports associating capability sets with an "
2128 "executable file using B<setcap>(8).  The file capability sets are stored in "
2129 "an extended attribute (see B<setxattr>(2))  named I<security.capability>.  "
2130 "Writing to this extended attribute requires the B<CAP_SETFCAP> capability.  "
2131 "The file capability sets, in conjunction with the capability sets of the "
2132 "thread, determine the capabilities of a thread after an B<execve>(2)."
2133 msgstr ""
2134 "カーネル 2.6.24 以降では、 B<setcap>(8)  を使って実行ファイルにケーパビリティ"
2135 "セットを対応付けることができる。 ファイルケーパビリティセットは I<security."
2136 "capability> という名前の拡張属性に保存される (B<setxattr>(2)  参照)。この拡張"
2137 "属性への書き込みには B<CAP_SETFCAP> ケーパビリティが必要である。 ファイルケー"
2138 "パビリティセットとスレッドのケーパビリティセットの両方が 考慮され、 "
2139 "B<execve>(2)  後のスレッドのケーパビリティセットが決定される。"
2140
2141 #. type: Plain text
2142 #: build/C/man7/capabilities.7:726
2143 msgid "The three file capability sets are:"
2144 msgstr "3 つのファイルケーパビリティセットが定義されている。"
2145
2146 #. type: TP
2147 #: build/C/man7/capabilities.7:726
2148 #, no-wrap
2149 msgid "I<Permitted> (formerly known as I<forced>):"
2150 msgstr "I<許可 (Permitted)> (以前のI<強制 (Forced)>):"
2151
2152 #. type: Plain text
2153 #: build/C/man7/capabilities.7:730
2154 msgid ""
2155 "These capabilities are automatically permitted to the thread, regardless of "
2156 "the thread's inheritable capabilities."
2157 msgstr ""
2158 "スレッドの継承可能ケーパビリティに関わらず、そのスレッドに自動的に 認められる"
2159 "ケーパビリティ。"
2160
2161 #. type: TP
2162 #: build/C/man7/capabilities.7:730
2163 #, no-wrap
2164 msgid "I<Inheritable> (formerly known as I<allowed>):"
2165 msgstr "I<継承可能 (Inheritable)> (以前の I<許容 (Allowed)>):"
2166
2167 #. type: Plain text
2168 #: build/C/man7/capabilities.7:736
2169 msgid ""
2170 "This set is ANDed with the thread's inheritable set to determine which "
2171 "inheritable capabilities are enabled in the permitted set of the thread "
2172 "after the B<execve>(2)."
2173 msgstr ""
2174 "このセットと、スレッドの継承可能ケーパビリティセットとの 論理積 (AND) がとら"
2175 "れ、 B<execve>(2)  の後にそのスレッドの許可ケーパビリティセットで有効となる "
2176 "継承可能ケーパビリティが決定される。"
2177
2178 #. type: Plain text
2179 #: build/C/man7/capabilities.7:746
2180 msgid ""
2181 "This is not a set, but rather just a single bit.  If this bit is set, then "
2182 "during an B<execve>(2)  all of the new permitted capabilities for the thread "
2183 "are also raised in the effective set.  If this bit is not set, then after an "
2184 "B<execve>(2), none of the new permitted capabilities is in the new effective "
2185 "set."
2186 msgstr ""
2187 "これは集合ではなく、1 ビットの情報である。 このビットがセットされていると、 "
2188 "B<execve>(2)  実行中に、そのスレッドの新しい許可ケーパビリティが全て 実効ケー"
2189 "パビリティ集合においてもセットされる。 このビットがセットされていない場合、 "
2190 "B<execve>(2)  後には新しい許可ケーパビリティのどれも新しい実効ケーパビリティ"
2191 "集合 にセットされない。"
2192
2193 #. type: Plain text
2194 #: build/C/man7/capabilities.7:762
2195 msgid ""
2196 "Enabling the file effective capability bit implies that any file permitted "
2197 "or inheritable capability that causes a thread to acquire the corresponding "
2198 "permitted capability during an B<execve>(2)  (see the transformation rules "
2199 "described below) will also acquire that capability in its effective set.  "
2200 "Therefore, when assigning capabilities to a file (B<setcap>(8), "
2201 "B<cap_set_file>(3), B<cap_set_fd>(3)), if we specify the effective flag as "
2202 "being enabled for any capability, then the effective flag must also be "
2203 "specified as enabled for all other capabilities for which the corresponding "
2204 "permitted or inheritable flags is enabled."
2205 msgstr ""
2206 "ファイルの実効ケーパビリティビットを有効にするというのは、 B<execve>(2)  実行"
2207 "時に、ファイルの許可ケーパビリティと継承ケーパビリティに対応するものが スレッ"
2208 "ドの許可ケーパビリティセットとしてセットされるが、 これが実効ケーパビリティ"
2209 "セットにもセットされるということである (ケーパビリティの変換ルールは下記参"
2210 "照)。 したがって、ファイルにケーパビリティを割り当てる際 (B<setcap>(8), "
2211 "B<cap_set_file>(3), B<cap_set_fd>(3))、 いずれかのケーパビリティに対して実効"
2212 "フラグを有効と指定する場合、 許可フラグや継承可能フラグを有効にした他の全ての"
2213 "ケーパビリティ についても実効フラグを有効と指定しなければならない。"
2214
2215 #. type: SS
2216 #: build/C/man7/capabilities.7:762
2217 #, no-wrap
2218 msgid "Transformation of capabilities during execve()"
2219 msgstr "execve() 中のケーパビリティの変換"
2220
2221 #. type: Plain text
2222 #: build/C/man7/capabilities.7:768
2223 msgid ""
2224 "During an B<execve>(2), the kernel calculates the new capabilities of the "
2225 "process using the following algorithm:"
2226 msgstr ""
2227 "B<execve>(2)  実行時に、カーネルはプロセスの新しいケーパビリティを次の アルゴ"
2228 "リズムを用いて計算する:"
2229
2230 #. type: Plain text
2231 #: build/C/man7/capabilities.7:773
2232 #, no-wrap
2233 msgid ""
2234 "P'(permitted) = (P(inheritable) & F(inheritable)) |\n"
2235 "                (F(permitted) & cap_bset)\n"
2236 msgstr ""
2237 "P'(permitted) = (P(inheritable) & F(inheritable)) |\n"
2238 "                (F(permitted) & cap_bset)\n"
2239
2240 #. type: Plain text
2241 #: build/C/man7/capabilities.7:775
2242 #, no-wrap
2243 msgid "P'(effective) = F(effective) ? P'(permitted) : 0\n"
2244 msgstr "P'(effective) = F(effective) ? P'(permitted) : 0\n"
2245
2246 #. type: Plain text
2247 #: build/C/man7/capabilities.7:777
2248 #, no-wrap
2249 msgid "P'(inheritable) = P(inheritable)    [i.e., unchanged]\n"
2250 msgstr "P'(inheritable) = P(inheritable)    [つまり、変更されない]\n"
2251
2252 #. type: Plain text
2253 #: build/C/man7/capabilities.7:781
2254 msgid "where:"
2255 msgstr "各変数の意味は以下の通り:"
2256
2257 #. type: IP
2258 #: build/C/man7/capabilities.7:782
2259 #, no-wrap
2260 msgid "P"
2261 msgstr "P"
2262
2263 #. type: Plain text
2264 #: build/C/man7/capabilities.7:785
2265 msgid "denotes the value of a thread capability set before the B<execve>(2)"
2266 msgstr "B<execve>(2)  前のスレッドのケーパビリティセットの値"
2267
2268 #. type: IP
2269 #: build/C/man7/capabilities.7:785
2270 #, no-wrap
2271 msgid "P'"
2272 msgstr "P'"
2273
2274 #. type: Plain text
2275 #: build/C/man7/capabilities.7:788
2276 msgid "denotes the value of a capability set after the B<execve>(2)"
2277 msgstr "B<execve>(2)  後のスレッドのケーパビリティセットの値"
2278
2279 #. type: IP
2280 #: build/C/man7/capabilities.7:788
2281 #, no-wrap
2282 msgid "F"
2283 msgstr "F"
2284
2285 #. type: Plain text
2286 #: build/C/man7/capabilities.7:790
2287 msgid "denotes a file capability set"
2288 msgstr "ファイルケーパビリティセットの値"
2289
2290 #. type: IP
2291 #: build/C/man7/capabilities.7:790
2292 #, no-wrap
2293 msgid "cap_bset"
2294 msgstr "cap_bset"
2295
2296 #. type: Plain text
2297 #: build/C/man7/capabilities.7:792
2298 msgid "is the value of the capability bounding set (described below)."
2299 msgstr "ケーパビリティバウンディングセットの値 (下記参照)"
2300
2301 #. type: SS
2302 #: build/C/man7/capabilities.7:794
2303 #, no-wrap
2304 msgid "Capabilities and execution of programs by root"
2305 msgstr "ケーパビリティと、ルートによるプログラムの実行"
2306
2307 #. type: Plain text
2308 #: build/C/man7/capabilities.7:799
2309 msgid ""
2310 "In order to provide an all-powerful I<root> using capability sets, during an "
2311 "B<execve>(2):"
2312 msgstr ""
2313 "B<execve>(2)  時に、ケーパビリティセットを使って、全ての権限を持った I<root> "
2314 "を実現するには、以下のようにする。"
2315
2316 #. type: Plain text
2317 #: build/C/man7/capabilities.7:804
2318 msgid ""
2319 "If a set-user-ID-root program is being executed, or the real user ID of the "
2320 "process is 0 (root)  then the file inheritable and permitted sets are "
2321 "defined to be all ones (i.e., all capabilities enabled)."
2322 msgstr ""
2323 "set-user-ID-root プログラムが実行される場合、 またはプロセスの実ユーザ ID が "
2324 "0 (root) の場合、 ファイルの継承可能セットと許可セットを全て 1 (全てのケーパ"
2325 "ビリティが有効) に定義する。"
2326
2327 #. type: Plain text
2328 #: build/C/man7/capabilities.7:807
2329 msgid ""
2330 "If a set-user-ID-root program is being executed, then the file effective bit "
2331 "is defined to be one (enabled)."
2332 msgstr ""
2333 "set-user-ID-root プログラムが実行される場合、 ファイルの実効ケーパビリティ"
2334 "ビットを 1 (enabled) に定義する。"
2335
2336 #.  If a process with real UID 0, and nonzero effective UID does an
2337 #.  exec(), then it gets all capabilities in its
2338 #.  permitted set, and no effective capabilities
2339 #. type: Plain text
2340 #: build/C/man7/capabilities.7:822
2341 msgid ""
2342 "The upshot of the above rules, combined with the capabilities "
2343 "transformations described above, is that when a process B<execve>(2)s a set-"
2344 "user-ID-root program, or when a process with an effective UID of 0 "
2345 "B<execve>(2)s a program, it gains all capabilities in its permitted and "
2346 "effective capability sets, except those masked out by the capability "
2347 "bounding set.  This provides semantics that are the same as those provided "
2348 "by traditional UNIX systems."
2349 msgstr ""
2350 "上記のルールにケーパビリティ変換を適用した結果をまとめると、 プロセスが set-"
2351 "user-ID-root プログラムを B<execve>(2)  する場合、または実効 UID が 0 のプロ"
2352 "セスがプログラムを B<execve>(2)  する場合、許可と実効のケーパビリティセットの"
2353 "全ケーパビリティ (正確には、ケーパビリティバウンディングセットによるマスクで"
2354 "除外されるもの 以外の全てのケーパビリティ) を取得するということである。 これ"
2355 "により、伝統的な UNIX システムと同じ振る舞いができるようになっている。"
2356
2357 #. type: SS
2358 #: build/C/man7/capabilities.7:822
2359 #, no-wrap
2360 msgid "Capability bounding set"
2361 msgstr "ケーパビリティ・バウンディングセット"
2362
2363 #. type: Plain text
2364 #: build/C/man7/capabilities.7:827
2365 msgid ""
2366 "The capability bounding set is a security mechanism that can be used to "
2367 "limit the capabilities that can be gained during an B<execve>(2).  The "
2368 "bounding set is used in the following ways:"
2369 msgstr ""
2370 "ケーパビリティ・バウンディングセット (capability bounding set) は、 "
2371 "B<execve>(2)  時に獲得できるケーパビリティを制限するために使われる セキュリ"
2372 "ティ機構である。 バウンディングセットは以下のように使用される。"
2373
2374 #. type: Plain text
2375 #: build/C/man7/capabilities.7:835
2376 msgid ""
2377 "During an B<execve>(2), the capability bounding set is ANDed with the file "
2378 "permitted capability set, and the result of this operation is assigned to "
2379 "the thread's permitted capability set.  The capability bounding set thus "
2380 "places a limit on the permitted capabilities that may be granted by an "
2381 "executable file."
2382 msgstr ""
2383 "B<execve>(2)  実行時に、ケーパビリティ・バウンディングセットと ファイルの許可"
2384 "ケーパビリティセットの論理和 (AND) を取ったものが、 そのスレッドの許可ケーパ"
2385 "ビリティセットに割り当てられる。 つまり、ケーパビリティ・バウンディングセット"
2386 "は、 実行ファイルが認めている許可ケーパビリティに対して 制限を課す働きをす"
2387 "る。"
2388
2389 #. type: Plain text
2390 #: build/C/man7/capabilities.7:847
2391 msgid ""
2392 "(Since Linux 2.6.25)  The capability bounding set acts as a limiting "
2393 "superset for the capabilities that a thread can add to its inheritable set "
2394 "using B<capset>(2).  This means that if a capability is not in the bounding "
2395 "set, then a thread can't add this capability to its inheritable set, even if "
2396 "it was in its permitted capabilities, and thereby cannot have this "
2397 "capability preserved in its permitted set when it B<execve>(2)s a file that "
2398 "has the capability in its inheritable set."
2399 msgstr ""
2400 "(Linux 2.6.25 以降)  ケーパビリティ・バウンディングセットは、スレッドが "
2401 "B<capset>(2)  により自身の継承可能セットに追加可能なケーパビリティの母集団を "
2402 "制限する役割を持つ。 スレッドに許可されたケーパビリティであっても、バウンディ"
2403 "ングセットに 含まれていなければ、スレッドはそのケーパビリティは自身の継承可能"
2404 "セットに 追加できず、その結果、継承可能セットにそのケーパビリティを含むファイ"
2405 "ルを B<execve>(2)  する場合、そのケーパビリティを許可セットに持ち続けることが"
2406 "できない、 ということである。"
2407
2408 #. type: Plain text
2409 #: build/C/man7/capabilities.7:854
2410 msgid ""
2411 "Note that the bounding set masks the file permitted capabilities, but not "
2412 "the inherited capabilities.  If a thread maintains a capability in its "
2413 "inherited set that is not in its bounding set, then it can still gain that "
2414 "capability in its permitted set by executing a file that has the capability "
2415 "in its inherited set."
2416 msgstr ""
2417 "バウンディングセットがマスクを行うのは、継承可能ケーパビリティではなく、 ファ"
2418 "イルの許可ケーパビリティのマスクを行う点に注意すること。 あるスレッドの継承可"
2419 "能セットにそのスレッドのバウンディングセットに 存在しないケーパビリティが含ま"
2420 "れている場合、そのスレッドは、 継承可能セットに含まれるケーパビリティを持つ"
2421 "ファイルを実行することにより、 許可セットに含まれるケーパビリティも獲得できる"
2422 "ということである。"
2423
2424 #. type: Plain text
2425 #: build/C/man7/capabilities.7:857
2426 msgid ""
2427 "Depending on the kernel version, the capability bounding set is either a "
2428 "system-wide attribute, or a per-process attribute."
2429 msgstr ""
2430 "カーネルのバージョンにより、ケーパビリティ・バウンディングセットは システム共"
2431 "通の属性の場合と、プロセス単位の属性の場合がある。"
2432
2433 #. type: Plain text
2434 #: build/C/man7/capabilities.7:859
2435 msgid "B<Capability bounding set prior to Linux 2.6.25>"
2436 msgstr "B<Linux 2.6.25 より前のケーパビリティ・バウンディングセット>"
2437
2438 #. type: Plain text
2439 #: build/C/man7/capabilities.7:867
2440 msgid ""
2441 "In kernels before 2.6.25, the capability bounding set is a system-wide "
2442 "attribute that affects all threads on the system.  The bounding set is "
2443 "accessible via the file I</proc/sys/kernel/cap-bound>.  (Confusingly, this "
2444 "bit mask parameter is expressed as a signed decimal number in I</proc/sys/"
2445 "kernel/cap-bound>.)"
2446 msgstr ""
2447 "2.6.25 より前のカーネルでは、ケーパビリティ・バウンディングセットは システム"
2448 "共通の属性で、システム上の全てのスレッドに適用される。 バウンディングセット"
2449 "は I</proc/sys/kernel/cap-bound> ファイル経由で参照できる。 (間違えやすいが、"
2450 "このビットマスク形式のパラメータは、 I</proc/sys/kernel/cap-bound> では符号付"
2451 "きの十進数で表現される。)"
2452
2453 #. type: Plain text
2454 #: build/C/man7/capabilities.7:874
2455 msgid ""
2456 "Only the B<init> process may set capabilities in the capability bounding "
2457 "set; other than that, the superuser (more precisely: programs with the "
2458 "B<CAP_SYS_MODULE> capability) may only clear capabilities from this set."
2459 msgstr ""
2460 "B<init> プロセスだけがケーパビリティ・バウンディングセットで ケーパビリティを"
2461 "セットすることができる。 それ以外では、スーパーユーザ (より正確には、 "
2462 "B<CAP_SYS_MODULE> ケーパビリティを持ったプログラム) が、 ケーパビリティ・バウ"
2463 "ンディングセットのケーパビリティのクリアが できるだけである。"
2464
2465 #. type: Plain text
2466 #: build/C/man7/capabilities.7:883
2467 msgid ""
2468 "On a standard system the capability bounding set always masks out the "
2469 "B<CAP_SETPCAP> capability.  To remove this restriction (dangerous!), modify "
2470 "the definition of B<CAP_INIT_EFF_SET> in I<include/linux/capability.h> and "
2471 "rebuild the kernel."
2472 msgstr ""
2473 "通常のシステムでは、ケーパビリティ・バウンディングセットは、 B<CAP_SETPCAP> "
2474 "が無効になっている。 この制限を取り去るには (取り去るのは危険!)、 I<include/"
2475 "linux/capability.h> 内の B<CAP_INIT_EFF_SET> の定義を修正し、カーネルを再構築"
2476 "する必要がある。"
2477
2478 #. type: Plain text
2479 #: build/C/man7/capabilities.7:887
2480 msgid ""
2481 "The system-wide capability bounding set feature was added to Linux starting "
2482 "with kernel version 2.2.11."
2483 msgstr ""
2484 "システム共通のケーパビリティ・バウンディングセット機能は、 カーネル 2.2.11 以"
2485 "降で Linux に追加された。"
2486
2487 #. type: Plain text
2488 #: build/C/man7/capabilities.7:889
2489 msgid "B<Capability bounding set from Linux 2.6.25 onward>"
2490 msgstr "B<Linux 2.6.25 以降のケーパビリティ・バウンディングセット>"
2491
2492 #. type: Plain text
2493 #: build/C/man7/capabilities.7:894
2494 msgid ""
2495 "From Linux 2.6.25, the I<capability bounding set> is a per-thread "
2496 "attribute.  (There is no longer a system-wide capability bounding set.)"
2497 msgstr ""
2498 "Linux 2.6.25 以降では、 「ケーパビリティ・バウンディングセット」はスレッド単"
2499 "位の属性である (システム共通のケーパビリティ・バウンディングセットはもはや存"
2500 "在しない)。"
2501
2502 #. type: Plain text
2503 #: build/C/man7/capabilities.7:899
2504 msgid ""
2505 "The bounding set is inherited at B<fork>(2)  from the thread's parent, and "
2506 "is preserved across an B<execve>(2)."
2507 msgstr ""
2508 "バウンディングセットは B<fork>(2)  時にはスレッドの親プロセスから継承され、 "
2509 "B<execve>(2)  の前後では保持される。"
2510
2511 #. type: Plain text
2512 #: build/C/man7/capabilities.7:912
2513 msgid ""
2514 "A thread may remove capabilities from its capability bounding set using the "
2515 "B<prctl>(2)  B<PR_CAPBSET_DROP> operation, provided it has the "
2516 "B<CAP_SETPCAP> capability.  Once a capability has been dropped from the "
2517 "bounding set, it cannot be restored to that set.  A thread can determine if "
2518 "a capability is in its bounding set using the B<prctl>(2)  "
2519 "B<PR_CAPBSET_READ> operation."
2520 msgstr ""
2521 "スレッドが B<CAP_SETPCAP> ケーパビリティを持っている場合、そのスレッドは "
2522 "B<prctl>(2)  の B<PR_CAPBSET_DROP> 操作を使って自身のケーパビリティ・バウン"
2523 "ディングセットから ケーパビリティを削除することができる。 いったんケーパビリ"
2524 "ティをバウンディングセットから削除してしまうと、 スレッドはそのケーパビリティ"
2525 "を再度セットすることはできない。 B<prctl>(2)  の B<PR_CAPBSET_READ> 操作を使"
2526 "うことで、スレッドがあるケーパビリティが自身のバウンディングセット に含まれて"
2527 "いるかを知ることができる。"
2528
2529 #. type: Plain text
2530 #: build/C/man7/capabilities.7:930
2531 msgid ""
2532 "Removing capabilities from the bounding set is supported only if file "
2533 "capabilities are compiled into the kernel.  In kernels before Linux 2.6.33, "
2534 "file capabilities were an optional feature configurable via the "
2535 "CONFIG_SECURITY_FILE_CAPABILITIES option.  Since Linux 2.6.33, the "
2536 "configuration option has been removed and file capabilities are always part "
2537 "of the kernel.  When file capabilities are compiled into the kernel, the "
2538 "B<init> process (the ancestor of all processes) begins with a full bounding "
2539 "set.  If file capabilities are not compiled into the kernel, then B<init> "
2540 "begins with a full bounding set minus B<CAP_SETPCAP>, because this "
2541 "capability has a different meaning when there are no file capabilities."
2542 msgstr ""
2543 "バウンディングセットからのケーパビリティの削除がサポートされるのは、\n"
2544 "カーネルのコンパイル時にファイルケーパビリティが有効になっている場合\n"
2545 "だけである。Linux 2.6.33 より前のカーネルでは、ファイルケーパビリティは\n"
2546 "設定オプション CONFIG_SECURITY_FILE_CAPABILITIES で切り替えられる追加の\n"
2547 "機能であった。Linux 2.6.33 以降では、この設定オプションは削除され、\n"
2548 "ファイルケーパビリティは常にカーネルに組込まれるようになった。\n"
2549 "ファイルケーパビリティがカーネルにコンパイル時に組み込まれている場合、\n"
2550 "(全てのプロセスの先祖である) I<init> プロセスはバウンディングセットで\n"
2551 "全てのケーパビリティが セットされた状態で開始する。ファイルケーパビリティ\n"
2552 "が有効になっていない場合には、 I<init> はバウンディングセットで\n"
2553 "B<CAP_SETPCAP> 以外の全てのケーパビリティがセットされた状態で開始する。\n"
2554 "このようになっているのは、 B<CAP_SETPCAP> ケーパビリティがファイルケー\n"
2555 "パビリティがサポートされていない場合には 違った意味を持つからである。"
2556
2557 #. type: Plain text
2558 #: build/C/man7/capabilities.7:937
2559 msgid ""
2560 "Removing a capability from the bounding set does not remove it from the "
2561 "thread's inherited set.  However it does prevent the capability from being "
2562 "added back into the thread's inherited set in the future."
2563 msgstr ""
2564 "バウンディングセットからケーパビリティを削除しても、 スレッドの継承可能セット"
2565 "からはそのケーパビリティは削除されない。 しかしながら、バウンディングセットか"
2566 "らの削除により、 この先そのケーパビリティをスレッドの継承可能セットに追加する"
2567 "こと はできなくなる。"
2568
2569 #. type: SS
2570 #: build/C/man7/capabilities.7:937
2571 #, no-wrap
2572 msgid "Effect of user ID changes on capabilities"
2573 msgstr "ユーザ ID 変更のケーパビリティへの影響"
2574
2575 #. type: Plain text
2576 #: build/C/man7/capabilities.7:946
2577 msgid ""
2578 "To preserve the traditional semantics for transitions between 0 and nonzero "
2579 "user IDs, the kernel makes the following changes to a thread's capability "
2580 "sets on changes to the thread's real, effective, saved set, and filesystem "
2581 "user IDs (using B<setuid>(2), B<setresuid>(2), or similar):"
2582 msgstr ""
2583 "ユーザ ID が 0 と 0 以外の間で変化する際の振る舞いを従来と同じにするため、 ス"
2584 "レッドの実 UID、実効 UID、保存 set-user-ID、ファイルシステム UID が "
2585 "(B<setuid>(2), B<setresuid>(2)  などを使って) 変更された際に、カーネルはその"
2586 "スレッドのケーパビリティセットに 以下の変更を行う:"
2587
2588 #. type: Plain text
2589 #: build/C/man7/capabilities.7:952
2590 msgid ""
2591 "If one or more of the real, effective or saved set user IDs was previously "
2592 "0, and as a result of the UID changes all of these IDs have a nonzero value, "
2593 "then all capabilities are cleared from the permitted and effective "
2594 "capability sets."
2595 msgstr ""
2596 "UID の変更前には実 UID、実効 UID、保存 set-user-ID のうち 少なくとも一つが 0 "
2597 "で、変更後に実 UID、実効 UID、保存 set-user-ID が すべて 0 以外の値になった場"
2598 "合、許可と実効のケーパビリティセットの 全ケーパビリティをクリアする。"
2599
2600 #. type: Plain text
2601 #: build/C/man7/capabilities.7:955
2602 msgid ""
2603 "If the effective user ID is changed from 0 to nonzero, then all capabilities "
2604 "are cleared from the effective set."
2605 msgstr ""
2606 "実効 UID が 0 から 0 以外に変更された場合、 実効ケーパビリティセットの全ケー"
2607 "パビリティをクリアする。"
2608
2609 #. type: Plain text
2610 #: build/C/man7/capabilities.7:958
2611 msgid ""
2612 "If the effective user ID is changed from nonzero to 0, then the permitted "
2613 "set is copied to the effective set."
2614 msgstr ""
2615 "実効 UID が 0 以外から 0 に変更された場合、 許可ケーパビリティセットの内容を"
2616 "実効ケーパビリティセットにコピーする。"
2617
2618 #. type: IP
2619 #: build/C/man7/capabilities.7:958 build/C/man7/capabilities.7:1013
2620 #, no-wrap
2621 msgid "4."
2622 msgstr "4."
2623
2624 #. type: Plain text
2625 #: build/C/man7/capabilities.7:976
2626 msgid ""
2627 "If the filesystem user ID is changed from 0 to nonzero (see B<setfsuid>(2)), "
2628 "then the following capabilities are cleared from the effective set: "
2629 "B<CAP_CHOWN>, B<CAP_DAC_OVERRIDE>, B<CAP_DAC_READ_SEARCH>, B<CAP_FOWNER>, "
2630 "B<CAP_FSETID>, B<CAP_LINUX_IMMUTABLE> (since Linux 2.6.30), "
2631 "B<CAP_MAC_OVERRIDE>, and B<CAP_MKNOD> (since Linux 2.6.30).  If the "
2632 "filesystem UID is changed from nonzero to 0, then any of these capabilities "
2633 "that are enabled in the permitted set are enabled in the effective set."
2634 msgstr ""
2635 "ファイルシステム UID が 0 から 0 以外に変更された場合 (B<setfsuid>(2)  参"
2636 "照)、実効ケーパビリティセットの以下のケーパビリティがクリアされる: "
2637 "B<CAP_CHOWN>, B<CAP_DAC_OVERRIDE>, B<CAP_DAC_READ_SEARCH>, B<CAP_FOWNER>, "
2638 "B<CAP_FSETID>, B<CAP_LINUX_IMMUTABLE> (Linux 2.6.30 以降), "
2639 "B<CAP_MAC_OVERRIDE>, B<CAP_MKNOD> (Linux 2.6.30 以降)。 ファイルシステム UID "
2640 "が 0 以外から 0 に変更された場合、 上記のケーパビリティのうち許可ケーパビリ"
2641 "ティセットで有効になっているものが 実効ケーパビリティセットで有効にされる。"
2642
2643 #. type: Plain text
2644 #: build/C/man7/capabilities.7:984
2645 msgid ""
2646 "If a thread that has a 0 value for one or more of its user IDs wants to "
2647 "prevent its permitted capability set being cleared when it resets all of its "
2648 "user IDs to nonzero values, it can do so using the B<prctl>(2)  "
2649 "B<PR_SET_KEEPCAPS> operation."
2650 msgstr ""
2651 "各種 UID のうち少なくとも一つが 0 であるスレッドが、 その UID の全てが 0 以外"
2652 "になったときに許可ケーパビリティセットが クリアされないようにしたい場合に"
2653 "は、 B<prctl>(2)  の B<PR_SET_KEEPCAPS> 操作を使えばよい。"
2654
2655 #. type: SS
2656 #: build/C/man7/capabilities.7:984
2657 #, no-wrap
2658 msgid "Programmatically adjusting capability sets"
2659 msgstr "プログラムでケーパビリティセットを調整する"
2660
2661 #. type: Plain text
2662 #: build/C/man7/capabilities.7:999
2663 msgid ""
2664 "A thread can retrieve and change its capability sets using the B<capget>(2)  "
2665 "and B<capset>(2)  system calls.  However, the use of B<cap_get_proc>(3)  and "
2666 "B<cap_set_proc>(3), both provided in the I<libcap> package, is preferred for "
2667 "this purpose.  The following rules govern changes to the thread capability "
2668 "sets:"
2669 msgstr ""
2670 "各スレッドは、 B<capget>(2)  や B<capset>(2)  を使って、自身のケーパビリティ"
2671 "セットを取得したり変更したりできる。 ただし、これを行うには、 I<libcap> パッ"
2672 "ケージで提供されている B<cap_get_proc>(3)  や B<cap_set_proc>(3)  を使うのが"
2673 "望ましい。 スレッドのケーパビリティセットの変更には以下のルールが適用される。"
2674
2675 #. type: Plain text
2676 #: build/C/man7/capabilities.7:1005
2677 msgid ""
2678 "If the caller does not have the B<CAP_SETPCAP> capability, the new "
2679 "inheritable set must be a subset of the combination of the existing "
2680 "inheritable and permitted sets."
2681 msgstr ""
2682 "呼び出し側が B<CAP_SETPCAP> ケーパビリティを持っていない場合、新しい継承可能"
2683 "セットは、 既存の継承可能セットと許可セットの積集合 (AND) の部分集合で なけれ"
2684 "ばならない。"
2685
2686 #. type: Plain text
2687 #: build/C/man7/capabilities.7:1009
2688 msgid ""
2689 "(Since Linux 2.6.25)  The new inheritable set must be a subset of the "
2690 "combination of the existing inheritable set and the capability bounding set."
2691 msgstr ""
2692 "(Linux 2.6.25 以降)  新しい継承可能セットは、既存の継承可能セットとケーパビリ"
2693 "ティ・ バウンディングセットの積集合 (AND) の部分集合でなければならない。"
2694
2695 #. type: Plain text
2696 #: build/C/man7/capabilities.7:1013
2697 msgid ""
2698 "The new permitted set must be a subset of the existing permitted set (i.e., "
2699 "it is not possible to acquire permitted capabilities that the thread does "
2700 "not currently have)."
2701 msgstr ""
2702 "新しい許可セットは、既存の許可セットの部分集合でなければならない (つまり、そ"
2703 "のスレッドが現在持っていない許可ケーパビリティを 獲得することはできない)。"
2704
2705 #. type: Plain text
2706 #: build/C/man7/capabilities.7:1015
2707 msgid "The new effective set must be a subset of the new permitted set."
2708 msgstr ""
2709 "新しい実効ケーパビリティセットは新しい許可ケーパビリティセットの 部分集合に"
2710 "なっていなければならない。"
2711
2712 #. type: SS
2713 #: build/C/man7/capabilities.7:1015
2714 #, no-wrap
2715 msgid "The securebits flags: establishing a capabilities-only environment"
2716 msgstr "securebits フラグ: ケーパビリティだけの環境を構築する"
2717
2718 #.  For some background:
2719 #.        see http://lwn.net/Articles/280279/ and
2720 #.        http://article.gmane.org/gmane.linux.kernel.lsm/5476/
2721 #. type: Plain text
2722 #: build/C/man7/capabilities.7:1026
2723 msgid ""
2724 "Starting with kernel 2.6.26, and with a kernel in which file capabilities "
2725 "are enabled, Linux implements a set of per-thread I<securebits> flags that "
2726 "can be used to disable special handling of capabilities for UID 0 "
2727 "(I<root>).  These flags are as follows:"
2728 msgstr ""
2729 "カーネル 2.6.26 以降で、 ファイルケーパビリティが有効になったカーネルでは、 "
2730 "スレッド単位の I<securebits> フラグが実装されており、このフラグを使うと UID "
2731 "0 (I<root>)  に対するケーパビリティの特別扱いを無効することができる。 以下の"
2732 "ようなフラグがある。"
2733
2734 #. type: TP
2735 #: build/C/man7/capabilities.7:1026
2736 #, no-wrap
2737 msgid "B<SECBIT_KEEP_CAPS>"
2738 msgstr "B<SECBIT_KEEP_CAPS>"
2739
2740 #. type: Plain text
2741 #: build/C/man7/capabilities.7:1038
2742 msgid ""
2743 "Setting this flag allows a thread that has one or more 0 UIDs to retain its "
2744 "capabilities when it switches all of its UIDs to a nonzero value.  If this "
2745 "flag is not set, then such a UID switch causes the thread to lose all "
2746 "capabilities.  This flag is always cleared on an B<execve>(2).  (This flag "
2747 "provides the same functionality as the older B<prctl>(2)  B<PR_SET_KEEPCAPS> "
2748 "operation.)"
2749 msgstr ""
2750 "このフラグをセットされている場合、UID が 0 のスレッドの UID が 0 以外の値に "
2751 "切り替わる際に、そのスレッドはケーパビリティを維持することができる。 このフラ"
2752 "グがセットされていない場合には、UID が 0 から 0 以外の値に 切り替わると、その"
2753 "スレッドは全てのケーパビリティを失う。 このフラグは B<execve>(2)  時には全て"
2754 "クリアされる (このフラグは、以前の B<prctl>(2)  の B<PR_SET_KEEPCAPS> 操作と"
2755 "同じ機能を提供するものである)。"
2756
2757 #. type: TP
2758 #: build/C/man7/capabilities.7:1038
2759 #, no-wrap
2760 msgid "B<SECBIT_NO_SETUID_FIXUP>"
2761 msgstr "B<SECBIT_NO_SETUID_FIXUP>"
2762
2763 #. type: Plain text
2764 #: build/C/man7/capabilities.7:1045
2765 msgid ""
2766 "Setting this flag stops the kernel from adjusting capability sets when the "
2767 "threads's effective and filesystem UIDs are switched between zero and "
2768 "nonzero values.  (See the subsection I<Effect of User ID Changes on "
2769 "Capabilities>.)"
2770 msgstr ""
2771 "このフラグをセットすると、スレッドの実効 UID とファイルシステム UID が 0 と "
2772 "0 以外の間で切り替わった場合に、 カーネルはケーパビリティセットの調整を行わな"
2773 "くなる (「ユーザ ID 変更のケーパビリティへの影響」の節を参照)。"
2774
2775 #. type: TP
2776 #: build/C/man7/capabilities.7:1045
2777 #, no-wrap
2778 msgid "B<SECBIT_NOROOT>"
2779 msgstr "B<SECBIT_NOROOT>"
2780
2781 #. type: Plain text
2782 #: build/C/man7/capabilities.7:1053
2783 msgid ""
2784 "If this bit is set, then the kernel does not grant capabilities when a set-"
2785 "user-ID-root program is executed, or when a process with an effective or "
2786 "real UID of 0 calls B<execve>(2).  (See the subsection I<Capabilities and "
2787 "execution of programs by root>.)"
2788 msgstr ""
2789 "このビットがセットされている場合、 set-user-ID-root プログラムの実行時や、 実"
2790 "効 UID か 実 UID が 0 のプロセスが B<execve>(2)  を呼び出した時に、カーネルは"
2791 "ケーパビリティを許可しない (「ケーパビリティと、ルートによるプログラムの実"
2792 "行」の節を参照)。"
2793
2794 #. type: Plain text
2795 #: build/C/man7/capabilities.7:1063
2796 msgid ""
2797 "Each of the above \"base\" flags has a companion \"locked\" flag.  Setting "
2798 "any of the \"locked\" flags is irreversible, and has the effect of "
2799 "preventing further changes to the corresponding \"base\" flag.  The locked "
2800 "flags are: B<SECBIT_KEEP_CAPS_LOCKED>, B<SECBIT_NO_SETUID_FIXUP_LOCKED>, and "
2801 "B<SECBIT_NOROOT_LOCKED>."
2802 msgstr ""
2803 "上記の \"base\" フラグの各々には対応する \"locked\" フラグが存在する。 いずれ"
2804 "の \"locked\" フラグも一度セットされると戻すことはできず、 それ以降は対応す"
2805 "る \"base\" フラグを変更することができなくなる。 \"locked\" フラグは "
2806 "B<SECBIT_KEEP_CAPS_LOCKED>, B<SECBIT_NO_SETUID_FIXUP_LOCKED>, "
2807 "B<SECBIT_NOROOT_LOCKED> という名前である。"
2808
2809 #. type: Plain text
2810 #: build/C/man7/capabilities.7:1075
2811 msgid ""
2812 "The I<securebits> flags can be modified and retrieved using the B<prctl>(2)  "
2813 "B<PR_SET_SECUREBITS> and B<PR_GET_SECUREBITS> operations.  The "
2814 "B<CAP_SETPCAP> capability is required to modify the flags."
2815 msgstr ""
2816 "I<securebits> フラグは、 B<prctl>(2)  の操作 B<PR_SET_SECUREBITS> や "
2817 "B<PR_GET_SECUREBITS> を使うことで変更したり取得したりできる。 フラグを変更す"
2818 "るには B<CAP_SETPCAP> ケーパビリティが必要である。"
2819
2820 #. type: Plain text
2821 #: build/C/man7/capabilities.7:1084
2822 msgid ""
2823 "The I<securebits> flags are inherited by child processes.  During an "
2824 "B<execve>(2), all of the flags are preserved, except B<SECBIT_KEEP_CAPS> "
2825 "which is always cleared."
2826 msgstr ""
2827 "I<securebits> フラグは子プロセスに継承される。 B<execve>(2) においては、\n"
2828 "B<SECBIT_KEEP_CAPS> が常にクリアされる以外は、全てのフラグが保持される。"
2829
2830 #. type: Plain text
2831 #: build/C/man7/capabilities.7:1089
2832 msgid ""
2833 "An application can use the following call to lock itself, and all of its "
2834 "descendants, into an environment where the only way of gaining capabilities "
2835 "is by executing a program with associated file capabilities:"
2836 msgstr ""
2837 "アプリケーションは、以下の呼び出しを行うことにより、 自分自身および子孫となる"
2838 "プロセス全てに対して、 必要なファイルケーパビリティを持ったプログラムを実行し"
2839 "ない限り、 対応するケーパビリティを獲得できないような状況に閉じこめることがで"
2840 "きる。"
2841
2842 #. type: Plain text
2843 #: build/C/man7/capabilities.7:1098
2844 #, no-wrap
2845 msgid ""
2846 "prctl(PR_SET_SECUREBITS,\n"
2847 "        SECBIT_KEEP_CAPS_LOCKED |\n"
2848 "        SECBIT_NO_SETUID_FIXUP |\n"
2849 "        SECBIT_NO_SETUID_FIXUP_LOCKED |\n"
2850 "        SECBIT_NOROOT |\n"
2851 "        SECBIT_NOROOT_LOCKED);\n"
2852 msgstr ""
2853 "prctl(PR_SET_SECUREBITS,\n"
2854 "        SECBIT_KEEP_CAPS_LOCKED |\n"
2855 "        SECBIT_NO_SETUID_FIXUP |\n"
2856 "        SECBIT_NO_SETUID_FIXUP_LOCKED |\n"
2857 "        SECBIT_NOROOT |\n"
2858 "        SECBIT_NOROOT_LOCKED);\n"
2859
2860 #. type: Plain text
2861 #: build/C/man7/capabilities.7:1106
2862 msgid ""
2863 "No standards govern capabilities, but the Linux capability implementation is "
2864 "based on the withdrawn POSIX.1e draft standard; see E<.UR http://wt."
2865 "tuxomania.net\\:/publications\\:/posix.1e/> E<.UE .>"
2866 msgstr ""
2867 "ケーパビリティに関する標準はないが、 Linux のケーパビリティは廃案になった "
2868 "POSIX.1e 草案に基づいて実装されている。 E<.UR http://wt.xpilot.org\\:/"
2869 "publications\\:/posix.1e/> E<.UE> を参照。"
2870
2871 #. type: Plain text
2872 #: build/C/man7/capabilities.7:1110
2873 msgid ""
2874 "Since kernel 2.5.27, capabilities are an optional kernel component, and can "
2875 "be enabled/disabled via the CONFIG_SECURITY_CAPABILITIES kernel "
2876 "configuration option."
2877 msgstr ""
2878 "カーネル 2.5.27 以降、ケーパビリティは選択式のカーネルコンポーネント となって"
2879 "おり、カーネル設定オプション CONFIG_SECURITY_CAPABILITIES により有効/無効を切"
2880 "り替えることができる。"
2881
2882 #.  7b9a7ec565505699f503b4fcf61500dceb36e744
2883 #. type: Plain text
2884 #: build/C/man7/capabilities.7:1124
2885 msgid ""
2886 "The I</proc/PID/task/TID/status> file can be used to view the capability "
2887 "sets of a thread.  The I</proc/PID/status> file shows the capability sets of "
2888 "a process's main thread.  Before Linux 3.8, nonexistent capabilities were "
2889 "shown as being enabled (1) in these sets.  Since Linux 3.8, all nonexistent "
2890 "capabilities (above B<CAP_LAST_CAP>)  are shown as disabled (0)."
2891 msgstr ""
2892 "I</proc/PID/task/TID/status> ファイルを使うと、スレッドのケーパビリティセット"
2893 "を見ることができる。 I</proc/PID/status> ファイルには、プロセスのメインスレッ"
2894 "ドのケーパビリティセットが表示される。 Linux 3.8 より前では、 これらのケーパ"
2895 "ビリティセットの表示で、 存在しないケーパビリティはすべて有効 (1) として表示"
2896 "される。 Linux 3.8 以降では、 存在しないケーパビリティはすべて無効 (0) として"
2897 "表示される。 (B<CAP_LAST_CAP> より大きい値を持つケーパビリティが存在しない"
2898 "ケーパビリティである)。"
2899
2900 #. type: Plain text
2901 #: build/C/man7/capabilities.7:1139
2902 msgid ""
2903 "The I<libcap> package provides a suite of routines for setting and getting "
2904 "capabilities that is more comfortable and less likely to change than the "
2905 "interface provided by B<capset>(2)  and B<capget>(2).  This package also "
2906 "provides the B<setcap>(8)  and B<getcap>(8)  programs.  It can be found at"
2907 msgstr ""
2908 "I<libcap> パッケージは、ケーパビリティを設定・取得するための ルーチン群を提供"
2909 "している。これらのインタフェースは、 B<capset>(2)  と B<capget>(2)  が提供す"
2910 "るインターフェースと比べて、より使いやすく、変更される可能性が少ない。 この"
2911 "パッケージでは、 B<setcap>(8), B<getcap>(8)  というプログラムも提供されてい"
2912 "る。 パッケージは以下で入手できる。"
2913
2914 #. type: Plain text
2915 #: build/C/man7/capabilities.7:1142
2916 msgid ""
2917 "E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/libs\\:/security\\:/linux-"
2918 "privs> E<.UE .>"
2919 msgstr ""
2920 "E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/libs\\:/security\\:/linux-"
2921 "privs> E<.UE .>"
2922
2923 #. type: Plain text
2924 #: build/C/man7/capabilities.7:1151
2925 msgid ""
2926 "Before kernel 2.6.24, and since kernel 2.6.24 if file capabilities are not "
2927 "enabled, a thread with the B<CAP_SETPCAP> capability can manipulate the "
2928 "capabilities of threads other than itself.  However, this is only "
2929 "theoretically possible, since no thread ever has B<CAP_SETPCAP> in either of "
2930 "these cases:"
2931 msgstr ""
2932 "バージョン 2.6.24 より前、およびファイルケーパビリティが 有効になっていない"
2933 "2.6.24 以降のカーネルでは、 B<CAP_SETPCAP> ケーパビリティを持ったスレッドは自"
2934 "分以外のスレッドの ケーパビリティを操作できる。 しかしながら、これは理論的に"
2935 "可能というだけである。 以下のいずれかの場合においても、どのスレッドも "
2936 "B<CAP_SETPCAP> ケーパビリティを持つことはないからである。"
2937
2938 #. type: Plain text
2939 #: build/C/man7/capabilities.7:1156
2940 msgid ""
2941 "In the pre-2.6.25 implementation the system-wide capability bounding set, I</"
2942 "proc/sys/kernel/cap-bound>, always masks out this capability, and this can "
2943 "not be changed without modifying the kernel source and rebuilding."
2944 msgstr ""
2945 "2.6.25 より前の実装では、システム共通のケーパビリティ・バウンディングセット "
2946 "I</proc/sys/kernel/cap-bound> ではこのケーパビリティは常に無効になっており、 "
2947 "ソースを変更してカーネルを再コンパイルしない限り、 これを変更することはできな"
2948 "い。"
2949
2950 #. type: Plain text
2951 #: build/C/man7/capabilities.7:1162
2952 msgid ""
2953 "If file capabilities are disabled in the current implementation, then "
2954 "B<init> starts out with this capability removed from its per-process "
2955 "bounding set, and that bounding set is inherited by all other processes "
2956 "created on the system."
2957 msgstr ""
2958 "現在の実装ではファイルケーパビリティが無効になっている場合、 プロセス毎のバウ"
2959 "ンディングセットからこのケーパビリティを抜いて B<init> は開始され、 システム"
2960 "上で生成される他の全てのプロセスでこのバウンディングセットが 継承される。"
2961
2962 #. type: Plain text
2963 #: build/C/man7/capabilities.7:1180
2964 msgid ""
2965 "B<capsh>(1), B<capget>(2), B<prctl>(2), B<setfsuid>(2), B<cap_clear>(3), "
2966 "B<cap_copy_ext>(3), B<cap_from_text>(3), B<cap_get_file>(3), "
2967 "B<cap_get_proc>(3), B<cap_init>(3), B<capgetp>(3), B<capsetp>(3), "
2968 "B<libcap>(3), B<credentials>(7), B<pthreads>(7), B<getcap>(8), B<setcap>(8)"
2969 msgstr ""
2970 "B<capsh>(1), B<capget>(2), B<prctl>(2), B<setfsuid>(2), B<cap_clear>(3), "
2971 "B<cap_copy_ext>(3), B<cap_from_text>(3), B<cap_get_file>(3), "
2972 "B<cap_get_proc>(3), B<cap_init>(3), B<capgetp>(3), B<capsetp>(3), "
2973 "B<libcap>(3), B<credentials>(7), B<pthreads>(7), B<getcap>(8), B<setcap>(8)"
2974
2975 #. type: Plain text
2976 #: build/C/man7/capabilities.7:1183
2977 msgid "I<include/linux/capability.h> in the Linux kernel source tree"
2978 msgstr "Linux カーネルソース内の I<include/linux/capability.h>"
2979
2980 #. type: TH
2981 #: build/C/man2/capget.2:15
2982 #, no-wrap
2983 msgid "CAPGET"
2984 msgstr "CAPGET"
2985
2986 #. type: TH
2987 #: build/C/man2/capget.2:15
2988 #, no-wrap
2989 msgid "2013-03-11"
2990 msgstr "2013-03-11"
2991
2992 #. type: Plain text
2993 #: build/C/man2/capget.2:18
2994 msgid "capget, capset - set/get capabilities of thread(s)"
2995 msgstr "capget, capset - スレッドのケーパビリティを設定/取得する"
2996
2997 #. type: Plain text
2998 #: build/C/man2/capget.2:20
2999 msgid "B<#include E<lt>sys/capability.hE<gt>>"
3000 msgstr "B<#include E<lt>sys/capability.hE<gt>>"
3001
3002 #. type: Plain text
3003 #: build/C/man2/capget.2:22
3004 msgid ""
3005 "B<int capget(cap_user_header_t >I<hdrp>B<, cap_user_data_t >I<datap>B<);>"
3006 msgstr ""
3007 "B<int capget(cap_user_header_t >I<hdrp>B<, cap_user_data_t >I<datap>B<);>"
3008
3009 #. type: Plain text
3010 #: build/C/man2/capget.2:24
3011 msgid ""
3012 "B<int capset(cap_user_header_t >I<hdrp>B<, const cap_user_data_t "
3013 ">I<datap>B<);>"
3014 msgstr ""
3015 "B<int capset(cap_user_header_t >I<hdrp>B<, const cap_user_data_t "
3016 ">I<datap>B<);>"
3017
3018 #. type: Plain text
3019 #: build/C/man2/capget.2:35
3020 msgid ""
3021 "As of Linux 2.2, the power of the superuser (root) has been partitioned into "
3022 "a set of discrete capabilities.  Each thread has a set of effective "
3023 "capabilities identifying which capabilities (if any) it may currently "
3024 "exercise.  Each thread also has a set of inheritable capabilities that may "
3025 "be passed through an B<execve>(2)  call, and a set of permitted capabilities "
3026 "that it can make effective or inheritable."
3027 msgstr ""
3028 "Linux 2.2 で、スーパーユーザー (root) の権限は、個別のケーパビリティ "
3029 "(capabilities) へと分割され、その集合として表現されるようになった。 各スレッ"
3030 "ドは「実効ケーパビリティ (effective capability) の集合」を持ち、 それによって"
3031 "現在どの操作が実行可能かを識別できる。 また、各スレッドは、 「継承可能ケーパ"
3032 "ビリティ (inheritable capability) の集合」と 「許可ケーパビリティ (permitted "
3033 "capability) の集合」を持つ。 「継承可能ケーパビリティの集合」は "
3034 "B<execve>(2)  を通じて渡すことができるケーパビリティの集合であり、 「許可ケー"
3035 "パビリティ (permitted capability) の集合」は 実効ケーパビリティや継承可能ケー"
3036 "パビリティとして有効にできる ケーパビリティを規定するものである。"
3037
3038 #. type: Plain text
3039 #: build/C/man2/capget.2:44
3040 msgid ""
3041 "These two system calls are the raw kernel interface for getting and setting "
3042 "thread capabilities.  Not only are these system calls specific to Linux, but "
3043 "the kernel API is likely to change and use of these system calls (in "
3044 "particular the format of the I<cap_user_*_t> types) is subject to extension "
3045 "with each kernel revision, but old programs will keep working."
3046 msgstr ""
3047 "この二つのシステムコールはスレッドのケーパビリティを取得したり設定したりする"
3048 "ための 生のカーネルインターフェースである。 これらのシステムコールは Linux 特"
3049 "有であるというだけでなく、 カーネル API は変更されるかもしれず、これらのシス"
3050 "テムコールの使用法 (特に I<cap_user_*_t> 型という書式) はカーネルのリビジョン"
3051 "毎に拡張されるかもしれないが、 以前のプログラムはそのまま動作する。"
3052
3053 #. type: Plain text
3054 #: build/C/man2/capget.2:55
3055 msgid ""
3056 "The portable interfaces are B<cap_set_proc>(3)  and B<cap_get_proc>(3); if "
3057 "possible, you should use those interfaces in applications.  If you wish to "
3058 "use the Linux extensions in applications, you should use the easier-to-use "
3059 "interfaces B<capsetp>(3)  and B<capgetp>(3)."
3060 msgstr ""
3061 "移植性のあるインターフェースは B<cap_set_proc>(3)  と B<cap_get_proc>(3)  で"
3062 "ある。 可能ならばアプリケーションはこれらの関数を使用すべきである。 アプリ"
3063 "ケーションに Linux 拡張を使用したい場合には、より簡単に 使えるインターフェー"
3064 "スである B<capsetp>(3)  と B<capgetp>(3)  を使用すべきである。"
3065
3066 #. type: SS
3067 #: build/C/man2/capget.2:55
3068 #, no-wrap
3069 msgid "Current details"
3070 msgstr "現在の詳細"
3071
3072 #. type: Plain text
3073 #: build/C/man2/capget.2:58
3074 msgid ""
3075 "Now that you have been warned, some current kernel details.  The structures "
3076 "are defined as follows."
3077 msgstr ""
3078 "現在のカーネルの詳細について注意を述べておく。 構造体は以下のように定義され"
3079 "る。"
3080
3081 #. type: Plain text
3082 #: build/C/man2/capget.2:63
3083 #, no-wrap
3084 msgid ""
3085 "#define _LINUX_CAPABILITY_VERSION_1  0x19980330\n"
3086 "#define _LINUX_CAPABILITY_U32S_1     1\n"
3087 msgstr ""
3088 "#define _LINUX_CAPABILITY_VERSION_1  0x19980330\n"
3089 "#define _LINUX_CAPABILITY_U32S_1     1\n"
3090
3091 #. type: Plain text
3092 #: build/C/man2/capget.2:66
3093 #, no-wrap
3094 msgid ""
3095 "#define _LINUX_CAPABILITY_VERSION_2  0x20071026\n"
3096 "#define _LINUX_CAPABILITY_U32S_2     2\n"
3097 msgstr ""
3098 "#define _LINUX_CAPABILITY_VERSION_2  0x20071026\n"
3099 "#define _LINUX_CAPABILITY_U32S_2     2\n"
3100
3101 #. type: Plain text
3102 #: build/C/man2/capget.2:71
3103 #, no-wrap
3104 msgid ""
3105 "typedef struct __user_cap_header_struct {\n"
3106 "   __u32 version;\n"
3107 "   int pid;\n"
3108 "} *cap_user_header_t;\n"
3109 msgstr ""
3110 "typedef struct __user_cap_header_struct {\n"
3111 "   __u32 version;\n"
3112 "   int pid;\n"
3113 "} *cap_user_header_t;\n"
3114
3115 #. type: Plain text
3116 #: build/C/man2/capget.2:77
3117 #, no-wrap
3118 msgid ""
3119 "typedef struct __user_cap_data_struct {\n"
3120 "   __u32 effective;\n"
3121 "   __u32 permitted;\n"
3122 "   __u32 inheritable;\n"
3123 "} *cap_user_data_t;\n"
3124 msgstr ""
3125 "typedef struct __user_cap_data_struct {\n"
3126 "   __u32 effective;\n"
3127 "   __u32 permitted;\n"
3128 "   __u32 inheritable;\n"
3129 "} *cap_user_data_t;\n"
3130
3131 #. type: Plain text
3132 #: build/C/man2/capget.2:96
3133 msgid ""
3134 "The I<effective>, I<permitted>, and I<inheritable> fields are bit masks of "
3135 "the capabilities defined in B<capabilities>(7).  Note the B<CAP_*> values "
3136 "are bit indexes and need to be bit-shifted before ORing into the bit "
3137 "fields.  To define the structures for passing to the system call you have to "
3138 "use the I<struct __user_cap_header_struct> and I<struct "
3139 "__user_cap_data_struct> names because the typedefs are only pointers."
3140 msgstr ""
3141 "フィールド I<effective>, I<permitted>, I<inheritable> は、 "
3142 "B<capabilities>(7)  で定義されるケーパビリティのビットマスクである。 "
3143 "I<CAP_*> はビット番号を表すインデックス値であり、 ビットフィールドに OR を行"
3144 "う前に I<CAP_*> の値の分だけビットシフトを行う必要がある。 typedef の方はポイ"
3145 "ンタなので、 このシステムコールに渡す構造体を定義するには、 I<struct "
3146 "__user_cap_header_struct> と I<struct __user_cap_data_struct> という名前を使"
3147 "用しなければならない。"
3148
3149 #. type: Plain text
3150 #: build/C/man2/capget.2:108
3151 msgid ""
3152 "Kernels prior to 2.6.25 prefer 32-bit capabilities with version "
3153 "B<_LINUX_CAPABILITY_VERSION_1>, and kernels 2.6.25+ prefer 64-bit "
3154 "capabilities with version B<_LINUX_CAPABILITY_VERSION_2>.  Note, 64-bit "
3155 "capabilities use I<datap>[0] and I<datap>[1], whereas 32-bit capabilities "
3156 "use only I<datap>[0]."
3157 msgstr ""
3158 "カーネル 2.6.25 より前では、バージョン B<_LINUX_CAPABILITY_VERSION_1> の 32 "
3159 "ビットケーパビリティが推奨である。 カーネル 2.6.25 以降では、バージョン "
3160 "B<_LINUX_CAPABILITY_VERSION_2> の 64 ビットケーパビリティが推奨である。 64 "
3161 "ビットケーパビリティでは I<datap>[0] と I<datap>[1] が使用されるのに対し、 "
3162 "32 ビットケーパビリティでは I<datap>[0] だけが使用される。"
3163
3164 #. type: Plain text
3165 #: build/C/man2/capget.2:112
3166 msgid ""
3167 "Another change affecting the behavior of these system calls is kernel "
3168 "support for file capabilities (VFS capability support).  This support is "
3169 "currently a compile time option (added in kernel 2.6.24)."
3170 msgstr ""
3171 "これらのシステムコールの挙動に影響があるもう一つの変更点は、 ファイルケーパビ"
3172 "リティ (file capabilities) のカーネルによるサポート (VFS ケーパビリティのサ"
3173 "ポート) である。 VFS ケーパビリティのサポートは現在のところコンパイル時のオプ"
3174 "ションである (カーネル 2.6.24 で追加された)。"
3175
3176 #. type: Plain text
3177 #: build/C/man2/capget.2:119
3178 msgid ""
3179 "For B<capget>()  calls, one can probe the capabilities of any process by "
3180 "specifying its process ID with the I<hdrp-E<gt>pid> field value."
3181 msgstr ""
3182 "B<capget>()  では、 I<hdrp-E<gt>pid> のフィールド値にケーパビリティを知りたい"
3183 "プロセスのプロセス ID を 指定することで、任意のプロセスのケーパビリティを調べ"
3184 "ることができる。"
3185
3186 #. type: SS
3187 #: build/C/man2/capget.2:119
3188 #, no-wrap
3189 msgid "With VFS capability support"
3190 msgstr "VFS ケーパビリティがサポートされている場合"
3191
3192 #. type: Plain text
3193 #: build/C/man2/capget.2:131
3194 msgid ""
3195 "VFS Capability support creates a file-attribute method for adding "
3196 "capabilities to privileged executables.  This privilege model obsoletes "
3197 "kernel support for one process asynchronously setting the capabilities of "
3198 "another.  That is, with VFS support, for B<capset>()  calls the only "
3199 "permitted values for I<hdrp-E<gt>pid> are 0 or B<getpid>(2), which are "
3200 "equivalent."
3201 msgstr ""
3202 "VFS ケーパビリティのサポートでは、特権実行ファイルにケーパビリティを 追加する"
3203 "ためのファイル属性メソッドが作成された。 この特権モデルの導入により、あるプロ"
3204 "セスにより別のプロセスのケーパビリティ を非同期に設定する機能のカーネルによる"
3205 "サポートは廃止される。 つまり、VFS サポートでは、 B<capset>()  を呼び出す際"
3206 "に I<hdrp-E<gt>pid> の値として許されるのは 0 と B<getpid>(2)  が返す値だけと"
3207 "なる (どちらの値でも等価である)。"
3208
3209 #. type: SS
3210 #: build/C/man2/capget.2:131
3211 #, no-wrap
3212 msgid "Without VFS capability support"
3213 msgstr "VFS ケーパビリティがサポートされていない場合"
3214
3215 #. type: Plain text
3216 #: build/C/man2/capget.2:157
3217 msgid ""
3218 "When the kernel does not support VFS capabilities, B<capset>()  calls can "
3219 "operate on the capabilities of the thread specified by the I<pid> field of "
3220 "I<hdrp> when that is nonzero, or on the capabilities of the calling thread "
3221 "if I<pid> is 0.  If I<pid> refers to a single-threaded process, then I<pid> "
3222 "can be specified as a traditional process ID; operating on a thread of a "
3223 "multithreaded process requires a thread ID of the type returned by "
3224 "B<gettid>(2).  For B<capset>(), I<pid> can also be: -1, meaning perform the "
3225 "change on all threads except the caller and B<init>(8); or a value less than "
3226 "-1, in which case the change is applied to all members of the process group "
3227 "whose ID is -I<pid>."
3228 msgstr ""
3229 "カーネルが VFS ケーパビリティをサポートしていない場合、 I<hdrp> の I<pid> "
3230 "フィールドが 0 以外であれば、 B<capset>()  の操作対象は I<pid> で指定されたス"
3231 "レッドのケーパビリティになる。 I<pid> が 0 の場合は呼び出し元のスレッドのケー"
3232 "パビリティが操作対象となる。 I<pid> がシングルスレッド・プロセスを参照してい"
3233 "る場合、 I<pid> は以前から使われているプロセスID を使って指定できる。 マルチ"
3234 "スレッド・プロセス内のあるスレッドを対象にする場合は、 B<gettid>(2)  が返すス"
3235 "レッドID を用いて指定する必要がある。 また、 B<capset>()  では -1 や -1 より"
3236 "小さな値を指定することもできる。 -1 は呼び出し元と B<init>(8)  を除く全てのス"
3237 "レッドを対象として変更を行うことを、 -1 より小さな値は ID が -I<pid> のプロセ"
3238 "スグループの全メンバ を対象として変更を行うことを意味する。"
3239
3240 #. type: Plain text
3241 #: build/C/man2/capget.2:160
3242 msgid "For details on the data, see B<capabilities>(7)."
3243 msgstr "このデータの詳細は B<capabilities>(7)  を参照すること。"
3244
3245 #. type: Plain text
3246 #: build/C/man2/capget.2:179
3247 msgid ""
3248 "The calls will fail with the error B<EINVAL>, and set the I<version> field "
3249 "of I<hdrp> to the kernel preferred value of B<_LINUX_CAPABILITY_VERSION_?> "
3250 "when an unsupported I<version> value is specified.  In this way, one can "
3251 "probe what the current preferred capability revision is."
3252 msgstr ""
3253 "I<hdrp> のフィールド I<version> にサポートされていない値が指定された場合、 呼"
3254 "び出しはエラー B<EINVAL> で失敗し、 I<version> にカーネル推奨の "
3255 "B<_LINUX_CAPABILITY_VERSION_?> を設定する。 このようにして、現在の推奨ケーパ"
3256 "ビリティ・リビジョンが何かを 調べることができる。"
3257
3258 #. type: Plain text
3259 #: build/C/man2/capget.2:188
3260 msgid ""
3261 "Bad memory address.  I<hdrp> must not be NULL.  I<datap> may be NULL only "
3262 "when the user is trying to determine the preferred capability version format "
3263 "supported by the kernel."
3264 msgstr ""
3265 "不正なメモリアドレス。 I<hdrp> は NULL であってはならない。 I<datap> に NULL "
3266 "を指定してよいのは、ユーザがカーネルがサポートしている 推奨のケーパビリティ・"
3267 "バージョンを判定しようとしているときだけである。"
3268
3269 #. type: TP
3270 #: build/C/man2/capget.2:188 build/C/man7/cpuset.7:1180
3271 #: build/C/man7/cpuset.7:1189 build/C/man7/cpuset.7:1198
3272 #: build/C/man7/cpuset.7:1208 build/C/man7/cpuset.7:1217
3273 #: build/C/man7/cpuset.7:1224 build/C/man7/cpuset.7:1231
3274 #: build/C/man2/getgroups.2:114 build/C/man2/getgroups.2:121
3275 #: build/C/man2/getpriority.2:121 build/C/man2/getrlimit.2:445
3276 #: build/C/man2/getrusage.2:198 build/C/man2/iopl.2:72
3277 #: build/C/man2/ioprio_set.2:170 build/C/man2/setpgid.2:225
3278 #, no-wrap
3279 msgid "B<EINVAL>"
3280 msgstr "B<EINVAL>"
3281
3282 #. type: Plain text
3283 #: build/C/man2/capget.2:191
3284 msgid "One of the arguments was invalid."
3285 msgstr "引き数のどれかが無効である。"
3286
3287 #. type: Plain text
3288 #: build/C/man2/capget.2:196
3289 msgid ""
3290 "An attempt was made to add a capability to the Permitted set, or to set a "
3291 "capability in the Effective or Inheritable sets that is not in the Permitted "
3292 "set."
3293 msgstr ""
3294 "「許可ケーパビリティセット」にケーパビリティを追加しようとしているか、 もしく"
3295 "は「許可ケーパビリティセット」に含まれないケーパビリティを 「実効ケーパビリ"
3296 "ティセット」や「継承可能ケーパビリティセット」に セットしようとしている。"
3297
3298 #. type: Plain text
3299 #: build/C/man2/capget.2:215
3300 msgid ""
3301 "The caller attempted to use B<capset>()  to modify the capabilities of a "
3302 "thread other than itself, but lacked sufficient privilege.  For kernels "
3303 "supporting VFS capabilities, this is never permitted.  For kernels lacking "
3304 "VFS support, the B<CAP_SETPCAP> capability is required.  (A bug in kernels "
3305 "before 2.6.11 meant that this error could also occur if a thread without "
3306 "this capability tried to change its own capabilities by specifying the "
3307 "I<pid> field as a nonzero value (i.e., the value returned by B<getpid>(2))  "
3308 "instead of 0.)"
3309 msgstr ""
3310 "呼び出し元が自分以外のスレッドのケーパビリティを B<capset>()  を使って修正し"
3311 "ようとしたが、十分な特権がなかった。 VFS ケーパビリティをサポートしているカー"
3312 "ネルでは、 この操作が許可されることは決してない。 VFS ケーパビリティをサポー"
3313 "トしていないカーネルでは、 B<CAP_SETPCAP> ケーパビリティが必要である。 (バー"
3314 "ジョン 2.6.11 より前のカーネルには、 このケーパビリティを持たないスレッドが "
3315 "I<pid> フィールドに 0 でない値 (つまり、0 の代わりに B<getpid>(2)  が返す値) "
3316 "を指定して自分自身のケーパビリティを変更しようとした場合にも、 このエラーが発"
3317 "生するというバグがあった。)"
3318
3319 #. type: TP
3320 #: build/C/man2/capget.2:215 build/C/man7/cpuset.7:1330
3321 #: build/C/man2/getpriority.2:129 build/C/man2/getrlimit.2:469
3322 #: build/C/man2/getsid.2:70 build/C/man2/ioprio_set.2:187
3323 #: build/C/man2/setpgid.2:240
3324 #, no-wrap
3325 msgid "B<ESRCH>"
3326 msgstr "B<ESRCH>"
3327
3328 #. type: Plain text
3329 #: build/C/man2/capget.2:218
3330 msgid "No such thread."
3331 msgstr "そのようなスレッドが存在しない。"
3332
3333 #. type: Plain text
3334 #: build/C/man2/capget.2:220 build/C/man2/ioprio_set.2:198
3335 msgid "These system calls are Linux-specific."
3336 msgstr "これらのシステムコールは Linux 独自である。"
3337
3338 #. type: Plain text
3339 #: build/C/man2/capget.2:225
3340 msgid ""
3341 "The portable interface to the capability querying and setting functions is "
3342 "provided by the I<libcap> library and is available here:"
3343 msgstr ""
3344 "ケーパビリティを設定したり取得したりする機能のための移植性ある インターフェー"
3345 "スは I<libcap> ライブラリによって提供される。 このライブラリは以下から入手で"
3346 "きる:"
3347
3348 #. type: Plain text
3349 #: build/C/man2/capget.2:228
3350 msgid ""
3351 "E<.UR http://git.kernel.org/cgit\\:/linux\\:/kernel\\:/git\\:/morgan\\:\\:/"
3352 "libcap.git> E<.UE>"
3353 msgstr ""
3354 "E<.UR http://git.kernel.org/cgit\\:/linux\\:/kernel\\:/git\\:/morgan\\:\\:/"
3355 "libcap.git> E<.UE>"
3356
3357 #. type: Plain text
3358 #: build/C/man2/capget.2:232
3359 msgid "B<clone>(2), B<gettid>(2), B<capabilities>(7)"
3360 msgstr "B<clone>(2), B<gettid>(2), B<capabilities>(7)"
3361
3362 #. type: TH
3363 #: build/C/man7/cpuset.7:25
3364 #, no-wrap
3365 msgid "CPUSET"
3366 msgstr "CPUSET"
3367
3368 #. type: Plain text
3369 #: build/C/man7/cpuset.7:28
3370 msgid "cpuset - confine processes to processor and memory node subsets"
3371 msgstr ""
3372
3373 #. type: Plain text
3374 #: build/C/man7/cpuset.7:35
3375 msgid ""
3376 "The cpuset filesystem is a pseudo-filesystem interface to the kernel cpuset "
3377 "mechanism, which is used to control the processor placement and memory "
3378 "placement of processes.  It is commonly mounted at I</dev/cpuset>."
3379 msgstr ""
3380
3381 #. type: Plain text
3382 #: build/C/man7/cpuset.7:52
3383 msgid ""
3384 "On systems with kernels compiled with built in support for cpusets, all "
3385 "processes are attached to a cpuset, and cpusets are always present.  If a "
3386 "system supports cpusets, then it will have the entry B<nodev cpuset> in the "
3387 "file I</proc/filesystems>.  By mounting the cpuset filesystem (see the "
3388 "B<EXAMPLE> section below), the administrator can configure the cpusets on a "
3389 "system to control the processor and memory placement of processes on that "
3390 "system.  By default, if the cpuset configuration on a system is not modified "
3391 "or if the cpuset filesystem is not even mounted, then the cpuset mechanism, "
3392 "though present, has no affect on the system's behavior."
3393 msgstr ""
3394
3395 #. type: Plain text
3396 #: build/C/man7/cpuset.7:54
3397 msgid "A cpuset defines a list of CPUs and memory nodes."
3398 msgstr ""
3399
3400 #. type: Plain text
3401 #: build/C/man7/cpuset.7:63
3402 msgid ""
3403 "The CPUs of a system include all the logical processing units on which a "
3404 "process can execute, including, if present, multiple processor cores within "
3405 "a package and Hyper-Threads within a processor core.  Memory nodes include "
3406 "all distinct banks of main memory; small and SMP systems typically have just "
3407 "one memory node that contains all the system's main memory, while NUMA (non-"
3408 "uniform memory access) systems have multiple memory nodes."
3409 msgstr ""
3410
3411 #. type: Plain text
3412 #: build/C/man7/cpuset.7:73
3413 msgid ""
3414 "Cpusets are represented as directories in a hierarchical pseudo-filesystem, "
3415 "where the top directory in the hierarchy (I</dev/cpuset>)  represents the "
3416 "entire system (all online CPUs and memory nodes)  and any cpuset that is the "
3417 "child (descendant) of another parent cpuset contains a subset of that "
3418 "parent's CPUs and memory nodes.  The directories and files representing "
3419 "cpusets have normal filesystem permissions."
3420 msgstr ""
3421
3422 #. type: Plain text
3423 #: build/C/man7/cpuset.7:84
3424 msgid ""
3425 "Every process in the system belongs to exactly one cpuset.  A process is "
3426 "confined to run only on the CPUs in the cpuset it belongs to, and to "
3427 "allocate memory only on the memory nodes in that cpuset.  When a process "
3428 "B<fork>(2)s, the child process is placed in the same cpuset as its parent.  "
3429 "With sufficient privilege, a process may be moved from one cpuset to another "
3430 "and the allowed CPUs and memory nodes of an existing cpuset may be changed."
3431 msgstr ""
3432
3433 #. type: Plain text
3434 #: build/C/man7/cpuset.7:92
3435 msgid ""
3436 "When the system begins booting, a single cpuset is defined that includes all "
3437 "CPUs and memory nodes on the system, and all processes are in that cpuset.  "
3438 "During the boot process, or later during normal system operation, other "
3439 "cpusets may be created, as subdirectories of this top cpuset, under the "
3440 "control of the system administrator, and processes may be placed in these "
3441 "other cpusets."
3442 msgstr ""
3443
3444 #. type: Plain text
3445 #: build/C/man7/cpuset.7:114
3446 msgid ""
3447 "Cpusets are integrated with the B<sched_setaffinity>(2)  scheduling affinity "
3448 "mechanism and the B<mbind>(2)  and B<set_mempolicy>(2)  memory-placement "
3449 "mechanisms in the kernel.  Neither of these mechanisms let a process make "
3450 "use of a CPU or memory node that is not allowed by that process's cpuset.  "
3451 "If changes to a process's cpuset placement conflict with these other "
3452 "mechanisms, then cpuset placement is enforced even if it means overriding "
3453 "these other mechanisms.  The kernel accomplishes this overriding by silently "
3454 "restricting the CPUs and memory nodes requested by these other mechanisms to "
3455 "those allowed by the invoking process's cpuset.  This can result in these "
3456 "other calls returning an error, if for example, such a call ends up "
3457 "requesting an empty set of CPUs or memory nodes, after that request is "
3458 "restricted to the invoking process's cpuset."
3459 msgstr ""
3460
3461 #. type: Plain text
3462 #: build/C/man7/cpuset.7:120
3463 msgid ""
3464 "Typically, a cpuset is used to manage the CPU and memory-node confinement "
3465 "for a set of cooperating processes such as a batch scheduler job, and these "
3466 "other mechanisms are used to manage the placement of individual processes or "
3467 "memory regions within that set or job."
3468 msgstr ""
3469
3470 #. type: SH
3471 #: build/C/man7/cpuset.7:120
3472 #, no-wrap
3473 msgid "FILES"
3474 msgstr ""
3475
3476 #. type: Plain text
3477 #: build/C/man7/cpuset.7:125
3478 msgid ""
3479 "Each directory below I</dev/cpuset> represents a cpuset and contains a fixed "
3480 "set of pseudo-files describing the state of that cpuset."
3481 msgstr ""
3482
3483 #. type: Plain text
3484 #: build/C/man7/cpuset.7:135
3485 msgid ""
3486 "New cpusets are created using the B<mkdir>(2)  system call or the "
3487 "B<mkdir>(1)  command.  The properties of a cpuset, such as its flags, "
3488 "allowed CPUs and memory nodes, and attached processes, are queried and "
3489 "modified by reading or writing to the appropriate file in that cpuset's "
3490 "directory, as listed below."
3491 msgstr ""
3492
3493 #. type: Plain text
3494 #: build/C/man7/cpuset.7:141
3495 msgid ""
3496 "The pseudo-files in each cpuset directory are automatically created when the "
3497 "cpuset is created, as a result of the B<mkdir>(2)  invocation.  It is not "
3498 "possible to directly add or remove these pseudo-files."
3499 msgstr ""
3500
3501 #. type: Plain text
3502 #: build/C/man7/cpuset.7:149
3503 msgid ""
3504 "A cpuset directory that contains no child cpuset directories, and has no "
3505 "attached processes, can be removed using B<rmdir>(2)  or B<rmdir>(1).  It is "
3506 "not necessary, or possible, to remove the pseudo-files inside the directory "
3507 "before removing it."
3508 msgstr ""
3509
3510 #. type: Plain text
3511 #: build/C/man7/cpuset.7:163
3512 msgid ""
3513 "The pseudo-files in each cpuset directory are small text files that may be "
3514 "read and written using traditional shell utilities such as B<cat>(1), and "
3515 "B<echo>(1), or from a program by using file I/O library functions or system "
3516 "calls, such as B<open>(2), B<read>(2), B<write>(2), and B<close>(2)."
3517 msgstr ""
3518
3519 #.  ====================== tasks ======================
3520 #. type: Plain text
3521 #: build/C/man7/cpuset.7:168
3522 msgid ""
3523 "The pseudo-files in a cpuset directory represent internal kernel state and "
3524 "do not have any persistent image on disk.  Each of these per-cpuset files is "
3525 "listed and described below."
3526 msgstr ""
3527
3528 #. type: TP
3529 #: build/C/man7/cpuset.7:168
3530 #, no-wrap
3531 msgid "I<tasks>"
3532 msgstr "I<tasks>"
3533
3534 #. type: Plain text
3535 #: build/C/man7/cpuset.7:178
3536 msgid ""
3537 "List of the process IDs (PIDs) of the processes in that cpuset.  The list is "
3538 "formatted as a series of ASCII decimal numbers, each followed by a newline.  "
3539 "A process may be added to a cpuset (automatically removing it from the "
3540 "cpuset that previously contained it) by writing its PID to that cpuset's "
3541 "I<tasks> file (with or without a trailing newline.)"
3542 msgstr ""
3543
3544 #.  =================== notify_on_release ===================
3545 #. type: Plain text
3546 #: build/C/man7/cpuset.7:186
3547 msgid ""
3548 "B<Warning:> only one PID may be written to the I<tasks> file at a time.  If "
3549 "a string is written that contains more than one PID, only the first one will "
3550 "be used."
3551 msgstr ""
3552
3553 #. type: TP
3554 #: build/C/man7/cpuset.7:186
3555 #, no-wrap
3556 msgid "I<notify_on_release>"
3557 msgstr "I<notify_on_release>"
3558
3559 #.  ====================== cpus ======================
3560 #. type: Plain text
3561 #: build/C/man7/cpuset.7:195
3562 msgid ""
3563 "Flag (0 or 1).  If set (1), that cpuset will receive special handling after "
3564 "it is released, that is, after all processes cease using it (i.e., terminate "
3565 "or are moved to a different cpuset)  and all child cpuset directories have "
3566 "been removed.  See the B<Notify On Release> section, below."
3567 msgstr ""
3568
3569 #. type: TP
3570 #: build/C/man7/cpuset.7:195
3571 #, no-wrap
3572 msgid "I<cpuset.cpus>"
3573 msgstr "I<cpuset.cpus>"
3574
3575 #. type: Plain text
3576 #: build/C/man7/cpuset.7:202
3577 msgid ""
3578 "List of the physical numbers of the CPUs on which processes in that cpuset "
3579 "are allowed to execute.  See B<List Format> below for a description of the "
3580 "format of I<cpus>."
3581 msgstr ""
3582
3583 #.  ==================== cpu_exclusive ====================
3584 #. type: Plain text
3585 #: build/C/man7/cpuset.7:208
3586 msgid ""
3587 "The CPUs allowed to a cpuset may be changed by writing a new list to its "
3588 "I<cpus> file."
3589 msgstr ""
3590
3591 #. type: TP
3592 #: build/C/man7/cpuset.7:208
3593 #, no-wrap
3594 msgid "I<cpuset.cpu_exclusive>"
3595 msgstr "I<cpuset.cpu_exclusive>"
3596
3597 #. type: Plain text
3598 #: build/C/man7/cpuset.7:215
3599 msgid ""
3600 "Flag (0 or 1).  If set (1), the cpuset has exclusive use of its CPUs (no "
3601 "sibling or cousin cpuset may overlap CPUs).  By default this is off (0).  "
3602 "Newly created cpusets also initially default this to off (0)."
3603 msgstr ""
3604
3605 #.  ====================== mems ======================
3606 #. type: Plain text
3607 #: build/C/man7/cpuset.7:237
3608 msgid ""
3609 "Two cpusets are I<sibling> cpusets if they share the same parent cpuset in "
3610 "the I</dev/cpuset> hierarchy.  Two cpusets are I<cousin> cpusets if neither "
3611 "is the ancestor of the other.  Regardless of the I<cpu_exclusive> setting, "
3612 "if one cpuset is the ancestor of another, and if both of these cpusets have "
3613 "nonempty I<cpus>, then their I<cpus> must overlap, because the I<cpus> of "
3614 "any cpuset are always a subset of the I<cpus> of its parent cpuset."
3615 msgstr ""
3616
3617 #. type: TP
3618 #: build/C/man7/cpuset.7:237
3619 #, no-wrap
3620 msgid "I<cpuset.mems>"
3621 msgstr "I<cpuset.mems>"
3622
3623 #.  ==================== mem_exclusive ====================
3624 #. type: Plain text
3625 #: build/C/man7/cpuset.7:245
3626 msgid ""
3627 "List of memory nodes on which processes in this cpuset are allowed to "
3628 "allocate memory.  See B<List Format> below for a description of the format "
3629 "of I<mems>."
3630 msgstr ""
3631
3632 #. type: TP
3633 #: build/C/man7/cpuset.7:245
3634 #, no-wrap
3635 msgid "I<cpuset.mem_exclusive>"
3636 msgstr "I<cpuset.mem_exclusive>"
3637
3638 #. type: Plain text
3639 #: build/C/man7/cpuset.7:253
3640 msgid ""
3641 "Flag (0 or 1).  If set (1), the cpuset has exclusive use of its memory nodes "
3642 "(no sibling or cousin may overlap).  Also if set (1), the cpuset is a "
3643 "B<Hardwall> cpuset (see below.)  By default this is off (0).  Newly created "
3644 "cpusets also initially default this to off (0)."
3645 msgstr ""
3646
3647 #.  ==================== mem_hardwall ====================
3648 #. type: Plain text
3649 #: build/C/man7/cpuset.7:261
3650 msgid ""
3651 "Regardless of the I<mem_exclusive> setting, if one cpuset is the ancestor of "
3652 "another, then their memory nodes must overlap, because the memory nodes of "
3653 "any cpuset are always a subset of the memory nodes of that cpuset's parent "
3654 "cpuset."
3655 msgstr ""
3656
3657 #. type: TP
3658 #: build/C/man7/cpuset.7:261
3659 #, no-wrap
3660 msgid "I<cpuset.mem_hardwall> (since Linux 2.6.26)"
3661 msgstr "I<cpuset.mem_hardwall> (Linux 2.6.26 以降)"
3662
3663 #.  ==================== memory_migrate ====================
3664 #. type: Plain text
3665 #: build/C/man7/cpuset.7:272
3666 msgid ""
3667 "Flag (0 or 1).  If set (1), the cpuset is a B<Hardwall> cpuset (see below.)  "
3668 "Unlike B<mem_exclusive>, there is no constraint on whether cpusets marked "
3669 "B<mem_hardwall> may have overlapping memory nodes with sibling or cousin "
3670 "cpusets.  By default this is off (0).  Newly created cpusets also initially "
3671 "default this to off (0)."
3672 msgstr ""
3673
3674 #. type: TP
3675 #: build/C/man7/cpuset.7:272
3676 #, no-wrap
3677 msgid "I<cpuset.memory_migrate> (since Linux 2.6.16)"
3678 msgstr "I<cpuset.memory_migrate> (Linux 2.6.16 以降)"
3679
3680 #.  ==================== memory_pressure ====================
3681 #. type: Plain text
3682 #: build/C/man7/cpuset.7:279
3683 msgid ""
3684 "Flag (0 or 1).  If set (1), then memory migration is enabled.  By default "
3685 "this is off (0).  See the B<Memory Migration> section, below."
3686 msgstr ""
3687
3688 #. type: TP
3689 #: build/C/man7/cpuset.7:279
3690 #, no-wrap
3691 msgid "I<cpuset.memory_pressure> (since Linux 2.6.16)"
3692 msgstr "I<cpuset.memory_pressure> (Linux 2.6.16 以降)"
3693
3694 #.  ================= memory_pressure_enabled =================
3695 #. type: Plain text
3696 #: build/C/man7/cpuset.7:292
3697 msgid ""
3698 "A measure of how much memory pressure the processes in this cpuset are "
3699 "causing.  See the B<Memory Pressure> section, below.  Unless "
3700 "I<memory_pressure_enabled> is enabled, always has value zero (0).  This file "
3701 "is read-only.  See the B<WARNINGS> section, below."
3702 msgstr ""
3703
3704 #. type: TP
3705 #: build/C/man7/cpuset.7:292
3706 #, no-wrap
3707 msgid "I<cpuset.memory_pressure_enabled> (since Linux 2.6.16)"
3708 msgstr "I<cpuset.memory_pressure_enabled> (Linux 2.6.16 以降)"
3709
3710 #.  ================== memory_spread_page ==================
3711 #. type: Plain text
3712 #: build/C/man7/cpuset.7:304
3713 msgid ""
3714 "Flag (0 or 1).  This file is present only in the root cpuset, normally I</"
3715 "dev/cpuset>.  If set (1), the I<memory_pressure> calculations are enabled "
3716 "for all cpusets in the system.  By default this is off (0).  See the "
3717 "B<Memory Pressure> section, below."
3718 msgstr ""
3719
3720 #. type: TP
3721 #: build/C/man7/cpuset.7:304
3722 #, no-wrap
3723 msgid "I<cpuset.memory_spread_page> (since Linux 2.6.17)"
3724 msgstr "I<cpuset.memory_spread_page> (Linux 2.6.17 以降)"
3725
3726 #.  ================== memory_spread_slab ==================
3727 #. type: Plain text
3728 #: build/C/man7/cpuset.7:314
3729 msgid ""
3730 "Flag (0 or 1).  If set (1), pages in the kernel page cache (filesystem "
3731 "buffers) are uniformly spread across the cpuset.  By default this is off (0) "
3732 "in the top cpuset, and inherited from the parent cpuset in newly created "
3733 "cpusets.  See the B<Memory Spread> section, below."
3734 msgstr ""
3735
3736 #. type: TP
3737 #: build/C/man7/cpuset.7:314
3738 #, no-wrap
3739 msgid "I<cpuset.memory_spread_slab> (since Linux 2.6.17)"
3740 msgstr "I<cpuset.memory_spread_slab> (Linux 2.6.17 以降)"
3741
3742 #.  ================== sched_load_balance ==================
3743 #. type: Plain text
3744 #: build/C/man7/cpuset.7:325
3745 msgid ""
3746 "Flag (0 or 1).  If set (1), the kernel slab caches for file I/O (directory "
3747 "and inode structures) are uniformly spread across the cpuset.  By default "
3748 "this is off (0) in the top cpuset, and inherited from the parent cpuset in "
3749 "newly created cpusets.  See the B<Memory Spread> section, below."
3750 msgstr ""
3751
3752 #. type: TP
3753 #: build/C/man7/cpuset.7:325
3754 #, no-wrap
3755 msgid "I<cpuset.sched_load_balance> (since Linux 2.6.24)"
3756 msgstr "I<cpuset.sched_load_balance> (Linux 2.6.24 以降)"
3757
3758 #.  ================== sched_relax_domain_level ==================
3759 #. type: Plain text
3760 #: build/C/man7/cpuset.7:339
3761 msgid ""
3762 "Flag (0 or 1).  If set (1, the default) the kernel will automatically load "
3763 "balance processes in that cpuset over the allowed CPUs in that cpuset.  If "
3764 "cleared (0) the kernel will avoid load balancing processes in this cpuset, "
3765 "I<unless> some other cpuset with overlapping CPUs has its "
3766 "I<sched_load_balance> flag set.  See B<Scheduler Load Balancing>, below, for "
3767 "further details."
3768 msgstr ""
3769
3770 #. type: TP
3771 #: build/C/man7/cpuset.7:339
3772 #, no-wrap
3773 msgid "I<cpuset.sched_relax_domain_level> (since Linux 2.6.26)"
3774 msgstr "I<cpuset.sched_relax_domain_level> (Linux 2.6.26 以降)"
3775
3776 #.  ================== proc cpuset ==================
3777 #. type: Plain text
3778 #: build/C/man7/cpuset.7:359
3779 msgid ""
3780 "Integer, between -1 and a small positive value.  The "
3781 "I<sched_relax_domain_level> controls the width of the range of CPUs over "
3782 "which the kernel scheduler performs immediate rebalancing of runnable tasks "
3783 "across CPUs.  If I<sched_load_balance> is disabled, then the setting of "
3784 "I<sched_relax_domain_level> does not matter, as no such load balancing is "
3785 "done.  If I<sched_load_balance> is enabled, then the higher the value of the "
3786 "I<sched_relax_domain_level>, the wider the range of CPUs over which "
3787 "immediate load balancing is attempted.  See B<Scheduler Relax Domain Level>, "
3788 "below, for further details."
3789 msgstr ""
3790
3791 #.  ================== proc status ==================
3792 #. type: Plain text
3793 #: build/C/man7/cpuset.7:367
3794 msgid ""
3795 "In addition to the above pseudo-files in each directory below I</dev/"
3796 "cpuset>, each process has a pseudo-file, I</proc/E<lt>pidE<gt>/cpuset>, that "
3797 "displays the path of the process's cpuset directory relative to the root of "
3798 "the cpuset filesystem."
3799 msgstr ""
3800
3801 #. type: Plain text
3802 #: build/C/man7/cpuset.7:378
3803 msgid ""
3804 "Also the I</proc/E<lt>pidE<gt>/status> file for each process has four added "
3805 "lines, displaying the process's I<Cpus_allowed> (on which CPUs it may be "
3806 "scheduled) and I<Mems_allowed> (on which memory nodes it may obtain memory), "
3807 "in the two formats B<Mask Format> and B<List Format> (see below)  as shown "
3808 "in the following example:"
3809 msgstr ""
3810
3811 #. type: Plain text
3812 #: build/C/man7/cpuset.7:385
3813 #, no-wrap
3814 msgid ""
3815 "Cpus_allowed:   ffffffff,ffffffff,ffffffff,ffffffff\n"
3816 "Cpus_allowed_list:     0-127\n"
3817 "Mems_allowed:   ffffffff,ffffffff\n"
3818 "Mems_allowed_list:     0-63\n"
3819 msgstr ""
3820 "Cpus_allowed:   ffffffff,ffffffff,ffffffff,ffffffff\n"
3821 "Cpus_allowed_list:     0-127\n"
3822 "Mems_allowed:   ffffffff,ffffffff\n"
3823 "Mems_allowed_list:     0-63\n"
3824
3825 #.  ================== EXTENDED CAPABILITIES ==================
3826 #. type: Plain text
3827 #: build/C/man7/cpuset.7:391
3828 msgid ""
3829 "The \"allowed\" fields were added in Linux 2.6.24; the \"allowed_list\" "
3830 "fields were added in Linux 2.6.26."
3831 msgstr ""
3832
3833 #. type: SH
3834 #: build/C/man7/cpuset.7:391
3835 #, no-wrap
3836 msgid "EXTENDED CAPABILITIES"
3837 msgstr ""
3838
3839 #.  ================== Exclusive Cpusets ==================
3840 #. type: Plain text
3841 #: build/C/man7/cpuset.7:399
3842 msgid ""
3843 "In addition to controlling which I<cpus> and I<mems> a process is allowed to "
3844 "use, cpusets provide the following extended capabilities."
3845 msgstr ""
3846
3847 #. type: SS
3848 #: build/C/man7/cpuset.7:399
3849 #, no-wrap
3850 msgid "Exclusive cpusets"
3851 msgstr ""
3852
3853 #. type: Plain text
3854 #: build/C/man7/cpuset.7:406
3855 msgid ""
3856 "If a cpuset is marked I<cpu_exclusive> or I<mem_exclusive>, no other cpuset, "
3857 "other than a direct ancestor or descendant, may share any of the same CPUs "
3858 "or memory nodes."
3859 msgstr ""
3860
3861 #.  ================== Hardwall ==================
3862 #. type: Plain text
3863 #: build/C/man7/cpuset.7:432
3864 msgid ""
3865 "A cpuset that is I<mem_exclusive> restricts kernel allocations for buffer "
3866 "cache pages and other internal kernel data pages commonly shared by the "
3867 "kernel across multiple users.  All cpusets, whether I<mem_exclusive> or not, "
3868 "restrict allocations of memory for user space.  This enables configuring a "
3869 "system so that several independent jobs can share common kernel data, while "
3870 "isolating each job's user allocation in its own cpuset.  To do this, "
3871 "construct a large I<mem_exclusive> cpuset to hold all the jobs, and "
3872 "construct child, non-I<mem_exclusive> cpusets for each individual job.  Only "
3873 "a small amount of kernel memory, such as requests from interrupt handlers, "
3874 "is allowed to be placed on memory nodes outside even a I<mem_exclusive> "
3875 "cpuset."
3876 msgstr ""
3877
3878 #. type: SS
3879 #: build/C/man7/cpuset.7:432
3880 #, no-wrap
3881 msgid "Hardwall"
3882 msgstr ""
3883
3884 #. type: Plain text
3885 #: build/C/man7/cpuset.7:447
3886 msgid ""
3887 "A cpuset that has I<mem_exclusive> or I<mem_hardwall> set is a I<hardwall> "
3888 "cpuset.  A I<hardwall> cpuset restricts kernel allocations for page, buffer, "
3889 "and other data commonly shared by the kernel across multiple users.  All "
3890 "cpusets, whether I<hardwall> or not, restrict allocations of memory for user "
3891 "space."
3892 msgstr ""
3893
3894 #. type: Plain text
3895 #: build/C/man7/cpuset.7:458
3896 msgid ""
3897 "This enables configuring a system so that several independent jobs can share "
3898 "common kernel data, such as filesystem pages, while isolating each job's "
3899 "user allocation in its own cpuset.  To do this, construct a large "
3900 "I<hardwall> cpuset to hold all the jobs, and construct child cpusets for "
3901 "each individual job which are not I<hardwall> cpusets."
3902 msgstr ""
3903
3904 #.  ================== Notify On Release ==================
3905 #. type: Plain text
3906 #: build/C/man7/cpuset.7:464
3907 msgid ""
3908 "Only a small amount of kernel memory, such as requests from interrupt "
3909 "handlers, is allowed to be taken outside even a I<hardwall> cpuset."
3910 msgstr ""
3911
3912 #. type: SS
3913 #: build/C/man7/cpuset.7:464
3914 #, no-wrap
3915 msgid "Notify on release"
3916 msgstr ""
3917
3918 #. type: Plain text
3919 #: build/C/man7/cpuset.7:476
3920 msgid ""
3921 "If the I<notify_on_release> flag is enabled (1) in a cpuset, then whenever "
3922 "the last process in the cpuset leaves (exits or attaches to some other "
3923 "cpuset)  and the last child cpuset of that cpuset is removed, the kernel "
3924 "will run the command I</sbin/cpuset_release_agent>, supplying the pathname "
3925 "(relative to the mount point of the cpuset filesystem) of the abandoned "
3926 "cpuset.  This enables automatic removal of abandoned cpusets."
3927 msgstr ""
3928
3929 #. type: Plain text
3930 #: build/C/man7/cpuset.7:484
3931 msgid ""
3932 "The default value of I<notify_on_release> in the root cpuset at system boot "
3933 "is disabled (0).  The default value of other cpusets at creation is the "
3934 "current value of their parent's I<notify_on_release> setting."
3935 msgstr ""
3936
3937 #. type: Plain text
3938 #: build/C/man7/cpuset.7:492
3939 msgid ""
3940 "The command I</sbin/cpuset_release_agent> is invoked, with the name (I</dev/"
3941 "cpuset> relative path)  of the to-be-released cpuset in I<argv[1]>."
3942 msgstr ""
3943
3944 #. type: Plain text
3945 #: build/C/man7/cpuset.7:496
3946 msgid ""
3947 "The usual contents of the command I</sbin/cpuset_release_agent> is simply "
3948 "the shell script:"
3949 msgstr ""
3950
3951 #. type: Plain text
3952 #: build/C/man7/cpuset.7:501
3953 #, no-wrap
3954 msgid ""
3955 "#!/bin/sh\n"
3956 "rmdir /dev/cpuset/$1\n"
3957 msgstr ""
3958 "#!/bin/sh\n"
3959 "rmdir /dev/cpuset/$1\n"
3960
3961 #.  ================== Memory Pressure ==================
3962 #. type: Plain text
3963 #: build/C/man7/cpuset.7:509
3964 msgid ""
3965 "As with other flag values below, this flag can be changed by writing an "
3966 "ASCII number 0 or 1 (with optional trailing newline)  into the file, to "
3967 "clear or set the flag, respectively."
3968 msgstr ""
3969
3970 #. type: SS
3971 #: build/C/man7/cpuset.7:509
3972 #, no-wrap
3973 msgid "Memory pressure"
3974 msgstr ""
3975
3976 #. type: Plain text
3977 #: build/C/man7/cpuset.7:515
3978 msgid ""
3979 "The I<memory_pressure> of a cpuset provides a simple per-cpuset running "
3980 "average of the rate that the processes in a cpuset are attempting to free up "
3981 "in-use memory on the nodes of the cpuset to satisfy additional memory "
3982 "requests."
3983 msgstr ""
3984
3985 #. type: Plain text
3986 #: build/C/man7/cpuset.7:519
3987 msgid ""
3988 "This enables batch managers that are monitoring jobs running in dedicated "
3989 "cpusets to efficiently detect what level of memory pressure that job is "
3990 "causing."
3991 msgstr ""
3992
3993 #. type: Plain text
3994 #: build/C/man7/cpuset.7:526
3995 msgid ""
3996 "This is useful both on tightly managed systems running a wide mix of "
3997 "submitted jobs, which may choose to terminate or reprioritize jobs that are "
3998 "trying to use more memory than allowed on the nodes assigned them, and with "
3999 "tightly coupled, long-running, massively parallel scientific computing jobs "
4000 "that will dramatically fail to meet required performance goals if they start "
4001 "to use more memory than allowed to them."
4002 msgstr ""
4003
4004 #. type: Plain text
4005 #: build/C/man7/cpuset.7:531
4006 msgid ""
4007 "This mechanism provides a very economical way for the batch manager to "
4008 "monitor a cpuset for signs of memory pressure.  It's up to the batch manager "
4009 "or other user code to decide what action to take if it detects signs of "
4010 "memory pressure."
4011 msgstr ""
4012
4013 #. type: Plain text
4014 #: build/C/man7/cpuset.7:538
4015 msgid ""
4016 "Unless memory pressure calculation is enabled by setting the pseudo-file I</"
4017 "dev/cpuset/cpuset.memory_pressure_enabled>, it is not computed for any "
4018 "cpuset, and reads from any I<memory_pressure> always return zero, as "
4019 "represented by the ASCII string \"0\\en\".  See the B<WARNINGS> section, "
4020 "below."
4021 msgstr ""
4022
4023 #. type: Plain text
4024 #: build/C/man7/cpuset.7:540
4025 msgid "A per-cpuset, running average is employed for the following reasons:"
4026 msgstr ""
4027
4028 #. type: Plain text
4029 #: build/C/man7/cpuset.7:545
4030 msgid ""
4031 "Because this meter is per-cpuset rather than per-process or per virtual "
4032 "memory region, the system load imposed by a batch scheduler monitoring this "
4033 "metric is sharply reduced on large systems, because a scan of the tasklist "
4034 "can be avoided on each set of queries."
4035 msgstr ""
4036
4037 #. type: Plain text
4038 #: build/C/man7/cpuset.7:550
4039 msgid ""
4040 "Because this meter is a running average rather than an accumulating counter, "
4041 "a batch scheduler can detect memory pressure with a single read, instead of "
4042 "having to read and accumulate results for a period of time."
4043 msgstr ""
4044
4045 #. type: Plain text
4046 #: build/C/man7/cpuset.7:556
4047 msgid ""
4048 "Because this meter is per-cpuset rather than per-process, the batch "
4049 "scheduler can obtain the key information\\(emmemory pressure in a cpuset"
4050 "\\(emwith a single read, rather than having to query and accumulate results "
4051 "over all the (dynamically changing)  set of processes in the cpuset."
4052 msgstr ""
4053
4054 #. type: Plain text
4055 #: build/C/man7/cpuset.7:564
4056 msgid ""
4057 "The I<memory_pressure> of a cpuset is calculated using a per-cpuset simple "
4058 "digital filter that is kept within the kernel.  For each cpuset, this filter "
4059 "tracks the recent rate at which processes attached to that cpuset enter the "
4060 "kernel direct reclaim code."
4061 msgstr ""
4062
4063 #. type: Plain text
4064 #: build/C/man7/cpuset.7:573
4065 msgid ""
4066 "The kernel direct reclaim code is entered whenever a process has to satisfy "
4067 "a memory page request by first finding some other page to repurpose, due to "
4068 "lack of any readily available already free pages.  Dirty filesystem pages "
4069 "are repurposed by first writing them to disk.  Unmodified filesystem buffer "
4070 "pages are repurposed by simply dropping them, though if that page is needed "
4071 "again, it will have to be reread from disk."
4072 msgstr ""
4073
4074 #.  ================== Memory Spread ==================
4075 #. type: Plain text
4076 #: build/C/man7/cpuset.7:581
4077 msgid ""
4078 "The I<cpuset.memory_pressure> file provides an integer number representing "
4079 "the recent (half-life of 10 seconds) rate of entries to the direct reclaim "
4080 "code caused by any process in the cpuset, in units of reclaims attempted per "
4081 "second, times 1000."
4082 msgstr ""
4083
4084 #. type: SS
4085 #: build/C/man7/cpuset.7:581
4086 #, no-wrap
4087 msgid "Memory spread"
4088 msgstr ""
4089
4090 #. type: Plain text
4091 #: build/C/man7/cpuset.7:589
4092 msgid ""
4093 "There are two Boolean flag files per cpuset that control where the kernel "
4094 "allocates pages for the filesystem buffers and related in-kernel data "
4095 "structures.  They are called I<cpuset.memory_spread_page> and I<cpuset."
4096 "memory_spread_slab>."
4097 msgstr ""
4098
4099 #. type: Plain text
4100 #: build/C/man7/cpuset.7:596
4101 msgid ""
4102 "If the per-cpuset Boolean flag file I<cpuset.memory_spread_page> is set, "
4103 "then the kernel will spread the filesystem buffers (page cache) evenly over "
4104 "all the nodes that the faulting process is allowed to use, instead of "
4105 "preferring to put those pages on the node where the process is running."
4106 msgstr ""
4107
4108 #. type: Plain text
4109 #: build/C/man7/cpuset.7:604
4110 msgid ""
4111 "If the per-cpuset Boolean flag file I<cpuset.memory_spread_slab> is set, "
4112 "then the kernel will spread some filesystem-related slab caches, such as "
4113 "those for inodes and directory entries, evenly over all the nodes that the "
4114 "faulting process is allowed to use, instead of preferring to put those pages "
4115 "on the node where the process is running."
4116 msgstr ""
4117
4118 #. type: Plain text
4119 #: build/C/man7/cpuset.7:609
4120 msgid ""
4121 "The setting of these flags does not affect the data segment (see B<brk>(2))  "
4122 "or stack segment pages of a process."
4123 msgstr ""
4124
4125 #. type: Plain text
4126 #: build/C/man7/cpuset.7:617
4127 msgid ""
4128 "By default, both kinds of memory spreading are off and the kernel prefers to "
4129 "allocate memory pages on the node local to where the requesting process is "
4130 "running.  If that node is not allowed by the process's NUMA memory policy or "
4131 "cpuset configuration or if there are insufficient free memory pages on that "
4132 "node, then the kernel looks for the nearest node that is allowed and has "
4133 "sufficient free memory."
4134 msgstr ""
4135
4136 #. type: Plain text
4137 #: build/C/man7/cpuset.7:620
4138 msgid ""
4139 "When new cpusets are created, they inherit the memory spread settings of "
4140 "their parent."
4141 msgstr ""
4142
4143 #. type: Plain text
4144 #: build/C/man7/cpuset.7:635
4145 msgid ""
4146 "Setting memory spreading causes allocations for the affected page or slab "
4147 "caches to ignore the process's NUMA memory policy and be spread instead.  "
4148 "However, the effect of these changes in memory placement caused by cpuset-"
4149 "specified memory spreading is hidden from the B<mbind>(2)  or "
4150 "B<set_mempolicy>(2)  calls.  These two NUMA memory policy calls always "
4151 "appear to behave as if no cpuset-specified memory spreading is in effect, "
4152 "even if it is.  If cpuset memory spreading is subsequently turned off, the "
4153 "NUMA memory policy most recently specified by these calls is automatically "
4154 "reapplied."
4155 msgstr ""
4156
4157 #. type: Plain text
4158 #: build/C/man7/cpuset.7:644
4159 msgid ""
4160 "Both I<cpuset.memory_spread_page> and I<cpuset.memory_spread_slab> are "
4161 "Boolean flag files.  By default they contain \"0\", meaning that the feature "
4162 "is off for that cpuset.  If a \"1\" is written to that file, that turns the "
4163 "named feature on."
4164 msgstr ""
4165
4166 #. type: Plain text
4167 #: build/C/man7/cpuset.7:647
4168 msgid ""
4169 "Cpuset-specified memory spreading behaves similarly to what is known (in "
4170 "other contexts) as round-robin or interleave memory placement."
4171 msgstr ""
4172
4173 #. type: Plain text
4174 #: build/C/man7/cpuset.7:650
4175 msgid ""
4176 "Cpuset-specified memory spreading can provide substantial performance "
4177 "improvements for jobs that:"
4178 msgstr ""
4179
4180 #. type: IP
4181 #: build/C/man7/cpuset.7:650
4182 #, no-wrap
4183 msgid "a)"
4184 msgstr "a)"
4185
4186 #. type: Plain text
4187 #: build/C/man7/cpuset.7:654
4188 msgid ""
4189 "need to place thread-local data on memory nodes close to the CPUs which are "
4190 "running the threads that most frequently access that data; but also"
4191 msgstr ""
4192
4193 #. type: IP
4194 #: build/C/man7/cpuset.7:654
4195 #, no-wrap
4196 msgid "b)"
4197 msgstr "b)"
4198
4199 #. type: Plain text
4200 #: build/C/man7/cpuset.7:657
4201 msgid ""
4202 "need to access large filesystem data sets that must to be spread across the "
4203 "several nodes in the job's cpuset in order to fit."
4204 msgstr ""
4205
4206 #.  ================== Memory Migration ==================
4207 #. type: Plain text
4208 #: build/C/man7/cpuset.7:664
4209 msgid ""
4210 "Without this policy, the memory allocation across the nodes in the job's "
4211 "cpuset can become very uneven, especially for jobs that might have just a "
4212 "single thread initializing or reading in the data set."
4213 msgstr ""
4214
4215 #. type: SS
4216 #: build/C/man7/cpuset.7:664
4217 #, no-wrap
4218 msgid "Memory migration"
4219 msgstr ""
4220
4221 #. type: Plain text
4222 #: build/C/man7/cpuset.7:673
4223 msgid ""
4224 "Normally, under the default setting (disabled) of I<cpuset.memory_migrate>, "
4225 "once a page is allocated (given a physical page of main memory), then that "
4226 "page stays on whatever node it was allocated, so long as it remains "
4227 "allocated, even if the cpuset's memory-placement policy I<mems> subsequently "
4228 "changes."
4229 msgstr ""
4230
4231 #. type: Plain text
4232 #: build/C/man7/cpuset.7:679
4233 msgid ""
4234 "When memory migration is enabled in a cpuset, if the I<mems> setting of the "
4235 "cpuset is changed, then any memory page in use by any process in the cpuset "
4236 "that is on a memory node that is no longer allowed will be migrated to a "
4237 "memory node that is allowed."
4238 msgstr ""
4239
4240 #. type: Plain text
4241 #: build/C/man7/cpuset.7:685
4242 msgid ""
4243 "Furthermore, if a process is moved into a cpuset with I<memory_migrate> "
4244 "enabled, any memory pages it uses that were on memory nodes allowed in its "
4245 "previous cpuset, but which are not allowed in its new cpuset, will be "
4246 "migrated to a memory node allowed in the new cpuset."
4247 msgstr ""
4248
4249 #.  ================== Scheduler Load Balancing ==================
4250 #. type: Plain text
4251 #: build/C/man7/cpuset.7:693
4252 msgid ""
4253 "The relative placement of a migrated page within the cpuset is preserved "
4254 "during these migration operations if possible.  For example, if the page was "
4255 "on the second valid node of the prior cpuset, then the page will be placed "
4256 "on the second valid node of the new cpuset, if possible."
4257 msgstr ""
4258
4259 #. type: SS
4260 #: build/C/man7/cpuset.7:693
4261 #, no-wrap
4262 msgid "Scheduler load balancing"
4263 msgstr ""
4264
4265 #. type: Plain text
4266 #: build/C/man7/cpuset.7:700
4267 msgid ""
4268 "The kernel scheduler automatically load balances processes.  If one CPU is "
4269 "underutilized, the kernel will look for processes on other more overloaded "
4270 "CPUs and move those processes to the underutilized CPU, within the "
4271 "constraints of such placement mechanisms as cpusets and "
4272 "B<sched_setaffinity>(2)."
4273 msgstr ""
4274
4275 #. type: Plain text
4276 #: build/C/man7/cpuset.7:713
4277 msgid ""
4278 "The algorithmic cost of load balancing and its impact on key shared kernel "
4279 "data structures such as the process list increases more than linearly with "
4280 "the number of CPUs being balanced.  For example, it costs more to load "
4281 "balance across one large set of CPUs than it does to balance across two "
4282 "smaller sets of CPUs, each of half the size of the larger set.  (The precise "
4283 "relationship between the number of CPUs being balanced and the cost of load "
4284 "balancing depends on implementation details of the kernel process scheduler, "
4285 "which is subject to change over time, as improved kernel scheduler "
4286 "algorithms are implemented.)"
4287 msgstr ""
4288
4289 #. type: Plain text
4290 #: build/C/man7/cpuset.7:719
4291 msgid ""
4292 "The per-cpuset flag I<sched_load_balance> provides a mechanism to suppress "
4293 "this automatic scheduler load balancing in cases where it is not needed and "
4294 "suppressing it would have worthwhile performance benefits."
4295 msgstr ""
4296
4297 #. type: Plain text
4298 #: build/C/man7/cpuset.7:723
4299 msgid ""
4300 "By default, load balancing is done across all CPUs, except those marked "
4301 "isolated using the kernel boot time \"isolcpus=\" argument.  (See "
4302 "B<Scheduler Relax Domain Level>, below, to change this default.)"
4303 msgstr ""
4304
4305 #. type: Plain text
4306 #: build/C/man7/cpuset.7:726
4307 msgid ""
4308 "This default load balancing across all CPUs is not well suited to the "
4309 "following two situations:"
4310 msgstr ""
4311
4312 #. type: Plain text
4313 #: build/C/man7/cpuset.7:730
4314 msgid ""
4315 "On large systems, load balancing across many CPUs is expensive.  If the "
4316 "system is managed using cpusets to place independent jobs on separate sets "
4317 "of CPUs, full load balancing is unnecessary."
4318 msgstr ""
4319
4320 #. type: Plain text
4321 #: build/C/man7/cpuset.7:734
4322 msgid ""
4323 "Systems supporting real-time on some CPUs need to minimize system overhead "
4324 "on those CPUs, including avoiding process load balancing if that is not "
4325 "needed."
4326 msgstr ""
4327
4328 #. type: Plain text
4329 #: build/C/man7/cpuset.7:744
4330 msgid ""
4331 "When the per-cpuset flag I<sched_load_balance> is enabled (the default "
4332 "setting), it requests load balancing across all the CPUs in that cpuset's "
4333 "allowed CPUs, ensuring that load balancing can move a process (not otherwise "
4334 "pinned, as by B<sched_setaffinity>(2))  from any CPU in that cpuset to any "
4335 "other."
4336 msgstr ""
4337
4338 #. type: Plain text
4339 #: build/C/man7/cpuset.7:753
4340 msgid ""
4341 "When the per-cpuset flag I<sched_load_balance> is disabled, then the "
4342 "scheduler will avoid load balancing across the CPUs in that cpuset, "
4343 "I<except> in so far as is necessary because some overlapping cpuset has "
4344 "I<sched_load_balance> enabled."
4345 msgstr ""
4346
4347 #. type: Plain text
4348 #: build/C/man7/cpuset.7:761
4349 msgid ""
4350 "So, for example, if the top cpuset has the flag I<sched_load_balance> "
4351 "enabled, then the scheduler will load balance across all CPUs, and the "
4352 "setting of the I<sched_load_balance> flag in other cpusets has no effect, as "
4353 "we're already fully load balancing."
4354 msgstr ""
4355
4356 #. type: Plain text
4357 #: build/C/man7/cpuset.7:766
4358 msgid ""
4359 "Therefore in the above two situations, the flag I<sched_load_balance> should "
4360 "be disabled in the top cpuset, and only some of the smaller, child cpusets "
4361 "would have this flag enabled."
4362 msgstr ""
4363
4364 #. type: Plain text
4365 #: build/C/man7/cpuset.7:774
4366 msgid ""
4367 "When doing this, you don't usually want to leave any unpinned processes in "
4368 "the top cpuset that might use nontrivial amounts of CPU, as such processes "
4369 "may be artificially constrained to some subset of CPUs, depending on the "
4370 "particulars of this flag setting in descendant cpusets.  Even if such a "
4371 "process could use spare CPU cycles in some other CPUs, the kernel scheduler "
4372 "might not consider the possibility of load balancing that process to the "
4373 "underused CPU."
4374 msgstr ""
4375
4376 #.  ================== Scheduler Relax Domain Level ==================
4377 #. type: Plain text
4378 #: build/C/man7/cpuset.7:780
4379 msgid ""
4380 "Of course, processes pinned to a particular CPU can be left in a cpuset that "
4381 "disables I<sched_load_balance> as those processes aren't going anywhere else "
4382 "anyway."
4383 msgstr ""
4384
4385 #. type: SS
4386 #: build/C/man7/cpuset.7:780
4387 #, no-wrap
4388 msgid "Scheduler relax domain level"
4389 msgstr ""
4390
4391 #. type: Plain text
4392 #: build/C/man7/cpuset.7:801
4393 msgid ""
4394 "The kernel scheduler performs immediate load balancing whenever a CPU "
4395 "becomes free or another task becomes runnable.  This load balancing works to "
4396 "ensure that as many CPUs as possible are usefully employed running tasks.  "
4397 "The kernel also performs periodic load balancing off the software clock "
4398 "described in B<time>(7).  The setting of I<sched_relax_domain_level> applies "
4399 "only to immediate load balancing.  Regardless of the "
4400 "I<sched_relax_domain_level> setting, periodic load balancing is attempted "
4401 "over all CPUs (unless disabled by turning off I<sched_load_balance>.)  In "
4402 "any case, of course, tasks will be scheduled to run only on CPUs allowed by "
4403 "their cpuset, as modified by B<sched_setaffinity>(2)  system calls."
4404 msgstr ""
4405
4406 #. type: Plain text
4407 #: build/C/man7/cpuset.7:809
4408 msgid ""
4409 "On small systems, such as those with just a few CPUs, immediate load "
4410 "balancing is useful to improve system interactivity and to minimize wasteful "
4411 "idle CPU cycles.  But on large systems, attempting immediate load balancing "
4412 "across a large number of CPUs can be more costly than it is worth, depending "
4413 "on the particular performance characteristics of the job mix and the "
4414 "hardware."
4415 msgstr ""
4416
4417 #. type: Plain text
4418 #: build/C/man7/cpuset.7:817
4419 msgid ""
4420 "The exact meaning of the small integer values of I<sched_relax_domain_level> "
4421 "will depend on internal implementation details of the kernel scheduler code "
4422 "and on the non-uniform architecture of the hardware.  Both of these will "
4423 "evolve over time and vary by system architecture and kernel version."
4424 msgstr ""
4425
4426 #. type: Plain text
4427 #: build/C/man7/cpuset.7:822
4428 msgid ""
4429 "As of this writing, when this capability was introduced in Linux 2.6.26, on "
4430 "certain popular architectures, the positive values of "
4431 "I<sched_relax_domain_level> have the following meanings."
4432 msgstr ""
4433
4434 #. type: IP
4435 #: build/C/man7/cpuset.7:824
4436 #, no-wrap
4437 msgid "B<(1)>"
4438 msgstr "B<(1)>"
4439
4440 #. type: Plain text
4441 #: build/C/man7/cpuset.7:827
4442 msgid ""
4443 "Perform immediate load balancing across Hyper-Thread siblings on the same "
4444 "core."
4445 msgstr ""
4446
4447 #. type: IP
4448 #: build/C/man7/cpuset.7:827
4449 #, no-wrap
4450 msgid "B<(2)>"
4451 msgstr "B<(2)>"
4452
4453 #. type: Plain text
4454 #: build/C/man7/cpuset.7:829
4455 msgid ""
4456 "Perform immediate load balancing across other cores in the same package."
4457 msgstr ""
4458
4459 #. type: IP
4460 #: build/C/man7/cpuset.7:829
4461 #, no-wrap
4462 msgid "B<(3)>"
4463 msgstr "B<(3)>"
4464
4465 #. type: Plain text
4466 #: build/C/man7/cpuset.7:832
4467 msgid ""
4468 "Perform immediate load balancing across other CPUs on the same node or blade."
4469 msgstr ""
4470
4471 #. type: IP
4472 #: build/C/man7/cpuset.7:832
4473 #, no-wrap
4474 msgid "B<(4)>"
4475 msgstr "B<(4)>"
4476
4477 #. type: Plain text
4478 #: build/C/man7/cpuset.7:835
4479 msgid ""
4480 "Perform immediate load balancing across over several (implementation detail) "
4481 "nodes [On NUMA systems]."
4482 msgstr ""
4483
4484 #. type: IP
4485 #: build/C/man7/cpuset.7:835
4486 #, no-wrap
4487 msgid "B<(5)>"
4488 msgstr "B<(5)>"
4489
4490 #. type: Plain text
4491 #: build/C/man7/cpuset.7:838
4492 msgid ""
4493 "Perform immediate load balancing across over all CPUs in system [On NUMA "
4494 "systems]."
4495 msgstr ""
4496
4497 #. type: Plain text
4498 #: build/C/man7/cpuset.7:847
4499 msgid ""
4500 "The I<sched_relax_domain_level> value of zero (0) always means don't perform "
4501 "immediate load balancing, hence that load balancing is done only "
4502 "periodically, not immediately when a CPU becomes available or another task "
4503 "becomes runnable."
4504 msgstr ""
4505
4506 #. type: Plain text
4507 #: build/C/man7/cpuset.7:855
4508 msgid ""
4509 "The I<sched_relax_domain_level> value of minus one (-1)  always means use "
4510 "the system default value.  The system default value can vary by architecture "
4511 "and kernel version.  This system default value can be changed by kernel boot-"
4512 "time \"relax_domain_level=\" argument."
4513 msgstr ""
4514
4515 #. type: Plain text
4516 #: build/C/man7/cpuset.7:863
4517 msgid ""
4518 "In the case of multiple overlapping cpusets which have conflicting "
4519 "I<sched_relax_domain_level> values, then the highest such value applies to "
4520 "all CPUs in any of the overlapping cpusets.  In such cases, the value "
4521 "B<minus one (-1)> is the lowest value, overridden by any other value, and "
4522 "the value B<zero (0)> is the next lowest value."
4523 msgstr ""
4524
4525 #. type: SH
4526 #: build/C/man7/cpuset.7:863
4527 #, no-wrap
4528 msgid "FORMATS"
4529 msgstr ""
4530
4531 #.  ================== Mask Format ==================
4532 #. type: Plain text
4533 #: build/C/man7/cpuset.7:867
4534 msgid ""
4535 "The following formats are used to represent sets of CPUs and memory nodes."
4536 msgstr ""
4537
4538 #. type: SS
4539 #: build/C/man7/cpuset.7:867
4540 #, no-wrap
4541 msgid "Mask format"
4542 msgstr ""
4543
4544 #. type: Plain text
4545 #: build/C/man7/cpuset.7:872
4546 msgid ""
4547 "The B<Mask Format> is used to represent CPU and memory-node bit masks in the "
4548 "I</proc/E<lt>pidE<gt>/status> file."
4549 msgstr ""
4550
4551 #. type: Plain text
4552 #: build/C/man7/cpuset.7:880
4553 msgid ""
4554 "This format displays each 32-bit word in hexadecimal (using ASCII characters "
4555 "\"0\" - \"9\" and \"a\" - \"f\"); words are filled with leading zeros, if "
4556 "required.  For masks longer than one word, a comma separator is used between "
4557 "words.  Words are displayed in big-endian order, which has the most "
4558 "significant bit first.  The hex digits within a word are also in big-endian "
4559 "order."
4560 msgstr ""
4561
4562 #. type: Plain text
4563 #: build/C/man7/cpuset.7:883
4564 msgid ""
4565 "The number of 32-bit words displayed is the minimum number needed to display "
4566 "all bits of the bit mask, based on the size of the bit mask."
4567 msgstr ""
4568
4569 #. type: Plain text
4570 #: build/C/man7/cpuset.7:885
4571 msgid "Examples of the B<Mask Format>:"
4572 msgstr ""
4573
4574 #. type: Plain text
4575 #: build/C/man7/cpuset.7:893
4576 #, no-wrap
4577 msgid ""
4578 "00000001                        # just bit 0 set\n"
4579 "40000000,00000000,00000000      # just bit 94 set\n"
4580 "00000001,00000000,00000000      # just bit 64 set\n"
4581 "000000ff,00000000               # bits 32-39 set\n"
4582 "00000000,000E3862               # 1,5,6,11-13,17-19 set\n"
4583 msgstr ""
4584 "00000001                        # just bit 0 set\n"
4585 "40000000,00000000,00000000      # just bit 94 set\n"
4586 "00000001,00000000,00000000      # just bit 64 set\n"
4587 "000000ff,00000000               # bits 32-39 set\n"
4588 "00000000,000E3862               # 1,5,6,11-13,17-19 set\n"
4589
4590 #. type: Plain text
4591 #: build/C/man7/cpuset.7:897
4592 msgid "A mask with bits 0, 1, 2, 4, 8, 16, 32, and 64 set displays as:"
4593 msgstr ""
4594
4595 #. type: Plain text
4596 #: build/C/man7/cpuset.7:901
4597 #, no-wrap
4598 msgid "00000001,00000001,00010117\n"
4599 msgstr "00000001,00000001,00010117\n"
4600
4601 #.  ================== List Format ==================
4602 #. type: Plain text
4603 #: build/C/man7/cpuset.7:908
4604 msgid ""
4605 "The first \"1\" is for bit 64, the second for bit 32, the third for bit 16, "
4606 "the fourth for bit 8, the fifth for bit 4, and the \"7\" is for bits 2, 1, "
4607 "and 0."
4608 msgstr ""
4609
4610 #. type: SS
4611 #: build/C/man7/cpuset.7:908
4612 #, no-wrap
4613 msgid "List format"
4614 msgstr ""
4615
4616 #. type: Plain text
4617 #: build/C/man7/cpuset.7:915
4618 msgid ""
4619 "The B<List Format> for I<cpus> and I<mems> is a comma-separated list of CPU "
4620 "or memory-node numbers and ranges of numbers, in ASCII decimal."
4621 msgstr ""
4622
4623 #. type: Plain text
4624 #: build/C/man7/cpuset.7:917
4625 msgid "Examples of the B<List Format>:"
4626 msgstr ""
4627
4628 #. type: Plain text
4629 #: build/C/man7/cpuset.7:922
4630 #, no-wrap
4631 msgid ""
4632 "0-4,9           # bits 0, 1, 2, 3, 4, and 9 set\n"
4633 "0-2,7,12-14     # bits 0, 1, 2, 7, 12, 13, and 14 set\n"
4634 msgstr ""
4635 "0-4,9           # bits 0, 1, 2, 3, 4, and 9 set\n"
4636 "0-2,7,12-14     # bits 0, 1, 2, 7, 12, 13, and 14 set\n"
4637
4638 #.  ================== RULES ==================
4639 #. type: SH
4640 #: build/C/man7/cpuset.7:925
4641 #, no-wrap
4642 msgid "RULES"
4643 msgstr ""
4644
4645 #. type: Plain text
4646 #: build/C/man7/cpuset.7:927
4647 msgid "The following rules apply to each cpuset:"
4648 msgstr ""
4649
4650 #. type: Plain text
4651 #: build/C/man7/cpuset.7:930
4652 msgid ""
4653 "Its CPUs and memory nodes must be a (possibly equal)  subset of its parent's."
4654 msgstr ""
4655
4656 #. type: Plain text
4657 #: build/C/man7/cpuset.7:934
4658 msgid "It can be marked I<cpu_exclusive> only if its parent is."
4659 msgstr ""
4660
4661 #. type: Plain text
4662 #: build/C/man7/cpuset.7:938
4663 msgid "It can be marked I<mem_exclusive> only if its parent is."
4664 msgstr ""
4665
4666 #. type: Plain text
4667 #: build/C/man7/cpuset.7:942
4668 msgid "If it is I<cpu_exclusive>, its CPUs may not overlap any sibling."
4669 msgstr ""
4670
4671 #.  ================== PERMISSIONS ==================
4672 #. type: Plain text
4673 #: build/C/man7/cpuset.7:947
4674 msgid ""
4675 "If it is I<memory_exclusive>, its memory nodes may not overlap any sibling."
4676 msgstr ""
4677
4678 #. type: SH
4679 #: build/C/man7/cpuset.7:947
4680 #, no-wrap
4681 msgid "PERMISSIONS"
4682 msgstr ""
4683
4684 #. type: Plain text
4685 #: build/C/man7/cpuset.7:952
4686 msgid ""
4687 "The permissions of a cpuset are determined by the permissions of the "
4688 "directories and pseudo-files in the cpuset filesystem, normally mounted at "
4689 "I</dev/cpuset>."
4690 msgstr ""
4691
4692 #. type: Plain text
4693 #: build/C/man7/cpuset.7:961
4694 msgid ""
4695 "For instance, a process can put itself in some other cpuset (than its "
4696 "current one) if it can write the I<tasks> file for that cpuset.  This "
4697 "requires execute permission on the encompassing directories and write "
4698 "permission on the I<tasks> file."
4699 msgstr ""
4700
4701 #. type: Plain text
4702 #: build/C/man7/cpuset.7:968
4703 msgid ""
4704 "An additional constraint is applied to requests to place some other process "
4705 "in a cpuset.  One process may not attach another to a cpuset unless it would "
4706 "have permission to send that process a signal (see B<kill>(2))."
4707 msgstr ""
4708
4709 #. type: Plain text
4710 #: build/C/man7/cpuset.7:979
4711 msgid ""
4712 "A process may create a child cpuset if it can access and write the parent "
4713 "cpuset directory.  It can modify the CPUs or memory nodes in a cpuset if it "
4714 "can access that cpuset's directory (execute permissions on the each of the "
4715 "parent directories) and write the corresponding I<cpus> or I<mems> file."
4716 msgstr ""
4717
4718 #. type: Plain text
4719 #: build/C/man7/cpuset.7:1000
4720 msgid ""
4721 "There is one minor difference between the manner in which these permissions "
4722 "are evaluated and the manner in which normal filesystem operation "
4723 "permissions are evaluated.  The kernel interprets relative pathnames "
4724 "starting at a process's current working directory.  Even if one is operating "
4725 "on a cpuset file, relative pathnames are interpreted relative to the "
4726 "process's current working directory, not relative to the process's current "
4727 "cpuset.  The only ways that cpuset paths relative to a process's current "
4728 "cpuset can be used are if either the process's current working directory is "
4729 "its cpuset (it first did a B<cd> or B<chdir>(2)  to its cpuset directory "
4730 "beneath I</dev/cpuset>, which is a bit unusual)  or if some user code "
4731 "converts the relative cpuset path to a full filesystem path."
4732 msgstr ""
4733
4734 #.  ================== WARNINGS ==================
4735 #. type: Plain text
4736 #: build/C/man7/cpuset.7:1015
4737 msgid ""
4738 "In theory, this means that user code should specify cpusets using absolute "
4739 "pathnames, which requires knowing the mount point of the cpuset filesystem "
4740 "(usually, but not necessarily, I</dev/cpuset>).  In practice, all user level "
4741 "code that this author is aware of simply assumes that if the cpuset "
4742 "filesystem is mounted, then it is mounted at I</dev/cpuset>.  Furthermore, "
4743 "it is common practice for carefully written user code to verify the presence "
4744 "of the pseudo-file I</dev/cpuset/tasks> in order to verify that the cpuset "
4745 "pseudo-filesystem is currently mounted."
4746 msgstr ""
4747
4748 #. type: SH
4749 #: build/C/man7/cpuset.7:1015
4750 #, no-wrap
4751 msgid "WARNINGS"
4752 msgstr ""
4753
4754 #. type: SS
4755 #: build/C/man7/cpuset.7:1016
4756 #, no-wrap
4757 msgid "Enabling memory_pressure"
4758 msgstr ""
4759
4760 #. type: Plain text
4761 #: build/C/man7/cpuset.7:1025
4762 msgid ""
4763 "By default, the per-cpuset file I<cpuset.memory_pressure> always contains "
4764 "zero (0).  Unless this feature is enabled by writing \"1\" to the pseudo-"
4765 "file I</dev/cpuset/cpuset.memory_pressure_enabled>, the kernel does not "
4766 "compute per-cpuset I<memory_pressure>."
4767 msgstr ""
4768
4769 #. type: SS
4770 #: build/C/man7/cpuset.7:1025
4771 #, no-wrap
4772 msgid "Using the echo command"
4773 msgstr ""
4774
4775 #.  Gack!  csh(1)'s echo does this
4776 #. type: Plain text
4777 #: build/C/man7/cpuset.7:1036
4778 msgid ""
4779 "When using the B<echo> command at the shell prompt to change the values of "
4780 "cpuset files, beware that the built-in B<echo> command in some shells does "
4781 "not display an error message if the B<write>(2)  system call fails.  For "
4782 "example, if the command:"
4783 msgstr ""
4784
4785 #. type: Plain text
4786 #: build/C/man7/cpuset.7:1040
4787 #, no-wrap
4788 msgid "echo 19 E<gt> cpuset.mems\n"
4789 msgstr "echo 19 E<gt> cpuset.mems\n"
4790
4791 #. type: Plain text
4792 #: build/C/man7/cpuset.7:1053
4793 msgid ""
4794 "failed because memory node 19 was not allowed (perhaps the current system "
4795 "does not have a memory node 19), then the B<echo> command might not display "
4796 "any error.  It is better to use the B</bin/echo> external command to change "
4797 "cpuset file settings, as this command will display B<write>(2)  errors, as "
4798 "in the example:"
4799 msgstr ""
4800
4801 #. type: Plain text
4802 #: build/C/man7/cpuset.7:1058
4803 #, no-wrap
4804 msgid ""
4805 "/bin/echo 19 E<gt> cpuset.mems\n"
4806 "/bin/echo: write error: Invalid argument\n"
4807 msgstr ""
4808 "/bin/echo 19 E<gt> cpuset.mems\n"
4809 "/bin/echo: write error: Invalid argument\n"
4810
4811 #.  ================== EXCEPTIONS ==================
4812 #. type: SH
4813 #: build/C/man7/cpuset.7:1061
4814 #, no-wrap
4815 msgid "EXCEPTIONS"
4816 msgstr ""
4817
4818 #. type: SS
4819 #: build/C/man7/cpuset.7:1062
4820 #, no-wrap
4821 msgid "Memory placement"
4822 msgstr ""
4823
4824 #. type: Plain text
4825 #: build/C/man7/cpuset.7:1065
4826 msgid ""
4827 "Not all allocations of system memory are constrained by cpusets, for the "
4828 "following reasons."
4829 msgstr ""
4830
4831 #. type: Plain text
4832 #: build/C/man7/cpuset.7:1080
4833 msgid ""
4834 "If hot-plug functionality is used to remove all the CPUs that are currently "
4835 "assigned to a cpuset, then the kernel will automatically update the "
4836 "I<cpus_allowed> of all processes attached to CPUs in that cpuset to allow "
4837 "all CPUs.  When memory hot-plug functionality for removing memory nodes is "
4838 "available, a similar exception is expected to apply there as well.  In "
4839 "general, the kernel prefers to violate cpuset placement, rather than "
4840 "starving a process that has had all its allowed CPUs or memory nodes taken "
4841 "offline.  User code should reconfigure cpusets to refer only to online CPUs "
4842 "and memory nodes when using hot-plug to add or remove such resources."
4843 msgstr ""
4844
4845 #. type: Plain text
4846 #: build/C/man7/cpuset.7:1088
4847 msgid ""
4848 "A few kernel-critical, internal memory-allocation requests, marked "
4849 "GFP_ATOMIC, must be satisfied immediately.  The kernel may drop some request "
4850 "or malfunction if one of these allocations fail.  If such a request cannot "
4851 "be satisfied within the current process's cpuset, then we relax the cpuset, "
4852 "and look for memory anywhere we can find it.  It's better to violate the "
4853 "cpuset than stress the kernel."
4854 msgstr ""
4855
4856 #. type: Plain text
4857 #: build/C/man7/cpuset.7:1092
4858 msgid ""
4859 "Allocations of memory requested by kernel drivers while processing an "
4860 "interrupt lack any relevant process context, and are not confined by cpusets."
4861 msgstr ""
4862
4863 #. type: SS
4864 #: build/C/man7/cpuset.7:1092
4865 #, no-wrap
4866 msgid "Renaming cpusets"
4867 msgstr ""
4868
4869 #.  ================== ERRORS ==================
4870 #. type: Plain text
4871 #: build/C/man7/cpuset.7:1100
4872 msgid ""
4873 "You can use the B<rename>(2)  system call to rename cpusets.  Only simple "
4874 "renaming is supported; that is, changing the name of a cpuset directory is "
4875 "permitted, but moving a directory into a different directory is not "
4876 "permitted."
4877 msgstr ""
4878
4879 #. type: Plain text
4880 #: build/C/man7/cpuset.7:1104
4881 msgid ""
4882 "The Linux kernel implementation of cpusets sets I<errno> to specify the "
4883 "reason for a failed system call affecting cpusets."
4884 msgstr ""
4885
4886 #. type: Plain text
4887 #: build/C/man7/cpuset.7:1109
4888 msgid ""
4889 "The possible I<errno> settings and their meaning when set on a failed cpuset "
4890 "call are as listed below."
4891 msgstr ""
4892
4893 #. type: TP
4894 #: build/C/man7/cpuset.7:1109
4895 #, no-wrap
4896 msgid "B<E2BIG>"
4897 msgstr "B<E2BIG>"
4898
4899 #. type: Plain text
4900 #: build/C/man7/cpuset.7:1116
4901 msgid ""
4902 "Attempted a B<write>(2)  on a special cpuset file with a length larger than "
4903 "some kernel-determined upper limit on the length of such writes."
4904 msgstr ""
4905
4906 #. type: Plain text
4907 #: build/C/man7/cpuset.7:1123
4908 msgid ""
4909 "Attempted to B<write>(2)  the process ID (PID) of a process to a cpuset "
4910 "I<tasks> file when one lacks permission to move that process."
4911 msgstr ""
4912
4913 #. type: Plain text
4914 #: build/C/man7/cpuset.7:1129
4915 msgid ""
4916 "Attempted to add, using B<write>(2), a CPU or memory node to a cpuset, when "
4917 "that CPU or memory node was not already in its parent."
4918 msgstr ""
4919
4920 #. type: Plain text
4921 #: build/C/man7/cpuset.7:1137
4922 msgid ""
4923 "Attempted to set, using B<write>(2), I<cpuset.cpu_exclusive> or I<cpuset."
4924 "mem_exclusive> on a cpuset whose parent lacks the same setting."
4925 msgstr ""
4926
4927 #. type: Plain text
4928 #: build/C/man7/cpuset.7:1144
4929 msgid "Attempted to B<write>(2)  a I<cpuset.memory_pressure> file."
4930 msgstr ""
4931
4932 #. type: Plain text
4933 #: build/C/man7/cpuset.7:1147
4934 msgid "Attempted to create a file in a cpuset directory."
4935 msgstr ""
4936
4937 #. type: TP
4938 #: build/C/man7/cpuset.7:1147 build/C/man7/cpuset.7:1152
4939 #: build/C/man7/cpuset.7:1157
4940 #, no-wrap
4941 msgid "B<EBUSY>"
4942 msgstr "B<EBUSY>"
4943
4944 #. type: Plain text
4945 #: build/C/man7/cpuset.7:1152
4946 msgid ""
4947 "Attempted to remove, using B<rmdir>(2), a cpuset with attached processes."
4948 msgstr ""
4949
4950 #. type: Plain text
4951 #: build/C/man7/cpuset.7:1157
4952 msgid "Attempted to remove, using B<rmdir>(2), a cpuset with child cpusets."
4953 msgstr ""
4954
4955 #. type: Plain text
4956 #: build/C/man7/cpuset.7:1162
4957 msgid ""
4958 "Attempted to remove a CPU or memory node from a cpuset that is also in a "
4959 "child of that cpuset."
4960 msgstr ""
4961
4962 #. type: TP
4963 #: build/C/man7/cpuset.7:1162 build/C/man7/cpuset.7:1167
4964 #, no-wrap
4965 msgid "B<EEXIST>"
4966 msgstr "B<EEXIST>"
4967
4968 #. type: Plain text
4969 #: build/C/man7/cpuset.7:1167
4970 msgid "Attempted to create, using B<mkdir>(2), a cpuset that already exists."
4971 msgstr ""
4972
4973 #. type: Plain text
4974 #: build/C/man7/cpuset.7:1172
4975 msgid "Attempted to B<rename>(2)  a cpuset to a name that already exists."
4976 msgstr ""
4977
4978 #. type: Plain text
4979 #: build/C/man7/cpuset.7:1180
4980 msgid ""
4981 "Attempted to B<read>(2)  or B<write>(2)  a cpuset file using a buffer that "
4982 "is outside the writing processes accessible address space."
4983 msgstr ""
4984
4985 #. type: Plain text
4986 #: build/C/man7/cpuset.7:1189
4987 msgid ""
4988 "Attempted to change a cpuset, using B<write>(2), in a way that would violate "
4989 "a I<cpu_exclusive> or I<mem_exclusive> attribute of that cpuset or any of "
4990 "its siblings."
4991 msgstr ""
4992
4993 #. type: Plain text
4994 #: build/C/man7/cpuset.7:1198
4995 msgid ""
4996 "Attempted to B<write>(2)  an empty I<cpuset.cpus> or I<cpuset.mems> list to "
4997 "a cpuset which has attached processes or child cpusets."
4998 msgstr ""
4999
5000 #. type: Plain text
5001 #: build/C/man7/cpuset.7:1208
5002 msgid ""
5003 "Attempted to B<write>(2)  a I<cpuset.cpus> or I<cpuset.mems> list which "
5004 "included a range with the second number smaller than the first number."
5005 msgstr ""
5006
5007 #. type: Plain text
5008 #: build/C/man7/cpuset.7:1217
5009 msgid ""
5010 "Attempted to B<write>(2)  a I<cpuset.cpus> or I<cpuset.mems> list which "
5011 "included an invalid character in the string."
5012 msgstr ""
5013
5014 #. type: Plain text
5015 #: build/C/man7/cpuset.7:1224
5016 msgid ""
5017 "Attempted to B<write>(2)  a list to a I<cpuset.cpus> file that did not "
5018 "include any online CPUs."
5019 msgstr ""
5020
5021 #. type: Plain text
5022 #: build/C/man7/cpuset.7:1231
5023 msgid ""
5024 "Attempted to B<write>(2)  a list to a I<cpuset.mems> file that did not "
5025 "include any online memory nodes."
5026 msgstr ""
5027
5028 #. type: Plain text
5029 #: build/C/man7/cpuset.7:1238
5030 msgid ""
5031 "Attempted to B<write>(2)  a list to a I<cpuset.mems> file that included a "
5032 "node that held no memory."
5033 msgstr ""
5034
5035 #. type: Plain text
5036 #: build/C/man7/cpuset.7:1246
5037 msgid ""
5038 "Attempted to B<write>(2)  a string to a cpuset I<tasks> file that does not "
5039 "begin with an ASCII decimal integer."
5040 msgstr ""
5041
5042 #. type: Plain text
5043 #: build/C/man7/cpuset.7:1251
5044 msgid "Attempted to B<rename>(2)  a cpuset into a different directory."
5045 msgstr ""
5046
5047 #. type: Plain text
5048 #: build/C/man7/cpuset.7:1258
5049 msgid ""
5050 "Attempted to B<read>(2)  a I</proc/E<lt>pidE<gt>/cpuset> file for a cpuset "
5051 "path that is longer than the kernel page size."
5052 msgstr ""
5053
5054 #. type: Plain text
5055 #: build/C/man7/cpuset.7:1263
5056 msgid ""
5057 "Attempted to create, using B<mkdir>(2), a cpuset whose base directory name "
5058 "is longer than 255 characters."
5059 msgstr ""
5060
5061 #. type: Plain text
5062 #: build/C/man7/cpuset.7:1270
5063 msgid ""
5064 "Attempted to create, using B<mkdir>(2), a cpuset whose full pathname, "
5065 "including the mount point (typically \"/dev/cpuset/\") prefix, is longer "
5066 "than 4095 characters."
5067 msgstr ""
5068
5069 #. type: TP
5070 #: build/C/man7/cpuset.7:1270
5071 #, no-wrap
5072 msgid "B<ENODEV>"
5073 msgstr "B<ENODEV>"
5074
5075 #. type: Plain text
5076 #: build/C/man7/cpuset.7:1275
5077 msgid ""
5078 "The cpuset was removed by another process at the same time as a B<write>(2)  "
5079 "was attempted on one of the pseudo-files in the cpuset directory."
5080 msgstr ""
5081
5082 #. type: Plain text
5083 #: build/C/man7/cpuset.7:1280
5084 msgid ""
5085 "Attempted to create, using B<mkdir>(2), a cpuset in a parent cpuset that "
5086 "doesn't exist."
5087 msgstr ""
5088
5089 #. type: Plain text
5090 #: build/C/man7/cpuset.7:1287
5091 msgid ""
5092 "Attempted to B<access>(2)  or B<open>(2)  a nonexistent file in a cpuset "
5093 "directory."
5094 msgstr ""
5095
5096 #. type: Plain text
5097 #: build/C/man7/cpuset.7:1292
5098 msgid ""
5099 "Insufficient memory is available within the kernel; can occur on a variety "
5100 "of system calls affecting cpusets, but only if the system is extremely short "
5101 "of memory."
5102 msgstr ""
5103
5104 #. type: TP
5105 #: build/C/man7/cpuset.7:1292 build/C/man7/cpuset.7:1304
5106 #, no-wrap
5107 msgid "B<ENOSPC>"
5108 msgstr "B<ENOSPC>"
5109
5110 #. type: Plain text
5111 #: build/C/man7/cpuset.7:1304
5112 msgid ""
5113 "Attempted to B<write>(2)  the process ID (PID)  of a process to a cpuset "
5114 "I<tasks> file when the cpuset had an empty I<cpuset.cpus> or empty I<cpuset."
5115 "mems> setting."
5116 msgstr ""
5117
5118 #. type: Plain text
5119 #: build/C/man7/cpuset.7:1314
5120 msgid ""
5121 "Attempted to B<write>(2)  an empty I<cpuset.cpus> or I<cpuset.mems> setting "
5122 "to a cpuset that has tasks attached."
5123 msgstr ""
5124
5125 #. type: Plain text
5126 #: build/C/man7/cpuset.7:1319
5127 msgid "Attempted to B<rename>(2)  a nonexistent cpuset."
5128 msgstr ""
5129
5130 #. type: Plain text
5131 #: build/C/man7/cpuset.7:1322
5132 msgid "Attempted to remove a file from a cpuset directory."
5133 msgstr ""
5134
5135 #. type: TP
5136 #: build/C/man7/cpuset.7:1322
5137 #, no-wrap
5138 msgid "B<ERANGE>"
5139 msgstr "B<ERANGE>"
5140
5141 #. type: Plain text
5142 #: build/C/man7/cpuset.7:1330
5143 msgid ""
5144 "Specified a I<cpuset.cpus> or I<cpuset.mems> list to the kernel which "
5145 "included a number too large for the kernel to set in its bit masks."
5146 msgstr ""
5147
5148 #.  ================== VERSIONS ==================
5149 #. type: Plain text
5150 #: build/C/man7/cpuset.7:1338
5151 msgid ""
5152 "Attempted to B<write>(2)  the process ID (PID) of a nonexistent process to a "
5153 "cpuset I<tasks> file."
5154 msgstr ""
5155
5156 #.  ================== NOTES ==================
5157 #. type: Plain text
5158 #: build/C/man7/cpuset.7:1341
5159 msgid "Cpusets appeared in version 2.6.12 of the Linux kernel."
5160 msgstr ""
5161
5162 #.  ================== BUGS ==================
5163 #. type: Plain text
5164 #: build/C/man7/cpuset.7:1352
5165 msgid ""
5166 "Despite its name, the I<pid> parameter is actually a thread ID, and each "
5167 "thread in a threaded group can be attached to a different cpuset.  The value "
5168 "returned from a call to B<gettid>(2)  can be passed in the argument I<pid>."
5169 msgstr ""
5170
5171 #. type: SH
5172 #: build/C/man7/cpuset.7:1352 build/C/man2/getpriority.2:225
5173 #: build/C/man2/getrlimit.2:535 build/C/man2/ioprio_set.2:337
5174 #: build/C/man2/setfsgid.2:106 build/C/man2/setfsuid.2:114
5175 #, no-wrap
5176 msgid "BUGS"
5177 msgstr "バグ"
5178
5179 #.  ================== EXAMPLE ==================
5180 #. type: Plain text
5181 #: build/C/man7/cpuset.7:1365
5182 msgid ""
5183 "I<cpuset.memory_pressure> cpuset files can be opened for writing, creation, "
5184 "or truncation, but then the B<write>(2)  fails with I<errno> set to "
5185 "B<EACCES>, and the creation and truncation options on B<open>(2)  have no "
5186 "effect."
5187 msgstr ""
5188
5189 #. type: SH
5190 #: build/C/man7/cpuset.7:1365 build/C/man2/getrlimit.2:610
5191 #, no-wrap
5192 msgid "EXAMPLE"
5193 msgstr "例"
5194
5195 #. type: Plain text
5196 #: build/C/man7/cpuset.7:1368
5197 msgid ""
5198 "The following examples demonstrate querying and setting cpuset options using "
5199 "shell commands."
5200 msgstr ""
5201
5202 #. type: SS
5203 #: build/C/man7/cpuset.7:1368
5204 #, no-wrap
5205 msgid "Creating and attaching to a cpuset."
5206 msgstr ""
5207
5208 #. type: Plain text
5209 #: build/C/man7/cpuset.7:1371
5210 msgid ""
5211 "To create a new cpuset and attach the current command shell to it, the steps "
5212 "are:"
5213 msgstr ""
5214
5215 #. type: IP
5216 #: build/C/man7/cpuset.7:1373 build/C/man7/cpuset.7:1412
5217 #, no-wrap
5218 msgid "1)"
5219 msgstr "1)"
5220
5221 #. type: Plain text
5222 #: build/C/man7/cpuset.7:1375
5223 msgid "mkdir /dev/cpuset (if not already done)"
5224 msgstr ""
5225
5226 #. type: IP
5227 #: build/C/man7/cpuset.7:1375 build/C/man7/cpuset.7:1418
5228 #, no-wrap
5229 msgid "2)"
5230 msgstr "2)"
5231
5232 #. type: Plain text
5233 #: build/C/man7/cpuset.7:1377
5234 msgid "mount -t cpuset none /dev/cpuset (if not already done)"
5235 msgstr ""
5236
5237 #. type: IP
5238 #: build/C/man7/cpuset.7:1377 build/C/man7/cpuset.7:1421
5239 #, no-wrap
5240 msgid "3)"
5241 msgstr "3)"
5242
5243 #. type: Plain text
5244 #: build/C/man7/cpuset.7:1380
5245 msgid "Create the new cpuset using B<mkdir>(1)."
5246 msgstr ""
5247
5248 #. type: IP
5249 #: build/C/man7/cpuset.7:1380 build/C/man7/cpuset.7:1424
5250 #, no-wrap
5251 msgid "4)"
5252 msgstr "4)"
5253
5254 #. type: Plain text
5255 #: build/C/man7/cpuset.7:1382
5256 msgid "Assign CPUs and memory nodes to the new cpuset."
5257 msgstr ""
5258
5259 #. type: IP
5260 #: build/C/man7/cpuset.7:1382 build/C/man7/cpuset.7:1429
5261 #, no-wrap
5262 msgid "5)"
5263 msgstr "5)"
5264
5265 #. type: Plain text
5266 #: build/C/man7/cpuset.7:1384
5267 msgid "Attach the shell to the new cpuset."
5268 msgstr ""
5269
5270 #. type: Plain text
5271 #: build/C/man7/cpuset.7:1389
5272 msgid ""
5273 "For example, the following sequence of commands will set up a cpuset named "
5274 "\"Charlie\", containing just CPUs 2 and 3, and memory node 1, and then "
5275 "attach the current shell to that cpuset."
5276 msgstr ""
5277
5278 #. type: Plain text
5279 #: build/C/man7/cpuset.7:1403
5280 #, no-wrap
5281 msgid ""
5282 "$B< mkdir /dev/cpuset>\n"
5283 "$B< mount -t cpuset cpuset /dev/cpuset>\n"
5284 "$B< cd /dev/cpuset>\n"
5285 "$B< mkdir Charlie>\n"
5286 "$B< cd Charlie>\n"
5287 "$B< /bin/echo 2-3 E<gt> cpuset.cpus>\n"
5288 "$B< /bin/echo 1 E<gt> cpuset.mems>\n"
5289 "$B< /bin/echo $$ E<gt> tasks>\n"
5290 "# The current shell is now running in cpuset Charlie\n"
5291 "# The next line should display '/Charlie'\n"
5292 "$B< cat /proc/self/cpuset>\n"
5293 msgstr ""
5294 "$B< mkdir /dev/cpuset>\n"
5295 "$B< mount -t cpuset cpuset /dev/cpuset>\n"
5296 "$B< cd /dev/cpuset>\n"
5297 "$B< mkdir Charlie>\n"
5298 "$B< cd Charlie>\n"
5299 "$B< /bin/echo 2-3 E<gt> cpuset.cpus>\n"
5300 "$B< /bin/echo 1 E<gt> cpuset.mems>\n"
5301 "$B< /bin/echo $$ E<gt> tasks>\n"
5302 "# The current shell is now running in cpuset Charlie\n"
5303 "# The next line should display '/Charlie'\n"
5304 "$B< cat /proc/self/cpuset>\n"
5305
5306 #. type: SS
5307 #: build/C/man7/cpuset.7:1405
5308 #, no-wrap
5309 msgid "Migrating a job to different memory nodes."
5310 msgstr ""
5311
5312 #. type: Plain text
5313 #: build/C/man7/cpuset.7:1410
5314 msgid ""
5315 "To migrate a job (the set of processes attached to a cpuset)  to different "
5316 "CPUs and memory nodes in the system, including moving the memory pages "
5317 "currently allocated to that job, perform the following steps."
5318 msgstr ""
5319
5320 #. type: Plain text
5321 #: build/C/man7/cpuset.7:1418
5322 msgid ""
5323 "Let's say we want to move the job in cpuset I<alpha> (CPUs 4-7 and memory "
5324 "nodes 2-3) to a new cpuset I<beta> (CPUs 16-19 and memory nodes 8-9)."
5325 msgstr ""
5326
5327 #. type: Plain text
5328 #: build/C/man7/cpuset.7:1421
5329 msgid "First create the new cpuset I<beta>."
5330 msgstr ""
5331
5332 #. type: Plain text
5333 #: build/C/man7/cpuset.7:1424
5334 msgid "Then allow CPUs 16-19 and memory nodes 8-9 in I<beta>."
5335 msgstr ""
5336
5337 #. type: Plain text
5338 #: build/C/man7/cpuset.7:1429
5339 msgid "Then enable I<memory_migration> in I<beta>."
5340 msgstr ""
5341
5342 #. type: Plain text
5343 #: build/C/man7/cpuset.7:1434
5344 msgid "Then move each process from I<alpha> to I<beta>."
5345 msgstr ""
5346
5347 #. type: Plain text
5348 #: build/C/man7/cpuset.7:1437
5349 msgid "The following sequence of commands accomplishes this."
5350 msgstr ""
5351
5352 #. type: Plain text
5353 #: build/C/man7/cpuset.7:1447
5354 #, no-wrap
5355 msgid ""
5356 "$B< cd /dev/cpuset>\n"
5357 "$B< mkdir beta>\n"
5358 "$B< cd beta>\n"
5359 "$B< /bin/echo 16-19 E<gt> cpuset.cpus>\n"
5360 "$B< /bin/echo 8-9 E<gt> cpuset.mems>\n"
5361 "$B< /bin/echo 1 E<gt> cpuset.memory_migrate>\n"
5362 "$B< while read i; do /bin/echo $i; done E<lt> ../alpha/tasks E<gt> tasks>\n"
5363 msgstr ""
5364 "$B< cd /dev/cpuset>\n"
5365 "$B< mkdir beta>\n"
5366 "$B< cd beta>\n"
5367 "$B< /bin/echo 16-19 E<gt> cpuset.cpus>\n"
5368 "$B< /bin/echo 8-9 E<gt> cpuset.mems>\n"
5369 "$B< /bin/echo 1 E<gt> cpuset.memory_migrate>\n"
5370 "$B< while read i; do /bin/echo $i; done E<lt> ../alpha/tasks E<gt> tasks>\n"
5371
5372 #. type: Plain text
5373 #: build/C/man7/cpuset.7:1456
5374 msgid ""
5375 "The above should move any processes in I<alpha> to I<beta>, and any memory "
5376 "held by these processes on memory nodes 2-3 to memory nodes 8-9, "
5377 "respectively."
5378 msgstr ""
5379
5380 #. type: Plain text
5381 #: build/C/man7/cpuset.7:1458
5382 msgid "Notice that the last step of the above sequence did not do:"
5383 msgstr ""
5384
5385 #. type: Plain text
5386 #: build/C/man7/cpuset.7:1462
5387 #, no-wrap
5388 msgid "$B< cp ../alpha/tasks tasks>\n"
5389 msgstr "$B< cp ../alpha/tasks tasks>\n"
5390
5391 #. type: Plain text
5392 #: build/C/man7/cpuset.7:1473
5393 msgid ""
5394 "The I<while> loop, rather than the seemingly easier use of the B<cp>(1)  "
5395 "command, was necessary because only one process PID at a time may be written "
5396 "to the I<tasks> file."
5397 msgstr ""
5398
5399 #. type: Plain text
5400 #: build/C/man7/cpuset.7:1481
5401 msgid ""
5402 "The same effect (writing one PID at a time) as the I<while> loop can be "
5403 "accomplished more efficiently, in fewer keystrokes and in syntax that works "
5404 "on any shell, but alas more obscurely, by using the B<-u> (unbuffered) "
5405 "option of B<sed>(1):"
5406 msgstr ""
5407
5408 #. type: Plain text
5409 #: build/C/man7/cpuset.7:1485
5410 #, no-wrap
5411 msgid "$B< sed -un p E<lt> ../alpha/tasks E<gt> tasks>\n"
5412 msgstr "$B< sed -un p E<lt> ../alpha/tasks E<gt> tasks>\n"
5413
5414 #. type: Plain text
5415 #: build/C/man7/cpuset.7:1503
5416 msgid ""
5417 "B<taskset>(1), B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), "
5418 "B<sched_getaffinity>(2), B<sched_setaffinity>(2), B<sched_setscheduler>(2), "
5419 "B<set_mempolicy>(2), B<CPU_SET>(3), B<proc>(5), B<numa>(7), B<sched>(7), "
5420 "B<migratepages>(8), B<numactl>(8)"
5421 msgstr ""
5422 "B<taskset>(1), B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), "
5423 "B<sched_getaffinity>(2), B<sched_setaffinity>(2), B<sched_setscheduler>(2), "
5424 "B<set_mempolicy>(2), B<CPU_SET>(3), B<proc>(5), B<numa>(7), B<sched>(7), "
5425 "B<migratepages>(8), B<numactl>(8)"
5426
5427 #. type: Plain text
5428 #: build/C/man7/cpuset.7:1506
5429 msgid "I<Documentation/cpusets.txt> in the Linux kernel source tree"
5430 msgstr "Linux カーネルソース内の I<Documentation/cpusets.txt>"
5431
5432 #. type: TH
5433 #: build/C/man7/credentials.7:27
5434 #, no-wrap
5435 msgid "CREDENTIALS"
5436 msgstr "CREDENTIALS"
5437
5438 #. type: Plain text
5439 #: build/C/man7/credentials.7:30
5440 msgid "credentials - process identifiers"
5441 msgstr "credentials - 認証に用いられるプロセスの識別子"
5442
5443 #. type: SS
5444 #: build/C/man7/credentials.7:31
5445 #, no-wrap
5446 msgid "Process ID (PID)"
5447 msgstr "プロセスID (PID)"
5448
5449 #. type: Plain text
5450 #: build/C/man7/credentials.7:41
5451 msgid ""
5452 "Each process has a unique nonnegative integer identifier that is assigned "
5453 "when the process is created using B<fork>(2).  A process can obtain its PID "
5454 "using B<getpid>(2).  A PID is represented using the type I<pid_t> (defined "
5455 "in I<E<lt>sys/types.hE<gt>>)."
5456 msgstr ""
5457 "各プロセスは、負でない整数の一意な識別子を持つ。 この識別子は B<fork>(2)  を"
5458 "使ってプロセスが生成される際に割り当てられる。 プロセスは B<getpid>(2)  を"
5459 "使って自分の PID を取得できる。 PID は I<pid_t> 型で表現される (I<pid_t> は "
5460 "I<E<lt>sys/types.hE<gt>> で定義されている)。"
5461
5462 #.  .BR sched_rr_get_interval (2),
5463 #.  .BR sched_getaffinity (2),
5464 #.  .BR sched_setaffinity (2),
5465 #.  .BR sched_getparam (2),
5466 #.  .BR sched_setparam (2),
5467 #.  .BR sched_setscheduler (2),
5468 #.  .BR sched_getscheduler (2),
5469 #.  .BR getsid (2),
5470 #.  .BR waitid (2),
5471 #.  .BR wait4 (2),
5472 #. type: Plain text
5473 #: build/C/man7/credentials.7:62
5474 msgid ""
5475 "PIDs are used in a range of system calls to identify the process affected by "
5476 "the call, for example: B<kill>(2), B<ptrace>(2), B<setpriority>(2)  "
5477 "B<setpgid>(2), B<setsid>(2), B<sigqueue>(3), and B<waitpid>(2)."
5478 msgstr ""
5479 "PID は各種のシステムコールでそのシステムコールが作用するプロセスを 特定するた"
5480 "めに使用される。以下に例を挙げる: B<kill>(2), B<ptrace>(2), "
5481 "B<setpriority>(2), B<setpgid>(2), B<setsid>(2), B<sigqueue>(3), "
5482 "B<waitpid>(2)."
5483
5484 #. type: Plain text
5485 #: build/C/man7/credentials.7:65
5486 msgid "A process's PID is preserved across an B<execve>(2)."
5487 msgstr "プロセスの PID は B<execve>(2)  の前後で不変である。"
5488
5489 #. type: SS
5490 #: build/C/man7/credentials.7:65
5491 #, no-wrap
5492 msgid "Parent process ID (PPID)"
5493 msgstr "親プロセス ID (PPID)"
5494
5495 #. type: Plain text
5496 #: build/C/man7/credentials.7:73
5497 msgid ""
5498 "A process's parent process ID identifies the process that created this "
5499 "process using B<fork>(2).  A process can obtain its PPID using "
5500 "B<getppid>(2).  A PPID is represented using the type I<pid_t>."
5501 msgstr ""
5502 "プロセスの親プロセスの ID は、 B<fork>(2)  を使ってそのプロセスを生成したプロ"
5503 "セスを示す。 プロセスは B<getppid>(2)  を使って自分の PPID を取得できる。 "
5504 "PPID は I<pid_t> 型で表現される。"
5505
5506 #. type: Plain text
5507 #: build/C/man7/credentials.7:76
5508 msgid "A process's PPID is preserved across an B<execve>(2)."
5509 msgstr "プロセスの PPID は B<execve>(2)  の前後で不変である。"
5510
5511 #. type: SS
5512 #: build/C/man7/credentials.7:76
5513 #, no-wrap
5514 msgid "Process group ID and session ID"
5515 msgstr "プロセスグループ ID とセッション ID"
5516
5517 #. type: Plain text
5518 #: build/C/man7/credentials.7:84
5519 msgid ""
5520 "Each process has a session ID and a process group ID, both represented using "
5521 "the type I<pid_t>.  A process can obtain its session ID using B<getsid>(2), "
5522 "and its process group ID using B<getpgrp>(2)."
5523 msgstr ""
5524 "各プロセスはセッション ID とプロセスグループ ID を持つ。 これらの ID はどちら"
5525 "も I<pid_t> 型で表現される。 プロセスは、それぞれ B<getsid>(2), "
5526 "B<getpgrp>(2)  を使って自分のセッション ID、プロセスグループ ID を取得でき"
5527 "る。"
5528
5529 #. type: Plain text
5530 #: build/C/man7/credentials.7:90
5531 msgid ""
5532 "A child created by B<fork>(2)  inherits its parent's session ID and process "
5533 "group ID.  A process's session ID and process group ID are preserved across "
5534 "an B<execve>(2)."
5535 msgstr ""
5536 "B<fork>(2)  で生成された子プロセスは親プロセスのセッション ID とプロセスグ"
5537 "ループ ID を継承する。プロセスのセッション ID とプロセスグループ ID は "
5538 "B<execve>(2)  の前後で不変である。"
5539
5540 #. type: Plain text
5541 #: build/C/man7/credentials.7:103
5542 msgid ""
5543 "Sessions and process groups are abstractions devised to support shell job "
5544 "control.  A process group (sometimes called a \"job\") is a collection of "
5545 "processes that share the same process group ID; the shell creates a new "
5546 "process group for the process(es) used to execute single command or pipeline "
5547 "(e.g., the two processes created to execute the command \"ls\\ |\\ wc\" are "
5548 "placed in the same process group).  A process's group membership can be set "
5549 "using B<setpgid>(2).  The process whose process ID is the same as its "
5550 "process group ID is the I<process group leader> for that group."
5551 msgstr ""
5552 "セッションとプロセスグループの概念は、シェルのジョブ制御を行うために 考案され"
5553 "たものである。 プロセスグループ (時には「ジョブ」と呼ばれることもある) は、 "
5554 "同じプロセスグループ ID を共有するプロセスの集まりである。 シェルは、一つのコ"
5555 "マンドもしくはパイプラインの実行に使われるプロセス群に 対して一つのプロセスグ"
5556 "ループを生成する (例えば、コマンド \"ls\\ |\\ wc\" を実行するために生成される"
5557 "二つのプロセスは 同じプロセスグループに置かれる)。 所属するプロセスグループ"
5558 "は B<setpgid>(2)  を使って設定できる。 自身のプロセス ID がプロセスグループ "
5559 "ID と同じプロセスは、 そのグループの「プロセスグループ・リーダー」である。"
5560
5561 #. type: Plain text
5562 #: build/C/man7/credentials.7:115
5563 msgid ""
5564 "A session is a collection of processes that share the same session ID.  All "
5565 "of the members of a process group also have the same session ID (i.e., all "
5566 "of the members of a process group always belong to the same session, so that "
5567 "sessions and process groups form a strict two-level hierarchy of "
5568 "processes.)  A new session is created when a process calls B<setsid>(2), "
5569 "which creates a new session whose session ID is the same as the PID of the "
5570 "process that called B<setsid>(2).  The creator of the session is called the "
5571 "I<session leader>."
5572 msgstr ""
5573 "セッションは、同じセッション ID を共有するプロセスの集まりである。 ある一つの"
5574 "プロセスグループの全メンバーは同じセッション ID を持つ (つまり、一つのプロセ"
5575 "スグループのメンバーは全て同じセッションに所属し、 これにより、セッションとプ"
5576 "ロセスグループで二階層のプロセス階層が形成できる)。 新たなセッションの生成は"
5577 "プロセスが B<setsid>(2)  を呼び出すことで行う。 B<setsid>(2)  は、 "
5578 "B<setsid>(2)  を呼び出したプロセスの PID と同じ値のセッション ID を持つ 新た"
5579 "なセッションを生成する。 セッションの生成者は「セッション・リーダー」と呼ばれ"
5580 "る。"
5581
5582 #. type: Plain text
5583 #: build/C/man7/credentials.7:124
5584 msgid ""
5585 "All of the processes in a session share a I<controlling terminal>.  The "
5586 "controlling terminal is established when the session leader first opens a "
5587 "terminal (unless the B<O_NOCTTY> flag is specified when calling "
5588 "B<open>(2)).  A terminal may be the controlling terminal of at most one "
5589 "session."
5590 msgstr ""
5591 "あるセッションの全プロセスは一つの I<制御端末> を共有する。 セッションリー"
5592 "ダーが最初に端末をオープンした際に制御端末は設定される (B<open>(2) の呼び出し"
5593 "で B<O_NOCTTY> フラグが指定された場合を除く)。 一つの端末は、最大でも一つの"
5594 "セッションの制御端末にしかなれない。"
5595
5596 #. type: Plain text
5597 #: build/C/man7/credentials.7:146
5598 msgid ""
5599 "At most one of the jobs in a session may be the I<foreground job>; other "
5600 "jobs in the session are I<background jobs>.  Only the foreground job may "
5601 "read from the terminal; when a process in the background attempts to read "
5602 "from the terminal, its process group is sent a B<SIGTTIN> signal, which "
5603 "suspends the job.  If the B<TOSTOP> flag has been set for the terminal (see "
5604 "B<termios>(3)), then only the foreground job may write to the terminal; "
5605 "writes from background job cause a B<SIGTTOU> signal to be generated, which "
5606 "suspends the job.  When terminal keys that generate a signal (such as the "
5607 "I<interrupt> key, normally control-C)  are pressed, the signal is sent to "
5608 "the processes in the foreground job."
5609 msgstr ""
5610 "一つのセッションのジョブの中で、I<フォアグラウンドジョブ>になれるのは最大でも"
5611 "一つで、そのセッションの他のジョブはI<バックグラウンドジョブ>である。 フォア"
5612 "グラウンドジョブだけが端末からの読み込みを行える。 バックグラウンドのプロセス"
5613 "が端末から読み込みを行おうとした場合、 フォアグラウンドジョブを停止させるシグ"
5614 "ナルである B<SIGTTIN> が所属するプロセスグループに対して送信される。 端末に "
5615 "B<TOSTOP> フラグがセットされていた場合 (B<termios>(3) 参照)、 フォアグラウン"
5616 "ドジョブだけが端末への書き込みを行える。 バックグラウンドのプロセスが端末への"
5617 "書き込みを行おうとした場合、 フォアグラウンドジョブを停止させるシグナルであ"
5618 "る B<SIGTTOU> が生成される。 シグナルを生成する端末キー (例えば I<中断>キー、"
5619 "通常は control-C) が押された場合、 そのシグナルはフォアグラウンドジョブのプロ"
5620 "セスに送信される。"
5621
5622 #. type: Plain text
5623 #: build/C/man7/credentials.7:167
5624 msgid ""
5625 "Various system calls and library functions may operate on all members of a "
5626 "process group, including B<kill>(2), B<killpg>(2), B<getpriority>(2), "
5627 "B<setpriority>(2), B<ioprio_get>(2), B<ioprio_set>(2), B<waitid>(2), and "
5628 "B<waitpid>(2).  See also the discussion of the B<F_GETOWN>, B<F_GETOWN_EX>, "
5629 "B<F_SETOWN>, and B<F_SETOWN_EX> operations in B<fcntl>(2)."
5630 msgstr ""
5631 "様々なシステムコールやライブラリ関数で、プロセスグループの全メンバーに対して"
5632 "操作を行うことができる。 例えば、 B<kill>(2), B<killpg>(2), "
5633 "B<getpriority>(2), B<setpriority>(2), B<ioprio_get>(2), B<ioprio_set>(2), "
5634 "B<waitid>(2), B<waitpid>(2) など。 B<fcntl>(2) の操作 B<F_GETOWN>, "
5635 "B<F_GETOWN_EX>, B<F_SETOWN>, B<F_SETOWN_EX> の議論も参照。"
5636
5637 #. type: SS
5638 #: build/C/man7/credentials.7:167
5639 #, no-wrap
5640 msgid "User and group identifiers"
5641 msgstr "ユーザ ID とグループ ID"
5642
5643 #. type: Plain text
5644 #: build/C/man7/credentials.7:175
5645 msgid ""
5646 "Each process has various associated user and groups IDs.  These IDs are "
5647 "integers, respectively represented using the types I<uid_t> and I<gid_t> "
5648 "(defined in I<E<lt>sys/types.hE<gt>>)."
5649 msgstr ""
5650 "各プロセスは、数種類のユーザ ID とグループ ID を持つ。 ユーザ ID、グループ "
5651 "ID は整数で、それぞれ I<uid_t>, I<gid_t> 型で表現される (これらは I<E<lt>sys/"
5652 "types.hE<gt>> で定義されている)。"
5653
5654 #. type: Plain text
5655 #: build/C/man7/credentials.7:177
5656 msgid "On Linux, each process has the following user and group identifiers:"
5657 msgstr ""
5658 "Linux では、各プロセスは以下のような種類のユーザ ID とグループ ID を持つ。"
5659
5660 #. type: Plain text
5661 #: build/C/man7/credentials.7:183
5662 msgid ""
5663 "Real user ID and real group ID.  These IDs determine who owns the process.  "
5664 "A process can obtain its real user (group) ID using B<getuid>(2)  "
5665 "(B<getgid>(2))."
5666 msgstr ""
5667 "実ユーザ ID と実グループ ID。 これらの ID によりプロセスの所有者が決定され"
5668 "る。 プロセスが自分の実ユーザ ID、実グループ ID を取得するには、それぞれ "
5669 "B<getuid>(2), B<getgid>(2)  を使用する。"
5670
5671 #. type: Plain text
5672 #: build/C/man7/credentials.7:195
5673 msgid ""
5674 "Effective user ID and effective group ID.  These IDs are used by the kernel "
5675 "to determine the permissions that the process will have when accessing "
5676 "shared resources such as message queues, shared memory, and semaphores.  On "
5677 "most UNIX systems, these IDs also determine the permissions when accessing "
5678 "files.  However, Linux uses the filesystem IDs described below for this "
5679 "task.  A process can obtain its effective user (group) ID using "
5680 "B<geteuid>(2)  (B<getegid>(2))."
5681 msgstr ""
5682 "実効ユーザ ID と実効グループ ID。 これらの ID は、メッセージキュー、共有メモ"
5683 "リ、セマフォなどの 共有リソースにアクセスしようとした際にそのプロセスがアクセ"
5684 "ス許可を 持っているかをカーネルが判定するのに使用される。 ほとんどの UNIX シ"
5685 "ステムでは、これらの ID はファイルへのアクセス時の アクセス許可の判定にも使用"
5686 "される。 しかしながら、Linux ではファイルへのアクセス許可の判定には 後述の"
5687 "ファイルシステム ID が使用される。 プロセスが自分の実効ユーザ ID、実効グルー"
5688 "プ ID を取得するには、それぞれ B<geteuid>(2), B<getegid>(2)  を使用する。"
5689
5690 #. type: Plain text
5691 #: build/C/man7/credentials.7:217
5692 msgid ""
5693 "Saved set-user-ID and saved set-group-ID.  These IDs are used in set-user-ID "
5694 "and set-group-ID programs to save a copy of the corresponding effective IDs "
5695 "that were set when the program was executed (see B<execve>(2)).  A set-user-"
5696 "ID program can assume and drop privileges by switching its effective user ID "
5697 "back and forth between the values in its real user ID and saved set-user-"
5698 "ID.  This switching is done via calls to B<seteuid>(2), B<setreuid>(2), or "
5699 "B<setresuid>(2).  A set-group-ID program performs the analogous tasks using "
5700 "B<setegid>(2), B<setregid>(2), or B<setresgid>(2).  A process can obtain its "
5701 "saved set-user-ID (set-group-ID) using B<getresuid>(2)  (B<getresgid>(2))."
5702 msgstr ""
5703 "保存 (saved) set-user-ID と保存 set-group-ID。 これらの ID は、set-user-ID "
5704 "や set-group-ID されたプログラムにおいて、 プログラムの実行時に設定された実"
5705 "効 ID のコピーを保存するために 使用される (B<execve>(2)  参照)。 set-user-ID "
5706 "プログラムは、実効ユーザ ID を実ユーザID と保存 set-user-ID の間で行ったり来"
5707 "たり切り替えることで、特権を得たり落としたりできる。 この切り替えは "
5708 "B<seteuid>(2), B<setreuid>(2), B<setresuid>(2)  を呼び出すことで実行できる。 "
5709 "set-group-ID プログラムは、 B<setegid>(2), B<setregid>(2), B<setresgid>(2)  "
5710 "を使って同様のことができる。 プロセスが自分の保存 set-user-ID、保存 set-"
5711 "group-ID を取得するには、 B<getresuid(2),> B<getresgids>(2)  をそれぞれ使用す"
5712 "る。"
5713
5714 #. type: Plain text
5715 #: build/C/man7/credentials.7:234
5716 msgid ""
5717 "Filesystem user ID and filesystem group ID (Linux-specific).  These IDs, in "
5718 "conjunction with the supplementary group IDs described below, are used to "
5719 "determine permissions for accessing files; see B<path_resolution>(7)  for "
5720 "details.  Whenever a process's effective user (group) ID is changed, the "
5721 "kernel also automatically changes the filesystem user (group) ID to the same "
5722 "value.  Consequently, the filesystem IDs normally have the same values as "
5723 "the corresponding effective ID, and the semantics for file-permission checks "
5724 "are thus the same on Linux as on other UNIX systems.  The filesystem IDs can "
5725 "be made to differ from the effective IDs by calling B<setfsuid>(2)  and "
5726 "B<setfsgid>(2)."
5727 msgstr ""
5728 "ファイルシステム・ユーザ ID とファイルシステム・グループ ID (Linux 固有)。 こ"
5729 "れらの ID は、後述の補助グループ ID と組み合わせて使用され、 ファイルへのアク"
5730 "セス権の決定に利用される。詳細は B<path_resolution>(7)  を参照。 プロセスの実"
5731 "効 ID (ユーザ ID や グループ ID) が変更されるたびに、 カーネルは自動的に対応"
5732 "するファイルシステム ID を同じ値に変更する。 その結果、ファイルシステム ID は"
5733 "通常は対応する実効 ID と同じ値となり、 ファイルのアクセス権のチェック方法は "
5734 "Linux と他の UNIX システムで同じである。 ファイルシステム ID は実効 ID とは異"
5735 "なる値にすることができ、 変更は B<setfsuid>(2)  と B<setfsgid>(2)  を呼び出し"
5736 "て行う。"
5737
5738 #.  Since kernel 2.6.4, the limit is visible via the read-only file
5739 #.  /proc/sys/kernel/ngroups_max.
5740 #.  As at 2.6.22-rc2, this file is still read-only.
5741 #. type: Plain text
5742 #: build/C/man7/credentials.7:253
5743 msgid ""
5744 "Supplementary group IDs.  This is a set of additional group IDs that are "
5745 "used for permission checks when accessing files and other shared resources.  "
5746 "On Linux kernels before 2.6.4, a process can be a member of up to 32 "
5747 "supplementary groups; since kernel 2.6.4, a process can be a member of up to "
5748 "65536 supplementary groups.  The call I<sysconf(_SC_NGROUPS_MAX)> can be "
5749 "used to determine the number of supplementary groups of which a process may "
5750 "be a member.  A process can obtain its set of supplementary group IDs using "
5751 "B<getgroups>(2), and can modify the set using B<setgroups>(2)."
5752 msgstr ""
5753 "補助グループ ID。 この ID は、ファイルや他の共有リソースへのアクセス時にアク"
5754 "セス許可の チェックに使用される、追加のグループ ID の集合である。 カーネル "
5755 "2.6.4 より前の Linux では、一つのプロセスあたりの 補助グループのメンバー数は"
5756 "最大で 32 である。 カーネル 2.6.4 以降では、一つのプロセスあたりの 補助グルー"
5757 "プのメンバー数は最大で 65536 である。 I<sysconf(_SC_NGROUPS_MAX)> を呼び出す"
5758 "ことで、あるプロセスがメンバーとなることができる可能性のある 補助グループ数を"
5759 "知ることができる。 プロセスは、自分の補助グループ ID の集合を "
5760 "B<getgroups>(2)  で取得でき、 B<setgroups>(2)  で集合を変更できる。"
5761
5762 #. type: Plain text
5763 #: build/C/man7/credentials.7:263
5764 msgid ""
5765 "A child process created by B<fork>(2)  inherits copies of its parent's user "
5766 "and groups IDs.  During an B<execve>(2), a process's real user and group ID "
5767 "and supplementary group IDs are preserved; the effective and saved set IDs "
5768 "may be changed, as described in B<execve>(2)."
5769 msgstr ""
5770 "B<fork>(2)  で生成された子プロセスは親プロセスのユーザ ID とグループ ID を継"
5771 "承する。 B<execve>(2)  の間、プロセスの実ユーザ/グループ ID と補助グループ "
5772 "ID 集合は不変である。 実効 ID と保存セット ID は変更される可能性がある "
5773 "(B<execve>(2)  で説明されている)。"
5774
5775 #. type: Plain text
5776 #: build/C/man7/credentials.7:266
5777 msgid ""
5778 "Aside from the purposes noted above, a process's user IDs are also employed "
5779 "in a number of other contexts:"
5780 msgstr "上記の目的以外にも、プロセスのユーザ ID は他の様々な場面で利用される。"
5781
5782 #. type: Plain text
5783 #: build/C/man7/credentials.7:269
5784 msgid ""
5785 "when determining the permissions for sending signals\\(emsee B<kill>(2);"
5786 msgstr "シグナルを送る許可の判定時\\(em B<kill>(2)  参照。"
5787
5788 #. type: Plain text
5789 #: build/C/man7/credentials.7:280
5790 msgid ""
5791 "when determining the permissions for setting process-scheduling parameters "
5792 "(nice value, real time scheduling policy and priority, CPU affinity, I/O "
5793 "priority) using B<setpriority>(2), B<sched_setaffinity>(2), "
5794 "B<sched_setscheduler>(2), B<sched_setparam>(2), B<sched_setattr>(2), and "
5795 "B<ioprio_set>(2);"
5796 msgstr ""
5797 "プロセスのスケジューリング関連のパラメータ (nice 値、 リアルタイム・スケ"
5798 "ジューリングポリシーや優先度、CPU affinity、 入出力優先度) の設定許可の判定"
5799 "時。 スケジューリング関連のパラメータ設定には B<setpriority>(2), "
5800 "B<sched_setaffinity>(2), B<sched_setscheduler>(2), B<sched_setparam>(2), "
5801 "B<sched_setattr>(2), B<ioprio_set>(2)  が使用される。"
5802
5803 #. type: Plain text
5804 #: build/C/man7/credentials.7:283
5805 msgid "when checking resource limits; see B<getrlimit>(2);"
5806 msgstr "リソース上限のチェック時。 B<getrlimit>(2)  参照。"
5807
5808 #. type: Plain text
5809 #: build/C/man7/credentials.7:287
5810 msgid ""
5811 "when checking the limit on the number of inotify instances that the process "
5812 "may create; see B<inotify>(7)."
5813 msgstr ""
5814 "プロセスが生成できる inotify インスタンス数の上限のチェック時。 "
5815 "B<inotify>(7)  参照。"
5816
5817 #. type: Plain text
5818 #: build/C/man7/credentials.7:293
5819 msgid ""
5820 "Process IDs, parent process IDs, process group IDs, and session IDs are "
5821 "specified in POSIX.1-2001.  The real, effective, and saved set user and "
5822 "groups IDs, and the supplementary group IDs, are specified in POSIX.1-2001.  "
5823 "The filesystem user and group IDs are a Linux extension."
5824 msgstr ""
5825 "プロセス ID、親プロセス ID、プロセスグループ ID、セッション ID は "
5826 "POSIX.1-2001 で規定されている。 実 ID、実効 ID、保存セット ID のユーザ ID / "
5827 "グループ ID および 補助グループ ID は POSIX.1-2001 で規定されている。 ファイ"
5828 "ルシステム・ユーザ ID / グループ ID は Linux による拡張である。"
5829
5830 #. type: Plain text
5831 #: build/C/man7/credentials.7:304
5832 msgid ""
5833 "The POSIX threads specification requires that credentials are shared by all "
5834 "of the threads in a process.  However, at the kernel level, Linux maintains "
5835 "separate user and group credentials for each thread.  The NPTL threading "
5836 "implementation does some work to ensure that any change to user or group "
5837 "credentials (e.g., calls to B<setuid>(2), B<setresuid>(2))  is carried "
5838 "through to all of the POSIX threads in a process."
5839 msgstr ""
5840 "POSIX のスレッド仕様では、これらの識別子がプロセス内の全スレッドで 共有される"
5841 "ことを求めている。 しかしながら、カーネルのレベルでは、Linux はスレッド毎に"
5842 "別々の ユーザとグループに関する識別子を管理している。 NPTL スレッド実装が、"
5843 "(例えば B<setuid>(2), B<setresuid>(2)  などの呼び出しによる) ユーザやグループ"
5844 "に関する識別子に対する変更が プロセス内の全ての POSIX スレッドに対して反映さ"
5845 "れることを保証する ための処理を行っている。"
5846
5847 #. type: Plain text
5848 #: build/C/man7/credentials.7:336
5849 msgid ""
5850 "B<bash>(1), B<csh>(1), B<ps>(1), B<access>(2), B<execve>(2), "
5851 "B<faccessat>(2), B<fork>(2), B<getpgrp>(2), B<getpid>(2), B<getppid>(2), "
5852 "B<getsid>(2), B<kill>(2), B<killpg>(2), B<setegid>(2), B<seteuid>(2), "
5853 "B<setfsgid>(2), B<setfsuid>(2), B<setgid>(2), B<setgroups>(2), "
5854 "B<setresgid>(2), B<setresuid>(2), B<setuid>(2), B<waitpid>(2), "
5855 "B<euidaccess>(3), B<initgroups>(3), B<tcgetpgrp>(3), B<tcsetpgrp>(3), "
5856 "B<capabilities>(7), B<path_resolution>(7), B<signal>(7), B<unix>(7)"
5857 msgstr ""
5858 "B<bash>(1), B<csh>(1), B<ps>(1), B<access>(2), B<execve>(2), "
5859 "B<faccessat>(2), B<fork>(2), B<getpgrp>(2), B<getpid>(2), B<getppid>(2), "
5860 "B<getsid>(2), B<kill>(2), B<killpg>(2), B<setegid>(2), B<seteuid>(2), "
5861 "B<setfsgid>(2), B<setfsuid>(2), B<setgid>(2), B<setgroups>(2), "
5862 "B<setresgid>(2), B<setresuid>(2), B<setuid>(2), B<waitpid>(2), "
5863 "B<euidaccess>(3), B<initgroups>(3), B<tcgetpgrp>(3), B<tcsetpgrp>(3), "
5864 "B<capabilities>(7), B<path_resolution>(7), B<signal>(7), B<unix>(7)"
5865
5866 #. type: TH
5867 #: build/C/man2/getgid.2:25
5868 #, no-wrap
5869 msgid "GETGID"
5870 msgstr "GETGID"
5871
5872 #. type: TH
5873 #: build/C/man2/getgid.2:25 build/C/man2/getresuid.2:28
5874 #: build/C/man2/getuid.2:26 build/C/man2/setgid.2:29
5875 #: build/C/man2/setresuid.2:26 build/C/man2/setuid.2:30
5876 #, no-wrap
5877 msgid "2010-11-22"
5878 msgstr "2010-11-22"
5879
5880 #. type: Plain text
5881 #: build/C/man2/getgid.2:28
5882 msgid "getgid, getegid - get group identity"
5883 msgstr "getgid, getegid - グループ ID を得る"
5884
5885 #. type: Plain text
5886 #: build/C/man2/getgid.2:30 build/C/man2/getgroups.2:38
5887 #: build/C/man2/getpid.2:32 build/C/man2/getresuid.2:35
5888 #: build/C/man2/getsid.2:31 build/C/man2/getuid.2:31 build/C/man2/seteuid.2:36
5889 #: build/C/man2/setgid.2:36 build/C/man2/setpgid.2:53
5890 #: build/C/man2/setresuid.2:33 build/C/man2/setreuid.2:52
5891 #: build/C/man2/setsid.2:36 build/C/man2/setuid.2:37
5892 msgid "B<#include E<lt>unistd.hE<gt>>"
5893 msgstr "B<#include E<lt>unistd.hE<gt>>"
5894
5895 #. type: Plain text
5896 #: build/C/man2/getgid.2:32 build/C/man2/getgroups.2:36
5897 #: build/C/man2/getpid.2:30 build/C/man2/getuid.2:33 build/C/man2/seteuid.2:34
5898 #: build/C/man2/setgid.2:34 build/C/man2/setreuid.2:50
5899 #: build/C/man2/setuid.2:35
5900 msgid "B<#include E<lt>sys/types.hE<gt>>"
5901 msgstr "B<#include E<lt>sys/types.hE<gt>>"
5902
5903 #. type: Plain text
5904 #: build/C/man2/getgid.2:34
5905 msgid "B<gid_t getgid(void);>"
5906 msgstr "B<gid_t getgid(void);>"
5907
5908 #. type: Plain text
5909 #: build/C/man2/getgid.2:36
5910 msgid "B<gid_t getegid(void);>"
5911 msgstr "B<gid_t getegid(void);>"
5912
5913 #. type: Plain text
5914 #: build/C/man2/getgid.2:39
5915 msgid "B<getgid>()  returns the real group ID of the calling process."
5916 msgstr "B<getgid>()  は呼び出し元のプロセスの実グループ ID を返す。"
5917
5918 #. type: Plain text
5919 #: build/C/man2/getgid.2:42
5920 msgid "B<getegid>()  returns the effective group ID of the calling process."
5921 msgstr "B<getegid>()  は呼び出し元のプロセスの実効グループ ID を返す。"
5922
5923 #. type: Plain text
5924 #: build/C/man2/getgid.2:44 build/C/man2/getpid.2:46 build/C/man2/getuid.2:45
5925 msgid "These functions are always successful."
5926 msgstr "これらの関数は常に成功する。"
5927
5928 #. type: Plain text
5929 #: build/C/man2/getgid.2:46 build/C/man2/getuid.2:47
5930 msgid "POSIX.1-2001, 4.3BSD."
5931 msgstr "POSIX.1-2001, 4.3BSD."
5932
5933 #. type: Plain text
5934 #: build/C/man2/getgid.2:62
5935 msgid ""
5936 "The original Linux B<getgid>()  and B<getegid>()  system calls supported "
5937 "only 16-bit group IDs.  Subsequently, Linux 2.4 added B<getgid32>()  and "
5938 "B<getegid32>(), supporting 32-bit IDs.  The glibc B<getgid>()  and "
5939 "B<getegid>()  wrapper functions transparently deal with the variations "
5940 "across kernel versions."
5941 msgstr ""
5942 "元々の Linux の B<getgid>() と B<getegid>() システムコールは\n"
5943 "16 ビットのグループ ID だけに対応していた。\n"
5944 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
5945 "B<getgid32>() と B<getegid32>() が追加された。\n"
5946 "glibc の B<getgid>() と B<getegid>() のラッパー関数は\n"
5947 "カーネルバージョンによるこの違いを吸収している。"
5948
5949 #. type: Plain text
5950 #: build/C/man2/getgid.2:67
5951 msgid "B<getresgid>(2), B<setgid>(2), B<setregid>(2), B<credentials>(7)"
5952 msgstr "B<getresgid>(2), B<setgid>(2), B<setregid>(2), B<credentials>(7)"
5953
5954 #. type: TH
5955 #: build/C/man2/getgroups.2:31
5956 #, no-wrap
5957 msgid "GETGROUPS"
5958 msgstr "GETGROUPS"
5959
5960 #. type: TH
5961 #: build/C/man2/getgroups.2:31
5962 #, no-wrap
5963 msgid "2013-10-18"
5964 msgstr "2013-10-18"
5965
5966 #. type: Plain text
5967 #: build/C/man2/getgroups.2:34
5968 msgid "getgroups, setgroups - get/set list of supplementary group IDs"
5969 msgstr "getgroups, setgroups - 補助グループ ID のリストを取得/設定する"
5970
5971 #. type: Plain text
5972 #: build/C/man2/getgroups.2:40
5973 msgid "B<int getgroups(int >I<size>B<, gid_t >I<list>B<[]);>"
5974 msgstr "B<int getgroups(int >I<size>B<, gid_t >I<list>B<[]);>"
5975
5976 #. type: Plain text
5977 #: build/C/man2/getgroups.2:42
5978 msgid "B<#include E<lt>grp.hE<gt>>"
5979 msgstr "B<#include E<lt>grp.hE<gt>>"
5980
5981 #. type: Plain text
5982 #: build/C/man2/getgroups.2:44
5983 msgid "B<int setgroups(size_t >I<size>B<, const gid_t *>I<list>B<);>"
5984 msgstr "B<int setgroups(size_t >I<size>B<, const gid_t *>I<list>B<);>"
5985
5986 #. type: Plain text
5987 #: build/C/man2/getgroups.2:52
5988 msgid "B<setgroups>(): _BSD_SOURCE"
5989 msgstr "B<setgroups>(): _BSD_SOURCE"
5990
5991 #. type: Plain text
5992 #: build/C/man2/getgroups.2:70
5993 msgid ""
5994 "B<getgroups>()  returns the supplementary group IDs of the calling process "
5995 "in I<list>.  The argument I<size> should be set to the maximum number of "
5996 "items that can be stored in the buffer pointed to by I<list>.  If the "
5997 "calling process is a member of more than I<size> supplementary groups, then "
5998 "an error results.  It is unspecified whether the effective group ID of the "
5999 "calling process is included in the returned list.  (Thus, an application "
6000 "should also call B<getegid>(2)  and add or remove the resulting value.)"
6001 msgstr ""
6002 "B<getgroups>()  は呼び出し元プロセスの補助グループ (supplementary group) ID "
6003 "を I<list> に返す。 I<size> 引き数には、 I<list> により参照されるバッファに格"
6004 "納できる要素の最大数を設定すべきである。 呼び出し元プロセスが I<size> 個より"
6005 "多くの補助グループのメンバの場合には、エラーとなる。 この関数を呼び出したプロ"
6006 "セスの実効グループ ID が、 返されるリストに含まれるかどうかは規定されていな"
6007 "い (したがって、アプリケーションは B<getegid>(2)  を呼び出し、その結果の値を"
6008 "追加・削除すべきである)。"
6009
6010 #. type: Plain text
6011 #: build/C/man2/getgroups.2:81
6012 msgid ""
6013 "If I<size> is zero, I<list> is not modified, but the total number of "
6014 "supplementary group IDs for the process is returned.  This allows the caller "
6015 "to determine the size of a dynamically allocated I<list> to be used in a "
6016 "further call to B<getgroups>()."
6017 msgstr ""
6018 "I<size> が 0 ならば、 I<list> は修正されないが、そのプロセスの補助グループ "
6019 "ID の合計数が返される。 これを使うことで、それ以降の B<getgroups>()  の呼び出"
6020 "しで必要となる動的割り当てバッファ I<list> のサイズを、呼び出し元が決定するこ"
6021 "とができる。"
6022
6023 #. type: Plain text
6024 #: build/C/man2/getgroups.2:92
6025 msgid ""
6026 "B<setgroups>()  sets the supplementary group IDs for the calling process.  "
6027 "Appropriate privileges (Linux: the B<CAP_SETGID> capability) are required.  "
6028 "The I<size> argument specifies the number of supplementary group IDs in the "
6029 "buffer pointed to by I<list>."
6030 msgstr ""
6031 "B<setgroups>()  は、呼び出し元プロセスの補助グループ ID を設定する。 適切な特"
6032 "権 (Linux では B<CAP_SETGID> ケーパビリティ (capability)) が必要である。 "
6033 "I<size> 引き数には、 I<list> により参照されるバッファに格納された補助グルー"
6034 "プ ID の数を指定する。"
6035
6036 #. type: Plain text
6037 #: build/C/man2/getgroups.2:99
6038 msgid ""
6039 "On success, B<getgroups>()  returns the number of supplementary group IDs.  "
6040 "On error, -1 is returned, and I<errno> is set appropriately."
6041 msgstr ""
6042 "B<getgroups>()  は、成功すると補助グループ ID の数を返す。 エラーの場合 -1 を"
6043 "返し、 I<errno> を適切に設定する。"
6044
6045 #. type: Plain text
6046 #: build/C/man2/getgroups.2:106
6047 msgid ""
6048 "On success, B<setgroups>()  returns 0.  On error, -1 is returned, and "
6049 "I<errno> is set appropriately."
6050 msgstr ""
6051 "B<setgroups>()  は、成功すると 0 を返す。 エラーの場合 -1 を返し、 I<errno> "
6052 "を適切に設定する。"
6053
6054 #. type: Plain text
6055 #: build/C/man2/getgroups.2:111
6056 msgid "I<list> has an invalid address."
6057 msgstr "I<list> が不正なアドレスである。"
6058
6059 #. type: Plain text
6060 #: build/C/man2/getgroups.2:114
6061 msgid "B<getgroups>()  can additionally fail with the following error:"
6062 msgstr "B<getgroups>()  は、上記に加えて以下のエラーで失敗する可能性がある。"
6063
6064 #. type: Plain text
6065 #: build/C/man2/getgroups.2:118
6066 msgid ""
6067 "I<size> is less than the number of supplementary group IDs, but is not zero."
6068 msgstr "I<size> が補助グループ ID の数より小さいが 0 でない。"
6069
6070 #. type: Plain text
6071 #: build/C/man2/getgroups.2:121
6072 msgid "B<setgroups>()  can additionally fail with the following errors:"
6073 msgstr "B<setgroups>()  は、上記に加えて以下のエラーで失敗する可能性がある。"
6074
6075 #. type: Plain text
6076 #: build/C/man2/getgroups.2:127
6077 msgid ""
6078 "I<size> is greater than B<NGROUPS_MAX> (32 before Linux 2.6.4; 65536 since "
6079 "Linux 2.6.4)."
6080 msgstr ""
6081 "I<size> が B<NGROUPS_MAX> より大きい (B<NGROUPS_MAX> は Linux 2.6.4 より前で"
6082 "は 32、Linux 2.6.4 以降では 65536)。"
6083
6084 #. type: Plain text
6085 #: build/C/man2/getgroups.2:133
6086 msgid "The calling process has insufficient privilege."
6087 msgstr "呼び出し元プロセスが十分な特権を持っていない。"
6088
6089 #. type: Plain text
6090 #: build/C/man2/getgroups.2:141
6091 msgid ""
6092 "SVr4, 4.3BSD.  The B<getgroups>()  function is in POSIX.1-2001.  Since "
6093 "B<setgroups>()  requires privilege, it is not covered by POSIX.1-2001."
6094 msgstr ""
6095 "SVr4, 4.3BSD.  B<getgroups>()  関数は POSIX.1-2001 に準拠している。 "
6096 "B<setgroups>()  は特権を必要とするため、POSIX.1-2001 に従っていない。"
6097
6098 #. type: Plain text
6099 #: build/C/man2/getgroups.2:153
6100 msgid ""
6101 "A process can have up to B<NGROUPS_MAX> supplementary group IDs in addition "
6102 "to the effective group ID.  The constant B<NGROUPS_MAX> is defined in "
6103 "I<E<lt>limits.hE<gt>>.  The set of supplementary group IDs is inherited from "
6104 "the parent process, and preserved across an B<execve>(2)."
6105 msgstr ""
6106 "プロセスは、実効グループ ID に加え、最大 B<NGROUPS_MAX> までの補助グループ "
6107 "ID を持つことができる。 定数 B<NGROUPS_MAX> は I<E<lt>limits.hE<gt>> で定義さ"
6108 "れている。 補助グループ ID の集合は親プロセスから継承され、 B<execve>(2)  の"
6109 "前後で保持される。"
6110
6111 #. type: Plain text
6112 #: build/C/man2/getgroups.2:156
6113 msgid ""
6114 "The maximum number of supplementary group IDs can be found at run time using "
6115 "B<sysconf>(3):"
6116 msgstr ""
6117 "補助グループ ID の最大数は、実行時に B<sysconf>(3)  を使って以下のようにして"
6118 "調べることができる:"
6119
6120 #. type: Plain text
6121 #: build/C/man2/getgroups.2:160
6122 #, no-wrap
6123 msgid ""
6124 "    long ngroups_max;\n"
6125 "    ngroups_max = sysconf(_SC_NGROUPS_MAX);\n"
6126 msgstr ""
6127 "    long ngroups_max;\n"
6128 "    ngroups_max = sysconf(_SC_NGROUPS_MAX);\n"
6129
6130 #. type: Plain text
6131 #: build/C/man2/getgroups.2:168
6132 msgid ""
6133 "The maximum return value of B<getgroups>()  cannot be larger than one more "
6134 "than this value.  Since Linux 2.6.4, the maximum number of supplementary "
6135 "group IDs is also exposed via the Linux-specific read-only file, I</proc/sys/"
6136 "kernel/ngroups_max>."
6137 msgstr ""
6138 "B<getgroups>() の返り値の最大値は、この値より大きくなることはない。 Linux "
6139 "2.6.4 以降では、補助グループ ID の最大数も Linux 固有の読み込み専用のファイ"
6140 "ル I</proc/sys/kernel/ngroups_max> 経由で公開されている。"
6141
6142 #. type: Plain text
6143 #: build/C/man2/getgroups.2:178
6144 msgid ""
6145 "The original Linux B<getgroups>()  system call supported only 16-bit group "
6146 "IDs.  Subsequently, Linux 2.4 added B<getgroups32>(), supporting 32-bit "
6147 "IDs.  The glibc B<getgroups>()  wrapper function transparently deals with "
6148 "the variation across kernel versions."
6149 msgstr ""
6150 "元々の Linux の B<getgroups>() システムコールは 16 ビットのグループ ID だけ\n"
6151 "に対応していた。その後、Linux 2.4 で、32 ビットの ID に対応した\n"
6152 "B<getgroups>() が追加された。glibc の B<getgroups> のラッパー関数はカーネル\n"
6153 "バージョンによるこの違いを吸収している。"
6154
6155 #. type: Plain text
6156 #: build/C/man2/getgroups.2:185
6157 msgid ""
6158 "B<getgid>(2), B<setgid>(2), B<getgrouplist>(3), B<initgroups>(3), "
6159 "B<capabilities>(7), B<credentials>(7)"
6160 msgstr ""
6161 "B<getgid>(2), B<setgid>(2), B<getgrouplist>(3), B<initgroups>(3), "
6162 "B<capabilities>(7), B<credentials>(7)"
6163
6164 #. type: TH
6165 #: build/C/man2/getpid.2:25
6166 #, no-wrap
6167 msgid "GETPID"
6168 msgstr "GETPID"
6169
6170 #. type: TH
6171 #: build/C/man2/getpid.2:25
6172 #, no-wrap
6173 msgid "2008-09-23"
6174 msgstr "2008-09-23"
6175
6176 #. type: Plain text
6177 #: build/C/man2/getpid.2:28
6178 msgid "getpid, getppid - get process identification"
6179 msgstr "getpid, getppid - プロセス ID を得る"
6180
6181 #. type: Plain text
6182 #: build/C/man2/getpid.2:34
6183 msgid "B<pid_t getpid(void);>"
6184 msgstr "B<pid_t getpid(void);>"
6185
6186 #. type: Plain text
6187 #: build/C/man2/getpid.2:36
6188 msgid "B<pid_t getppid(void);>"
6189 msgstr "B<pid_t getppid(void);>"
6190
6191 #. type: Plain text
6192 #: build/C/man2/getpid.2:41
6193 msgid ""
6194 "B<getpid>()  returns the process ID of the calling process.  (This is often "
6195 "used by routines that generate unique temporary filenames.)"
6196 msgstr ""
6197 "B<getpid>()  は呼び出し元のプロセスのプロセス ID を返す。(テンポラリ用のファ"
6198 "イル名として 他と重ならない名前を生成するルーチンでしばしば使用される。)"
6199
6200 #. type: Plain text
6201 #: build/C/man2/getpid.2:44
6202 msgid ""
6203 "B<getppid>()  returns the process ID of the parent of the calling process."
6204 msgstr "B<getppid>()  は呼び出し元のプロセスの親プロセスのプロセス ID を返す。"
6205
6206 #. type: Plain text
6207 #: build/C/man2/getpid.2:48
6208 msgid "POSIX.1-2001, 4.3BSD, SVr4."
6209 msgstr "POSIX.1-2001, 4.3BSD, SVr4."
6210
6211 #.  The following program demonstrates this "feature":
6212 #.  #define _GNU_SOURCE
6213 #.  #include <sys/syscall.h>
6214 #.  #include <sys/wait.h>
6215 #.  #include <stdio.h>
6216 #.  #include <stdlib.h>
6217 #.  #include <unistd.h>
6218 #.  int
6219 #.  main(int argc, char *argv[])
6220 #.  {
6221 #.     /* The following statement fills the getpid() cache */
6222 #.     printf("parent PID = %ld
6223 #. ", (long) getpid());
6224 #.     if (syscall(SYS_fork) == 0) {
6225 #.         if (getpid() != syscall(SYS_getpid))
6226 #.             printf("child getpid() mismatch: getpid()=%ld; "
6227 #.                     "syscall(SYS_getpid)=%ld
6228 #. ",
6229 #.                     (long) getpid(), (long) syscall(SYS_getpid));
6230 #.         exit(EXIT_SUCCESS);
6231 #.     }
6232 #.     wait(NULL);
6233 #. }
6234 #. type: Plain text
6235 #: build/C/man2/getpid.2:100
6236 msgid ""
6237 "Since glibc version 2.3.4, the glibc wrapper function for B<getpid>()  "
6238 "caches PIDs, so as to avoid additional system calls when a process calls "
6239 "B<getpid>()  repeatedly.  Normally this caching is invisible, but its "
6240 "correct operation relies on support in the wrapper functions for B<fork>(2), "
6241 "B<vfork>(2), and B<clone>(2): if an application bypasses the glibc wrappers "
6242 "for these system calls by using B<syscall>(2), then a call to B<getpid>()  "
6243 "in the child will return the wrong value (to be precise: it will return the "
6244 "PID of the parent process).  See also B<clone>(2)  for discussion of a case "
6245 "where B<getpid>()  may return the wrong value even when invoking "
6246 "B<clone>(2)  via the glibc wrapper function."
6247 msgstr ""
6248 "glibc バージョン 2.3.4 以降では、 glibc の B<getpid>()  のラッパー関数は PID "
6249 "をキャッシュする。 これは、プロセスが繰り返し B<getpid>()  を呼び出した場合に"
6250 "その都度システムコールを呼ぶのを避けるためである。 通常は、このキャッシュ処理"
6251 "が見えることはないが、 キャッシュ処理が正しく働くためには B<fork>(2), "
6252 "B<vfork>(2), B<clone>(2)  のラッパー関数でのサポートが必要である。 アプリケー"
6253 "ションがこれらのシステムコールを呼び出す際に、 glibc のラッパー関数を経由せず"
6254 "に B<syscall>(2)  を使った場合には、子プロセスで B<getpid>()  を呼び出すと間"
6255 "違った値が返ることだろう (正確にいうと、親プロセスの PID が返される)。 "
6256 "B<clone>(2)  を glibc のラッパー関数経由で起動した際にも B<getpid>()  が間"
6257 "違った値を返す場合があり、これに関する議論は B<clone>(2)  も参照してほしい。"
6258
6259 #. type: Plain text
6260 #: build/C/man2/getpid.2:110
6261 msgid ""
6262 "B<clone>(2), B<fork>(2), B<kill>(2), B<exec>(3), B<mkstemp>(3), "
6263 "B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3), B<credentials>(7)"
6264 msgstr ""
6265 "B<clone>(2), B<fork>(2), B<kill>(2), B<exec>(3), B<mkstemp>(3), "
6266 "B<tempnam>(3), B<tmpfile>(3), B<tmpnam>(3), B<credentials>(7)"
6267
6268 #. type: TH
6269 #: build/C/man2/getpriority.2:48
6270 #, no-wrap
6271 msgid "GETPRIORITY"
6272 msgstr "GETPRIORITY"
6273
6274 #. type: TH
6275 #: build/C/man2/getpriority.2:48 build/C/man2/getrusage.2:39
6276 #, no-wrap
6277 msgid "2014-05-10"
6278 msgstr "2014-05-10"
6279
6280 #. type: Plain text
6281 #: build/C/man2/getpriority.2:51
6282 msgid "getpriority, setpriority - get/set program scheduling priority"
6283 msgstr ""
6284 "getpriority, setpriority - プログラムのスケジューリングの優先度を取得/設定す"
6285 "る"
6286
6287 #. type: Plain text
6288 #: build/C/man2/getpriority.2:53 build/C/man2/getrlimit.2:69
6289 #: build/C/man2/getrusage.2:44
6290 msgid "B<#include E<lt>sys/time.hE<gt>>"
6291 msgstr "B<#include E<lt>sys/time.hE<gt>>"
6292
6293 #. type: Plain text
6294 #: build/C/man2/getpriority.2:55 build/C/man2/getrlimit.2:71
6295 #: build/C/man2/getrusage.2:46
6296 msgid "B<#include E<lt>sys/resource.hE<gt>>"
6297 msgstr "B<#include E<lt>sys/resource.hE<gt>>"
6298
6299 #. type: Plain text
6300 #: build/C/man2/getpriority.2:57
6301 msgid "B<int getpriority(int >I<which>B<, id_t >I<who>B<);>"
6302 msgstr "B<int getpriority(int >I<which>B<, id_t >I<who>B<);>"
6303
6304 #. type: Plain text
6305 #: build/C/man2/getpriority.2:59
6306 msgid "B<int setpriority(int >I<which>B<, id_t >I<who>B<, int >I<prio>B<);>"
6307 msgstr "B<int setpriority(int >I<which>B<, id_t >I<who>B<, int >I<prio>B<);>"
6308
6309 #. type: Plain text
6310 #: build/C/man2/getpriority.2:70
6311 msgid ""
6312 "The scheduling priority of the process, process group, or user, as indicated "
6313 "by I<which> and I<who> is obtained with the B<getpriority>()  call and set "
6314 "with the B<setpriority>()  call."
6315 msgstr ""
6316 "システムコール B<getpriority>()  や B<setpriority>()  は、 I<which> と "
6317 "I<who> で指定されたプロセス、プロセスグループ、ユーザーの スケジューリング優"
6318 "先度 (scheduling priority) の 取得や設定をそれぞれ行う。"
6319
6320 #. type: Plain text
6321 #: build/C/man2/getpriority.2:97
6322 msgid ""
6323 "The value I<which> is one of B<PRIO_PROCESS>, B<PRIO_PGRP>, or B<PRIO_USER>, "
6324 "and I<who> is interpreted relative to I<which> (a process identifier for "
6325 "B<PRIO_PROCESS>, process group identifier for B<PRIO_PGRP>, and a user ID "
6326 "for B<PRIO_USER>).  A zero value for I<who> denotes (respectively) the "
6327 "calling process, the process group of the calling process, or the real user "
6328 "ID of the calling process.  I<Prio> is a value in the range -20 to 19 (but "
6329 "see the Notes below).  The default priority is 0; lower priorities cause "
6330 "more favorable scheduling."
6331 msgstr ""
6332 "I<which> の値は B<PRIO_PROCESS>, B<PRIO_PGRP>, B<PRIO_USER>, のどれか一つ"
6333 "で、 I<who> は I<which> に応じて解釈される (B<PRIO_PROCESS> だとプロセス識別"
6334 "子、 B<PRIO_PGRP> だとプロセスグループ識別子、 B<PRIO_USER> だと UID (ユーザ"
6335 "ID) と解釈される)。 I<who> がゼロならば、(それぞれ)呼び出したプロセス、 呼び"
6336 "出したプロセスのプロセスグループ、 呼び出したプロセスの実UID を意味する。 "
6337 "I<prio> は -20 から 19 の範囲の値で (但し以下の注意の項を参照のこと)、 デフォ"
6338 "ルトの優先度は 0 である; 小さな数字ほど、有利なスケジューリングとなる。"
6339
6340 #. type: Plain text
6341 #: build/C/man2/getpriority.2:107
6342 msgid ""
6343 "The B<getpriority>()  call returns the highest priority (lowest numerical "
6344 "value)  enjoyed by any of the specified processes.  The B<setpriority>()  "
6345 "call sets the priorities of all of the specified processes to the specified "
6346 "value.  Only the superuser may lower priorities."
6347 msgstr ""
6348 "B<getpriority>()  コールは指定したプロセスの中の最も高い優先度 (数値的には最"
6349 "小の値) を返す。 B<setpriority>()  コールは指定したプロセス全ての優先度を指定"
6350 "した値に設定する。 優先度を今より小さい値に設定できるのはスーパーユーザーだけ"
6351 "である。"
6352
6353 #. type: Plain text
6354 #: build/C/man2/getpriority.2:120
6355 msgid ""
6356 "Since B<getpriority>()  can legitimately return the value -1, it is "
6357 "necessary to clear the external variable I<errno> prior to the call, then "
6358 "check it afterward to determine if -1 is an error or a legitimate value.  "
6359 "The B<setpriority>()  call returns 0 if there is no error, or -1 if there is."
6360 msgstr ""
6361 "B<getpriority>()  は成功した場合にも -1 の値を返す可能性があるので、 呼び出し"
6362 "の前に外部変数の I<errno> をクリアし、呼び出しの後に返り値の -1 が正当な値か "
6363 "エラーかを判別する必要がある。 B<setpriority>()  コールはエラーがなければ 0 "
6364 "を返し、エラーがあれば -1 を返す。"
6365
6366 #. type: Plain text
6367 #: build/C/man2/getpriority.2:129
6368 msgid "I<which> was not one of B<PRIO_PROCESS>, B<PRIO_PGRP>, or B<PRIO_USER>."
6369 msgstr ""
6370 "I<which> が B<PRIO_PROCESS>, B<PRIO_PGRP>, B<PRIO_USER> のいずれでもない。"
6371
6372 #. type: Plain text
6373 #: build/C/man2/getpriority.2:136
6374 msgid "No process was located using the I<which> and I<who> values specified."
6375 msgstr "I<which> と I<who> で指定されたプロセスが存在しない。"
6376
6377 #. type: Plain text
6378 #: build/C/man2/getpriority.2:140
6379 msgid ""
6380 "In addition to the errors indicated above, B<setpriority>()  may fail if:"
6381 msgstr "上記のものに加えて B<setpriority>()  では以下のエラーがある:"
6382
6383 #. type: Plain text
6384 #: build/C/man2/getpriority.2:152
6385 msgid ""
6386 "The caller attempted to lower a process priority, but did not have the "
6387 "required privilege (on Linux: did not have the B<CAP_SYS_NICE> capability).  "
6388 "Since Linux 2.6.12, this error occurs only if the caller attempts to set a "
6389 "process priority outside the range of the B<RLIMIT_NICE> soft resource limit "
6390 "of the target process; see B<getrlimit>(2)  for details."
6391 msgstr ""
6392 "呼び出し元がプロセスの優先度を下げようとしたが、必要な特権を 持っていなかっ"
6393 "た (Linux の場合、 B<CAP_SYS_NICE> ケーパビリティがなかった)。 Linux 2.6.12 "
6394 "以降では、呼び出し元が、あるプロセスの優先度を、 変更対象のプロセスのリソー"
6395 "ス B<RLIMIT_NICE> のソフトリミットの範囲外に設定しようとした場合にのみ、 この"
6396 "エラーが発生する。詳細は B<getrlimit>(2)  を参照。"
6397
6398 #. type: Plain text
6399 #: build/C/man2/getpriority.2:160
6400 msgid ""
6401 "A process was located, but its effective user ID did not match either the "
6402 "effective or the real user ID of the caller, and was not privileged (on "
6403 "Linux: did not have the B<CAP_SYS_NICE> capability).  But see NOTES below."
6404 msgstr ""
6405 "プロセスは見つかったが、そのプロセスの実効 (effective) UID が 呼び出し元の実"
6406 "効UID にも実 (real) UID にも一致せず、 呼び出し元が特権も持っていなかった "
6407 "(Linux の場合、 B<CAP_SYS_NICE> ケーパビリティがなかった)。 以下の「注意」も"
6408 "参照のこと。"
6409
6410 #. type: Plain text
6411 #: build/C/man2/getpriority.2:163
6412 msgid ""
6413 "SVr4, 4.4BSD (these function calls first appeared in 4.2BSD), POSIX.1-2001."
6414 msgstr "SVr4, 4.4BSD (これらの関数は 4.2BSD で最初に登場した), POSIX.1-2001."
6415
6416 #. type: Plain text
6417 #: build/C/man2/getpriority.2:169
6418 msgid ""
6419 "A child created by B<fork>(2)  inherits its parent's nice value.  The nice "
6420 "value is preserved across B<execve>(2)."
6421 msgstr ""
6422 "B<fork>(2)  で作成された子プロセスは、 親プロセスの nice 値を継承する。 "
6423 "B<execve>(2)  の前後で nice 値は保存される。"
6424
6425 #. type: Plain text
6426 #: build/C/man2/getpriority.2:180
6427 msgid ""
6428 "The degree to which their relative nice value affects the scheduling of "
6429 "processes varies across UNIX systems, and, on Linux, across kernel "
6430 "versions.  Starting with kernel 2.6.23, Linux adopted an algorithm that "
6431 "causes relative differences in nice values to have a much stronger effect.  "
6432 "This causes very low nice values (+19) to truly provide little CPU to a "
6433 "process whenever there is any other higher priority load on the system, and "
6434 "makes high nice values (-20) deliver most of the CPU to applications that "
6435 "require it (e.g., some audio applications)."
6436 msgstr ""
6437 "相対的な nice 値の違いがプロセス間のスケジューリングにどの程度影響を与えるか "
6438 "は、UNIX システム間で異なり、Linux ではカーネルバージョンにより異なる。 "
6439 "Linux は、カーネル 2.6.23 以降で、nice 値の相対的な違いが、非常に強い影響を "
6440 "与えるアルゴリズムを採用した。このアルゴリズムでは、 他に優先度の高いものがシ"
6441 "ステムに存在する時には、 非常に低い nice 値 (+19) ではプロセスに本当にほとん"
6442 "ど CPU が割り当てられない。 また、高い nice 値 (-20) では CPU を必要とするア"
6443 "プリケーション (例えば オーディオアプリケーション) に CPU のほとんどが割り当"
6444 "てられる。"
6445
6446 #. type: Plain text
6447 #: build/C/man2/getpriority.2:195
6448 msgid ""
6449 "The details on the condition for B<EPERM> depend on the system.  The above "
6450 "description is what POSIX.1-2001 says, and seems to be followed on all System"
6451 "\\ V-like systems.  Linux kernels before 2.6.12 required the real or "
6452 "effective user ID of the caller to match the real user of the process I<who> "
6453 "(instead of its effective user ID).  Linux 2.6.12 and later require the "
6454 "effective user ID of the caller to match the real or effective user ID of "
6455 "the process I<who>.  All BSD-like systems (SunOS 4.1.3, Ultrix 4.2, 4.3BSD, "
6456 "FreeBSD 4.3, OpenBSD-2.5, ...) behave in the same manner as Linux 2.6.12 and "
6457 "later."
6458 msgstr ""
6459 "B<EPERM> が発生する条件の詳細はシステムに依存する。 上記の説明は "
6460 "POSIX.1-2001 のものであり、全ての System\\ V 風システムは これに従っているよ"
6461 "うである。 2.6.12 より前の Linux カーネルでは、呼び出し元の実 UID または 実"
6462 "効 UID がプロセス I<who> の (実効 UID でなく)  実 UID に一致する必要がある。 "
6463 "Linux 2.6.12 以降では、呼び出し元の実行 UID がプロセス I<who> の実 UID か実"
6464 "効 UID のいずれかと一致する必要がある。 全ての BSD 風システム (SunOS 4.1.3, "
6465 "Ultrix 4.2, 4.3BSD, FreeBSD 4.3, OpenBSD-2.5等) は、 Linux 2.6.12 以降と同じ"
6466 "動作をする。"
6467
6468 #. type: Plain text
6469 #: build/C/man2/getpriority.2:211
6470 msgid ""
6471 "The actual priority range varies between kernel versions.  Linux before "
6472 "1.3.36 had -infinity..15.  Since kernel 1.3.43, Linux has the range "
6473 "-20..19.  Within the kernel, nice values are actually represented using the "
6474 "corresponding range 40..1 (since negative numbers are error codes) and these "
6475 "are the values employed by the B<setpriority>()  and B<getpriority>()  "
6476 "system calls.  The glibc wrapper functions for these system calls handle the "
6477 "translations between the user-land and kernel representations of the nice "
6478 "value according to the formula I<unice\\ =\\ 20\\ -\\ knice>."
6479 msgstr ""
6480 "実際の優先度の値の範囲はカーネルのバージョンによって異なる。 1.3.36 より前の "
6481 "Linux では、優先度の範囲は負の無限大 〜 15 である。 1.3.43 以降の Linux で"
6482 "は、優先度の範囲は -20 〜 19 である。 カーネル内部では、nice 値は実際には 40 "
6483 "〜 1 の範囲を使って 表現されており (負の値はエラーコードとなるため)、こちらの"
6484 "値が システムコール B<setpriority>()  と B<getpriority>()  で使用されてい"
6485 "る。 glibc のこれらのシステムコールのラッパー関数において、nice 値の ユーザ領"
6486 "域 (user-land) とカーネル表現の間の変換が行われる。 変換式は以下の通り: "
6487 "I<unice\\ =\\ 20\\ -\\ knice>"
6488
6489 #. type: Plain text
6490 #: build/C/man2/getpriority.2:213
6491 msgid "On some systems, the range of nice values is -20..20."
6492 msgstr "いくつかのシステムでは、nice 値の範囲は \\20 〜 20 である。"
6493
6494 #. type: Plain text
6495 #: build/C/man2/getpriority.2:225
6496 msgid ""
6497 "Including I<E<lt>sys/time.hE<gt>> is not required these days, but increases "
6498 "portability.  (Indeed, I<E<lt>sys/resource.hE<gt>> defines the I<rusage> "
6499 "structure with fields of type I<struct timeval> defined in I<E<lt>sys/time."
6500 "hE<gt>>.)"
6501 msgstr ""
6502 "現在では I<E<lt>sys/time.hE<gt>> をインクルードする必要はないが、インクルード"
6503 "すれば移植性を高めることができる (実際には I<E<lt>sys/resource.hE<gt>> で "
6504 "I<rusage> 構造体が定義されているが、そのフィールドで使用されている I<struct "
6505 "timeval> 型は I<E<lt>sys/time.hE<gt>> で定義されている)。"
6506
6507 #. type: Plain text
6508 #: build/C/man2/getpriority.2:232
6509 msgid ""
6510 "According to POSIX, the nice value is a per-process setting.  However, under "
6511 "the current Linux/NPTL implementation of POSIX threads, the nice value is a "
6512 "per-thread attribute: different threads in the same process can have "
6513 "different nice values.  Portable applications should avoid relying on the "
6514 "Linux behavior, which may be made standards conformant in the future."
6515 msgstr ""
6516 "POSIX では nice 値はプロセス単位の設定となっている。 一方、 現在の POSIX ス"
6517 "レッドの Linux/NPTL 実装では、 nice 値はスレッド単位の属性である。 同じプロセ"
6518 "スの別々のスレッドが異なる nice 値を持つ場合がある。 移植性が必要なアプリケー"
6519 "ションではこの Linux の動作を前提するのは避けるべきである。 Linux の動作は将"
6520 "来標準に準拠した動作になるかもしれない。"
6521
6522 #. type: Plain text
6523 #: build/C/man2/getpriority.2:238
6524 msgid "B<nice>(1), B<renice>(1), B<fork>(2), B<capabilities>(7), B<sched>(7)"
6525 msgstr "B<nice>(1), B<renice>(1), B<fork>(2), B<capabilities>(7), B<sched>(7)"
6526
6527 #. type: Plain text
6528 #: build/C/man2/getpriority.2:241
6529 msgid ""
6530 "I<Documentation/scheduler/sched-nice-design.txt> in the Linux kernel source "
6531 "tree (since Linux 2.6.23)"
6532 msgstr ""
6533 "Linux カーネルのソースツリー内の I<Documentation/scheduler/sched-nice-design."
6534 "txt> (Linux 2.6.23 以降)"
6535
6536 #. type: TH
6537 #: build/C/man2/getresuid.2:28
6538 #, no-wrap
6539 msgid "GETRESUID"
6540 msgstr "GETRESUID"
6541
6542 #. type: Plain text
6543 #: build/C/man2/getresuid.2:31
6544 msgid "getresuid, getresgid - get real, effective and saved user/group IDs"
6545 msgstr ""
6546 "getresuid, getresgid - 実、実効、保存、ユーザー ID / グループ ID を取得する"
6547
6548 #. type: Plain text
6549 #: build/C/man2/getresuid.2:33 build/C/man2/setresuid.2:31
6550 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
6551 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
6552
6553 #. type: Plain text
6554 #: build/C/man2/getresuid.2:37
6555 msgid ""
6556 "B<int getresuid(uid_t *>I<ruid>B<, uid_t *>I<euid>B<, uid_t *>I<suid>B<);>"
6557 msgstr ""
6558 "B<int getresuid(uid_t *>I<ruid>B<, uid_t *>I<euid>B<, uid_t *>I<suid>B<);>"
6559
6560 #. type: Plain text
6561 #: build/C/man2/getresuid.2:39
6562 msgid ""
6563 "B<int getresgid(gid_t *>I<rgid>B<, gid_t *>I<egid>B<, gid_t *>I<sgid>B<);>"
6564 msgstr ""
6565 "B<int getresgid(gid_t *>I<rgid>B<, gid_t *>I<egid>B<, gid_t *>I<sgid>B<);>"
6566
6567 #. type: Plain text
6568 #: build/C/man2/getresuid.2:50
6569 msgid ""
6570 "B<getresuid>()  returns the real UID, the effective UID, and the saved set-"
6571 "user-ID of the calling process, in the arguments I<ruid>, I<euid>, and "
6572 "I<suid>, respectively.  B<getresgid>()  performs the analogous task for the "
6573 "process's group IDs."
6574 msgstr ""
6575 "B<getresuid>()  は、呼び出したプロセスの実 (real) UID、実効 (effective) "
6576 "UID、 保存 (saved) set-user-ID (B<getresgid> の場合はグループ ID) を、 それぞ"
6577 "れ引き数 I<ruid>, I<euid>, I<suid> に格納して返す。 B<getresgid>()  は、呼び"
6578 "出したプロセスのグループ ID について同様の処理を行う。"
6579
6580 #. type: Plain text
6581 #: build/C/man2/getresuid.2:60
6582 msgid ""
6583 "One of the arguments specified an address outside the calling program's "
6584 "address space."
6585 msgstr ""
6586 "指定した引き数のどれかが、呼び出したプログラムのアドレス空間の外の アドレスで"
6587 "ある。"
6588
6589 #. type: Plain text
6590 #: build/C/man2/getresuid.2:62
6591 msgid "These system calls appeared on Linux starting with kernel 2.1.44."
6592 msgstr "これらのシステムコールはカーネル 2.1.44 から Linux に登場した。"
6593
6594 #. type: Plain text
6595 #: build/C/man2/getresuid.2:67
6596 msgid ""
6597 "The prototypes are given by glibc since version 2.3.2, provided "
6598 "B<_GNU_SOURCE> is defined."
6599 msgstr ""
6600 "プロトタイプ宣言は 2.3.2 以降の glibc では B<_GNU_SOURCE> を定義していると得"
6601 "られる。"
6602
6603 #. type: Plain text
6604 #: build/C/man2/getresuid.2:70 build/C/man2/setresuid.2:86
6605 msgid ""
6606 "These calls are nonstandard; they also appear on HP-UX and some of the BSDs."
6607 msgstr "これらのコールは非標準である。 HP-UX や BSD 系のいくつかにも存在する。"
6608
6609 #. type: Plain text
6610 #: build/C/man2/getresuid.2:86
6611 msgid ""
6612 "The original Linux B<getresuid>()  and B<getresgid>()  system calls "
6613 "supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
6614 "B<getresuid32>()  and B<getresgid32>(), supporting 32-bit IDs.  The glibc "
6615 "B<getresuid>()  and B<getresgid>()  wrapper functions transparently deal "
6616 "with the variations across kernel versions."
6617 msgstr ""
6618 "元々の Linux の B<getresuid>() と B<getresgid>() システムコールは\n"
6619 "16 ビットのグループ ID だけに対応していた。\n"
6620 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
6621 "B<getresuid32>() と B<getresgid32>() が追加された。\n"
6622 "glibc の B<getresuid>() と B<getresgid>() のラッパー関数は\n"
6623 "カーネルバージョンによるこの違いを吸収している。"
6624
6625 #. type: Plain text
6626 #: build/C/man2/getresuid.2:92
6627 msgid ""
6628 "B<getuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), "
6629 "B<credentials>(7)"
6630 msgstr ""
6631 "B<getuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), "
6632 "B<credentials>(7)"
6633
6634 #. type: TH
6635 #: build/C/man2/getrlimit.2:64
6636 #, no-wrap
6637 msgid "GETRLIMIT"
6638 msgstr "GETRLIMIT"
6639
6640 #. type: TH
6641 #: build/C/man2/getrlimit.2:64
6642 #, fuzzy, no-wrap
6643 #| msgid "2014-05-21"
6644 msgid "2014-05-28"
6645 msgstr "2014-05-21"
6646
6647 #. type: Plain text
6648 #: build/C/man2/getrlimit.2:67
6649 msgid "getrlimit, setrlimit, prlimit - get/set resource limits"
6650 msgstr "getrlimit, setrlimit, prlimit - 資源の制限を取得/設定する"
6651
6652 #. type: Plain text
6653 #: build/C/man2/getrlimit.2:73
6654 msgid "B<int getrlimit(int >I<resource>B<, struct rlimit *>I<rlim>B<);>"
6655 msgstr "B<int getrlimit(int >I<resource>B<, struct rlimit *>I<rlim>B<);>"
6656
6657 #. type: Plain text
6658 #: build/C/man2/getrlimit.2:75
6659 msgid "B<int setrlimit(int >I<resource>B<, const struct rlimit *>I<rlim>B<);>"
6660 msgstr "B<int setrlimit(int >I<resource>B<, const struct rlimit *>I<rlim>B<);>"
6661
6662 #. type: Plain text
6663 #: build/C/man2/getrlimit.2:78
6664 msgid ""
6665 "B<int prlimit(pid_t >I<pid>B<, int >I<resource>B<, const struct rlimit "
6666 "*>I<new_limit>B<,>"
6667 msgstr ""
6668 "B<int prlimit(pid_t >I<pid>B<, int >I<resource>B<, const struct rlimit "
6669 "*>I<new_limit>B<,>"
6670
6671 #. type: Plain text
6672 #: build/C/man2/getrlimit.2:80
6673 msgid "B< struct rlimit *>I<old_limit>B<);>"
6674 msgstr "B< struct rlimit *>I<old_limit>B<);>"
6675
6676 #. type: Plain text
6677 #: build/C/man2/getrlimit.2:88
6678 msgid "B<prlimit>(): _GNU_SOURCE && _FILE_OFFSET_BITS == 64"
6679 msgstr "B<prlimit>(): _GNU_SOURCE && _FILE_OFFSET_BITS == 64"
6680
6681 #. type: Plain text
6682 #: build/C/man2/getrlimit.2:97
6683 msgid ""
6684 "The B<getrlimit>()  and B<setrlimit>()  system calls get and set resource "
6685 "limits respectively.  Each resource has an associated soft and hard limit, "
6686 "as defined by the I<rlimit> structure:"
6687 msgstr ""
6688 "B<getrlimit>() と B<setrlimit>() はそれぞれ資源 (resource) の制限\n"
6689 "(limit) の設定と取得を行う。 各リソースには、それに対応するソフトリミッ\n"
6690 "トとハードリミットがあり、 I<rlimit> 構造体で定義される:"
6691
6692 #. type: Plain text
6693 #: build/C/man2/getrlimit.2:104
6694 #, no-wrap
6695 msgid ""
6696 "struct rlimit {\n"
6697 "    rlim_t rlim_cur;  /* Soft limit */\n"
6698 "    rlim_t rlim_max;  /* Hard limit (ceiling for rlim_cur) */\n"
6699 "};\n"
6700 msgstr ""
6701 "struct rlimit {\n"
6702 "    rlim_t rlim_cur;  /* ソフトリミット */\n"
6703 "    rlim_t rlim_max;  /* ハードリミット\n"
6704 "                         (rlim_cur より小さくない) */\n"
6705 "};\n"
6706
6707 #. type: Plain text
6708 #: build/C/man2/getrlimit.2:115
6709 msgid ""
6710 "The soft limit is the value that the kernel enforces for the corresponding "
6711 "resource.  The hard limit acts as a ceiling for the soft limit: an "
6712 "unprivileged process may set only its soft limit to a value in the range "
6713 "from 0 up to the hard limit, and (irreversibly) lower its hard limit.  A "
6714 "privileged process (under Linux: one with the B<CAP_SYS_RESOURCE> "
6715 "capability) may make arbitrary changes to either limit value."
6716 msgstr ""
6717 "ソフトリミットは、カーネルが対応するリソースに対して課す制限値である。 ハード"
6718 "リミットはソフトリミットの上限として働く。 特権を持たないプロセスは、ソフトリ"
6719 "ミットの値を 0 からハードリミットの範囲に設定することと、 ハードリミットを下"
6720 "げることのみができる (一度下げたハードリミットは上げられない)。 特権プロセス "
6721 "(Linux では B<CAP_SYS_RESOURCE> ケーパビリティ (capability) を持つプロセス) "
6722 "は ソフトリミットとハードリミットを自由に変更できる。"
6723
6724 #. type: Plain text
6725 #: build/C/man2/getrlimit.2:122
6726 msgid ""
6727 "The value B<RLIM_INFINITY> denotes no limit on a resource (both in the "
6728 "structure returned by B<getrlimit>()  and in the structure passed to "
6729 "B<setrlimit>())."
6730 msgstr ""
6731 "値 B<RLIM_INFINITY> はリソースに制限がないことを表す (この値は "
6732 "B<getrlimit>()  が返す構造体と B<setrlimit>()  に渡す構造体の両方で使用され"
6733 "る)。"
6734
6735 #. type: Plain text
6736 #: build/C/man2/getrlimit.2:126
6737 msgid "The I<resource> argument must be one of:"
6738 msgstr "I<resource> 引き数は次のいずれか 1 つである。"
6739
6740 #. type: TP
6741 #: build/C/man2/getrlimit.2:126
6742 #, no-wrap
6743 msgid "B<RLIMIT_AS>"
6744 msgstr "B<RLIMIT_AS>"
6745
6746 #.  since 2.0.27 / 2.1.12
6747 #. type: Plain text
6748 #: build/C/man2/getrlimit.2:146
6749 msgid ""
6750 "The maximum size of the process's virtual memory (address space) in bytes.  "
6751 "This limit affects calls to B<brk>(2), B<mmap>(2)  and B<mremap>(2), which "
6752 "fail with the error B<ENOMEM> upon exceeding this limit.  Also automatic "
6753 "stack expansion will fail (and generate a B<SIGSEGV> that kills the process "
6754 "if no alternate stack has been made available via B<sigaltstack>(2)).  Since "
6755 "the value is a I<long>, on machines with a 32-bit I<long> either this limit "
6756 "is at most 2 GiB, or this resource is unlimited."
6757 msgstr ""
6758 "プロセスの仮想メモリ (アドレス空間) の最大サイズ (バイト単位)。 この制限は "
6759 "B<brk>(2), B<mmap>(2), B<mremap>(2)  の呼び出しに影響し、この制限を超えた場合"
6760 "は エラー B<ENOMEM> で失敗する。 また自動的なスタック拡張にも失敗する (さら"
6761 "に B<sigaltstack>(2)  を使った代替スタックを利用可能にしていなかった場合に"
6762 "は、 B<SIGSEGV> を生成してそのプロセスを kill する)。 この値は I<long> 型なの"
6763 "で、32 ビットの I<long> 型を持つマシンでは、 この制限は最大で 2 GiB になる"
6764 "か、この資源が無制限になる。"
6765
6766 #. type: TP
6767 #: build/C/man2/getrlimit.2:146
6768 #, no-wrap
6769 msgid "B<RLIMIT_CORE>"
6770 msgstr "B<RLIMIT_CORE>"
6771
6772 #. type: Plain text
6773 #: build/C/man2/getrlimit.2:153
6774 msgid ""
6775 "Maximum size of I<core> file.  When 0 no core dump files are created.  When "
6776 "nonzero, larger dumps are truncated to this size."
6777 msgstr ""
6778 "I<core> ファイルの最大サイズ。 0 の場合、core ファイルは生成されない。 0 以外"
6779 "の場合、このサイズより大きいダンプは切り詰められる。"
6780
6781 #. type: TP
6782 #: build/C/man2/getrlimit.2:153
6783 #, no-wrap
6784 msgid "B<RLIMIT_CPU>"
6785 msgstr "B<RLIMIT_CPU>"
6786
6787 #. type: Plain text
6788 #: build/C/man2/getrlimit.2:173
6789 msgid ""
6790 "CPU time limit in seconds.  When the process reaches the soft limit, it is "
6791 "sent a B<SIGXCPU> signal.  The default action for this signal is to "
6792 "terminate the process.  However, the signal can be caught, and the handler "
6793 "can return control to the main program.  If the process continues to consume "
6794 "CPU time, it will be sent B<SIGXCPU> once per second until the hard limit is "
6795 "reached, at which time it is sent B<SIGKILL>.  (This latter point describes "
6796 "Linux behavior.  Implementations vary in how they treat processes which "
6797 "continue to consume CPU time after reaching the soft limit.  Portable "
6798 "applications that need to catch this signal should perform an orderly "
6799 "termination upon first receipt of B<SIGXCPU>.)"
6800 msgstr ""
6801 "CPU 時間の上限 (秒数)。プロセスがソフトリミットに達した場合に、\n"
6802 "B<SIGXCPU> シグナルを送る。このシグナルに対するデフォルトの動作は、\n"
6803 "プロセスの終了である。ただし、シグナルをキャッチして、ハンドラがメイン\n"
6804 "プログラムに制御を返すこともできる。プロセスが CPU 時間を使い続けた\n"
6805 "場合は、ハードリミットに達するまで 1 秒毎にプロセスに B<SIGXCPU> を送り、\n"
6806 "ハードリミットに達すると B<SIGKILL> を送る。\n"
6807 "(ソフトリミットを超過したときの動作は、 Linux における動作である。ソフ\n"
6808 "トリミットを超えて CPU 時間を使い続けるプロセスの扱い方についての実装は\n"
6809 "変化してきている。 このシグナルをキャッチする必要のある 移植性を考えた\n"
6810 "アプリケーションでは、 最初に B<SIGXCPU> を受け取った時点で正しく終了\n"
6811 "すべきである。)"
6812
6813 #. type: TP
6814 #: build/C/man2/getrlimit.2:173
6815 #, no-wrap
6816 msgid "B<RLIMIT_DATA>"
6817 msgstr "B<RLIMIT_DATA>"
6818
6819 #. type: Plain text
6820 #: build/C/man2/getrlimit.2:184
6821 msgid ""
6822 "The maximum size of the process's data segment (initialized data, "
6823 "uninitialized data, and heap).  This limit affects calls to B<brk>(2)  and "
6824 "B<sbrk>(2), which fail with the error B<ENOMEM> upon encountering the soft "
6825 "limit of this resource."
6826 msgstr ""
6827 "プロセスのデータセグメント (初期化されたデータ・初期化されていないデータ・"
6828 "ヒープ) の最大値。 このリミットは B<brk>(2)  と B<sbrk>(2)  の呼び出しに影響"
6829 "する。 これらの関数は、このリソースのソフトリミットに達すると、 エラー "
6830 "B<ENOMEM> で失敗する。"
6831
6832 #. type: TP
6833 #: build/C/man2/getrlimit.2:184
6834 #, no-wrap
6835 msgid "B<RLIMIT_FSIZE>"
6836 msgstr "B<RLIMIT_FSIZE>"
6837
6838 #. type: Plain text
6839 #: build/C/man2/getrlimit.2:196
6840 msgid ""
6841 "The maximum size of files that the process may create.  Attempts to extend a "
6842 "file beyond this limit result in delivery of a B<SIGXFSZ> signal.  By "
6843 "default, this signal terminates a process, but a process can catch this "
6844 "signal instead, in which case the relevant system call (e.g., B<write>(2), "
6845 "B<truncate>(2))  fails with the error B<EFBIG>."
6846 msgstr ""
6847 "プロセスが作成できるファイルサイズの最大値。 このサイズを超えてファイルを拡張"
6848 "すると、 B<SIGXFSZ> シグナルを送る。 デフォルトでは、このシグナルはプロセスを"
6849 "終了する。 プロセスをキャッチすることもできるが、 関連するシステムコール "
6850 "(B<write>(2), B<truncate>(2)  など) はエラー B<EFBIG> で失敗する。"
6851
6852 #. type: TP
6853 #: build/C/man2/getrlimit.2:196
6854 #, no-wrap
6855 msgid "B<RLIMIT_LOCKS> (Early Linux 2.4 only)"
6856 msgstr "B<RLIMIT_LOCKS> (初期の Linux 2.4 のみ)"
6857
6858 #.  to be precise: Linux 2.4.0-test9; no longer in 2.4.25 / 2.5.65
6859 #. type: Plain text
6860 #: build/C/man2/getrlimit.2:204
6861 msgid ""
6862 "A limit on the combined number of B<flock>(2)  locks and B<fcntl>(2)  leases "
6863 "that this process may establish."
6864 msgstr ""
6865 "このプロセスが実行できる B<flock>(2)  ロック数と B<fcntl>(2)  リース数の合計"
6866 "値を制限する。"
6867
6868 #. type: TP
6869 #: build/C/man2/getrlimit.2:204
6870 #, no-wrap
6871 msgid "B<RLIMIT_MEMLOCK>"
6872 msgstr "B<RLIMIT_MEMLOCK>"
6873
6874 #. type: Plain text
6875 #: build/C/man2/getrlimit.2:242
6876 msgid ""
6877 "The maximum number of bytes of memory that may be locked into RAM.  In "
6878 "effect this limit is rounded down to the nearest multiple of the system page "
6879 "size.  This limit affects B<mlock>(2)  and B<mlockall>(2)  and the "
6880 "B<mmap>(2)  B<MAP_LOCKED> operation.  Since Linux 2.6.9 it also affects the "
6881 "B<shmctl>(2)  B<SHM_LOCK> operation, where it sets a maximum on the total "
6882 "bytes in shared memory segments (see B<shmget>(2))  that may be locked by "
6883 "the real user ID of the calling process.  The B<shmctl>(2)  B<SHM_LOCK> "
6884 "locks are accounted for separately from the per-process memory locks "
6885 "established by B<mlock>(2), B<mlockall>(2), and B<mmap>(2)  B<MAP_LOCKED>; a "
6886 "process can lock bytes up to this limit in each of these two categories.  In "
6887 "Linux kernels before 2.6.9, this limit controlled the amount of memory that "
6888 "could be locked by a privileged process.  Since Linux 2.6.9, no limits are "
6889 "placed on the amount of memory that a privileged process may lock, and this "
6890 "limit instead governs the amount of memory that an unprivileged process may "
6891 "lock."
6892 msgstr ""
6893 "RAM 内にロックできるメモリの最大バイト数。 実際には、この制限はシステムページ"
6894 "サイズの最も近い倍数に 切り捨てて丸められる。 この制限は B<mlock>(2), "
6895 "B<mlockall>(2), B<mmap>(2)  の B<MAP_LOCKED> 操作に影響する。 Linux 2.6.9 以"
6896 "降では B<shmctl>(2)  B<SHM_LOCK> 操作にも影響する。 この操作は呼び出し元プロ"
6897 "セスの実 (real) ユーザー ID にロックされる 共有メモリセグメント "
6898 "(B<shmget>(2)  を参照) の合計バイト数の最大値を設定する。 B<shmctl>(2)  "
6899 "B<SHM_LOCK> によるロックは、 B<mlock>(2), B<mlockall>(2), B<mmap>(2)  の "
6900 "B<MAP_LOCKED> によって確立されるプロセス毎のメモリロックとは分けて数える。 1 "
6901 "つのプロセスはこの制限までのバイトをロックできる。 この制限には 2 つの種類が"
6902 "ある。 2.6.9 より前の Linux カーネル では、 この制限は特権プロセスによって"
6903 "ロックされるメモリの合計を制御していた。 Linux 2.6.9 以降では、特権プロセスが"
6904 "ロックするメモリの合計に制限はなく、 代わりにこの制限は非特権プロセスがロック"
6905 "するメモリの合計に 適用されるようになった。"
6906
6907 #. type: TP
6908 #: build/C/man2/getrlimit.2:242
6909 #, no-wrap
6910 msgid "B<RLIMIT_MSGQUEUE> (since Linux 2.6.8)"
6911 msgstr "B<RLIMIT_MSGQUEUE> (Linux 2.6.8 以降)"
6912
6913 #. type: Plain text
6914 #: build/C/man2/getrlimit.2:250
6915 msgid ""
6916 "Specifies the limit on the number of bytes that can be allocated for POSIX "
6917 "message queues for the real user ID of the calling process.  This limit is "
6918 "enforced for B<mq_open>(3).  Each message queue that the user creates counts "
6919 "(until it is removed)  against this limit according to the formula:"
6920 msgstr ""
6921 "呼び出し元プロセスの実ユーザー ID に対して、 POSIX メッセージキューのために確"
6922 "保できるバイト数の制限を指定する。 この制限は B<mq_open>(3)  に対して適用され"
6923 "る。 ユーザが作成した各々のメッセージキューのバイト数は 以下の式により計算さ"
6924 "れ、(そのキューが削除されるまでの間)  この制限の計算対象に含められる。"
6925
6926 #. type: Plain text
6927 #: build/C/man2/getrlimit.2:254
6928 #, no-wrap
6929 msgid ""
6930 "    bytes = attr.mq_maxmsg * sizeof(struct msg_msg *) +\n"
6931 "            attr.mq_maxmsg * attr.mq_msgsize\n"
6932 msgstr ""
6933 "    bytes = attr.mq_maxmsg * sizeof(struct msg_msg *) +\n"
6934 "            attr.mq_maxmsg * attr.mq_msgsize\n"
6935
6936 #. type: Plain text
6937 #: build/C/man2/getrlimit.2:262
6938 msgid ""
6939 "where I<attr> is the I<mq_attr> structure specified as the fourth argument "
6940 "to B<mq_open>(3)."
6941 msgstr ""
6942 "ここで I<attr> は I<mq_attr> 構造体であり、 B<mq_open>(3)  の第 4 引き数とし"
6943 "て指定される。"
6944
6945 #. type: Plain text
6946 #: build/C/man2/getrlimit.2:268
6947 msgid ""
6948 "The first addend in the formula, which includes I<sizeof(struct msg_msg\\ "
6949 "*)> (4 bytes on Linux/i386), ensures that the user cannot create an "
6950 "unlimited number of zero-length messages (such messages nevertheless each "
6951 "consume some system memory for bookkeeping overhead)."
6952 msgstr ""
6953 "I<sizeof(struct msg_msg\\ *)> (Linux/i386 では 4 バイト) を含む最初の加数"
6954 "は、 ユーザーが長さ 0 のメッセージを無制限に作れないこと保証している (このよ"
6955 "うなメッセージであっても、 記録のためのオーバーヘッドでシステムメモリを消費す"
6956 "る)。"
6957
6958 #. type: TP
6959 #: build/C/man2/getrlimit.2:268
6960 #, no-wrap
6961 msgid "B<RLIMIT_NICE> (since Linux 2.6.12, but see BUGS below)"
6962 msgstr "B<RLIMIT_NICE> (Linux 2.6.12 以降, 下記の「バグ」の節も参照)"
6963
6964 #. type: Plain text
6965 #: build/C/man2/getrlimit.2:281
6966 msgid ""
6967 "Specifies a ceiling to which the process's nice value can be raised using "
6968 "B<setpriority>(2)  or B<nice>(2).  The actual ceiling for the nice value is "
6969 "calculated as I<20\\ -\\ rlim_cur>.  (This strangeness occurs because "
6970 "negative numbers cannot be specified as resource limit values, since they "
6971 "typically have special meanings.  For example, B<RLIM_INFINITY> typically is "
6972 "the same as -1.)"
6973 msgstr ""
6974 "B<setpriority>(2)  や B<nice>(2)  を使って引き上げられるプロセスの nice 値の"
6975 "上限を指定する。 nice 値の実際の上限は I<20\\ -\\ rlim_cur> で計算される (こ"
6976 "のような変な状況は、リソース制限値として負の数を指定できないため 発生する。通"
6977 "常、負の値は特別な意味を持っているからである。 例えば、通常は "
6978 "B<RLIM_INFINITY> の値は -1 である)。"
6979
6980 #. type: TP
6981 #: build/C/man2/getrlimit.2:281
6982 #, no-wrap
6983 msgid "B<RLIMIT_NOFILE>"
6984 msgstr "B<RLIMIT_NOFILE>"
6985
6986 #. type: Plain text
6987 #: build/C/man2/getrlimit.2:295
6988 msgid ""
6989 "Specifies a value one greater than the maximum file descriptor number that "
6990 "can be opened by this process.  Attempts (B<open>(2), B<pipe>(2), B<dup>(2), "
6991 "etc.)  to exceed this limit yield the error B<EMFILE>.  (Historically, this "
6992 "limit was named B<RLIMIT_OFILE> on BSD.)"
6993 msgstr ""
6994 "このプロセスがオープンできるファイルディスクリプタ数の最大値より 1 大きい値を"
6995 "指定する。 (B<open>(2), B<pipe>(2), B<dup>(2)  などにより) この上限を超えよう"
6996 "とした場合、エラー B<EMFILE> が発生する (歴史的に、BSD ではこの上限は "
6997 "B<RLIMIT_OFILE> という名前となっている)。"
6998
6999 #. type: TP
7000 #: build/C/man2/getrlimit.2:295
7001 #, no-wrap
7002 msgid "B<RLIMIT_NPROC>"
7003 msgstr "B<RLIMIT_NPROC>"
7004
7005 #. type: Plain text
7006 #: build/C/man2/getrlimit.2:308
7007 #, fuzzy
7008 #| msgid ""
7009 #| "The maximum number of processes (or, more precisely on Linux, threads)  "
7010 #| "that can be created for the real user ID of the calling process.  Upon "
7011 #| "encountering this limit, B<fork>(2)  fails with the error B<EAGAIN>."
7012 msgid ""
7013 "The maximum number of processes (or, more precisely on Linux, threads)  that "
7014 "can be created for the real user ID of the calling process.  Upon "
7015 "encountering this limit, B<fork>(2)  fails with the error B<EAGAIN>.  This "
7016 "limit is not enforced for processes that have either the B<CAP_SYS_ADMIN> or "
7017 "the B<CAP_SYS_RESOURCE> capability."
7018 msgstr ""
7019 "呼び出したプロセスの実ユーザー ID で作成できる最大プロセス数 (より正確には "
7020 "Linux ではスレッド数)。 この上限に達すると、 B<fork>(2)  はエラー B<EAGAIN> "
7021 "で失敗する。"
7022
7023 #. type: TP
7024 #: build/C/man2/getrlimit.2:308
7025 #, no-wrap
7026 msgid "B<RLIMIT_RSS>"
7027 msgstr "B<RLIMIT_RSS>"
7028
7029 #.  As at kernel 2.6.12, this limit still does nothing in 2.6 though
7030 #.  talk of making it do something has surfaced from time to time in LKML
7031 #.        -- MTK, Jul 05
7032 #. type: Plain text
7033 #: build/C/man2/getrlimit.2:320
7034 msgid ""
7035 "Specifies the limit (in pages) of the process's resident set (the number of "
7036 "virtual pages resident in RAM).  This limit has effect only in Linux 2.4.x, "
7037 "x E<lt> 30, and there affects only calls to B<madvise>(2)  specifying "
7038 "B<MADV_WILLNEED>."
7039 msgstr ""
7040 "プロセスの resident set (RAM 上に存在する仮想ページの数) の 上限を (ページ数"
7041 "で) 指定する。 この制限は 2.4.30 より前でしか影響がなく、 B<madvise>(2)  に "
7042 "B<MADV_WILLNEED> を指定した関数コールにしか影響しない。"
7043
7044 #. type: TP
7045 #: build/C/man2/getrlimit.2:320
7046 #, no-wrap
7047 msgid "B<RLIMIT_RTPRIO> (since Linux 2.6.12, but see BUGS)"
7048 msgstr "B<RLIMIT_RTPRIO> (Linux 2.6.12 以降, バグの節も参照)"
7049
7050 #. type: Plain text
7051 #: build/C/man2/getrlimit.2:327
7052 msgid ""
7053 "Specifies a ceiling on the real-time priority that may be set for this "
7054 "process using B<sched_setscheduler>(2)  and B<sched_setparam>(2)."
7055 msgstr ""
7056 "B<sched_setscheduler>(2)  や B<sched_setparam>(2)  を使って設定できる、そのプ"
7057 "ロセスのリアルタイム優先度の上限を指定する。"
7058
7059 #. type: TP
7060 #: build/C/man2/getrlimit.2:327
7061 #, no-wrap
7062 msgid "B<RLIMIT_RTTIME> (since Linux 2.6.25)"
7063 msgstr "B<RLIMIT_RTTIME> (Linux 2.6.25 以降)"
7064
7065 #. type: Plain text
7066 #: build/C/man2/getrlimit.2:339
7067 msgid ""
7068 "Specifies a limit (in microseconds)  on the amount of CPU time that a "
7069 "process scheduled under a real-time scheduling policy may consume without "
7070 "making a blocking system call.  For the purpose of this limit, each time a "
7071 "process makes a blocking system call, the count of its consumed CPU time is "
7072 "reset to zero.  The CPU time count is not reset if the process continues "
7073 "trying to use the CPU but is preempted, its time slice expires, or it calls "
7074 "B<sched_yield>(2)."
7075 msgstr ""
7076 "リアルタイムスケジューリング方針でスケジューリングされるプロセスが ブロッキン"
7077 "グ型のシステムコールを呼び出さずに消費することのできる CPU 時間の合計について"
7078 "の上限を (マイクロ秒単位で) 指定する。 この上限の目的のため、プロセスがブロッ"
7079 "キング型のシステムコールを 呼び出す度に、消費された CPU 時間のカウントは 0 に"
7080 "リセットされる。 プロセスが CPU を使い続けようとしたが他のプロセスに置き換え"
7081 "られた (preempted) 場合や、そのプロセスのタイムスライスが満了した場合、 その"
7082 "プロセスが B<sched_yield>(2)  を呼び出した場合は、CPU 時間のカウントはリセッ"
7083 "トされない。"
7084
7085 #. type: Plain text
7086 #: build/C/man2/getrlimit.2:350
7087 msgid ""
7088 "Upon reaching the soft limit, the process is sent a B<SIGXCPU> signal.  If "
7089 "the process catches or ignores this signal and continues consuming CPU time, "
7090 "then B<SIGXCPU> will be generated once each second until the hard limit is "
7091 "reached, at which point the process is sent a B<SIGKILL> signal."
7092 msgstr ""
7093 "ソフトリミットに達すると、そのプロセスに B<SIGXCPU> シグナルが送られる。その"
7094 "プロセスがこのシグナルを捕捉するか 無視して、CPU 時間を消費し続けた場合に"
7095 "は、 ハードリミットに達するまで 1 秒に 1 回 B<SIGXCPU> が生成され続けることに"
7096 "なる。 ハードリミットに達した時点で、そのプロセスには B<SIGKILL> シグナルが送"
7097 "られる。"
7098
7099 #. type: Plain text
7100 #: build/C/man2/getrlimit.2:353
7101 msgid ""
7102 "The intended use of this limit is to stop a runaway real-time process from "
7103 "locking up the system."
7104 msgstr ""
7105 "この上限を意図的に使用するのは、暴走したリアルタイムプロセスを 停止して、シス"
7106 "テムが動かなくなるのを避ける場合である。"
7107
7108 #. type: TP
7109 #: build/C/man2/getrlimit.2:353
7110 #, no-wrap
7111 msgid "B<RLIMIT_SIGPENDING> (since Linux 2.6.8)"
7112 msgstr "B<RLIMIT_SIGPENDING> (Linux 2.6.8 以降)"
7113
7114 #.  This replaces the /proc/sys/kernel/rtsig-max system-wide limit
7115 #.  that was present in kernels <= 2.6.7.  MTK Dec 04
7116 #. type: Plain text
7117 #: build/C/man2/getrlimit.2:367
7118 msgid ""
7119 "Specifies the limit on the number of signals that may be queued for the real "
7120 "user ID of the calling process.  Both standard and real-time signals are "
7121 "counted for the purpose of checking this limit.  However, the limit is "
7122 "enforced only for B<sigqueue>(3); it is always possible to use B<kill>(2)  "
7123 "to queue one instance of any of the signals that are not already queued to "
7124 "the process."
7125 msgstr ""
7126 "呼び出し元プロセスの実ユーザー ID に対して キューに入れられるシグナルの\n"
7127 "数の制限を指定する。この制限をチェックするため、標準シグナルとリアルタ\n"
7128 "イムシグナルの両方がカウントされる。しかし、この制限は B<sigqueue>(3)\n"
7129 "に対してのみ適用され、 B<kill>(2) 使うことで、そのプロセスに対してま\n"
7130 "だキューに入れられていない シグナルのインスタンスをキューに入れることが\n"
7131 "できる。"
7132
7133 #. type: TP
7134 #: build/C/man2/getrlimit.2:367
7135 #, no-wrap
7136 msgid "B<RLIMIT_STACK>"
7137 msgstr "B<RLIMIT_STACK>"
7138
7139 #. type: Plain text
7140 #: build/C/man2/getrlimit.2:375
7141 msgid ""
7142 "The maximum size of the process stack, in bytes.  Upon reaching this limit, "
7143 "a B<SIGSEGV> signal is generated.  To handle this signal, a process must "
7144 "employ an alternate signal stack (B<sigaltstack>(2))."
7145 msgstr ""
7146 "プロセススタックの最大サイズをバイト単位で指定する。 この上限に達すると、 "
7147 "B<SIGSEGV> シグナルが生成される。 このシグナルを扱うためには、 プロセスは代り"
7148 "のシグナルスタック (B<sigaltstack>(2))  を使用しなければならない。"
7149
7150 #. type: Plain text
7151 #: build/C/man2/getrlimit.2:380
7152 msgid ""
7153 "Since Linux 2.6.23, this limit also determines the amount of space used for "
7154 "the process's command-line arguments and environment variables; for details, "
7155 "see B<execve>(2)."
7156 msgstr ""
7157 "Linux 2.6.23 以降では、この制限はプロセスのコマンドライン引き数と環境変数 に"
7158 "使用される空間の合計サイズの上限の決定にも使用される。詳細については "
7159 "B<execve>(2)  を参照。"
7160
7161 #. type: SS
7162 #: build/C/man2/getrlimit.2:380
7163 #, no-wrap
7164 msgid "prlimit()"
7165 msgstr "prlimit()"
7166
7167 #.  commit c022a0acad534fd5f5d5f17280f6d4d135e74e81
7168 #.  Author: Jiri Slaby <jslaby@suse.cz>
7169 #.  Date:   Tue May 4 18:03:50 2010 +0200
7170 #. type: Plain text
7171 #: build/C/man2/getrlimit.2:391
7172 msgid ""
7173 "The Linux-specific B<prlimit>()  system call combines and extends the "
7174 "functionality of B<setrlimit>()  and B<getrlimit>().  It can be used to both "
7175 "set and get the resource limits of an arbitrary process."
7176 msgstr ""
7177 "Linux 固有の B<prlimit>() システムコールは、 B<setrlimit>() と B<getrlimit> "
7178 "の機能を合わせて拡張したものである。 このシステムコールを使って、任意のプロセ"
7179 "スのリソース上限の設定と取得を行うことができる。"
7180
7181 #. type: Plain text
7182 #: build/C/man2/getrlimit.2:398
7183 msgid ""
7184 "The I<resource> argument has the same meaning as for B<setrlimit>()  and "
7185 "B<getrlimit>()."
7186 msgstr ""
7187 "I<resource> 引き数は B<setrlimit>() や B<getrlimit>() と同じ意味である。"
7188
7189 #. type: Plain text
7190 #: build/C/man2/getrlimit.2:416
7191 msgid ""
7192 "If the I<new_limit> argument is a not NULL, then the I<rlimit> structure to "
7193 "which it points is used to set new values for the soft and hard limits for "
7194 "I<resource>.  If the I<old_limit> argument is a not NULL, then a successful "
7195 "call to B<prlimit>()  places the previous soft and hard limits for "
7196 "I<resource> in the I<rlimit> structure pointed to by I<old_limit>."
7197 msgstr ""
7198 "I<new_limit> 引き数が NULL 以外の場合、 I<new_limit> が指す I<rlimit> 構造体"
7199 "を使って I<resource> のソフトリミットとハードリミットの新しい値が設定され"
7200 "る。 I<old_limit> 引き数が NULL 以外の場合、 B<prlimit>() の呼び出しが成功す"
7201 "ると、 I<resource> の直前のソフトリミットとハードリミットが I<old_limit> が指"
7202 "す I<rlimit> 構造体に格納される。"
7203
7204 #.  FIXME this permission check is strange
7205 #.  Asked about this on LKML, 7 Nov 2010
7206 #.      "Inconsistent credential checking in prlimit() syscall"
7207 #. type: Plain text
7208 #: build/C/man2/getrlimit.2:435
7209 msgid ""
7210 "The I<pid> argument specifies the ID of the process on which the call is to "
7211 "operate.  If I<pid> is 0, then the call applies to the calling process.  To "
7212 "set or get the resources of a process other than itself, the caller must "
7213 "have the B<CAP_SYS_RESOURCE> capability, or the real, effective, and saved "
7214 "set user IDs of the target process must match the real user ID of the caller "
7215 "I<and> the real, effective, and saved set group IDs of the target process "
7216 "must match the real group ID of the caller."
7217 msgstr ""
7218 "I<pid> 引き数は呼び出しの操作対象となるプロセス ID を指定する。 I<pid> が 0 "
7219 "の場合、呼び出しは呼び出し元プロセスに対して適用される。 自分以外のプロセスの"
7220 "リソースの設定と取得を行うためには、 呼び出し元プロセスが "
7221 "B<CAP_SYS_RESOURCE> ケーパビリティを持っているか、 対象となるプロセスの実ユー"
7222 "ザ ID、 実効ユーザ ID、 保存 set-user-ID が呼び出し元プロセスの実ユーザ ID と"
7223 "一致し、 かつ、 対象となるプロセスの実グループ ID、 実効グループ ID、 保存 "
7224 "set-group-ID が呼び出し元プロセスの実グループ ID と一致していなければならな"
7225 "い。"
7226
7227 #. type: Plain text
7228 #: build/C/man2/getrlimit.2:440
7229 msgid ""
7230 "On success, these system calls return 0.  On error, -1 is returned, and "
7231 "I<errno> is set appropriately."
7232 msgstr ""
7233 "成功した場合、これらのシステムコールは 0 を返す。\n"
7234 "エラーの場合は -1 が返され、 I<errno> が適切に設定される。"
7235
7236 #. type: Plain text
7237 #: build/C/man2/getrlimit.2:445
7238 msgid ""
7239 "A pointer argument points to a location outside the accessible address space."
7240 msgstr "場所を指すポインタ引き数がアクセス可能なアドレス空間外を指している。"
7241
7242 #. type: Plain text
7243 #: build/C/man2/getrlimit.2:457
7244 msgid ""
7245 "The value specified in I<resource> is not valid; or, for B<setrlimit>()  or "
7246 "B<prlimit>(): I<rlim-E<gt>rlim_cur> was greater than I<rlim-E<gt>rlim_max>."
7247 msgstr ""
7248 "I<resource> で指定された値が有効でない。\n"
7249 "または、 B<setrlimit>() や B<prlimit>() で、\n"
7250 "I<rlim-E<gt>rlim_cur> が I<rlim-E<gt>rlim_max> よりも大きかった。"
7251
7252 #. type: Plain text
7253 #: build/C/man2/getrlimit.2:469
7254 msgid ""
7255 "An unprivileged process tried to raise the hard limit; the "
7256 "B<CAP_SYS_RESOURCE> capability is required to do this.  Or, the caller tried "
7257 "to increase the hard B<RLIMIT_NOFILE> limit above the current kernel maximum "
7258 "(B<NR_OPEN>).  Or, the calling process did not have permission to set limits "
7259 "for the process specified by I<pid>."
7260 msgstr ""
7261 "特権のないプロセスがハードリミットを上げようとした。\n"
7262 "これを行うためには B<CAP_SYS_RESOURCE> ケーパビリティが必要である。\n"
7263 "または、特権のないプロセスが B<RLIMIT_NOFILE> ハードリミットを\n"
7264 "現在のカーネルの最大値 (B<NR_OPEN>) 以上に増やそうとした。\n"
7265 "または、呼び出したプロセスが I<pid> で指定されたプロセスのリミットを\n"
7266 "設定する許可を持っていなかった。"
7267
7268 #. type: Plain text
7269 #: build/C/man2/getrlimit.2:473
7270 msgid "Could not find a process with the ID specified in I<pid>."
7271 msgstr "I<pid> で指定された ID のプロセスが見つからなかった。"
7272
7273 #. type: Plain text
7274 #: build/C/man2/getrlimit.2:478
7275 msgid ""
7276 "The B<prlimit>()  system call is available since Linux 2.6.36.  Library "
7277 "support is available since glibc 2.13."
7278 msgstr ""
7279 "B<prlimit>() システムコールは Linux 2.6.36 以降で利用できる。 ライブラリのサ"
7280 "ポートは glibc 2.13 以降で利用できる。"
7281
7282 #. type: Plain text
7283 #: build/C/man2/getrlimit.2:482
7284 msgid "B<getrlimit>(), B<setrlimit>(): SVr4, 4.3BSD, POSIX.1-2001."
7285 msgstr "B<getrlimit>(), B<setrlimit>(): SVr4, 4.3BSD, POSIX.1-2001."
7286
7287 #. type: Plain text
7288 #: build/C/man2/getrlimit.2:485
7289 msgid "B<prlimit>(): Linux-specific."
7290 msgstr "B<prlimit>(): Linux 固有。"
7291
7292 #. type: Plain text
7293 #: build/C/man2/getrlimit.2:501
7294 msgid ""
7295 "B<RLIMIT_MEMLOCK> and B<RLIMIT_NPROC> derive from BSD and are not specified "
7296 "in POSIX.1-2001; they are present on the BSDs and Linux, but on few other "
7297 "implementations.  B<RLIMIT_RSS> derives from BSD and is not specified in "
7298 "POSIX.1-2001; it is nevertheless present on most implementations.  "
7299 "B<RLIMIT_MSGQUEUE>, B<RLIMIT_NICE>, B<RLIMIT_RTPRIO>, B<RLIMIT_RTTIME>, and "
7300 "B<RLIMIT_SIGPENDING> are Linux-specific."
7301 msgstr ""
7302 "B<RLIMIT_MEMLOCK> と B<RLIMIT_NPROC> は BSD から派生し、\n"
7303 "POSIX.1-2001 には指定されていない。\n"
7304 "これらは BSD 系と Linux に存在するが、他の実装は少ない。\n"
7305 "B<RLIMIT_RSS> は BSD から派生し、POSIX.1-2001 には指定されていない。\n"
7306 "それにも関わらず多くの実装で存在する。\n"
7307 "B<RLIMIT_MSGQUEUE>, B<RLIMIT_NICE>, B<RLIMIT_RTPRIO>, B<RLIMIT_RTTIME>,\n"
7308 "B<RLIMIT_SIGPENDING> は Linux 固有のものである。"
7309
7310 #. type: Plain text
7311 #: build/C/man2/getrlimit.2:507
7312 msgid ""
7313 "A child process created via B<fork>(2)  inherits its parent's resource "
7314 "limits.  Resource limits are preserved across B<execve>(2)."
7315 msgstr ""
7316 "B<fork>(2)  で作成された作成された子プロセスは、 親プロセスのリソース制限を継"
7317 "承する。 B<execve>(2)  の前後でリソース制限は保存される。"
7318
7319 #. type: Plain text
7320 #: build/C/man2/getrlimit.2:512
7321 msgid ""
7322 "Lowering the soft limit for a resource below the process's current "
7323 "consumption of that resource will succeed (but will prevent the process from "
7324 "further increasing its consumption of the resource)."
7325 msgstr ""
7326 "リソースのソフトリミットをそのプロセスが現在のリソース使用量より小さい値に設"
7327 "定することはできる (但し、そのプロセスはそれ以降そのリソースの使用量を増やす"
7328 "ことができなくなる)。"
7329
7330 #. type: Plain text
7331 #: build/C/man2/getrlimit.2:521
7332 msgid ""
7333 "One can set the resource limits of the shell using the built-in I<ulimit> "
7334 "command (I<limit> in B<csh>(1)).  The shell's resource limits are inherited "
7335 "by the processes that it creates to execute commands."
7336 msgstr ""
7337 "シェルのリソース制限は、シェルの組み込みコマンドである I<ulimit> (B<csh>(1)  "
7338 "では I<limit )> を使って設定することができる。 このシェルのリソース制限は、コ"
7339 "マンドを実行してシェルが生成するプロセス に引き継がれる。"
7340
7341 #. type: Plain text
7342 #: build/C/man2/getrlimit.2:526
7343 msgid ""
7344 "Since Linux 2.6.24, the resource limits of any process can be inspected via "
7345 "I</proc/[pid]/limits>; see B<proc>(5)."
7346 msgstr ""
7347 "Linux 2.6.24 以降では、 プロセスのリソース上限は I</proc/[pid]/limits> で知る"
7348 "ことができる。 B<proc>(5) 参照。"
7349
7350 #. type: Plain text
7351 #: build/C/man2/getrlimit.2:535
7352 msgid ""
7353 "Ancient systems provided a B<vlimit>()  function with a similar purpose to "
7354 "B<setrlimit>().  For backward compatibility, glibc also provides "
7355 "B<vlimit>().  All new applications should be written using B<setrlimit>()."
7356 msgstr ""
7357 "古いシステムでは、 B<setrlimit>()  と同様の目的を持つ関数 B<vlimit>()  が提供"
7358 "されていた。 後方互換性のため、glibc でも B<vlimit>()  を提供している。 全て"
7359 "の新しいアプリケーションでは、 B<setrlimit>()  を使用すべきである。"
7360
7361 #.  FIXME prlimit() does not suffer
7362 #.  https://bugzilla.kernel.org/show_bug.cgi?id=5042
7363 #.  http://sources.redhat.com/bugzilla/show_bug.cgi?id=12201
7364 #.  Since versions 2.13, glibc has library implementations of
7365 #.  getrlimit() and setrlimit() that use prlimit() to work around
7366 #.  this bug.
7367 #. type: Plain text
7368 #: build/C/man2/getrlimit.2:550
7369 msgid ""
7370 "In older Linux kernels, the B<SIGXCPU> and B<SIGKILL> signals delivered when "
7371 "a process encountered the soft and hard B<RLIMIT_CPU> limits were delivered "
7372 "one (CPU) second later than they should have been.  This was fixed in kernel "
7373 "2.6.8."
7374 msgstr ""
7375 "以前の Linux カーネルでは、プロセスがソフトまたはハード B<RLIMIT_CPU> リミッ"
7376 "トに達した場合に送られる B<SIGXCPU> と B<SIGKILL> シグナルが、本来送られるべ"
7377 "き時点の 1 (CPU) 秒後に送られてしまう。 これはカーネル 2.6.8 で修正された。"
7378
7379 #.  see http://marc.theaimsgroup.com/?l=linux-kernel&m=114008066530167&w=2
7380 #. type: Plain text
7381 #: build/C/man2/getrlimit.2:558
7382 msgid ""
7383 "In 2.6.x kernels before 2.6.17, a B<RLIMIT_CPU> limit of 0 is wrongly "
7384 "treated as \"no limit\" (like B<RLIM_INFINITY>).  Since Linux 2.6.17, "
7385 "setting a limit of 0 does have an effect, but is actually treated as a limit "
7386 "of 1 second."
7387 msgstr ""
7388 "2.6.17 より前の 2.6.x カーネルでは、 B<RLIMIT_CPU> リミットが 0 の場合、 "
7389 "(B<RLIM_INFINITY> と同じように) 「制限なし」と間違って解釈されていた。 Linux "
7390 "2.6.17 以降では、リミットを 0 に設定した場合にも 効果を持つようになっている"
7391 "が、実際にはリミットの値は 1 秒となる。"
7392
7393 #.  See https://lwn.net/Articles/145008/
7394 #. type: Plain text
7395 #: build/C/man2/getrlimit.2:563
7396 msgid ""
7397 "A kernel bug means that B<RLIMIT_RTPRIO> does not work in kernel 2.6.12; the "
7398 "problem is fixed in kernel 2.6.13."
7399 msgstr ""
7400 "カーネル 2.6.12 には、 B<RLIMIT_RTPRIO> が動作しないというバグがある。この問"
7401 "題はカーネル 2.6.13 で修正されている。"
7402
7403 #.  see http://marc.theaimsgroup.com/?l=linux-kernel&m=112256338703880&w=2
7404 #. type: Plain text
7405 #: build/C/man2/getrlimit.2:574
7406 msgid ""
7407 "In kernel 2.6.12, there was an off-by-one mismatch between the priority "
7408 "ranges returned by B<getpriority>(2)  and B<RLIMIT_NICE>.  This had the "
7409 "effect that the actual ceiling for the nice value was calculated as I<19\\ -"
7410 "\\ rlim_cur>.  This was fixed in kernel 2.6.13."
7411 msgstr ""
7412 "カーネル 2.6.12 では、 B<getpriority>(2)  と B<RLIMIT_NICE> が返す優先度の範"
7413 "囲が一つずれていた。このため、nice 値の実際の上限が I<19\\ -\\ rlim_cur> に"
7414 "なってしまうという影響があった。これはカーネル 2.6.13 で修正された。"
7415
7416 #.  The relevant patch, sent to LKML, seems to be
7417 #.  http://thread.gmane.org/gmane.linux.kernel/273462
7418 #.  From: Roland McGrath <roland <at> redhat.com>
7419 #.  Subject: [PATCH 7/7] make RLIMIT_CPU/SIGXCPU per-process
7420 #.  Date: 2005-01-23 23:27:46 GMT
7421 #.  Tested Solaris 10, FreeBSD 9, OpenBSD 5.0
7422 #.  FIXME https://bugzilla.kernel.org/show_bug.cgi?id=50951
7423 #. type: Plain text
7424 #: build/C/man2/getrlimit.2:601
7425 msgid ""
7426 "Since Linux 2.6.12, if a process reaches its soft B<RLIMIT_CPU> limit and "
7427 "has a handler installed for B<SIGXCPU>, then, in addition to invoking the "
7428 "signal handler, the kernel increases the soft limit by one second.  This "
7429 "behavior repeats if the process continues to consume CPU time, until the "
7430 "hard limit is reached, at which point the process is killed.  Other "
7431 "implementations do not change the B<RLIMIT_CPU> soft limit in this manner, "
7432 "and the Linux behavior is probably not standards conformant; portable "
7433 "applications should avoid relying on this Linux-specific behavior.  The "
7434 "Linux-specific B<RLIMIT_RTTIME> limit exhibits the same behavior when the "
7435 "soft limit is encountered."
7436 msgstr ""
7437 "Linux 2.6.12 以降では、 プロセスがその B<RLIMIT_CPU> ソフトリミットに達し、 "
7438 "B<SIGXCPU> に対してシグナルハンドラが設定されている場合、 シグナルハンドラを"
7439 "起動するだけでなく、 カーネルは 1 秒間ソフトリミットを増やす。 そのプロセス"
7440 "が CPU 時間を消費し続けている限り、 ハードリミットに達するまで、この動作が繰"
7441 "り返される。 ハードリミットに達すると、その時点でプロセスは kill される。 他"
7442 "の実装では、上記のような B<RLIMIT_CPU> ソフトリミットの変更は行われず、 おそ"
7443 "らく Linux の動作は標準に準拠していない。 移植性が必要なアプリケーションでは"
7444 "この Linux 固有の動作を前提にするのは避けるべきである。 Linux 固有の上限 "
7445 "B<RLIMIT_RTTIME> でも、 ソフトリミットに達した場合に同じ動作となる。"
7446
7447 #. type: Plain text
7448 #: build/C/man2/getrlimit.2:610
7449 msgid ""
7450 "Kernels before 2.4.22 did not diagnose the error B<EINVAL> for "
7451 "B<setrlimit>()  when I<rlim-E<gt>rlim_cur> was greater than I<rlim-"
7452 "E<gt>rlim_max>."
7453 msgstr ""
7454 "2.4.22 より前のカーネルでは、 I<rlim-E<gt>rlim_cur> が I<rlim-E<gt>rlim_max> "
7455 "より大きかった場合、 B<setrlimit>()  での B<EINVAL> エラーを検出できない。"
7456
7457 #. type: Plain text
7458 #: build/C/man2/getrlimit.2:613
7459 msgid "The program below demonstrates the use of B<prlimit>()."
7460 msgstr "以下のプログラムに B<prlimit>() の使用例を示す。"
7461
7462 #. type: Plain text
7463 #: build/C/man2/getrlimit.2:622
7464 #, no-wrap
7465 msgid ""
7466 "#define _GNU_SOURCE\n"
7467 "#define _FILE_OFFSET_BITS 64\n"
7468 "#include E<lt>stdio.hE<gt>\n"
7469 "#include E<lt>time.hE<gt>\n"
7470 "#include E<lt>stdlib.hE<gt>\n"
7471 "#include E<lt>unistd.hE<gt>\n"
7472 "#include E<lt>sys/resource.hE<gt>\n"
7473 msgstr ""
7474 "#define _GNU_SOURCE\n"
7475 "#define _FILE_OFFSET_BITS 64\n"
7476 "#include E<lt>stdio.hE<gt>\n"
7477 "#include E<lt>time.hE<gt>\n"
7478 "#include E<lt>stdlib.hE<gt>\n"
7479 "#include E<lt>unistd.hE<gt>\n"
7480 "#include E<lt>sys/resource.hE<gt>\n"
7481
7482 #. type: Plain text
7483 #: build/C/man2/getrlimit.2:625
7484 #, no-wrap
7485 msgid ""
7486 "#define errExit(msg) \tdo { perror(msg); exit(EXIT_FAILURE); \\e\n"
7487 "                        } while (0)\n"
7488 msgstr ""
7489 "#define errExit(msg) \tdo { perror(msg); exit(EXIT_FAILURE); \\e\n"
7490 "                        } while (0)\n"
7491
7492 #. type: Plain text
7493 #: build/C/man2/getrlimit.2:632
7494 #, no-wrap
7495 msgid ""
7496 "int\n"
7497 "main(int argc, char *argv[])\n"
7498 "{\n"
7499 "    struct rlimit old, new;\n"
7500 "    struct rlimit *newp;\n"
7501 "    pid_t pid;\n"
7502 msgstr ""
7503 "int\n"
7504 "main(int argc, char *argv[])\n"
7505 "{\n"
7506 "    struct rlimit old, new;\n"
7507 "    struct rlimit *newp;\n"
7508 "    pid_t pid;\n"
7509
7510 #. type: Plain text
7511 #: build/C/man2/getrlimit.2:638
7512 #, no-wrap
7513 msgid ""
7514 "    if (!(argc == 2 || argc == 4)) {\n"
7515 "        fprintf(stderr, \"Usage: %s E<lt>pidE<gt> [E<lt>new-soft-limitE<gt> \"\n"
7516 "                \"E<lt>new-hard-limitE<gt>]\\en\", argv[0]);\n"
7517 "        exit(EXIT_FAILURE);\n"
7518 "    }\n"
7519 msgstr ""
7520 "    if (!(argc == 2 || argc == 4)) {\n"
7521 "        fprintf(stderr, \"Usage: %s E<lt>pidE<gt> [E<lt>new-soft-limitE<gt> \"\n"
7522 "                \"E<lt>new-hard-limitE<gt>]\\en\", argv[0]);\n"
7523 "        exit(EXIT_FAILURE);\n"
7524 "    }\n"
7525
7526 #. type: Plain text
7527 #: build/C/man2/getrlimit.2:640
7528 #, no-wrap
7529 msgid "    pid = atoi(argv[1]);        /* PID of target process */\n"
7530 msgstr "    pid = atoi(argv[1]);        /* PID of target process */\n"
7531
7532 #. type: Plain text
7533 #: build/C/man2/getrlimit.2:647
7534 #, no-wrap
7535 msgid ""
7536 "    newp = NULL;\n"
7537 "    if (argc == 4) {\n"
7538 "        new.rlim_cur = atoi(argv[2]);\n"
7539 "        new.rlim_max = atoi(argv[3]);\n"
7540 "        newp = &new;\n"
7541 "    }\n"
7542 msgstr ""
7543 "    newp = NULL;\n"
7544 "    if (argc == 4) {\n"
7545 "        new.rlim_cur = atoi(argv[2]);\n"
7546 "        new.rlim_max = atoi(argv[3]);\n"
7547 "        newp = &new;\n"
7548 "    }\n"
7549
7550 #. type: Plain text
7551 #: build/C/man2/getrlimit.2:650
7552 #, no-wrap
7553 msgid ""
7554 "    /* Set CPU time limit of target process; retrieve and display\n"
7555 "       previous limit */\n"
7556 msgstr ""
7557 "    /* Set CPU time limit of target process; retrieve and display\n"
7558 "       previous limit */\n"
7559
7560 #. type: Plain text
7561 #: build/C/man2/getrlimit.2:655
7562 #, no-wrap
7563 msgid ""
7564 "    if (prlimit(pid, RLIMIT_CPU, newp, &old) == -1)\n"
7565 "        errExit(\"prlimit-1\");\n"
7566 "    printf(\"Previous limits: soft=%lld; hard=%lld\\en\",\n"
7567 "            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
7568 msgstr ""
7569 "    if (prlimit(pid, RLIMIT_CPU, newp, &old) == -1)\n"
7570 "        errExit(\"prlimit-1\");\n"
7571 "    printf(\"Previous limits: soft=%lld; hard=%lld\\en\",\n"
7572 "            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
7573
7574 #. type: Plain text
7575 #: build/C/man2/getrlimit.2:657
7576 #, no-wrap
7577 msgid "    /* Retrieve and display new CPU time limit */\n"
7578 msgstr "    /* Retrieve and display new CPU time limit */\n"
7579
7580 #. type: Plain text
7581 #: build/C/man2/getrlimit.2:662
7582 #, no-wrap
7583 msgid ""
7584 "    if (prlimit(pid, RLIMIT_CPU, NULL, &old) == -1)\n"
7585 "        errExit(\"prlimit-2\");\n"
7586 "    printf(\"New limits: soft=%lld; hard=%lld\\en\",\n"
7587 "            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
7588 msgstr ""
7589 "    if (prlimit(pid, RLIMIT_CPU, NULL, &old) == -1)\n"
7590 "        errExit(\"prlimit-2\");\n"
7591 "    printf(\"New limits: soft=%lld; hard=%lld\\en\",\n"
7592 "            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
7593
7594 #. type: Plain text
7595 #: build/C/man2/getrlimit.2:665
7596 #, no-wrap
7597 msgid ""
7598 "    exit(EXIT_FAILURE);\n"
7599 "}\n"
7600 msgstr ""
7601 "    exit(EXIT_FAILURE);\n"
7602 "}\n"
7603
7604 #. type: Plain text
7605 #: build/C/man2/getrlimit.2:684
7606 msgid ""
7607 "B<prlimit>(1), B<dup>(2), B<fcntl>(2), B<fork>(2), B<getrusage>(2), "
7608 "B<mlock>(2), B<mmap>(2), B<open>(2), B<quotactl>(2), B<sbrk>(2), "
7609 "B<shmctl>(2), B<malloc>(3), B<sigqueue>(3), B<ulimit>(3), B<core>(5), "
7610 "B<capabilities>(7), B<signal>(7)"
7611 msgstr ""
7612 "B<prlimit>(1), B<dup>(2), B<fcntl>(2), B<fork>(2), B<getrusage>(2), "
7613 "B<mlock>(2), B<mmap>(2), B<open>(2), B<quotactl>(2), B<sbrk>(2), "
7614 "B<shmctl>(2), B<malloc>(3), B<sigqueue>(3), B<ulimit>(3), B<core>(5), "
7615 "B<capabilities>(7), B<signal>(7)"
7616
7617 #. type: TH
7618 #: build/C/man2/getrusage.2:39
7619 #, no-wrap
7620 msgid "GETRUSAGE"
7621 msgstr "GETRUSAGE"
7622
7623 #. type: Plain text
7624 #: build/C/man2/getrusage.2:42
7625 msgid "getrusage - get resource usage"
7626 msgstr "getrusage - 資源の使用量を取得する"
7627
7628 #. type: Plain text
7629 #: build/C/man2/getrusage.2:48
7630 msgid "B<int getrusage(int >I<who>B<, struct rusage *>I<usage>B<);>"
7631 msgstr "B<int getrusage(int >I<who>B<, struct rusage *>I<usage>B<);>"
7632
7633 #. type: Plain text
7634 #: build/C/man2/getrusage.2:54
7635 msgid ""
7636 "B<getrusage>()  returns resource usage measures for I<who>, which can be one "
7637 "of the following:"
7638 msgstr ""
7639 "B<getrusage>()  は I<who> の資源 (resource) の使用量を返す。 I<who> には以下"
7640 "のいずれか一つを指定できる。"
7641
7642 #. type: TP
7643 #: build/C/man2/getrusage.2:54
7644 #, no-wrap
7645 msgid "B<RUSAGE_SELF>"
7646 msgstr "B<RUSAGE_SELF>"
7647
7648 #. type: Plain text
7649 #: build/C/man2/getrusage.2:58
7650 msgid ""
7651 "Return resource usage statistics for the calling process, which is the sum "
7652 "of resources used by all threads in the process."
7653 msgstr ""
7654 "呼び出したプロセスの資源使用量、 そのプロセス内の全スレッドが使用している資源"
7655 "の合計を返す。"
7656
7657 #. type: TP
7658 #: build/C/man2/getrusage.2:58
7659 #, no-wrap
7660 msgid "B<RUSAGE_CHILDREN>"
7661 msgstr "B<RUSAGE_CHILDREN>"
7662
7663 #. type: Plain text
7664 #: build/C/man2/getrusage.2:65
7665 msgid ""
7666 "Return resource usage statistics for all children of the calling process "
7667 "that have terminated and been waited for.  These statistics will include the "
7668 "resources used by grandchildren, and further removed descendants, if all of "
7669 "the intervening descendants waited on their terminated children."
7670 msgstr ""
7671 "呼び出したプロセスの子プロセスのうち、 終了して待ち状態にある全プロセスが使用"
7672 "している資源使用量の統計を返す。 これらの統計情報には、孫プロセスやその子孫の"
7673 "プロセスのうち、 削除待ちのものが使用している資源も含まれる。"
7674
7675 #. type: TP
7676 #: build/C/man2/getrusage.2:65
7677 #, no-wrap
7678 msgid "B<RUSAGE_THREAD> (since Linux 2.6.26)"
7679 msgstr "B<RUSAGE_THREAD> (Linux 2.6.26 以降)"
7680
7681 #. type: Plain text
7682 #: build/C/man2/getrusage.2:75
7683 msgid ""
7684 "Return resource usage statistics for the calling thread.  The B<_GNU_SOURCE> "
7685 "feature test macro must be defined (before including I<any> header file)  in "
7686 "order to obtain the definition of this constant from I<E<lt>sys/resource."
7687 "hE<gt>>."
7688 msgstr ""
7689 "呼び出したスレッドに関する資源使用量の統計を返す。 I<E<lt>sys/resource."
7690 "hE<gt>> からこの定数の定義を得るためには、 ((I<どの>ヘッダファイルをインク"
7691 "ルードするよりも前に) 機能検査マクロ B<_GNU_SOURCE> を定義しなければならな"
7692 "い。"
7693
7694 #. type: Plain text
7695 #: build/C/man2/getrusage.2:79
7696 msgid ""
7697 "The resource usages are returned in the structure pointed to by I<usage>, "
7698 "which has the following form:"
7699 msgstr ""
7700 "資源使用量は I<usage> が指す構造体に格納されて返される。 構造体は以下の形式で"
7701 "ある。"
7702
7703 #. type: Plain text
7704 #: build/C/man2/getrusage.2:100
7705 #, no-wrap
7706 msgid ""
7707 "struct rusage {\n"
7708 "    struct timeval ru_utime; /* user CPU time used */\n"
7709 "    struct timeval ru_stime; /* system CPU time used */\n"
7710 "    long   ru_maxrss;        /* maximum resident set size */\n"
7711 "    long   ru_ixrss;         /* integral shared memory size */\n"
7712 "    long   ru_idrss;         /* integral unshared data size */\n"
7713 "    long   ru_isrss;         /* integral unshared stack size */\n"
7714 "    long   ru_minflt;        /* page reclaims (soft page faults) */\n"
7715 "    long   ru_majflt;        /* page faults (hard page faults) */\n"
7716 "    long   ru_nswap;         /* swaps */\n"
7717 "    long   ru_inblock;       /* block input operations */\n"
7718 "    long   ru_oublock;       /* block output operations */\n"
7719 "    long   ru_msgsnd;        /* IPC messages sent */\n"
7720 "    long   ru_msgrcv;        /* IPC messages received */\n"
7721 "    long   ru_nsignals;      /* signals received */\n"
7722 "    long   ru_nvcsw;         /* voluntary context switches */\n"
7723 "    long   ru_nivcsw;        /* involuntary context switches */\n"
7724 "};\n"
7725 msgstr ""
7726 "struct rusage {\n"
7727 "    struct timeval ru_utime; /* 使用されたユーザー CPU 時間 */\n"
7728 "    struct timeval ru_stime; /* 使用されたシステム CPU 時間 */\n"
7729 "    long   ru_maxrss;        /* RAM 上に存在する仮想ページのサイズ\n"
7730 "                               (resident set size) の最大値 */\n"
7731 "    long   ru_ixrss;         /* 共有メモリの合計サイズ */\n"
7732 "    long   ru_idrss;         /* 非共有データの合計サイズ */\n"
7733 "    long   ru_isrss;         /* 非共有スタックの合計サイズ */\n"
7734 "    long   ru_minflt;        /* ページの再利用 (ソフトページフォルト) */\n"
7735 "    long   ru_majflt;        /* ページフォールト (ハードページフォルト) */\n"
7736 "    long   ru_nswap;         /* スワップ */\n"
7737 "    long   ru_inblock;       /* ブロック入力操作 */\n"
7738 "    long   ru_oublock;       /* ブロック出力操作 */\n"
7739 "    long   ru_msgsnd;        /* 送信された IPC メッセージ */\n"
7740 "    long   ru_msgrcv;        /* 受信された IPC メッセージ */\n"
7741 "    long   ru_nsignals;      /* 受信されたシグナル */\n"
7742 "    long   ru_nvcsw;         /* 意図したコンテキスト切り替え */\n"
7743 "    long   ru_nivcsw;        /* 意図しないコンテキスト切り替え */\n"
7744 "};\n"
7745
7746 #. type: Plain text
7747 #: build/C/man2/getrusage.2:108
7748 msgid ""
7749 "Not all fields are completed; unmaintained fields are set to zero by the "
7750 "kernel.  (The unmaintained fields are provided for compatibility with other "
7751 "systems, and because they may one day be supported on Linux.)  The fields "
7752 "are interpreted as follows:"
7753 msgstr ""
7754 "すべてのフィールドがサポートされているわけではない。 メンテナンスされていない"
7755 "フィールドには、 カーネルが 0 を設定する (メンテナンスされていないフィールド"
7756 "は、 他のシステムとの互換性のために提供されており、 いつか Linux でもサポート"
7757 "されるかもしれない)。 各フィールドの詳細は以下の通りである。"
7758
7759 #. type: TP
7760 #: build/C/man2/getrusage.2:108
7761 #, no-wrap
7762 msgid "I<ru_utime>"
7763 msgstr "I<ru_utime>"
7764
7765 #. type: Plain text
7766 #: build/C/man2/getrusage.2:114
7767 msgid ""
7768 "This is the total amount of time spent executing in user mode, expressed in "
7769 "a I<timeval> structure (seconds plus microseconds)."
7770 msgstr ""
7771 "ユーザモードでの実行で消費された合計時間。 I<timeval> 構造体 (秒とミリ秒) で"
7772 "表現される。"
7773
7774 #. type: TP
7775 #: build/C/man2/getrusage.2:114
7776 #, no-wrap
7777 msgid "I<ru_stime>"
7778 msgstr "I<ru_stime>"
7779
7780 #. type: Plain text
7781 #: build/C/man2/getrusage.2:120
7782 msgid ""
7783 "This is the total amount of time spent executing in kernel mode, expressed "
7784 "in a I<timeval> structure (seconds plus microseconds)."
7785 msgstr ""
7786 "カーネルモードでの実行で消費された合計時間。 I<timeval> 構造体 (秒とミリ秒) "
7787 "で表現される。"
7788
7789 #. type: TP
7790 #: build/C/man2/getrusage.2:120
7791 #, no-wrap
7792 msgid "I<ru_maxrss> (since Linux 2.6.32)"
7793 msgstr "I<ru_maxrss> (Linux 2.6.32 以降)"
7794
7795 #. type: Plain text
7796 #: build/C/man2/getrusage.2:127
7797 msgid ""
7798 "This is the maximum resident set size used (in kilobytes).  For "
7799 "B<RUSAGE_CHILDREN>, this is the resident set size of the largest child, not "
7800 "the maximum resident set size of the process tree."
7801 msgstr ""
7802 "使用された resident set size の最大値 (キロバイト単位)。 B<RUSAGE_CHILDREN> "
7803 "の場合には、プロセスツリーの resident set size の最大値ではなく、 最も大きい"
7804 "子プロセスの resident set size となる。"
7805
7806 #. type: TP
7807 #: build/C/man2/getrusage.2:127
7808 #, no-wrap
7809 msgid "I<ru_ixrss> (unmaintained)"
7810 msgstr "I<ru_ixrss> (メンテナンスされていない)"
7811
7812 #.  On some systems, this field records the number of signals received.
7813 #. type: Plain text
7814 #: build/C/man2/getrusage.2:133 build/C/man2/getrusage.2:138
7815 #: build/C/man2/getrusage.2:143 build/C/man2/getrusage.2:155
7816 #: build/C/man2/getrusage.2:167 build/C/man2/getrusage.2:173
7817 #: build/C/man2/getrusage.2:177
7818 msgid "This field is currently unused on Linux."
7819 msgstr "このフィールドは現在のところ Linux では未使用である。"
7820
7821 #. type: TP
7822 #: build/C/man2/getrusage.2:133
7823 #, no-wrap
7824 msgid "I<ru_idrss> (unmaintained)"
7825 msgstr "I<ru_idrss> (メンテナンスされていない)"
7826
7827 #. type: TP
7828 #: build/C/man2/getrusage.2:138
7829 #, no-wrap
7830 msgid "I<ru_isrss> (unmaintained)"
7831 msgstr "I<ru_isrss> (メンテナンスされていない)"
7832
7833 #. type: TP
7834 #: build/C/man2/getrusage.2:143
7835 #, no-wrap
7836 msgid "I<ru_minflt>"
7837 msgstr "I<ru_minflt>"
7838
7839 #. type: Plain text
7840 #: build/C/man2/getrusage.2:148
7841 msgid ""
7842 "The number of page faults serviced without any I/O activity; here I/O "
7843 "activity is avoided by ``reclaiming'' a page frame from the list of pages "
7844 "awaiting reallocation."
7845 msgstr ""
7846 "I/O 動作なしで発生したページフォルトの回数。 再割り当てを待っているページリス"
7847 "トからページフレームを「回収」 (reclaim) することで、 I/O 動作を避けることが"
7848 "できる。"
7849
7850 #. type: TP
7851 #: build/C/man2/getrusage.2:148
7852 #, no-wrap
7853 msgid "I<ru_majflt>"
7854 msgstr "I<ru_majflt>"
7855
7856 #. type: Plain text
7857 #: build/C/man2/getrusage.2:151
7858 msgid "The number of page faults serviced that required I/O activity."
7859 msgstr "I/O 動作を必要とするページフォルトの回数。"
7860
7861 #. type: TP
7862 #: build/C/man2/getrusage.2:151
7863 #, no-wrap
7864 msgid "I<ru_nswap> (unmaintained)"
7865 msgstr "I<ru_nswap> (メンテナンスされていない)"
7866
7867 #. type: TP
7868 #: build/C/man2/getrusage.2:155
7869 #, no-wrap
7870 msgid "I<ru_inblock> (since Linux 2.6.22)"
7871 msgstr "I<ru_inblock> (Linux 2.6.22 以降)"
7872
7873 #. type: Plain text
7874 #: build/C/man2/getrusage.2:158
7875 msgid "The number of times the filesystem had to perform input."
7876 msgstr "ファイルシステムが入力を実行する必要があった回数。"
7877
7878 #. type: TP
7879 #: build/C/man2/getrusage.2:158
7880 #, no-wrap
7881 msgid "I<ru_oublock> (since Linux 2.6.22)"
7882 msgstr "I<ru_oublock> (Linux 2.6.22 以降)"
7883
7884 #. type: Plain text
7885 #: build/C/man2/getrusage.2:161
7886 msgid "The number of times the filesystem had to perform output."
7887 msgstr "ファイルシステムが出力を実行する必要があった回数。"
7888
7889 #. type: TP
7890 #: build/C/man2/getrusage.2:161
7891 #, no-wrap
7892 msgid "I<ru_msgsnd> (unmaintained)"
7893 msgstr "I<ru_msgsnd> (メンテナンスされていない)"
7894
7895 #. type: TP
7896 #: build/C/man2/getrusage.2:167
7897 #, no-wrap
7898 msgid "I<ru_msgrcv> (unmaintained)"
7899 msgstr "I<ru_msgrcv> (メンテナンスされていない)"
7900
7901 #. type: TP
7902 #: build/C/man2/getrusage.2:173
7903 #, no-wrap
7904 msgid "I<ru_nsignals> (unmaintained)"
7905 msgstr "I<ru_nsignals> (メンテナンスされていない)"
7906
7907 #. type: TP
7908 #: build/C/man2/getrusage.2:177
7909 #, no-wrap
7910 msgid "I<ru_nvcsw> (since Linux 2.6)"
7911 msgstr "I<ru_nvcsw> (Linux 2.6 以降)"
7912
7913 #. type: Plain text
7914 #: build/C/man2/getrusage.2:182
7915 msgid ""
7916 "The number of times a context switch resulted due to a process voluntarily "
7917 "giving up the processor before its time slice was completed (usually to "
7918 "await availability of a resource)."
7919 msgstr ""
7920 "自分のタイムスライスが完了する前にプロセスが自発的にプロセッサを解放して行わ"
7921 "れたコンテキストスイッチの回数 (通常はリソースが利用可能になるのを待つために"
7922 "行われる)。"
7923
7924 #. type: TP
7925 #: build/C/man2/getrusage.2:182
7926 #, no-wrap
7927 msgid "I<ru_nivcsw> (since Linux 2.6)"
7928 msgstr "I<memory_migrate> (Linux 2.6.16 以降)"
7929
7930 #. type: Plain text
7931 #: build/C/man2/getrusage.2:187
7932 msgid ""
7933 "The number of times a context switch resulted due to a higher priority "
7934 "process becoming runnable or because the current process exceeded its time "
7935 "slice."
7936 msgstr ""
7937 "優先度が自分より高いプロセッサが実行可能になったか、現在のプロセスが自分のタ"
7938 "イムスライスを超過したことにより行われたコンテキストスイッチの回数。"
7939
7940 #. type: Plain text
7941 #: build/C/man2/getrusage.2:198
7942 msgid "I<usage> points outside the accessible address space."
7943 msgstr "I<usage> がアクセス可能なアドレス空間の外を指している。"
7944
7945 #. type: Plain text
7946 #: build/C/man2/getrusage.2:202
7947 msgid "I<who> is invalid."
7948 msgstr "I<who> が無効である。"
7949
7950 #. type: Plain text
7951 #: build/C/man2/getrusage.2:210
7952 msgid ""
7953 "SVr4, 4.3BSD.  POSIX.1-2001 specifies B<getrusage>(), but specifies only the "
7954 "fields I<ru_utime> and I<ru_stime>."
7955 msgstr ""
7956 "SVr4, 4.3BSD.  POSIX.1-2001 は B<getrusage>()  を規定しているが、規定している"
7957 "フィールドは I<ru_utime> と I<ru_stime> だけである。"
7958
7959 #. type: Plain text
7960 #: build/C/man2/getrusage.2:213
7961 msgid "B<RUSAGE_THREAD> is Linux-specific."
7962 msgstr "B<RUSAGE_THREAD> は Linux 固有である。"
7963
7964 #. type: Plain text
7965 #: build/C/man2/getrusage.2:216
7966 msgid "Resource usage metrics are preserved across an B<execve>(2)."
7967 msgstr "B<execve>(2)  の前後でリソース使用量の指標は保持される。"
7968
7969 #. type: Plain text
7970 #: build/C/man2/getrusage.2:224
7971 msgid ""
7972 "Including I<E<lt>sys/time.hE<gt>> is not required these days, but increases "
7973 "portability.  (Indeed, I<struct timeval> is defined in I<E<lt>sys/time."
7974 "hE<gt>>.)"
7975 msgstr ""
7976 "今日では I<E<lt>sys/time.hE<gt>> をインクルードする必要はないが、 インクルー"
7977 "ドしておけば移植性が増す。 (実際 I<struct timeval> は I<E<lt>sys/time."
7978 "hE<gt>> で定義されている。)"
7979
7980 #.  See the description of getrusage() in XSH.
7981 #.  A similar statement was also in SUSv2.
7982 #. type: Plain text
7983 #: build/C/man2/getrusage.2:236
7984 msgid ""
7985 "In Linux kernel versions before 2.6.9, if the disposition of B<SIGCHLD> is "
7986 "set to B<SIG_IGN> then the resource usages of child processes are "
7987 "automatically included in the value returned by B<RUSAGE_CHILDREN>, although "
7988 "POSIX.1-2001 explicitly prohibits this.  This nonconformance is rectified in "
7989 "Linux 2.6.9 and later."
7990 msgstr ""
7991 "2.6.9 より前のバージョンの Linux カーネルでは、 B<SIGCHLD> の処理が "
7992 "B<SIG_IGN> に設定されていると、 子プロセスのリソース使用量が "
7993 "B<RUSAGE_CHILDREN> で返される値に自動的に含められる。 しかし POSIX.1-2001 で"
7994 "は、これを明確に禁止している。 この準拠していなかった点は、Linux 2.6.9 以降で"
7995 "改正された。"
7996
7997 #. type: Plain text
7998 #: build/C/man2/getrusage.2:239
7999 msgid ""
8000 "The structure definition shown at the start of this page was taken from "
8001 "4.3BSD Reno."
8002 msgstr "このページの最初で示した構造体の定義は 4.3BSD Reno のものである。"
8003
8004 #. type: Plain text
8005 #: build/C/man2/getrusage.2:248
8006 msgid ""
8007 "Ancient systems provided a B<vtimes>()  function with a similar purpose to "
8008 "B<getrusage>().  For backward compatibility, glibc also provides "
8009 "B<vtimes>().  All new applications should be written using B<getrusage>()."
8010 msgstr ""
8011 "古いシステムでは、 B<getrusage>() と同様の目的を持つ関数 B<vtimes>() が提供\n"
8012 "されていた。後方互換性のため、glibc でも B<vtimes>() を提供している。\n"
8013 "全ての新しいアプリケーションでは B<getrusage>() を使用すべきである。"
8014
8015 #. type: Plain text
8016 #: build/C/man2/getrusage.2:253
8017 msgid "See also the description of I</proc/PID/stat> in B<proc>(5)."
8018 msgstr "B<proc>(5)  にある I</proc/PID/stat> の説明も参照のこと。"
8019
8020 #. type: Plain text
8021 #: build/C/man2/getrusage.2:260
8022 msgid ""
8023 "B<clock_gettime>(2), B<getrlimit>(2), B<times>(2), B<wait>(2), B<wait4>(2), "
8024 "B<clock>(3)"
8025 msgstr ""
8026 "B<clock_gettime>(2), B<getrlimit>(2), B<times>(2), B<wait>(2), B<wait4>(2), "
8027 "B<clock>(3)"
8028
8029 #. type: TH
8030 #: build/C/man2/getsid.2:26
8031 #, no-wrap
8032 msgid "GETSID"
8033 msgstr "GETSID"
8034
8035 #. type: TH
8036 #: build/C/man2/getsid.2:26
8037 #, no-wrap
8038 msgid "2010-09-26"
8039 msgstr "2010-09-26"
8040
8041 #. type: Plain text
8042 #: build/C/man2/getsid.2:29
8043 msgid "getsid - get session ID"
8044 msgstr "getsid - セッション ID を取得する。"
8045
8046 #. type: Plain text
8047 #: build/C/man2/getsid.2:33
8048 msgid "B<pid_t getsid(pid_t>I< pid>B<);>"
8049 msgstr "B<pid_t getsid(pid_t>I< pid>B<);>"
8050
8051 #. type: Plain text
8052 #: build/C/man2/getsid.2:42
8053 msgid "B<getsid>():"
8054 msgstr "B<getsid>():"
8055
8056 #. type: Plain text
8057 #: build/C/man2/getsid.2:45 build/C/man2/setpgid.2:79
8058 msgid ""
8059 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
8060 msgstr ""
8061 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
8062
8063 #. type: Plain text
8064 #: build/C/man2/getsid.2:47 build/C/man2/setpgid.2:81
8065 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
8066 msgstr "|| /* glibc 2.12 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
8067
8068 #. type: Plain text
8069 #: build/C/man2/getsid.2:58
8070 msgid ""
8071 "I<getsid(0)> returns the session ID of the calling process.  I<getsid(p)> "
8072 "returns the session ID of the process with process ID I<p>.  (The session ID "
8073 "of a process is the process group ID of the session leader.)"
8074 msgstr ""
8075 "I<getsid(0)> は呼び出し元のプロセスのセッション ID を返す。 I<getsid(p)> はプ"
8076 "ロセス ID I<p> を持つプロセスのセッション ID を返す (プロセスのセッション ID "
8077 "は セッションリーダーのプロセスグループ ID である)。"
8078
8079 #. type: Plain text
8080 #: build/C/man2/getsid.2:63
8081 msgid ""
8082 "On success, a session ID is returned.  On error, I<(pid_t)\\ -1> will be "
8083 "returned, and I<errno> is set appropriately."
8084 msgstr ""
8085 "成功すると、セッション ID が返される。 エラーの場合、I<(pid_t) -1> が返さ"
8086 "れ、 I<errno> が適切に設定される。"
8087
8088 #. type: Plain text
8089 #: build/C/man2/getsid.2:70
8090 msgid ""
8091 "A process with process ID I<p> exists, but it is not in the same session as "
8092 "the calling process, and the implementation considers this an error."
8093 msgstr ""
8094 "プロセス ID I<p> のプロセスは存在するが、呼び出し元のプロセスと同じセッション"
8095 "ではなく、 さらに実装がこの状態をエラーと判断した場合。"
8096
8097 #. type: Plain text
8098 #: build/C/man2/getsid.2:75
8099 msgid "No process with process ID I<p> was found."
8100 msgstr "プロセス ID が I<p> のプロセスがない。"
8101
8102 #.  Linux has this system call since Linux 1.3.44.
8103 #.  There is libc support since libc 5.2.19.
8104 #. type: Plain text
8105 #: build/C/man2/getsid.2:79
8106 msgid "This system call is available on Linux since version 2.0."
8107 msgstr "このシステムコールは Linux バージョン 2.0 以降で利用可能である。"
8108
8109 #. type: Plain text
8110 #: build/C/man2/getsid.2:81 build/C/man2/setgid.2:68 build/C/man2/setsid.2:67
8111 msgid "SVr4, POSIX.1-2001."
8112 msgstr "SVr4, POSIX.1-2001."
8113
8114 #. type: Plain text
8115 #: build/C/man2/getsid.2:84
8116 msgid "Linux does not return B<EPERM>."
8117 msgstr "Linux は B<EPERM> を返さない。"
8118
8119 #. type: Plain text
8120 #: build/C/man2/getsid.2:88
8121 msgid "B<getpgid>(2), B<setsid>(2), B<credentials>(7)"
8122 msgstr "B<getpgid>(2), B<setsid>(2), B<credentials>(7)"
8123
8124 #. type: TH
8125 #: build/C/man2/getuid.2:26
8126 #, no-wrap
8127 msgid "GETUID"
8128 msgstr "GETUID"
8129
8130 #. type: Plain text
8131 #: build/C/man2/getuid.2:29
8132 msgid "getuid, geteuid - get user identity"
8133 msgstr "getuid, geteuid - ユーザー ID を得る"
8134
8135 #. type: Plain text
8136 #: build/C/man2/getuid.2:35
8137 msgid "B<uid_t getuid(void);>"
8138 msgstr "B<uid_t getuid(void);>"
8139
8140 #. type: Plain text
8141 #: build/C/man2/getuid.2:37
8142 msgid "B<uid_t geteuid(void);>"
8143 msgstr "B<uid_t geteuid(void);>"
8144
8145 #. type: Plain text
8146 #: build/C/man2/getuid.2:40
8147 msgid "B<getuid>()  returns the real user ID of the calling process."
8148 msgstr "B<getuid>()  は呼び出し元のプロセスの実ユーザー ID を返す。"
8149
8150 #. type: Plain text
8151 #: build/C/man2/getuid.2:43
8152 msgid "B<geteuid>()  returns the effective user ID of the calling process."
8153 msgstr "B<geteuid>()  は呼び出し元のプロセスの実効ユーザー ID を返す。"
8154
8155 #. type: SS
8156 #: build/C/man2/getuid.2:48
8157 #, no-wrap
8158 msgid "History"
8159 msgstr "歴史"
8160
8161 #. type: Plain text
8162 #: build/C/man2/getuid.2:57
8163 msgid ""
8164 "In UNIX\\ V6 the B<getuid>()  call returned I<(euid E<lt>E<lt> 8) + uid>.  "
8165 "UNIX\\ V7 introduced separate calls B<getuid>()  and B<geteuid>()."
8166 msgstr ""
8167 "UNIX\\ V6 では B<getuid>()  コールは I<(euid E<lt>E<lt> 8) + uid> を返してい"
8168 "た。 UNIX\\ V7 では B<getuid>()  と B<geteuid>()  という別々のコールが導入さ"
8169 "れた。"
8170
8171 #. type: Plain text
8172 #: build/C/man2/getuid.2:73
8173 msgid ""
8174 "The original Linux B<getuid>()  and B<geteuid>()  system calls supported "
8175 "only 16-bit user IDs.  Subsequently, Linux 2.4 added B<getuid32>()  and "
8176 "B<geteuid32>(), supporting 32-bit IDs.  The glibc B<getuid>()  and "
8177 "B<geteuid>()  wrapper functions transparently deal with the variations "
8178 "across kernel versions."
8179 msgstr ""
8180 "元々の Linux の B<getuid>() と B<geteuid>() システムコールは\n"
8181 "16 ビットのグループ ID だけに対応していた。\n"
8182 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
8183 "B<getuid32>() と B<geteuid32>() が追加された。\n"
8184 "glibc の B<getuid>() と B<geteuid>() のラッパー関数は\n"
8185 "カーネルバージョンによるこの違いを吸収している。"
8186
8187 #. type: Plain text
8188 #: build/C/man2/getuid.2:78
8189 msgid "B<getresuid>(2), B<setreuid>(2), B<setuid>(2), B<credentials>(7)"
8190 msgstr "B<getresuid>(2), B<setreuid>(2), B<setuid>(2), B<credentials>(7)"
8191
8192 #. type: TH
8193 #: build/C/man2/iopl.2:33
8194 #, no-wrap
8195 msgid "IOPL"
8196 msgstr "IOPL"
8197
8198 #. type: TH
8199 #: build/C/man2/iopl.2:33
8200 #, no-wrap
8201 msgid "2013-03-15"
8202 msgstr "2013-03-15"
8203
8204 #. type: Plain text
8205 #: build/C/man2/iopl.2:36
8206 msgid "iopl - change I/O privilege level"
8207 msgstr "iopl - I/O 特権レベルを変更する"
8208
8209 #. type: Plain text
8210 #: build/C/man2/iopl.2:38
8211 msgid "B<#include E<lt>sys/io.hE<gt>>"
8212 msgstr "B<#include E<lt>sys/io.hE<gt>>"
8213
8214 #. type: Plain text
8215 #: build/C/man2/iopl.2:40
8216 msgid "B<int iopl(int >I<level>B<);>"
8217 msgstr "B<int iopl(int >I<level>B<);>"
8218
8219 #. type: Plain text
8220 #: build/C/man2/iopl.2:45
8221 msgid ""
8222 "B<iopl>()  changes the I/O privilege level of the calling process, as "
8223 "specified by the two least significant bits in I<level>."
8224 msgstr ""
8225 "B<iopl>()  は呼び出し元のプロセスの I/O 特権レベルを I<level> の下位 2 ビット"
8226 "で指定した値に変更する。"
8227
8228 #. type: Plain text
8229 #: build/C/man2/iopl.2:51
8230 msgid ""
8231 "This call is necessary to allow 8514-compatible X servers to run under "
8232 "Linux.  Since these X servers require access to all 65536 I/O ports, the "
8233 "B<ioperm>(2)  call is not sufficient."
8234 msgstr ""
8235 "この関数は 8514 互換の X サーバを Linux で動作させるために必要である。 なぜな"
8236 "らこの X サーバは 65536 個の I/O ポート全てへのアクセスを要求するので "
8237 "B<ioperm>(2)  関数では不十分だからである。"
8238
8239 #. type: Plain text
8240 #: build/C/man2/iopl.2:55
8241 msgid ""
8242 "In addition to granting unrestricted I/O port access, running at a higher I/"
8243 "O privilege level also allows the process to disable interrupts.  This will "
8244 "probably crash the system, and is not recommended."
8245 msgstr ""
8246 "より高い I/O 特権レベルでの動作をさせることによって I/O ポートアクセスの制限"
8247 "を解除することに加えて、プロセスが割り込みを 無効にすることもできるようにな"
8248 "る。この機能は時としてシステムの破壊を もたらすので勧められない。"
8249
8250 #. type: Plain text
8251 #: build/C/man2/iopl.2:60
8252 msgid "Permissions are inherited by B<fork>(2)  and B<execve>(2)."
8253 msgstr "B<fork>(2)  や B<exec>(2)  を行った場合、特権は継承される。"
8254
8255 #. type: Plain text
8256 #: build/C/man2/iopl.2:62
8257 msgid "The I/O privilege level for a normal process is 0."
8258 msgstr "通常のプロセスの I/O 特権レベルは 0 である。"
8259
8260 #. type: Plain text
8261 #: build/C/man2/iopl.2:66
8262 msgid ""
8263 "This call is mostly for the i386 architecture.  On many other architectures "
8264 "it does not exist or will always return an error."
8265 msgstr ""
8266 "このシステムコールはほとんど i386 アーキテクチャのためだけのものである。 その"
8267 "他の多くのアーキテクチャでは存在しないか、常にエラーを返す。"
8268
8269 #. type: Plain text
8270 #: build/C/man2/iopl.2:76
8271 msgid "I<level> is greater than 3."
8272 msgstr "引き数 I<level> が 3 より大きい。"
8273
8274 #. type: Plain text
8275 #: build/C/man2/iopl.2:79
8276 msgid "This call is unimplemented."
8277 msgstr "このシステムコールは実装されていない。"
8278
8279 #. type: Plain text
8280 #: build/C/man2/iopl.2:87
8281 msgid ""
8282 "The calling process has insufficient privilege to call B<iopl>(); the "
8283 "B<CAP_SYS_RAWIO> capability is required to raise the I/O privilege level "
8284 "above its current value."
8285 msgstr ""
8286 "呼び出し元プロセスに B<iopl>()  を呼び出すのに十分な権限がなかった。 I/O 特権"
8287 "レベルを現在の値より上げるには B<CAP_SYS_RAWIO> ケーパビリティが必要である。"
8288
8289 #. type: Plain text
8290 #: build/C/man2/iopl.2:91
8291 msgid ""
8292 "B<iopl>()  is Linux-specific and should not be used in programs that are "
8293 "intended to be portable."
8294 msgstr ""
8295 "B<ipc>()  は Linux 特有であり、 移植を意図したプログラムでは 使用してはいけな"
8296 "い。"
8297
8298 #. type: Plain text
8299 #: build/C/man2/iopl.2:100
8300 msgid ""
8301 "Libc5 treats it as a system call and has a prototype in I<E<lt>unistd."
8302 "hE<gt>>.  Glibc1 does not have a prototype.  Glibc2 has a prototype both in "
8303 "I<E<lt>sys/io.hE<gt>> and in I<E<lt>sys/perm.hE<gt>>.  Avoid the latter, it "
8304 "is available on i386 only."
8305 msgstr ""
8306 "libc5 ではシステムコールとして扱い I<E<lt>unistd.hE<gt>> にプロトタイプが存在"
8307 "している。 glibc1 にはプロトタイプは存在していない。 glibc2 は I<E<lt>sys/io."
8308 "hE<gt>> と I<E<lt>sys/perm.hE<gt>> の両方にプロトタイプを持っている。 後者は "
8309 "i386 のみで利用可能なので、使用すべきではない。"
8310
8311 #. type: Plain text
8312 #: build/C/man2/iopl.2:104
8313 msgid "B<ioperm>(2), B<outb>(2), B<capabilities>(7)"
8314 msgstr "B<ioperm>(2), B<outb>(2), B<capabilities>(7)"
8315
8316 #. type: TH
8317 #: build/C/man2/ioprio_set.2:24
8318 #, no-wrap
8319 msgid "IOPRIO_SET"
8320 msgstr "IOPRIO_SET"
8321
8322 #. type: TH
8323 #: build/C/man2/ioprio_set.2:24 build/C/man7/svipc.7:40
8324 #, no-wrap
8325 msgid "2013-02-12"
8326 msgstr "2013-02-12"
8327
8328 #. type: Plain text
8329 #: build/C/man2/ioprio_set.2:27
8330 msgid "ioprio_get, ioprio_set - get/set I/O scheduling class and priority"
8331 msgstr "ioprio_get, ioprio_set - I/O スケジューリングクラスと優先度の設定/取得"
8332
8333 #. type: Plain text
8334 #: build/C/man2/ioprio_set.2:31
8335 #, no-wrap
8336 msgid ""
8337 "B<int ioprio_get(int >I<which>B<, int >I<who>B<);>\n"
8338 "B<int ioprio_set(int >I<which>B<, int >I<who>B<, int >I<ioprio>B<);>\n"
8339 msgstr ""
8340 "B<int ioprio_get(int >I<which>B<, int >I<who>B<);>\n"
8341 "B<int ioprio_set(int >I<which>B<, int >I<who>B<, int >I<ioprio>B<);>\n"
8342
8343 #. type: Plain text
8344 #: build/C/man2/ioprio_set.2:35
8345 msgid "I<Note>: There are no glibc wrappers for these system calls; see NOTES."
8346 msgstr ""
8347 "I<注意>: これらのシステムコールには glibc ラッパー関数は存在しない。 「注意」"
8348 "の節を参照。"
8349
8350 #. type: Plain text
8351 #: build/C/man2/ioprio_set.2:42
8352 msgid ""
8353 "The B<ioprio_get>()  and B<ioprio_set>()  system calls respectively get and "
8354 "set the I/O scheduling class and priority of one or more threads."
8355 msgstr ""
8356 "システムコール B<ioprio_get>()  / B<ioprio_set>()  は、(1つ以上の) スレッド"
8357 "の I/O スケジューリングクラスと 優先度の取得/設定を行う。"
8358
8359 #. type: Plain text
8360 #: build/C/man2/ioprio_set.2:54
8361 msgid ""
8362 "The I<which> and I<who> arguments identify the thread(s) on which the system "
8363 "calls operate.  The I<which> argument determines how I<who> is interpreted, "
8364 "and has one of the following values:"
8365 msgstr ""
8366 "I<which> と I<who> 引き数でシステムコールの操作対象となるスレッドを指示す"
8367 "る。 I<which> 引き数は、 I<who> をどのように解釈するかを決めるもので、以下の"
8368 "いずれか一つを指定する。"
8369
8370 #. type: TP
8371 #: build/C/man2/ioprio_set.2:54
8372 #, no-wrap
8373 msgid "B<IOPRIO_WHO_PROCESS>"
8374 msgstr "B<IOPRIO_WHO_PROCESS>"
8375
8376 #. type: Plain text
8377 #: build/C/man2/ioprio_set.2:61
8378 msgid ""
8379 "I<who> is a process ID or thread ID identifying a single process or thread.  "
8380 "If I<who> is 0, then operate on the calling thread."
8381 msgstr ""
8382 "I<who> は特定のプロセスやスレッドを特定するためのプロセス ID かスレッド ID で"
8383 "ある。 I<who> が 0 の場合、呼び出し元のスレッドに対して操作が行われる。"
8384
8385 #. type: TP
8386 #: build/C/man2/ioprio_set.2:61
8387 #, no-wrap
8388 msgid "B<IOPRIO_WHO_PGRP>"
8389 msgstr "B<IOPRIO_WHO_PGRP>"
8390
8391 #. type: Plain text
8392 #: build/C/man2/ioprio_set.2:68
8393 msgid ""
8394 "I<who> is a process group ID identifying all the members of a process "
8395 "group.  If I<who> is 0, then operate on the process group of which the "
8396 "caller is a member."
8397 msgstr ""
8398 "I<who> はプロセスグループ ID であり、プロセスグループの全メンバが対象とな"
8399 "る。 I<who> が 0 の場合、 呼び出し元がメンバーとなっているプロセスグループに"
8400 "対して操作が行われる。"
8401
8402 #. type: TP
8403 #: build/C/man2/ioprio_set.2:68
8404 #, no-wrap
8405 msgid "B<IOPRIO_WHO_USER>"
8406 msgstr "B<IOPRIO_WHO_USER>"
8407
8408 #.  FIXME who==0 needs to be documented,
8409 #.  See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=652443
8410 #. type: Plain text
8411 #: build/C/man2/ioprio_set.2:75
8412 msgid ""
8413 "I<who> is a user ID identifying all of the processes that have a matching "
8414 "real UID."
8415 msgstr "I<who> はユーザID であり、実 UID に一致する全プロセスが対象となる。"
8416
8417 #. type: Plain text
8418 #: build/C/man2/ioprio_set.2:98
8419 msgid ""
8420 "If I<which> is specified as B<IOPRIO_WHO_PGRP> or B<IOPRIO_WHO_USER> when "
8421 "calling B<ioprio_get>(), and more than one process matches I<who>, then the "
8422 "returned priority will be the highest one found among all of the matching "
8423 "processes.  One priority is said to be higher than another one if it belongs "
8424 "to a higher priority class (B<IOPRIO_CLASS_RT> is the highest priority "
8425 "class; B<IOPRIO_CLASS_IDLE> is the lowest)  or if it belongs to the same "
8426 "priority class as the other process but has a higher priority level (a lower "
8427 "priority number means a higher priority level)."
8428 msgstr ""
8429 "B<ioprio_get>()  の呼び出し時に I<which> に B<IOPRIO_WHO_PGRP> か "
8430 "B<IOPRIO_WHO_USER> が指定され、 I<who> に一致するプロセスが複数あった場合、 "
8431 "一致するプロセス全体の中で最も高い優先度が返される。 優先度が高いとは、より高"
8432 "い優先度クラスに属している (B<IOPRIO_CLASS_RT> が最も高い優先度クラスで、 "
8433 "B<IOPRIO_CLASS_IDLE> が最も低い)、もしくは 同じ優先度クラスに属しているが優先"
8434 "度レベルが高い (優先度番号が小さい方が優先度レベルが高いことを意味する)、 と"
8435 "いうことである。"
8436
8437 #. type: Plain text
8438 #: build/C/man2/ioprio_set.2:108
8439 msgid ""
8440 "The I<ioprio> argument given to B<ioprio_set>()  is a bit mask that "
8441 "specifies both the scheduling class and the priority to be assigned to the "
8442 "target process(es).  The following macros are used for assembling and "
8443 "dissecting I<ioprio> values:"
8444 msgstr ""
8445 "B<ioprio_set>()  に渡す I<ioprio> 引き数は、対象となるプロセスに割り当てるス"
8446 "ケジューリングクラスと 優先度の両方を指定するビットマスクである。 I<ioprio> "
8447 "の値を組み立てたり解釈するのに、以下のマクロが利用できる。"
8448
8449 #. type: TP
8450 #: build/C/man2/ioprio_set.2:108
8451 #, no-wrap
8452 msgid "B<IOPRIO_PRIO_VALUE(>I<class>B<, >I<data>B<)>"
8453 msgstr "B<IOPRIO_PRIO_VALUE(>I<class>B<, >I<data>B<)>"
8454
8455 #. type: Plain text
8456 #: build/C/man2/ioprio_set.2:117
8457 msgid ""
8458 "Given a scheduling I<class> and priority (I<data>), this macro combines the "
8459 "two values to produce an I<ioprio> value, which is returned as the result of "
8460 "the macro."
8461 msgstr ""
8462 "スケジューリングクラス I<class> と優先度 (I<data>)  を与えると、このマクロは "
8463 "2つの値を組み合わせて、 I<ioprio> 値を生成し、マクロの結果として返す。"
8464
8465 #. type: TP
8466 #: build/C/man2/ioprio_set.2:117
8467 #, no-wrap
8468 msgid "B<IOPRIO_PRIO_CLASS(>I<mask>B<)>"
8469 msgstr "B<IOPRIO_PRIO_CLASS(>I<mask>B<)>"
8470
8471 #. type: Plain text
8472 #: build/C/man2/ioprio_set.2:129
8473 msgid ""
8474 "Given I<mask> (an I<ioprio> value), this macro returns its I/O class "
8475 "component, that is, one of the values B<IOPRIO_CLASS_RT>, "
8476 "B<IOPRIO_CLASS_BE>, or B<IOPRIO_CLASS_IDLE>."
8477 msgstr ""
8478 "I<mask> (I<ioprio> 値) を与えると、このマクロは I/O クラス要素、つまり "
8479 "B<IOPRIO_CLASS_RT>, B<IOPRIO_CLASS_BE>, B<IOPRIO_CLASS_IDLE> のいずれか一つの"
8480 "値を返す。"
8481
8482 #. type: TP
8483 #: build/C/man2/ioprio_set.2:129
8484 #, no-wrap
8485 msgid "B<IOPRIO_PRIO_DATA(>I<mask>B<)>"
8486 msgstr "B<IOPRIO_PRIO_DATA(>I<mask>B<)>"
8487
8488 #. type: Plain text
8489 #: build/C/man2/ioprio_set.2:138
8490 msgid ""
8491 "Given I<mask> (an I<ioprio> value), this macro returns its priority "
8492 "(I<data>)  component."
8493 msgstr ""
8494 "I<mask> (I<ioprio> 値) を与えると、このマクロは優先度 (I<data>)  要素を返す。"
8495
8496 #. type: Plain text
8497 #: build/C/man2/ioprio_set.2:141
8498 msgid ""
8499 "See the NOTES section for more information on scheduling classes and "
8500 "priorities."
8501 msgstr ""
8502 "スケジューリングクラスと優先度に関する詳しい情報は、 「備考」の節を参照のこ"
8503 "と。"
8504
8505 #. type: Plain text
8506 #: build/C/man2/ioprio_set.2:149
8507 msgid ""
8508 "I/O priorities are supported for reads and for synchronous (B<O_DIRECT>, "
8509 "B<O_SYNC>)  writes.  I/O priorities are not supported for asynchronous "
8510 "writes because they are issued outside the context of the program dirtying "
8511 "the memory, and thus program-specific priorities do not apply."
8512 msgstr ""
8513 "I/O 優先度は読み出しと同期書き込み (B<O_DIRECT>, B<O_SYNC>)  に対応してい"
8514 "る。 I/O 優先度は非同期書き込みには対応していない。なぜなら、 非同期書き込み"
8515 "はメモリ書き換えを行うプログラムの動作 (context) とは 関係なく発行され、その"
8516 "ためプログラム単位の優先度は適用されないから である。"
8517
8518 #. type: Plain text
8519 #: build/C/man2/ioprio_set.2:162
8520 msgid ""
8521 "On success, B<ioprio_get>()  returns the I<ioprio> value of the process with "
8522 "highest I/O priority of any of the processes that match the criteria "
8523 "specified in I<which> and I<who>.  On error, -1 is returned, and I<errno> is "
8524 "set to indicate the error."
8525 msgstr ""
8526 "成功すると、 B<ioprio_get>()  は、 I<which> と I<who> で指定された基準に合致"
8527 "した全プロセスで最も高い I/O 優先度を持つプロセスの I<ioprio> 値を返す。 エ"
8528 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
8529
8530 #. type: Plain text
8531 #: build/C/man2/ioprio_set.2:169
8532 msgid ""
8533 "On success, B<ioprio_set>()  returns 0.  On error, -1 is returned, and "
8534 "I<errno> is set to indicate the error."
8535 msgstr ""
8536 "成功すると、 B<ioprio_set>()  は 0 を返す。 エラーの場合、-1 を返し、 "
8537 "I<errno> にエラーを示す値を設定する。"
8538
8539 #. type: Plain text
8540 #: build/C/man2/ioprio_set.2:179
8541 msgid ""
8542 "Invalid value for I<which> or I<ioprio>.  Refer to the NOTES section for "
8543 "available scheduler classes and priority levels for I<ioprio>."
8544 msgstr ""
8545 "I<which> か I<ioprio> の値が不正である。 I<ioprio> 用に指定可能なスケジューラ"
8546 "クラスと優先度レベルについては 「備考」を参照のこと。"
8547
8548 #. type: Plain text
8549 #: build/C/man2/ioprio_set.2:187
8550 msgid ""
8551 "The calling process does not have the privilege needed to assign this "
8552 "I<ioprio> to the specified process(es).  See the NOTES section for more "
8553 "information on required privileges for B<ioprio_set>()."
8554 msgstr ""
8555 "呼び出し元プロセスが、指定されたプロセスに I<ioprio> を割り当てるのに必要な権"
8556 "限を持っていない。 B<ioprio_set>()  に必要な権限についての詳しい情報は「備"
8557 "考」の節を参照のこと。"
8558
8559 #. type: Plain text
8560 #: build/C/man2/ioprio_set.2:193
8561 msgid ""
8562 "No process(es) could be found that matched the specification in I<which> and "
8563 "I<who>."
8564 msgstr ""
8565 "I<which> と I<who> で指定された基準に合致するプロセスが見つからなかった。"
8566
8567 #. type: Plain text
8568 #: build/C/man2/ioprio_set.2:196
8569 msgid "These system calls have been available on Linux since kernel 2.6.13."
8570 msgstr ""
8571 "これらのシステムコールはカーネル 2.6.13 以降の Linux で利用可能である。"
8572
8573 #. type: Plain text
8574 #: build/C/man2/ioprio_set.2:201
8575 msgid ""
8576 "Glibc does not provide a wrapper for these system calls; call them using "
8577 "B<syscall>(2)."
8578 msgstr ""
8579 "glibc はこれらのシステムコールに対するラッパー関数を提供していない。 "
8580 "B<syscall>(2)  を使って呼び出すこと。"
8581
8582 #. type: Plain text
8583 #: build/C/man2/ioprio_set.2:220
8584 msgid ""
8585 "Two or more processes or threads can share an I/O context.  This will be the "
8586 "case when B<clone>(2)  was called with the B<CLONE_IO> flag.  However, by "
8587 "default, the distinct threads of a process will B<not> share the same I/O "
8588 "context.  This means that if you want to change the I/O priority of all "
8589 "threads in a process, you may need to call B<ioprio_set>()  on each of the "
8590 "threads.  The thread ID that you would need for this operation is the one "
8591 "that is returned by B<gettid>(2)  or B<clone>(2)."
8592 msgstr ""
8593 "複数のプロセスやスレッドが一つの I/O コンテキストを共有する場合がある。 "
8594 "B<clone>(2) を B<CLONE_IO> フラグ付きで呼び出した場合にはこの状況となる。 し"
8595 "かしながら、デフォルトでは、一つのプロセスの個々のスレッドは I/O コンテキスト"
8596 "を共有「しない」。 したがって、 プロセス内のすべてのスレッドの I/O 優先度を変"
8597 "更したい場合には、 それぞれのスレッドに対して B<ioprio_set>() を呼び出す必要"
8598 "がある。 この操作を行うのに必要となるスレッド ID には B<gettid>(2) か "
8599 "B<clone>(2) が返す値を指定する。"
8600
8601 #. type: Plain text
8602 #: build/C/man2/ioprio_set.2:225
8603 msgid ""
8604 "These system calls have an effect only when used in conjunction with an I/O "
8605 "scheduler that supports I/O priorities.  As at kernel 2.6.17 the only such "
8606 "scheduler is the Completely Fair Queuing (CFQ) I/O scheduler."
8607 msgstr ""
8608 "これらのシステムコールは、I/O 優先度に対応した I/O スケジューラと 組み合わせ"
8609 "て使用された場合にのみ効果を持つ。 カーネル 2.6.17 では、この条件を満たすスケ"
8610 "ジューラは Completely Fair Queuing (CFQ) I/O スケジューラだけである。"
8611
8612 #. type: SS
8613 #: build/C/man2/ioprio_set.2:225
8614 #, no-wrap
8615 msgid "Selecting an I/O scheduler"
8616 msgstr "I/O スケジューラの選択"
8617
8618 #. type: Plain text
8619 #: build/C/man2/ioprio_set.2:229
8620 msgid ""
8621 "I/O Schedulers are selected on a per-device basis via the special file I</"
8622 "sys/block/E<lt>deviceE<gt>/queue/scheduler>."
8623 msgstr ""
8624 "I/O スケジューラの選択はデバイス単位に行われ、その選択は スペシャルファイル "
8625 "I</sys/block/E<lt>deviceE<gt>/queue/scheduler> 経由で行われる。"
8626
8627 #. type: Plain text
8628 #: build/C/man2/ioprio_set.2:235
8629 msgid ""
8630 "One can view the current I/O scheduler via the I</sys> filesystem.  For "
8631 "example, the following command displays a list of all schedulers currently "
8632 "loaded in the kernel:"
8633 msgstr ""
8634 "現在の I/O スケジューラは I</sys> ファイルシステム経由で参照できる。例えば、"
8635 "以下のコマンドを実行すると、 現在カーネルでロードされているスケジューラの全リ"
8636 "ストが表示される。"
8637
8638 #. type: Plain text
8639 #: build/C/man2/ioprio_set.2:240
8640 #, no-wrap
8641 msgid ""
8642 "$B< cat /sys/block/hda/queue/scheduler>\n"
8643 "noop anticipatory deadline [cfq]\n"
8644 msgstr ""
8645 "$B< cat /sys/block/hda/queue/scheduler>\n"
8646 "noop anticipatory deadline [cfq]\n"
8647
8648 #. type: Plain text
8649 #: build/C/man2/ioprio_set.2:254
8650 msgid ""
8651 "The scheduler surrounded by brackets is the one actually in use for the "
8652 "device (I<hda> in the example).  Setting another scheduler is done by "
8653 "writing the name of the new scheduler to this file.  For example, the "
8654 "following command will set the scheduler for the I<hda> device to I<cfq>:"
8655 msgstr ""
8656 "括弧で囲まれたスケジューラがそのデバイス (上の例では I<hda>)  について実際に"
8657 "使用されているスケジューラである。 別のスケジューラを設定するには、このファイ"
8658 "ルに新しいスケジューラ名を 書き込めばよい。例えば、以下のコマンドを実行する"
8659 "と、デバイス I<hda> のスケジューラとして I<cfq> が設定される。"
8660
8661 #. type: Plain text
8662 #: build/C/man2/ioprio_set.2:260
8663 #, no-wrap
8664 msgid ""
8665 "$B< su>\n"
8666 "Password:\n"
8667 "#B< echo cfq E<gt> /sys/block/hda/queue/scheduler>\n"
8668 msgstr ""
8669 "$B< su>\n"
8670 "Password:\n"
8671 "#B< echo cfq E<gt> /sys/block/hda/queue/scheduler>\n"
8672
8673 #. type: SS
8674 #: build/C/man2/ioprio_set.2:262
8675 #, no-wrap
8676 msgid "The Completely Fair Queuing (CFQ) I/O scheduler"
8677 msgstr "Completely Fair Queuing (CFQ) I/O スケジューラ"
8678
8679 #. type: Plain text
8680 #: build/C/man2/ioprio_set.2:268
8681 msgid ""
8682 "Since v3 (aka CFQ Time Sliced) CFQ implements I/O nice levels similar to "
8683 "those of CPU scheduling.  These nice levels are grouped in three scheduling "
8684 "classes each one containing one or more priority levels:"
8685 msgstr ""
8686 "バージョン 3 (別名 CFQ Time Sliced) 以降、 CPU スケジューリングと同様の I/O "
8687 "nice レベルが CFQ に実装されている。 これらの nice レベルは 3つのスケジューリ"
8688 "ングクラスに分類でき、 各スケジューリングクラスにつき 1つ以上の優先度レベルが"
8689 "定義されている。"
8690
8691 #. type: TP
8692 #: build/C/man2/ioprio_set.2:268
8693 #, no-wrap
8694 msgid "B<IOPRIO_CLASS_RT> (1)"
8695 msgstr "B<IOPRIO_CLASS_RT> (1)"
8696
8697 #. type: Plain text
8698 #: build/C/man2/ioprio_set.2:283
8699 msgid ""
8700 "This is the real-time I/O class.  This scheduling class is given higher "
8701 "priority than any other class: processes from this class are given first "
8702 "access to the disk every time.  Thus this I/O class needs to be used with "
8703 "some care: one I/O real-time process can starve the entire system.  Within "
8704 "the real-time class, there are 8 levels of class data (priority) that "
8705 "determine exactly how much time this process needs the disk for on each "
8706 "service.  The highest real-time priority level is 0; the lowest is 7.  In "
8707 "the future this might change to be more directly mappable to performance, by "
8708 "passing in a desired data rate instead."
8709 msgstr ""
8710 "これはリアルタイム I/O クラスである。 このスケジューリングクラスには他のクラ"
8711 "スよりも高い優先度が与えられる。 このクラスのプロセスには、常にディスクへのア"
8712 "クセスが優先して 割り当てられる。そのため、この I/O クラスを使う際には、 たっ"
8713 "た一つの リアルタイム I/O クラスのプロセスにより システム全体のディスクアクセ"
8714 "スができなくなってしまうことがある という点に、注意を払う必要がある。 このク"
8715 "ラスには、8 段階の class data (優先度レベル) がある。 この値は、そのプロセス"
8716 "が 1回のディスクアクセスにどれだけの 時間が必要かを正確に決めるためのものであ"
8717 "る。 最高のリアルタイム優先度レベルは 0 で、最低は 7 である。 将来的には、優"
8718 "先度レベルは、希望するデータレートを渡すなど、 より直接的に性能条件を反映でき"
8719 "るように変更されるかもしれない。"
8720
8721 #. type: TP
8722 #: build/C/man2/ioprio_set.2:283
8723 #, no-wrap
8724 msgid "B<IOPRIO_CLASS_BE> (2)"
8725 msgstr "B<IOPRIO_CLASS_BE> (2)"
8726
8727 #. type: Plain text
8728 #: build/C/man2/ioprio_set.2:296
8729 msgid ""
8730 "This is the best-effort scheduling class, which is the default for any "
8731 "process that hasn't set a specific I/O priority.  The class data (priority) "
8732 "determines how much I/O bandwidth the process will get.  Best-effort "
8733 "priority levels are analogous to CPU nice values (see B<getpriority>(2)).  "
8734 "The priority level determines a priority relative to other processes in the "
8735 "best-effort scheduling class.  Priority levels range from 0 (highest) to 7 "
8736 "(lowest)."
8737 msgstr ""
8738 "これは ベストエフォート・スケジューリングクラスである。 このクラスは、特定の "
8739 "I/O 優先度を設定していないプロセスの デフォルト値である。 class data (優先度"
8740 "レベル) により、そのプロセスがどの程度の I/O 帯域を得られるかが決定される。 "
8741 "ベストエフォート・優先度レベルは、CPU の nice 値 (B<getpriority>(2)  参照) と"
8742 "同様のものである。 優先度レベルは、ベストエフォート・スケジューリングクラスの"
8743 "中で 他のプロセスとの相対的な優先度を決定する。 優先度レベルの値の範囲は 0 "
8744 "(最高) から 7 (最低) である。"
8745
8746 #. type: TP
8747 #: build/C/man2/ioprio_set.2:296
8748 #, no-wrap
8749 msgid "B<IOPRIO_CLASS_IDLE> (3)"
8750 msgstr "B<IOPRIO_CLASS_IDLE> (3)"
8751
8752 #. type: Plain text
8753 #: build/C/man2/ioprio_set.2:305
8754 msgid ""
8755 "This is the idle scheduling class.  Processes running at this level only get "
8756 "I/O time when no-one else needs the disk.  The idle class has no class "
8757 "data.  Attention is required when assigning this priority class to a "
8758 "process, since it may become starved if higher priority processes are "
8759 "constantly accessing the disk."
8760 msgstr ""
8761 "これは idle スケジューリングクラスである。 このレベルで動作するプロセスは他に"
8762 "ディスクアクセスをしようとする プロセスがない場合にのみ I/O 時間を取得する。 "
8763 "idle クラスには class data (優先度) は用意されていない。 プロセスにこの優先度"
8764 "を割り当てる際には注意が必要である。 なぜなら、優先度の高いプロセスが常にディ"
8765 "スクにアクセスしている場合には ディスクにアクセスできなくなる可能性があるから"
8766 "だ。"
8767
8768 #. type: Plain text
8769 #: build/C/man2/ioprio_set.2:309
8770 msgid ""
8771 "Refer to I<Documentation/block/ioprio.txt> for more information on the CFQ I/"
8772 "O Scheduler and an example program."
8773 msgstr ""
8774 "CFQ I/O スケジューラの更なる情報とサンプルプログラムについては "
8775 "I<Documentation/block/ioprio.txt> を参照のこと。"
8776
8777 #. type: SS
8778 #: build/C/man2/ioprio_set.2:309
8779 #, no-wrap
8780 msgid "Required permissions to set I/O priorities"
8781 msgstr "I/O 優先度の設定に必要な許可"
8782
8783 #. type: Plain text
8784 #: build/C/man2/ioprio_set.2:312
8785 msgid ""
8786 "Permission to change a process's priority is granted or denied based on two "
8787 "assertions:"
8788 msgstr ""
8789 "プロセスの優先度を変更する許可が得られるかどうかは 以下の 2つの条件に基いて決"
8790 "定される。"
8791
8792 #. type: TP
8793 #: build/C/man2/ioprio_set.2:312
8794 #, no-wrap
8795 msgid "B<Process ownership>"
8796 msgstr "B<プロセスの所有権>"
8797
8798 #. type: Plain text
8799 #: build/C/man2/ioprio_set.2:320
8800 msgid ""
8801 "An unprivileged process may set only the I/O priority of a process whose "
8802 "real UID matches the real or effective UID of the calling process.  A "
8803 "process which has the B<CAP_SYS_NICE> capability can change the priority of "
8804 "any process."
8805 msgstr ""
8806 "非特権プロセスは、プロセスの実 UID が呼び出し元プロセスの実 UID もしくは 実"
8807 "効 UID と一致するプロセスの I/O 優先度のみを設定できる。 B<CAP_SYS_NICE> ケー"
8808 "パビリティを持つプロセスは、どのプロセスの優先度でも変更できる。"
8809
8810 #. type: TP
8811 #: build/C/man2/ioprio_set.2:320
8812 #, no-wrap
8813 msgid "B<What is the desired priority>"
8814 msgstr "B<どの優先度に設定しようとしているか>"
8815
8816 #. type: Plain text
8817 #: build/C/man2/ioprio_set.2:332
8818 msgid ""
8819 "Attempts to set very high priorities (B<IOPRIO_CLASS_RT>)  require the "
8820 "B<CAP_SYS_ADMIN> capability.  Kernel versions up to 2.6.24 also required "
8821 "B<CAP_SYS_ADMIN> to set a very low priority (B<IOPRIO_CLASS_IDLE>), but "
8822 "since Linux 2.6.25, this is no longer required."
8823 msgstr ""
8824 "非常に高い優先度 (B<IOPRIO_CLASS_RT>)  を設定しようとする場合、 "
8825 "B<CAP_SYS_ADMIN> ケーパビリティが必要である。 カーネル 2.6.24 以前では、非常"
8826 "に低い優先度 (B<IOPRIO_CLASS_IDLE>)  を設定するためにも B<CAP_SYS_ADMIN> ケー"
8827 "パビリティが必要であったが、 Linux 2.6.25 以降ではもはや必要なくなった。"
8828
8829 #. type: Plain text
8830 #: build/C/man2/ioprio_set.2:337
8831 msgid ""
8832 "A call to B<ioprio_set>()  must follow both rules, or the call will fail "
8833 "with the error B<EPERM>."
8834 msgstr ""
8835 "B<ioprio_set>()  はこの両方のルールに従い、条件を満たさない場合、エラー "
8836 "B<EPERM> で失敗する。"
8837
8838 #.  6 May 07: Bug report raised:
8839 #.  http://sources.redhat.com/bugzilla/show_bug.cgi?id=4464
8840 #.  Ulrich Drepper replied that he wasn't going to add these
8841 #.  to glibc.
8842 #. type: Plain text
8843 #: build/C/man2/ioprio_set.2:346
8844 msgid ""
8845 "Glibc does not yet provide a suitable header file defining the function "
8846 "prototypes and macros described on this page.  Suitable definitions can be "
8847 "found in I<linux/ioprio.h>."
8848 msgstr ""
8849 "glibc は、このページに記載された関数プロトタイプやマクロを定義する 適切なヘッ"
8850 "ダファイルをまだ提供していない。 必要な定義については I<linux/ioprio.h> を見"
8851 "ればよい。"
8852
8853 #. type: Plain text
8854 #: build/C/man2/ioprio_set.2:351
8855 msgid "B<ionice>(1), B<getpriority>(2), B<open>(2), B<capabilities>(7)"
8856 msgstr "B<ionice>(1), B<getpriority>(2), B<open>(2), B<capabilities>(7)"
8857
8858 #. type: Plain text
8859 #: build/C/man2/ioprio_set.2:354
8860 msgid "I<Documentation/block/ioprio.txt> in the Linux kernel source tree"
8861 msgstr "Linux カーネルソース内の I<Documentation/block/ioprio.txt>"
8862
8863 #. type: TH
8864 #: build/C/man2/ipc.2:25
8865 #, no-wrap
8866 msgid "IPC"
8867 msgstr "IPC"
8868
8869 #. type: TH
8870 #: build/C/man2/ipc.2:25
8871 #, no-wrap
8872 msgid "2012-10-16"
8873 msgstr "2012-10-16"
8874
8875 #. type: Plain text
8876 #: build/C/man2/ipc.2:28
8877 msgid "ipc - System V IPC system calls"
8878 msgstr "ipc - System V IPC システムコール"
8879
8880 #. type: Plain text
8881 #: build/C/man2/ipc.2:33
8882 #, no-wrap
8883 msgid ""
8884 "B<int ipc(unsigned int >I<call>B<, int >I<first>B<, int >I<second>B<, int >I<third>B<,>\n"
8885 "B<        void *>I<ptr>B<, long >I<fifth>B<);>\n"
8886 msgstr ""
8887 "B<int ipc(unsigned int >I<call>B<, int >I<first>B<, int >I<second>B<, int >I<third>B<,>\n"
8888 "B<        void *>I<ptr>B<, long >I<fifth>B<);>\n"
8889
8890 #. type: Plain text
8891 #: build/C/man2/ipc.2:41
8892 msgid ""
8893 "B<ipc>()  is a common kernel entry point for the System\\ V IPC calls for "
8894 "messages, semaphores, and shared memory.  I<call> determines which IPC "
8895 "function to invoke; the other arguments are passed through to the "
8896 "appropriate call."
8897 msgstr ""
8898 "B<ipc>()  は メッセージ、セマフォー、共有メモリに関する System\\ V IPC コール"
8899 "の 共通のカーネルへのエントリポイントである。 I<call> はどの IPC 関数を呼び出"
8900 "すかを決め; 他の引き数は適切なコールへと渡される。"
8901
8902 #. type: Plain text
8903 #: build/C/man2/ipc.2:45
8904 msgid ""
8905 "User programs should call the appropriate functions by their usual names.  "
8906 "Only standard library implementors and kernel hackers need to know about "
8907 "B<ipc>()."
8908 msgstr ""
8909 "ユーザープログラムは通常の名前で適切な関数を呼び出すべきである。 標準ライブラ"
8910 "リの実装者やカーネルハッカーのみが B<ipc>()  について知る必要がある。"
8911
8912 #. type: Plain text
8913 #: build/C/man2/ipc.2:49
8914 msgid ""
8915 "B<ipc>()  is Linux-specific, and should not be used in programs intended to "
8916 "be portable."
8917 msgstr ""
8918 "B<ipc>()  は Linux 特有であり、 移植を意図したプログラムでは 使用してはいけな"
8919 "い。"
8920
8921 #. type: Plain text
8922 #: build/C/man2/ipc.2:57
8923 msgid ""
8924 "On some architectures\\(emfor example x86-64 and ARM\\(emthere is no "
8925 "B<ipc>()  system call; instead B<msgctl>(2), B<semctl>(2), B<shmctl>(2), and "
8926 "so on really are implemented as separate system calls."
8927 msgstr ""
8928 "いくつかのアーキテクチャ\\(emfor 例えば x86-64 や ARM\\(emでは、システムコー"
8929 "ル B<ipc>()  が存在しない。実際には、その代わりに B<msgctl>(2), "
8930 "B<semctl>(2), B<shmctl>(2)  などが独立したシステムコールとして実装されてい"
8931 "る。"
8932
8933 #. type: Plain text
8934 #: build/C/man2/ipc.2:70
8935 msgid ""
8936 "B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), "
8937 "B<semget>(2), B<semop>(2), B<semtimedop>(2), B<shmat>(2), B<shmctl>(2), "
8938 "B<shmdt>(2), B<shmget>(2)"
8939 msgstr ""
8940 "B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), "
8941 "B<semget>(2), B<semop>(2), B<shmat>(2), B<shmctl>(2), B<shmdt>(2), "
8942 "B<shmget>(2)"
8943
8944 #. type: TH
8945 #: build/C/man2/seteuid.2:29
8946 #, no-wrap
8947 msgid "SETEUID"
8948 msgstr "SETEUID"
8949
8950 #. type: TH
8951 #: build/C/man2/seteuid.2:29
8952 #, no-wrap
8953 msgid "2012-07-02"
8954 msgstr "2012-07-02"
8955
8956 #. type: Plain text
8957 #: build/C/man2/seteuid.2:32
8958 msgid "seteuid, setegid - set effective user or group ID"
8959 msgstr "seteuid, setegid - 実効ユーザー ID や 実効グループ ID を設定する"
8960
8961 #. type: Plain text
8962 #: build/C/man2/seteuid.2:38
8963 msgid "B<int seteuid(uid_t >I<euid>B<);>"
8964 msgstr "B<int seteuid(uid_t >I<euid>B<);>"
8965
8966 #. type: Plain text
8967 #: build/C/man2/seteuid.2:40
8968 msgid "B<int setegid(gid_t >I<egid>B<);>"
8969 msgstr "B<int setegid(gid_t >I<egid>B<);>"
8970
8971 #. type: Plain text
8972 #: build/C/man2/seteuid.2:49
8973 msgid "B<seteuid>(), B<setegid>():"
8974 msgstr "B<seteuid>(), B<setegid>():"
8975
8976 #. type: Plain text
8977 #: build/C/man2/seteuid.2:51
8978 msgid ""
8979 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
8980 "\\ 600"
8981 msgstr ""
8982 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
8983 "\\ 600"
8984
8985 #. type: Plain text
8986 #: build/C/man2/seteuid.2:58
8987 msgid ""
8988 "B<seteuid>()  sets the effective user ID of the calling process.  "
8989 "Unprivileged user processes may only set the effective user ID to the real "
8990 "user ID, the effective user ID or the saved set-user-ID."
8991 msgstr ""
8992 "B<seteuid>()  は呼び出し元のプロセスの実効ユーザー ID を設定する。 非特権ユー"
8993 "ザーのプロセスの場合、実効ユーザー ID に設定できるのは、 実ユーザー ID・実効"
8994 "ユーザー ID・保存 set-user-ID のいずれかだけである。"
8995
8996 #.  When
8997 #.  .I euid
8998 #.  equals \-1, nothing is changed.
8999 #.  (This is an artifact of the implementation in glibc of seteuid()
9000 #.  using setresuid(2).)
9001 #. type: Plain text
9002 #: build/C/man2/seteuid.2:67
9003 msgid ""
9004 "Precisely the same holds for B<setegid>()  with \"group\" instead of \"user"
9005 "\"."
9006 msgstr ""
9007 "B<setegid>()  は「ユーザー」ではなく「グループ」に対して全く同じことを行う。"
9008
9009 #. type: Plain text
9010 #: build/C/man2/seteuid.2:91
9011 msgid ""
9012 "The calling process is not privileged (Linux: does not have the "
9013 "B<CAP_SETUID> capability in the case of B<seteuid>(), or the B<CAP_SETGID> "
9014 "capability in the case of B<setegid>())  and I<euid> (respectively, "
9015 "I<egid>)  is not the real user (group) ID, the effective user (group) ID, or "
9016 "the saved set-user-ID (saved set-group-ID)."
9017 msgstr ""
9018 "呼び出し元のプロセスに特権がなく、 I<euid> (I<egid>)  が実ユーザー (グルー"
9019 "プ) ID、または実効ユーザー (グループ) ID、 保存 set-user-ID (保存 set-group-"
9020 "ID) のいずれでもではない (Linux においては、 B<seteuid>()  では "
9021 "B<CAP_SETUID> ケーパビリティ (capability) が、 B<setegid>()  では "
9022 "B<CAP_SETGID> ケーパビリティがない場合に、特権がないと判断される)。"
9023
9024 #. type: Plain text
9025 #: build/C/man2/seteuid.2:93
9026 msgid "4.3BSD, POSIX.1-2001."
9027 msgstr "4.3BSD, POSIX.1-2001."
9028
9029 #. type: Plain text
9030 #: build/C/man2/seteuid.2:99
9031 msgid ""
9032 "Setting the effective user (group) ID to the saved set-user-ID (saved set-"
9033 "group-ID) is possible since Linux 1.1.37 (1.1.38).  On an arbitrary system "
9034 "one should check B<_POSIX_SAVED_IDS>."
9035 msgstr ""
9036 "実効ユーザー (グループ) ID を保存 set-user-ID (保存 set-group-ID) に 設定でき"
9037 "るのは、Linux 1.1.37 (1.1.38) 以降である。 全てのシステムにおいて "
9038 "B<_POSIX_SAVED_IDS> をチェックすべきである。"
9039
9040 #. type: Plain text
9041 #: build/C/man2/seteuid.2:115
9042 msgid ""
9043 "Under libc4, libc5 and glibc 2.0 B<seteuid(>I<euid>B<)> is equivalent to "
9044 "B<setreuid(-1,>I< euid>B<)> and hence may change the saved set-user-ID.  "
9045 "Under glibc 2.1 and later it is equivalent to B<setresuid(-1,>I< euid>B<, "
9046 "-1)> and hence does not change the saved set-user-ID.  Analogous remarks "
9047 "hold for B<setegid>(), with the difference that the change in implementation "
9048 "from B<setregid(-1,>I< egid>B<)> to B<setresgid(-1,>I< egid>B<, -1)> "
9049 "occurred in glibc 2.2 or 2.3 (depending on the hardware architecture)."
9050 msgstr ""
9051 "libc4, libc5, glibc 2.0 では、 B<seteuid(>I<euid>B<)> は B<setreuid(-1,>I< "
9052 "euid>B<)> と等価であり、保存 set-user-ID を変更するかもしれない。 glibc 2.1 "
9053 "では、 B<setresuid(-1,>I< euid>B<, -1)> と等価であり、保存 set-user-ID 変更し"
9054 "ない。 同様のことが B<setegid>() にも言えるが、 glibc 2.2 か 2.3 で、 実装が "
9055 "B<setregid(-1,>I< egid>B<)> から B<setresgid(-1,>I< egid>B<, -1)> へ変更され"
9056 "た点だけが違う (どの glibc バージョンで変更が行われたかは、ハードウェアアーキ"
9057 "テクチャによって異なる)。"
9058
9059 #. type: Plain text
9060 #: build/C/man2/seteuid.2:124
9061 msgid ""
9062 "According to POSIX.1, B<seteuid>()  (B<setegid>())  need not permit I<euid> "
9063 "(I<egid>)  to be the same value as the current effective user (group) ID, "
9064 "and some implementations do not permit this."
9065 msgstr ""
9066 "POSIX.1 では、 B<seteuid>()  (B<setegid>())  で、 I<euid> (I<egid>)  として現"
9067 "在の実効ユーザ (グループ) ID と同じ値を指定可能である 必要はないとされてお"
9068 "り、いくつかの実装では I<euid> (I<egid>)  として現在の実効ユーザ (グループ) "
9069 "ID と同じ値を 指定することができない。"
9070
9071 #. type: Plain text
9072 #: build/C/man2/seteuid.2:131
9073 msgid ""
9074 "B<geteuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), "
9075 "B<capabilities>(7), B<credentials>(7)"
9076 msgstr ""
9077 "B<geteuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), "
9078 "B<capabilities>(7), B<credentials>(7)"
9079
9080 #. type: TH
9081 #: build/C/man2/setfsgid.2:31
9082 #, no-wrap
9083 msgid "SETFSGID"
9084 msgstr "SETFSGID"
9085
9086 #. type: TH
9087 #: build/C/man2/setfsgid.2:31 build/C/man2/setfsuid.2:31
9088 #, no-wrap
9089 msgid "2013-08-08"
9090 msgstr "2013-08-08"
9091
9092 #. type: Plain text
9093 #: build/C/man2/setfsgid.2:34
9094 msgid "setfsgid - set group identity used for filesystem checks"
9095 msgstr ""
9096 "setfsgid - ファイルシステムのチェックに用いられるグループ ID を設定する"
9097
9098 #. type: Plain text
9099 #: build/C/man2/setfsgid.2:36 build/C/man2/setfsuid.2:36
9100 msgid "B<#include E<lt>sys/fsuid.hE<gt>>"
9101 msgstr "B<#include E<lt>sys/fsuid.hE<gt>>"
9102
9103 #. type: Plain text
9104 #: build/C/man2/setfsgid.2:38
9105 msgid "B<int setfsgid(uid_t >I<fsgid>B<);>"
9106 msgstr "B<int setfsgid(uid_t >I<fsgid>B<);>"
9107
9108 #. type: Plain text
9109 #: build/C/man2/setfsgid.2:51
9110 msgid ""
9111 "The system call B<setfsgid>()  changes the value of the caller's filesystem "
9112 "group ID\\(emthe group ID that the Linux kernel uses to check for all "
9113 "accesses to the filesystem.  Normally, the value of the filesystem group ID "
9114 "will shadow the value of the effective group ID.  In fact, whenever the "
9115 "effective group ID is changed, the filesystem group ID will also be changed "
9116 "to the new value of the effective group ID."
9117 msgstr ""
9118 "システムコール B<setfsgid>() は、 呼び出し元のファイルシステムグループ ID "
9119 "\\(em ファイルシステムへの全てのアクセスのチェックにおいて Linux カーネルが使"
9120 "用するグループ ID \\(em の値を変更する。通常はファイルシステムグループ ID の"
9121 "値は実効 (effective) グループ ID と同じになる。実際、 実効グループ ID が変更"
9122 "される度にファイルシステムグループ ID もまた新しい実効グループ ID の値に変更"
9123 "される。"
9124
9125 #. type: Plain text
9126 #: build/C/man2/setfsgid.2:62
9127 msgid ""
9128 "Explicit calls to B<setfsuid>(2)  and B<setfsgid>()  are usually used only "
9129 "by programs such as the Linux NFS server that need to change what user and "
9130 "group ID is used for file access without a corresponding change in the real "
9131 "and effective user and group IDs.  A change in the normal user IDs for a "
9132 "program such as the NFS server is a security hole that can expose it to "
9133 "unwanted signals.  (But see below.)"
9134 msgstr ""
9135 "通常、 B<setfsuid>()  や B<setfsgid>() を明示的に呼び出すのは、Linux NFS サー"
9136 "バー のように、 ファイルアクセスに用いるユーザID / グループID を変更しなけれ"
9137 "ばならないが、 対応する実(real)/実効(effective) ユーザID / グループID は変更"
9138 "したくないような プログラムに限られる。 NFS サーバーのようなプログラムで、通"
9139 "常のユーザID を変更すると、 プロセスを望まないシグナルにさらす可能性があり、 "
9140 "セキュリティホールになる。(下記参照)"
9141
9142 #. type: Plain text
9143 #: build/C/man2/setfsgid.2:68
9144 msgid ""
9145 "B<setfsgid>()  will succeed only if the caller is the superuser or if "
9146 "I<fsgid> matches either the caller's real group ID, effective group ID, "
9147 "saved set-group-ID, or current the filesystem user ID."
9148 msgstr ""
9149 "B<setfsgid>()  は、スーパーユーザによって呼び出された場合か、 I<fsgid> が呼び"
9150 "出し元の実グループID、実効グループID、 保存セットグループID (saved set-group-"
9151 "ID)、現在のファイルシステムグループ ID の値のいずれかに一致する場合にのみ成功"
9152 "する。"
9153
9154 #. type: Plain text
9155 #: build/C/man2/setfsgid.2:71
9156 msgid ""
9157 "On both success and failure, this call returns the previous filesystem group "
9158 "ID of the caller."
9159 msgstr ""
9160 "成功時も失敗時も、 この呼び出しは直前の呼び出し元のファイルシステムグループ "
9161 "ID の値を返す。"
9162
9163 #.  This system call is present since Linux 1.1.44
9164 #.  and in libc since libc 4.7.6.
9165 #. type: Plain text
9166 #: build/C/man2/setfsgid.2:75 build/C/man2/setfsuid.2:75
9167 msgid "This system call is present in Linux since version 1.2."
9168 msgstr "このシステムコールはバージョン 1.2 以降の Linux に存在する。"
9169
9170 #. type: Plain text
9171 #: build/C/man2/setfsgid.2:79
9172 msgid ""
9173 "B<setfsgid>()  is Linux-specific and should not be used in programs intended "
9174 "to be portable."
9175 msgstr ""
9176 "B<setfsgid>()  は Linux 特有であり、移植を想定したプログラムで使用してはいけ"
9177 "ない。"
9178
9179 #. type: Plain text
9180 #: build/C/man2/setfsgid.2:85
9181 msgid ""
9182 "When glibc determines that the argument is not a valid group ID, it will "
9183 "return -1 and set I<errno> to B<EINVAL> without attempting the system call."
9184 msgstr ""
9185 "glibc が引き数がグループID として不正だと判断した場合は、 システムコールを行"
9186 "わず I<errno> に B<EINVAL> を設定して -1 が返される。"
9187
9188 #. type: Plain text
9189 #: build/C/man2/setfsgid.2:96
9190 msgid ""
9191 "Note that at the time this system call was introduced, a process could send "
9192 "a signal to a process with the same effective user ID.  Today signal "
9193 "permission handling is slightly different.  See B<setfsuid>(2)  for a "
9194 "discussion of why the use of both B<setfsuid>(2)  and B<setfsgid>()  is "
9195 "nowadays unneeded."
9196 msgstr ""
9197 "このシステムコールが導入された当時、プロセスは 同じ実効ユーザIDのプロセスへシ"
9198 "グナルを送ることができた。 今日では、シグナル送信権限の扱いはかなり違うものに"
9199 "なっている。 なぜ今日では B<setfsuid>(2) と B<setfsgid>() の両者が不要なのか"
9200 "の議論については B<setfsuid>(2) を参照のこと。"
9201
9202 #. type: Plain text
9203 #: build/C/man2/setfsgid.2:106
9204 msgid ""
9205 "The original Linux B<setfsgid>()  system call supported only 16-bit group "
9206 "IDs.  Subsequently, Linux 2.4 added B<setfsgid32>()  supporting 32-bit IDs.  "
9207 "The glibc B<setfsgid>()  wrapper function transparently deals with the "
9208 "variation across kernel versions."
9209 msgstr ""
9210 "元々の Linux の B<setfsgid>() システムコールは\n"
9211 "16 ビットのグループ ID だけに対応していた。\n"
9212 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
9213 "B<setfsgid32>() が追加された。\n"
9214 "glibc の B<setfsgid>() のラッパー関数は\n"
9215 "カーネルバージョンによるこの違いを吸収している。"
9216
9217 #. type: Plain text
9218 #: build/C/man2/setfsgid.2:123
9219 msgid ""
9220 "No error indications of any kind are returned to the caller, and the fact "
9221 "that both successful and unsuccessful calls return the same value makes it "
9222 "impossible to directly determine whether the call succeeded or failed.  "
9223 "Instead, the caller must resort to looking at the return value from a "
9224 "further call such as I<setfsgid(-1)> (which will always fail), in order to "
9225 "determine if a preceding call to B<setfsgid>()  changed the filesystem group "
9226 "ID.  At the very least, B<EPERM> should be returned when the call fails "
9227 "(because the caller lacks the B<CAP_SETGID> capability)."
9228 msgstr ""
9229 "いかなる種類のエラーメッセージも返さず、 成功した場合も失敗した場合も呼び出し"
9230 "は同じ値を返すため、 呼び出しが成功したか失敗したかを直接判定することはできな"
9231 "い。 その代わり、 直前の B<setfsgid>() の呼び出しがファイルシステムグループ "
9232 "ID を変更したかどうかを判定するために、 呼び出し元はこの後に I<setfsgid(-1)> "
9233 "などを呼び出して返り値を見なければならない (I<setfsgid(-1)> は常に失敗す"
9234 "る)。 最低でも、失敗した場合は B<EPERM> くらいは返すべきである (呼び出し元に"
9235 "は B<CAP_SETGID> ケーパビリティがなかったのだから)。"
9236
9237 #. type: Plain text
9238 #: build/C/man2/setfsgid.2:128
9239 msgid "B<kill>(2), B<setfsuid>(2), B<capabilities>(7), B<credentials>(7)"
9240 msgstr "B<kill>(2), B<setfsuid>(2), B<capabilities>(7), B<credentials>(7)"
9241
9242 #. type: TH
9243 #: build/C/man2/setfsuid.2:31
9244 #, no-wrap
9245 msgid "SETFSUID"
9246 msgstr "SETFSUID"
9247
9248 #. type: Plain text
9249 #: build/C/man2/setfsuid.2:34
9250 msgid "setfsuid - set user identity used for filesystem checks"
9251 msgstr "setfsuid - ファイルシステムのチェックに用いられるユーザ ID を設定する"
9252
9253 #. type: Plain text
9254 #: build/C/man2/setfsuid.2:38
9255 msgid "B<int setfsuid(uid_t >I<fsuid>B<);>"
9256 msgstr "B<int setfsuid(uid_t >I<fsuid>B<);>"
9257
9258 #. type: Plain text
9259 #: build/C/man2/setfsuid.2:51
9260 msgid ""
9261 "The system call B<setfsuid>()  changes the value of the caller's filesystem "
9262 "user ID\\(emthe user ID that the Linux kernel uses to check for all accesses "
9263 "to the filesystem.  Normally, the value of the filesystem user ID will "
9264 "shadow the value of the effective user ID.  In fact, whenever the effective "
9265 "user ID is changed, the filesystem user ID will also be changed to the new "
9266 "value of the effective user ID."
9267 msgstr ""
9268 "B<setfsuid>()  は、 呼び出し元のファイルシステムユーザー ID \\(em ファイルシ"
9269 "ステムへの全てのアクセスのチェックにおいて Linux カーネルが使用するユーザ ID "
9270 "\\(em の値を変更する。通常はファイルシステムユーザー ID の値は実効 "
9271 "(effective) ユーザID と同じになる。実際、 実効ユーザID が変更される度にファイ"
9272 "ルシステムユーザー ID もまた新しい実効ユーザ ID の値に変更される。"
9273
9274 #. type: Plain text
9275 #: build/C/man2/setfsuid.2:62
9276 msgid ""
9277 "Explicit calls to B<setfsuid>()  and B<setfsgid>(2)  are usually used only "
9278 "by programs such as the Linux NFS server that need to change what user and "
9279 "group ID is used for file access without a corresponding change in the real "
9280 "and effective user and group IDs.  A change in the normal user IDs for a "
9281 "program such as the NFS server is a security hole that can expose it to "
9282 "unwanted signals.  (But see below.)"
9283 msgstr ""
9284 "通常、 B<setfsuid>()  や B<setfsgid>() を明示的に呼び出すのは、Linux NFS サー"
9285 "バー のように、 ファイルアクセスに用いるユーザID / グループID を変更しなけれ"
9286 "ばならないが、 対応する実(real)/実効(effective) ユーザID / グループID は変更"
9287 "したくないような プログラムに限られる。 NFS サーバーのようなプログラムで、通"
9288 "常のユーザID を変更すると、 プロセスを望まないシグナルにさらす可能性があり、 "
9289 "セキュリティホールになる。(下記参照)"
9290
9291 #. type: Plain text
9292 #: build/C/man2/setfsuid.2:68
9293 msgid ""
9294 "B<setfsuid>()  will succeed only if the caller is the superuser or if "
9295 "I<fsuid> matches either the caller's real user ID, effective user ID, saved "
9296 "set-user-ID, or current filesystem user ID."
9297 msgstr ""
9298 "B<setfsuid>()  は、スーパーユーザによって呼び出された場合か、 I<fsuid> が呼び"
9299 "出し元の実ユーザID、実効ユーザID、 保存セットユーザID (saved set-user-ID)、現"
9300 "在のファイルシステムグループ ID の値のいずれかに一致する場合にのみ成功する。"
9301
9302 #. type: Plain text
9303 #: build/C/man2/setfsuid.2:71
9304 msgid ""
9305 "On both success and failure, this call returns the previous filesystem user "
9306 "ID of the caller."
9307 msgstr ""
9308 "成功時も失敗時も、 この呼び出しは直前の呼び出し元のファイルシステムユーザー "
9309 "ID の値を返す。"
9310
9311 #. type: Plain text
9312 #: build/C/man2/setfsuid.2:79
9313 msgid ""
9314 "B<setfsuid>()  is Linux-specific and should not be used in programs intended "
9315 "to be portable."
9316 msgstr ""
9317 "B<setfsuid>()  は Linux 特有であり、移植を想定したプログラムで使用してはいけ"
9318 "ない。"
9319
9320 #. type: Plain text
9321 #: build/C/man2/setfsuid.2:85
9322 msgid ""
9323 "When glibc determines that the argument is not a valid user ID, it will "
9324 "return -1 and set I<errno> to B<EINVAL> without attempting the system call."
9325 msgstr ""
9326 "glibc が引き数がユーザID として不正だと判断した場合は、 システムコールを行わ"
9327 "ず I<errno> に B<EINVAL> を設定して -1 が返される。"
9328
9329 #. type: Plain text
9330 #: build/C/man2/setfsuid.2:104
9331 msgid ""
9332 "At the time when this system call was introduced, one process could send a "
9333 "signal to another process with the same effective user ID.  This meant that "
9334 "if a privileged process changed its effective user ID for the purpose of "
9335 "file permission checking, then it could become vulnerable to receiving "
9336 "signals sent by another (unprivileged) process with the same user ID.  The "
9337 "filesystem user ID attribute was thus added to allow a process to change its "
9338 "user ID for the purposes of file permission checking without at the same "
9339 "time becoming vulnerable to receiving unwanted signals.  Since Linux 2.0, "
9340 "signal permission handling is different (see B<kill>(2)), with the result "
9341 "that a process change can change its effective user ID without being "
9342 "vulnerable to receiving signals from unwanted processes.  Thus, "
9343 "B<setfsuid>()  is nowadays unneeded and should be avoided in new "
9344 "applications (likewise for B<setfsgid>(2))."
9345 msgstr ""
9346 "このシステムコールが導入された当時、 あるプロセスは同じ実効ユーザー ID を持つ"
9347 "別のプロセスにシグナルを送信できた。 これは、 特権プロセスがファイルのアクセ"
9348 "ス許可をチェックするために自身の実効ユーザー ID を変更すると、 同じユーザー "
9349 "ID を持つ別の (非特権) プロセスが送信したシグナルを受け取るようになってしまう"
9350 "ことを意味する。そのため、 プロセスが、 受け取りたくないシグナルを受信する状"
9351 "態にならずに、 ファイルのアクセス許可をチェックするために自身のユーザー ID を"
9352 "変更できるように、 ファイルシステムユーザー ID 属性が追加された。 Linux 2.0 "
9353 "以降では、 シグナルの送信許可の扱いは異なり (B<kill>(2) 参照)、 プロセスは、 "
9354 "望まないプロセスからシグナルを受信してしまう状態にならずに、 自身の実効ユー"
9355 "ザー ID を変更することができる。 したがって、 B<setfsuid>() は今日では不要で"
9356 "あり、 新規のアプリケーションでは使用すべきではない (B<setfsgid>(2) も同様)。"
9357
9358 #. type: Plain text
9359 #: build/C/man2/setfsuid.2:114
9360 msgid ""
9361 "The original Linux B<setfsuid>()  system call supported only 16-bit user "
9362 "IDs.  Subsequently, Linux 2.4 added B<setfsuid32>()  supporting 32-bit IDs.  "
9363 "The glibc B<setfsuid>()  wrapper function transparently deals with the "
9364 "variation across kernel versions."
9365 msgstr ""
9366 "元々の Linux の B<setfsuid>() システムコールは\n"
9367 "16 ビットのグループ ID だけに対応していた。\n"
9368 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
9369 "B<setfsuid32>() が追加された。\n"
9370 "glibc の B<setfsuid>() のラッパー関数は\n"
9371 "カーネルバージョンによるこの違いを吸収している。"
9372
9373 #. type: Plain text
9374 #: build/C/man2/setfsuid.2:131
9375 msgid ""
9376 "No error indications of any kind are returned to the caller, and the fact "
9377 "that both successful and unsuccessful calls return the same value makes it "
9378 "impossible to directly determine whether the call succeeded or failed.  "
9379 "Instead, the caller must resort to looking at the return value from a "
9380 "further call such as I<setfsuid(-1)> (which will always fail), in order to "
9381 "determine if a preceding call to B<setfsuid>()  changed the filesystem user "
9382 "ID.  At the very least, B<EPERM> should be returned when the call fails "
9383 "(because the caller lacks the B<CAP_SETUID> capability)."
9384 msgstr ""
9385 "いかなる種類のエラーメッセージも返さず、 成功した場合も失敗した場合も呼び出し"
9386 "は同じ値を返すため、 呼び出しが成功したか失敗したかを直接判定することはできな"
9387 "い。 その代わり、 直前の B<setfsuid>() の呼び出しがファイルシステムグループ "
9388 "ID を変更したかどうかを判定するために、 呼び出し元はこの後に I<setfsuid(-1)> "
9389 "などを呼び出して返り値を見なければならない (I<setfsuid(-1)> は常に失敗す"
9390 "る)。 最低でも、失敗した場合は B<EPERM> くらいは返すべきである (呼び出し元に"
9391 "は B<CAP_SETUID> ケーパビリティがなかったのだから)。"
9392
9393 #. type: Plain text
9394 #: build/C/man2/setfsuid.2:136
9395 msgid "B<kill>(2), B<setfsgid>(2), B<capabilities>(7), B<credentials>(7)"
9396 msgstr "B<kill>(2), B<setfsgid>(2), B<capabilities>(7), B<credentials>(7)"
9397
9398 #. type: TH
9399 #: build/C/man2/setgid.2:29
9400 #, no-wrap
9401 msgid "SETGID"
9402 msgstr "SETGID"
9403
9404 #. type: Plain text
9405 #: build/C/man2/setgid.2:32
9406 msgid "setgid - set group identity"
9407 msgstr "setgid - グループ識別(identity)を設定する"
9408
9409 #. type: Plain text
9410 #: build/C/man2/setgid.2:38
9411 msgid "B<int setgid(gid_t >I<gid>B<);>"
9412 msgstr "B<int setgid(gid_t >I<gid>B<);>"
9413
9414 #. type: Plain text
9415 #: build/C/man2/setgid.2:43
9416 msgid ""
9417 "B<setgid>()  sets the effective group ID of the calling process.  If the "
9418 "caller is the superuser, the real GID and saved set-group-ID are also set."
9419 msgstr ""
9420 "B<setgid>()  は呼び出し元のプロセスの実効 (effective) グループID を設定す"
9421 "る。 もしスーパーユーザーによって呼び出された場合は、 実 (real) グループID と"
9422 "保存 (saved) set-group-ID も設定される。"
9423
9424 #. type: Plain text
9425 #: build/C/man2/setgid.2:53
9426 msgid ""
9427 "Under Linux, B<setgid>()  is implemented like the POSIX version with the "
9428 "B<_POSIX_SAVED_IDS> feature.  This allows a set-group-ID program that is not "
9429 "set-user-ID-root to drop all of its group privileges, do some un-privileged "
9430 "work, and then reengage the original effective group ID in a secure manner."
9431 msgstr ""
9432 "Linux において、 B<setgid>()  は B<_POSIX_SAVED_IDS> をもった POSIX 版のよう"
9433 "に実装されている。 これは set-user-ID-root でない set-group-ID プログラムにそ"
9434 "のグループの 特権の全て落とし、特権の必要ない仕事をし、本来の実効グループID "
9435 "に 安全な方法で再び戻すことを許す。"
9436
9437 #. type: Plain text
9438 #: build/C/man2/setgid.2:66
9439 msgid ""
9440 "The calling process is not privileged (does not have the B<CAP_SETGID> "
9441 "capability), and I<gid> does not match the real group ID or saved set-group-"
9442 "ID of the calling process."
9443 msgstr ""
9444 "呼び出し元のプロセスに権限がなく (B<CAP_SETGID> ケーパビリティがなく)、かつ "
9445 "I<gid> が呼び出し元のプロセスの実グループID と保存セットグループID のどちらと"
9446 "も一致しない。"
9447
9448 #. type: Plain text
9449 #: build/C/man2/setgid.2:78
9450 msgid ""
9451 "The original Linux B<setgid>()  system call supported only 16-bit group "
9452 "IDs.  Subsequently, Linux 2.4 added B<setgid32>()  supporting 32-bit IDs.  "
9453 "The glibc B<setgid>()  wrapper function transparently deals with the "
9454 "variation across kernel versions."
9455 msgstr ""
9456 "元々の Linux の B<setgid>() システムコールは\n"
9457 "16 ビットのグループ ID だけに対応していた。\n"
9458 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
9459 "B<setgid32>() が追加された。\n"
9460 "glibc の B<setgid>() のラッパー関数は\n"
9461 "カーネルバージョンによるこの違いを吸収している。"
9462
9463 #. type: Plain text
9464 #: build/C/man2/setgid.2:84
9465 msgid ""
9466 "B<getgid>(2), B<setegid>(2), B<setregid>(2), B<capabilities>(7), "
9467 "B<credentials>(7)"
9468 msgstr ""
9469 "B<getgid>(2), B<setegid>(2), B<setregid>(2), B<capabilities>(7), "
9470 "B<credentials>(7)"
9471
9472 #. type: TH
9473 #: build/C/man2/setpgid.2:48
9474 #, no-wrap
9475 msgid "SETPGID"
9476 msgstr "SETPGID"
9477
9478 #. type: TH
9479 #: build/C/man2/setpgid.2:48
9480 #, no-wrap
9481 msgid "2014-01-07"
9482 msgstr "2014-01-07"
9483
9484 #. type: Plain text
9485 #: build/C/man2/setpgid.2:51
9486 msgid "setpgid, getpgid, setpgrp, getpgrp - set/get process group"
9487 msgstr "setpgid, getpgid, setpgrp, getpgrp - プロセスグループの設定/取得を行う"
9488
9489 #. type: Plain text
9490 #: build/C/man2/setpgid.2:55
9491 msgid "B<int setpgid(pid_t >I<pid>B<, pid_t >I<pgid>B<);>"
9492 msgstr "B<int setpgid(pid_t >I<pid>B<, pid_t >I<pgid>B<);>"
9493
9494 #. type: Plain text
9495 #: build/C/man2/setpgid.2:57
9496 msgid "B<pid_t getpgid(pid_t >I<pid>B<);>"
9497 msgstr "B<pid_t getpgid(pid_t >I<pid>B<);>"
9498
9499 #. type: Plain text
9500 #: build/C/man2/setpgid.2:59
9501 msgid "B<pid_t getpgrp(void);> /* POSIX.1 version */"
9502 msgstr "B<pid_t getpgrp(void);> /* POSIX.1 version */"
9503
9504 #. type: Plain text
9505 #: build/C/man2/setpgid.2:62
9506 msgid ""
9507 "B<pid_t getpgrp(pid_t >I<pid>B<);\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ > /* BSD "
9508 "version */"
9509 msgstr ""
9510 "B<pid_t getpgrp(pid_t >I<pid>B<);\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ > /* BSD "
9511 "version */"
9512
9513 #. type: Plain text
9514 #: build/C/man2/setpgid.2:64
9515 msgid "B<int setpgrp(void);> /* System V version */"
9516 msgstr "B<int setpgrp(void);> /* System V version */"
9517
9518 #. type: Plain text
9519 #: build/C/man2/setpgid.2:67
9520 msgid "B<int setpgrp(pid_t >I<pid>B<, pid_t >I<pgid>B<);\\ > /* BSD version */"
9521 msgstr ""
9522 "B<int setpgrp(pid_t >I<pid>B<, pid_t >I<pgid>B<);\\ > /* BSD version */"
9523
9524 #. type: Plain text
9525 #: build/C/man2/setpgid.2:76
9526 msgid "B<getpgid>():"
9527 msgstr "B<getpgid>():"
9528
9529 #. type: Plain text
9530 #: build/C/man2/setpgid.2:84
9531 msgid "B<setpgrp>() (POSIX.1):"
9532 msgstr "B<setpgrp>() (POSIX.1):"
9533
9534 #. type: Plain text
9535 #: build/C/man2/setpgid.2:87
9536 #, no-wrap
9537 msgid ""
9538 "    _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
9539 "    _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED\n"
9540 msgstr ""
9541 "    _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
9542 "    _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED\n"
9543
9544 #. type: Plain text
9545 #: build/C/man2/setpgid.2:89
9546 #, no-wrap
9547 msgid "    || /* Since glibc 2.19: */ _BSD_SOURCE\n"
9548 msgstr "    || /* glibc 2.19 以降: */ _BSD_SOURCE\n"
9549
9550 #. type: Plain text
9551 #: build/C/man2/setpgid.2:93
9552 msgid "B<setpgrp>()\\ (BSD), B<getpgrp>()\\ (BSD) [before glibc 2.19]:"
9553 msgstr "B<setpgrp>()\\ (BSD), B<getpgrp>()\\ (BSD) [glibc 2.19 より前]:"
9554
9555 #. type: Plain text
9556 #: build/C/man2/setpgid.2:97
9557 #, no-wrap
9558 msgid ""
9559 "    _BSD_SOURCE &&\n"
9560 "        !\\ (_POSIX_SOURCE || _POSIX_C_SOURCE || _XOPEN_SOURCE ||\n"
9561 "           _XOPEN_SOURCE_EXTENDED || _GNU_SOURCE || _SVID_SOURCE)\n"
9562 msgstr ""
9563 "    _BSD_SOURCE &&\n"
9564 "        !\\ (_POSIX_SOURCE || _POSIX_C_SOURCE || _XOPEN_SOURCE ||\n"
9565 "           _XOPEN_SOURCE_EXTENDED || _GNU_SOURCE || _SVID_SOURCE)\n"
9566
9567 #. type: Plain text
9568 #: build/C/man2/setpgid.2:109
9569 msgid ""
9570 "All of these interfaces are available on Linux, and are used for getting and "
9571 "setting the process group ID (PGID) of a process.  The preferred, POSIX.1-"
9572 "specified ways of doing this are: B<getpgrp>(void), for retrieving the "
9573 "calling process's PGID; and B<setpgid>(), for setting a process's PGID."
9574 msgstr ""
9575 "これらのインタフェースすべてが Linux で利用可能で、 これらを使ってプロセスの"
9576 "プロセスグループ ID (PGID) の 取得や設定ができる。 推奨の、POSIX.1 で規定され"
9577 "た方法では、 B<getpgrp>(void)  で呼び出し元プロセスの PGID を取得し、 "
9578 "B<setpgid>()  で設定する。"
9579
9580 #. type: Plain text
9581 #: build/C/man2/setpgid.2:134
9582 msgid ""
9583 "B<setpgid>()  sets the PGID of the process specified by I<pid> to I<pgid>.  "
9584 "If I<pid> is zero, then the process ID of the calling process is used.  If "
9585 "I<pgid> is zero, then the PGID of the process specified by I<pid> is made "
9586 "the same as its process ID.  If B<setpgid>()  is used to move a process from "
9587 "one process group to another (as is done by some shells when creating "
9588 "pipelines), both process groups must be part of the same session (see "
9589 "B<setsid>(2)  and B<credentials>(7)).  In this case, the I<pgid> specifies "
9590 "an existing process group to be joined and the session ID of that group must "
9591 "match the session ID of the joining process."
9592 msgstr ""
9593 "B<setpgid>()  は I<pid> で指定したプロセスの PGID に I<pgid> を設定する。 "
9594 "I<pid> がゼロならば、呼び出し元プロセスのプロセス ID が pid として使用され"
9595 "る。 I<pgid> がゼロならば、 I<pid> で指定されたプロセスの PGID がそのプロセス"
9596 "のプロセス ID と 同じに設定される。 B<setpgid>()  をプロセスをあるプロセスグ"
9597 "ループから別のグループへ 移動するために使用する場合は (一部のシェルはパイプラ"
9598 "インを生成 する時にこれを行う)、両方のプロセスグループは同じセッションの 一部"
9599 "でなければならない (B<setsid>(2)  と B<credentials>(7)  参照)。この場合は "
9600 "I<pgid> は参加すべき既存の プロセスグループを指定し、そのセッション ID は参加"
9601 "するプロセスの セッション ID に一致しなければならない。"
9602
9603 #. type: Plain text
9604 #: build/C/man2/setpgid.2:139
9605 msgid ""
9606 "The POSIX.1 version of B<getpgrp>(), which takes no arguments, returns the "
9607 "PGID of the calling process."
9608 msgstr ""
9609 "POSIX.1 バージョンの B<getpgrp>()  は引き数を一つもとらず、 呼び出し元プロセ"
9610 "スの PGID を返す。"
9611
9612 #. type: Plain text
9613 #: build/C/man2/setpgid.2:150
9614 msgid ""
9615 "B<getpgid>()  returns the PGID of the process specified by I<pid>.  If "
9616 "I<pid> is zero, the process ID of the calling process is used.  (Retrieving "
9617 "the PGID of a process other than the caller is rarely necessary, and the "
9618 "POSIX.1 B<getpgrp>()  is preferred for that task.)"
9619 msgstr ""
9620 "B<getpgid>()  は I<pid> で指定されたプロセスの PGID を返す。 I<pid> がゼロな"
9621 "らば、呼び出し元プロセスのプロセス ID が pid として使用される。 (呼び出し元プ"
9622 "ロセス以外のプロセスの PGID の取得が必要になることは めったになく、呼び出し元"
9623 "プロセスの PGID を取得するには POSIX.1 バージョンの B<getpgrp>()  を使うのが"
9624 "望ましい。)"
9625
9626 #. type: Plain text
9627 #: build/C/man2/setpgid.2:155
9628 msgid ""
9629 "The System\\ V-style B<setpgrp>(), which takes no arguments, is equivalent "
9630 "to I<setpgid(0,\\ 0)>."
9631 msgstr ""
9632 "System\\ V バージョンの B<setpgrp>()  は引き数を一つもとらず、 I<setpgid(0,"
9633 "\\ 0)> と等価である。"
9634
9635 #. type: Plain text
9636 #: build/C/man2/setpgid.2:163
9637 msgid ""
9638 "The BSD-specific B<setpgrp>()  call, which takes arguments I<pid> and "
9639 "I<pgid>, is is a wrapper function that calls"
9640 msgstr ""
9641 "BSD 仕様の B<setpgrp>()  は I<pid> と I<pgid> を引き数にとり、 以下を呼び出す"
9642 "ラッパー関数である。"
9643
9644 #. type: Plain text
9645 #: build/C/man2/setpgid.2:165
9646 #, no-wrap
9647 msgid "    setpgid(pid, pgid)\n"
9648 msgstr "    setpgid(pid, pgid)\n"
9649
9650 #.  The true BSD setpgrp() system call differs in allowing the PGID
9651 #.  to be set to arbitrary values, rather than being restricted to
9652 #.  PGIDs in the same session.
9653 #. type: Plain text
9654 #: build/C/man2/setpgid.2:176
9655 msgid ""
9656 "Since glibc 2.19, the BSD-specific B<setpgrp>()  function is no longer "
9657 "exposed by I<E<lt>unistd.hE<gt>>; calls should be replaced with the "
9658 "B<setpgid>()  call shown above."
9659 msgstr ""
9660 "glibc 2.19 以降、 BSD 固有の B<setpgrp>() 関数はもはや I<E<lt>unistd.hE<gt>> "
9661 "では公開されない。 この関数の呼び出しは上記の B<setpgid>() の呼び出しで置き換"
9662 "えるべきである。"
9663
9664 #. type: Plain text
9665 #: build/C/man2/setpgid.2:182
9666 msgid ""
9667 "The BSD-specific B<getpgrp>()  call, which takes a single I<pid> argument, "
9668 "is a wrapper function that calls"
9669 msgstr ""
9670 "BSD 仕様の B<getpgrp>()  は I<pid> だけを引き数にとり、 以下を呼び出すラッ"
9671 "パー関数である。"
9672
9673 #. type: Plain text
9674 #: build/C/man2/setpgid.2:184
9675 #, no-wrap
9676 msgid "    getpgid(pid)\n"
9677 msgstr "    getpgid(pid)\n"
9678
9679 #. type: Plain text
9680 #: build/C/man2/setpgid.2:195
9681 msgid ""
9682 "Since glibc 2.19, the BSD-specific B<getpgrp>()  function is no longer "
9683 "exposed by I<E<lt>unistd.hE<gt>>; calls should be replaced with calls to the "
9684 "POSIX.1 B<getpgrp>()  which takes no arguments (if the intent is to obtain "
9685 "the caller's PGID), or with the B<getpgid>()  call shown above."
9686 msgstr ""
9687 "glibc 2.19 以降、 BSD 固有の B<getpgrp>() 関数はもはや I<E<lt>unistd.hE<gt>> "
9688 "では公開されない。 この関数の呼び出しは、引き数を取らない POSIX.1 の "
9689 "B<getpgrp>() の呼び出し (呼び出し元の PGID を取得する目的の場合)、もしくは上"
9690 "記の B<getpgid>() の呼び出しで置き換えるべきである。"
9691
9692 #. type: Plain text
9693 #: build/C/man2/setpgid.2:204
9694 msgid ""
9695 "On success, B<setpgid>()  and B<setpgrp>()  return zero.  On error, -1 is "
9696 "returned, and I<errno> is set appropriately."
9697 msgstr ""
9698 "B<setpgid>()  と B<setpgrp>()  は成功した場合、ゼロを返す。エラーの場合は -1 "
9699 "を返し、 I<errno> が適切に設定される。"
9700
9701 #. type: Plain text
9702 #: build/C/man2/setpgid.2:208
9703 msgid "The POSIX.1 B<getpgrp>()  always returns the PGID of the caller."
9704 msgstr ""
9705 "POSIX.1 バージョンの B<getpgrp>()  は常に呼び出しプロセスの PGID を返す。"
9706
9707 #. type: Plain text
9708 #: build/C/man2/setpgid.2:216
9709 msgid ""
9710 "B<getpgid>(), and the BSD-specific B<getpgrp>()  return a process group on "
9711 "success.  On error, -1 is returned, and I<errno> is set appropriately."
9712 msgstr ""
9713 "B<getpgid>()  と BSD 仕様の B<getpgrp>()  は成功した場合プロセスグループを返"
9714 "す。 エラーの場合は -1 を返し、 I<errno> が適切に設定される。"
9715
9716 #. type: Plain text
9717 #: build/C/man2/setpgid.2:225
9718 msgid ""
9719 "An attempt was made to change the process group ID of one of the children of "
9720 "the calling process and the child had already performed an B<execve>(2)  "
9721 "(B<setpgid>(), B<setpgrp>())."
9722 msgstr ""
9723 "呼び出し元プロセスの子プロセスのプロセスグループ ID を変更しようとしたが、 す"
9724 "でにその子プロセスは B<execve>(2)  を実行していた。 (B<setpgid>(), "
9725 "B<setpgrp>())"
9726
9727 #. type: Plain text
9728 #: build/C/man2/setpgid.2:231
9729 msgid "I<pgid> is less than 0 (B<setpgid>(), B<setpgrp>())."
9730 msgstr "I<pgid> が 0 より小さい。 (B<setpgid>(), B<setpgrp>())"
9731
9732 #. type: Plain text
9733 #: build/C/man2/setpgid.2:240
9734 msgid ""
9735 "An attempt was made to move a process into a process group in a different "
9736 "session, or to change the process group ID of one of the children of the "
9737 "calling process and the child was in a different session, or to change the "
9738 "process group ID of a session leader (B<setpgid>(), B<setpgrp>())."
9739 msgstr ""
9740 "プロセスを異なるセッションのプロセスグループに移動させようとした。 または呼び"
9741 "出し元プロセスの子プロセスのプロセスグループ ID を変更しようと したが、その子"
9742 "プロセスは別のセッションだった。 またはセッションリーダーのプロセスグループ "
9743 "ID を変更しようとした。 (B<setpgid>(), B<setpgrp>())"
9744
9745 #. type: Plain text
9746 #: build/C/man2/setpgid.2:250
9747 msgid ""
9748 "For B<getpgid>(): I<pid> does not match any process.  For B<setpgid>(): "
9749 "I<pid> is not the calling process and not a child of the calling process."
9750 msgstr ""
9751 "B<getpgid>()  の場合: I<pid> がどのプロセスにも一致しない。 B<setpgid>()  の"
9752 "場合: I<pid> が呼び出し元のプロセスではなく、呼び出し元のプロセスの子プロセス"
9753 "でもない。"
9754
9755 #. type: Plain text
9756 #: build/C/man2/setpgid.2:256
9757 msgid ""
9758 "B<setpgid>()  and the version of B<getpgrp>()  with no arguments conform to "
9759 "POSIX.1-2001."
9760 msgstr ""
9761 "B<setpgid>()  と、引き数なしバージョンの B<getpgrp>()  は POSIX.1-2001 に準拠"
9762 "している。"
9763
9764 #. type: Plain text
9765 #: build/C/man2/setpgid.2:265
9766 msgid ""
9767 "POSIX.1-2001 also specifies B<getpgid>()  and the version of B<setpgrp>()  "
9768 "that takes no arguments.  (POSIX.1-2008 marks this B<setpgrp>()  "
9769 "specification as obsolete.)"
9770 msgstr ""
9771 "POSIX.1-2001 は、 B<getpgid>()  と、引き数なしバージョンの B<setpgrp>()  も規"
9772 "定している。 POSIX.1-2008 は、この B<setpgrp>()  の仕様を廃止予定としている。"
9773
9774 #. type: Plain text
9775 #: build/C/man2/setpgid.2:272
9776 msgid ""
9777 "The version of B<getpgrp>()  with one argument and the version of "
9778 "B<setpgrp>()  that takes two arguments derive from 4.2BSD, and are not "
9779 "specified by POSIX.1."
9780 msgstr ""
9781 "引き数 1 個バージョンの B<getpgrp>()  と引き数 2 個バージョンの "
9782 "B<setpgrp>()  は 4.2BSD に由来し、 POSIX.1 では規定されていない。"
9783
9784 #. type: Plain text
9785 #: build/C/man2/setpgid.2:278
9786 msgid ""
9787 "A child created via B<fork>(2)  inherits its parent's process group ID.  The "
9788 "PGID is preserved across an B<execve>(2)."
9789 msgstr ""
9790 "B<fork>(2)  で作成された子プロセスは、親プロセスの PGID を継承する。 "
9791 "B<execve>(2)  の前後で PGID は保存される。"
9792
9793 #. type: Plain text
9794 #: build/C/man2/setpgid.2:281
9795 msgid ""
9796 "Each process group is a member of a session and each process is a member of "
9797 "the session of which its process group is a member."
9798 msgstr ""
9799 "各プロセスグループはセッションのメンバーであり、各プロセスは そのプロセスグ"
9800 "ループが所属しているセッションのメンバーである。"
9801
9802 #. type: Plain text
9803 #: build/C/man2/setpgid.2:308
9804 msgid ""
9805 "A session can have a controlling terminal.  At any time, one (and only one) "
9806 "of the process groups in the session can be the foreground process group for "
9807 "the terminal; the remaining process groups are in the background.  If a "
9808 "signal is generated from the terminal (e.g., typing the interrupt key to "
9809 "generate B<SIGINT>), that signal is sent to the foreground process group.  "
9810 "(See B<termios>(3)  for a description of the characters that generate "
9811 "signals.)  Only the foreground process group may B<read>(2)  from the "
9812 "terminal; if a background process group tries to B<read>(2)  from the "
9813 "terminal, then the group is sent a B<SIGTTIN> signal, which suspends it.  "
9814 "The B<tcgetpgrp>(3)  and B<tcsetpgrp>(3)  functions are used to get/set the "
9815 "foreground process group of the controlling terminal."
9816 msgstr ""
9817 "セッションは制御端末 (controlling terminal) を持つことができる。 いつでも、"
9818 "セッションに所属するプロセスグループの一つ (だけ) が 端末のフォアグランドのプ"
9819 "ロセスグループになることができ、 残りのプロセスグループはバックグラウンドにな"
9820 "る。 端末からシグナルが生成された場合 (例えば、中断キーを叩いて B<SIGINT> が"
9821 "生成されるなど)、そのシグナルはフォアグラウンドのプロセスグループ に送られる "
9822 "(シグナルを生成する文字の説明は B<termios>(3)  を参照)。 フォアグラウンドのプ"
9823 "ロセスグループだけが端末からの B<read>(2)  ができる。 バックグラウンドのプロ"
9824 "セスグループが端末からの B<read>(2)  を行おうとした場合、そのプロセスグループ"
9825 "にはシグナル B<SIGTTIN> が送られ、そのプロセスグループは一時停止 (suspend) す"
9826 "る。 関数 B<tcgetpgrp>(3)  と B<tcsetpgrp>(3)  を使うと、制御端末のフォアグラ"
9827 "ウンドのプロセスグループを 取得/設定できる。"
9828
9829 #. type: Plain text
9830 #: build/C/man2/setpgid.2:316
9831 msgid ""
9832 "The B<setpgid>()  and B<getpgrp>()  calls are used by programs such as "
9833 "B<bash>(1)  to create process groups in order to implement shell job control."
9834 msgstr ""
9835 "B<setpgid>()  と B<getpgrp>()  は、 B<bash>(1)  のようなプログラムで、シェル"
9836 "のジョブ制御 (job control) の実装のための プロセスグループを作成するのに使わ"
9837 "れる。"
9838
9839 #. type: Plain text
9840 #: build/C/man2/setpgid.2:326
9841 msgid ""
9842 "If a session has a controlling terminal, and the B<CLOCAL> flag for that "
9843 "terminal is not set, and a terminal hangup occurs, then the session leader "
9844 "is sent a B<SIGHUP>.  If the session leader exits, then a B<SIGHUP> signal "
9845 "will also be sent to each process in the foreground process group of the "
9846 "controlling terminal."
9847 msgstr ""
9848 "セッションが制御端末を持っていて、その端末に対して B<CLOCAL> フラグが設定され"
9849 "ておらず、端末のハングアップが起きた場合、 セッション・リーダーに B<SIGHUP> "
9850 "が送られる。 セッション・リーダーが終了した場合には、その制御端末の フォアグ"
9851 "ランドのプロセスグループに所属する各プロセスにも B<SIGHUP> シグナルが送られ"
9852 "る。"
9853
9854 #.  exit.3 refers to the following text:
9855 #. type: Plain text
9856 #: build/C/man2/setpgid.2:340
9857 msgid ""
9858 "If the exit of the process causes a process group to become orphaned, and if "
9859 "any member of the newly orphaned process group is stopped, then a B<SIGHUP> "
9860 "signal followed by a B<SIGCONT> signal will be sent to each process in the "
9861 "newly orphaned process group.  An orphaned process group is one in which the "
9862 "parent of every member of process group is either itself also a member of "
9863 "the process group or is a member of a process group in a different session "
9864 "(see also B<credentials>(7))."
9865 msgstr ""
9866 "プロセスの終了によってプロセスグループが孤児 (orphaned) になった際に、 その新"
9867 "たに孤児になったプロセスグループに停止しているメンバーがいれば、 その孤児に"
9868 "なったプロセスグループに属す全てのプロセスに B<SIGHUP> シグナルに続けて "
9869 "B<SIGCONT> シグナルが送られる。 孤児になった (orphaned) プロセスグループと"
9870 "は、 そのプロセスグループの全てのメンバーについて、メンバーの親プロセスが、 "
9871 "親プロセス自身もそのプロセスグループのメンバーか、 別のセッションに属すプロセ"
9872 "スグループのメンバーのいずれかであるような、 プロセスグループのことである。"
9873
9874 #. type: Plain text
9875 #: build/C/man2/setpgid.2:347
9876 msgid ""
9877 "B<getuid>(2), B<setsid>(2), B<tcgetpgrp>(3), B<tcsetpgrp>(3), B<termios>(3), "
9878 "B<credentials>(7)"
9879 msgstr ""
9880 "B<getuid>(2), B<setsid>(2), B<tcgetpgrp>(3), B<tcsetpgrp>(3), B<termios>(3), "
9881 "B<credentials>(7)"
9882
9883 #. type: TH
9884 #: build/C/man2/setresuid.2:26
9885 #, no-wrap
9886 msgid "SETRESUID"
9887 msgstr "SETRESUID"
9888
9889 #. type: Plain text
9890 #: build/C/man2/setresuid.2:29
9891 msgid "setresuid, setresgid - set real, effective and saved user or group ID"
9892 msgstr "setresuid, setresgid - ユーザやグループの 実、実効、保存 ID を設定する"
9893
9894 #. type: Plain text
9895 #: build/C/man2/setresuid.2:35
9896 msgid "B<int setresuid(uid_t >I<ruid>B<, uid_t >I<euid>B<, uid_t >I<suid>B<);>"
9897 msgstr ""
9898 "B<int setresuid(uid_t >I<ruid>B<, uid_t >I<euid>B<, uid_t >I<suid>B<);>"
9899
9900 #. type: Plain text
9901 #: build/C/man2/setresuid.2:37
9902 msgid "B<int setresgid(gid_t >I<rgid>B<, gid_t >I<egid>B<, gid_t >I<sgid>B<);>"
9903 msgstr ""
9904 "B<int setresgid(gid_t >I<rgid>B<, gid_t >I<egid>B<, gid_t >I<sgid>B<);>"
9905
9906 #. type: Plain text
9907 #: build/C/man2/setresuid.2:41
9908 msgid ""
9909 "B<setresuid>()  sets the real user ID, the effective user ID, and the saved "
9910 "set-user-ID of the calling process."
9911 msgstr ""
9912 "B<setresuid>()  は呼び出し元のプロセスの実 (real) ユーザーID、実効 "
9913 "(effective) ユーザーID、 保存 set-user-ID を設定する。"
9914
9915 #. type: Plain text
9916 #: build/C/man2/setresuid.2:47
9917 msgid ""
9918 "Unprivileged user processes may change the real UID, effective UID, and "
9919 "saved set-user-ID, each to one of: the current real UID, the current "
9920 "effective UID or the current saved set-user-ID."
9921 msgstr ""
9922 "非特権ユーザーのプロセスは、その実 UID、実効 UID、保存 set-user-ID を、 現在"
9923 "の実 UID、現在の実効 UID、現在の保存 set-user-ID のどれかに変更することができ"
9924 "る:"
9925
9926 #. type: Plain text
9927 #: build/C/man2/setresuid.2:51
9928 msgid ""
9929 "Privileged processes (on Linux, those having the B<CAP_SETUID> capability)  "
9930 "may set the real UID, effective UID, and saved set-user-ID to arbitrary "
9931 "values."
9932 msgstr ""
9933 "特権プロセス (Linux では B<CAP_SETUID> ケーパビリティ (capability) を持つ プ"
9934 "ロセス) は、実 UID、実効 UID、保存 set-user-ID を任意の値に設定できる。"
9935
9936 #. type: Plain text
9937 #: build/C/man2/setresuid.2:53
9938 msgid ""
9939 "If one of the arguments equals -1, the corresponding value is not changed."
9940 msgstr "引き数のどれかが -1 の場合はその値は変更されずに残される。"
9941
9942 #. type: Plain text
9943 #: build/C/man2/setresuid.2:57
9944 msgid ""
9945 "Regardless of what changes are made to the real UID, effective UID, and "
9946 "saved set-user-ID, the filesystem UID is always set to the same value as the "
9947 "(possibly new) effective UID."
9948 msgstr ""
9949 "実 UID、実効 UID、保存 set-user-ID にどんな変更が行われたかに関わらず、 ファ"
9950 "イルシステム UID は常に実効 UID (可能であれば変更後の新しい実効 UID)  と同じ"
9951 "値に設定される。"
9952
9953 #. type: Plain text
9954 #: build/C/man2/setresuid.2:64
9955 msgid ""
9956 "Completely analogously, B<setresgid>()  sets the real GID, effective GID, "
9957 "and saved set-group-ID of the calling process (and always modifies the "
9958 "filesystem GID to be the same as the effective GID), with the same "
9959 "restrictions for unprivileged processes."
9960 msgstr ""
9961 "全く同じように、 B<setresgid>()  は呼び出し元のプロセスの実 GID、実効 GID、保"
9962 "存 set-group-ID を設定する (さらにファイルシステム GID を実効 GID と同じ値に"
9963 "修正する)。 非特権プロセスは同様の制限を受ける。"
9964
9965 #. type: TP
9966 #: build/C/man2/setresuid.2:70 build/C/man2/setuid.2:76
9967 #, no-wrap
9968 msgid "B<EAGAIN>"
9969 msgstr "B<EAGAIN>"
9970
9971 #. type: Plain text
9972 #: build/C/man2/setresuid.2:77
9973 msgid ""
9974 "I<uid> does not match the current UID and this call would bring that user ID "
9975 "over its B<RLIMIT_NPROC> resource limit."
9976 msgstr ""
9977 "I<uid> が現在のユーザー ID と違う値で、 この呼び出しにより ユーザー ID が リ"
9978 "ソース上限 B<RLIMIT_NPROC> を超えてしまう。"
9979
9980 #. type: Plain text
9981 #: build/C/man2/setresuid.2:81
9982 msgid ""
9983 "The calling process is not privileged (did not have the B<CAP_SETUID> "
9984 "capability) and tried to change the IDs to values that are not permitted."
9985 msgstr ""
9986 "呼び出したプロセスが特権を持たないのに (B<CAP_SETUID> ケーパビリティを持たな"
9987 "いのに)、 ID を許されていない値に変更しようとした。"
9988
9989 #. type: Plain text
9990 #: build/C/man2/setresuid.2:83
9991 msgid "These calls are available under Linux since Linux 2.1.44."
9992 msgstr "Linux ではバージョン 2.1.44 より利用可能になった。"
9993
9994 #. type: Plain text
9995 #: build/C/man2/setresuid.2:90
9996 msgid ""
9997 "Under HP-UX and FreeBSD, the prototype is found in I<E<lt>unistd.hE<gt>>.  "
9998 "Under Linux the prototype is provided by glibc since version 2.3.2."
9999 msgstr ""
10000 "HP-UX や FreeBSD では I<E<lt>unistd.hE<gt>> にプロトタイプが存在する。 \n"
10001 "Linux では、glibc 2.3.2 以降で プロトタイプが提供されている。"
10002
10003 #. type: Plain text
10004 #: build/C/man2/setresuid.2:106
10005 msgid ""
10006 "The original Linux B<setresuid>()  and B<setresgid>()  system calls "
10007 "supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
10008 "B<setresuid32>()  and B<setresgid32>(), supporting 32-bit IDs.  The glibc "
10009 "B<setresuid>()  and B<setresgid>()  wrapper functions transparently deal "
10010 "with the variations across kernel versions."
10011 msgstr ""
10012 "元々の Linux の B<setresuid>() と B<setresgid>() システムコールは\n"
10013 "16 ビットのグループ ID だけに対応していた。\n"
10014 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
10015 "B<setresuid32>() と B<setresgid32>() が追加された。\n"
10016 "glibc の B<setresuid>() と B<setresgid>() のラッパー関数は\n"
10017 "カーネルバージョンによるこの違いを吸収している。"
10018
10019 #. type: Plain text
10020 #: build/C/man2/setresuid.2:115
10021 msgid ""
10022 "B<getresuid>(2), B<getuid>(2), B<setfsgid>(2), B<setfsuid>(2), "
10023 "B<setreuid>(2), B<setuid>(2), B<capabilities>(7), B<credentials>(7)"
10024 msgstr ""
10025 "B<getresuid>(2), B<getuid>(2), B<setfsgid>(2), B<setfsuid>(2), "
10026 "B<setreuid>(2), B<setuid>(2), B<capabilities>(7), B<credentials>(7)"
10027
10028 #. type: TH
10029 #: build/C/man2/setreuid.2:45
10030 #, no-wrap
10031 msgid "SETREUID"
10032 msgstr "SETREUID"
10033
10034 #. type: TH
10035 #: build/C/man2/setreuid.2:45
10036 #, no-wrap
10037 msgid "2013-12-12"
10038 msgstr "2013-12-12"
10039
10040 #. type: Plain text
10041 #: build/C/man2/setreuid.2:48
10042 msgid "setreuid, setregid - set real and/or effective user or group ID"
10043 msgstr ""
10044 "setreuid, setregid - 実 (real) と実効 (effective) ユーザー (グループ) ID を設"
10045 "定する"
10046
10047 #. type: Plain text
10048 #: build/C/man2/setreuid.2:54
10049 msgid "B<int setreuid(uid_t >I<ruid>B<, uid_t >I<euid>B<);>"
10050 msgstr "B<int setreuid(uid_t >I<ruid>B<, uid_t >I<euid>B<);>"
10051
10052 #. type: Plain text
10053 #: build/C/man2/setreuid.2:56
10054 msgid "B<int setregid(gid_t >I<rgid>B<, gid_t >I<egid>B<);>"
10055 msgstr "B<int setregid(gid_t >I<rgid>B<, gid_t >I<egid>B<);>"
10056
10057 #. type: Plain text
10058 #: build/C/man2/setreuid.2:64
10059 msgid "B<setreuid>(), B<setregid>():"
10060 msgstr "B<setreuid>(), B<setregid>():"
10061
10062 #. type: Plain text
10063 #: build/C/man2/setreuid.2:68
10064 msgid ""
10065 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
10066 "_XOPEN_SOURCE_EXTENDED"
10067 msgstr ""
10068 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
10069 "_XOPEN_SOURCE_EXTENDED"
10070
10071 #. type: Plain text
10072 #: build/C/man2/setreuid.2:73
10073 msgid "B<setreuid>()  sets real and effective user IDs of the calling process."
10074 msgstr ""
10075 "B<setreuid>()  は呼び出し元のプロセスの実 (real) ユーザー ID と 実効 "
10076 "(effective) ユーザー ID を設定する。"
10077
10078 #. type: Plain text
10079 #: build/C/man2/setreuid.2:76
10080 msgid ""
10081 "Supplying a value of -1 for either the real or effective user ID forces the "
10082 "system to leave that ID unchanged."
10083 msgstr ""
10084 "実ユーザー ID や実効ユーザー ID に -1 を与えた場合、 システムはその ID を変更"
10085 "しない。"
10086
10087 #. type: Plain text
10088 #: build/C/man2/setreuid.2:79
10089 msgid ""
10090 "Unprivileged processes may only set the effective user ID to the real user "
10091 "ID, the effective user ID, or the saved set-user-ID."
10092 msgstr ""
10093 "非特権プロセスは実効ユーザー ID を実ユーザー ID または実効ユーザー ID または "
10094 "保存 set-user-ID にしか設定できない。"
10095
10096 #. type: Plain text
10097 #: build/C/man2/setreuid.2:82
10098 msgid ""
10099 "Unprivileged users may only set the real user ID to the real user ID or the "
10100 "effective user ID."
10101 msgstr ""
10102 "非特権ユーザーは、実ユーザー ID を実ユーザー ID または 実効ユーザー ID にしか"
10103 "設定できない。"
10104
10105 #. type: Plain text
10106 #: build/C/man2/setreuid.2:88
10107 msgid ""
10108 "If the real user ID is set (i.e., I<ruid> is not -1) or the effective user "
10109 "ID is set to a value not equal to the previous real user ID, the saved set-"
10110 "user-ID will be set to the new effective user ID."
10111 msgstr ""
10112 "実ユーザーID が設定されたり (I<ruid> が -1 ではない)、実効ユーザーID が前の実"
10113 "ユーザーID と 異った値に設定された場合、保存 set-user-ID には新しい実効ユー"
10114 "ザーID の値が設定される。"
10115
10116 #. type: Plain text
10117 #: build/C/man2/setreuid.2:93
10118 msgid ""
10119 "Completely analogously, B<setregid>()  sets real and effective group ID's of "
10120 "the calling process, and all of the above holds with \"group\" instead of "
10121 "\"user\"."
10122 msgstr ""
10123 "これと全く同様に、 B<setregid>()  は呼び出し元のプロセスの実グループ ID と実"
10124 "効グループ ID を設定し、 上記の説明で「ユーザー」を「グループ」に読み替えたこ"
10125 "とが成り立つ。"
10126
10127 #. type: Plain text
10128 #: build/C/man2/setreuid.2:115
10129 msgid ""
10130 "The calling process is not privileged (Linux: does not have the "
10131 "B<CAP_SETUID> capability in the case of B<setreuid>(), or the B<CAP_SETGID> "
10132 "capability in the case of B<setregid>())  and a change other than (i)  "
10133 "swapping the effective user (group) ID with the real user (group) ID, or "
10134 "(ii) setting one to the value of the other or (iii) setting the effective "
10135 "user (group) ID to the value of the saved set-user-ID (saved set-group-ID) "
10136 "was specified."
10137 msgstr ""
10138 "呼び出し元のプロセスに特権がなく (Linux では B<setreuid>()  の場合に "
10139 "B<CAP_SETUID> ケーパビリティ (capability) がなく、 B<setregid>()  の場合に "
10140 "B<CAP_SETGID> ケーパビリティがない)、 以下のいずれでもない変更が指定された: "
10141 "(i) 実効ユーザー (グループ) ID と実ユーザー (グループ) ID を入れ換える。 "
10142 "(ii) 片方の値を他方に設定する。 (iii) 実効ユーザー (グループ) ID に保存 set-"
10143 "user-ID (保存 set-group-ID)  の値を設定する。"
10144
10145 #. type: Plain text
10146 #: build/C/man2/setreuid.2:121
10147 msgid ""
10148 "POSIX.1-2001, 4.3BSD (the B<setreuid>()  and B<setregid>()  function calls "
10149 "first appeared in 4.2BSD)."
10150 msgstr ""
10151 "POSIX.1-2001, 4.3BSD (B<setreuid>()  と B<setregid>()  関数コールは 4.2BSD で"
10152 "登場した)。"
10153
10154 #. type: Plain text
10155 #: build/C/man2/setreuid.2:125
10156 msgid ""
10157 "Setting the effective user (group) ID to the saved set-user-ID (saved set-"
10158 "group-ID) is possible since Linux 1.1.37 (1.1.38)."
10159 msgstr ""
10160 "実効ユーザー (グループ) ID を保存ユーザー (グループ) ID に 設定することが、"
10161 "Linux 1.1.37 (1.1.38) から可能になった。"
10162
10163 #. type: Plain text
10164 #: build/C/man2/setreuid.2:142
10165 msgid ""
10166 "POSIX.1 does not specify all of possible ID changes that are permitted on "
10167 "Linux for an unprivileged process.  For B<setreuid>(), the effective user ID "
10168 "can be made the same as the real user ID or the save set-user-ID, and it is "
10169 "unspecified whether unprivileged processes may set the real user ID to the "
10170 "real user ID, the effective user ID, or the saved set-user-ID.  For "
10171 "B<setregid>(), the real group ID can be changed to the value of the saved "
10172 "set-group-ID, and the effective group ID can be changed to the value of the "
10173 "real group ID or the saved set-group-ID.  The precise details of what ID "
10174 "changes are permitted vary across implementations."
10175 msgstr ""
10176 "POSIX.1 では、非特権プロセスに対して Linux 上で認められている ID の変更の 全"
10177 "パターンを規定しているわけではない。 B<setreuid>()  では、実効ユーザ ID を実"
10178 "ユーザ ID もしくは保存 set-user-ID と 同じ値にすることができるが、 非特権プロ"
10179 "セスが実ユーザ ID を実ユーザ ID、実効ユーザ ID、 保存 set-user-ID のどの値に"
10180 "も設定できるかは規定されていない。 B<setregid>()  では、実グループ ID を保存 "
10181 "set-group-ID と同じ値に変更でき、 実効グループ ID を実グループ ID や保存 set-"
10182 "group-ID と同じ値に変更できる。 どのような ID の変更が認められているかの正確"
10183 "な詳細は 実装ごとに異なる。"
10184
10185 #. type: Plain text
10186 #: build/C/man2/setreuid.2:145
10187 msgid ""
10188 "POSIX.1 makes no specification about the effect of these calls on the saved "
10189 "set-user-ID and saved set-group-ID."
10190 msgstr ""
10191 "POSIX.1 では、これらのシステムコールが保存 set-user-ID や 保存 set-group-ID "
10192 "に与える影響については規定していない。"
10193
10194 #. type: Plain text
10195 #: build/C/man2/setreuid.2:161
10196 msgid ""
10197 "The original Linux B<setreuid>()  and B<setregid>()  system calls supported "
10198 "only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
10199 "B<setreuid32>()  and B<setregid32>(), supporting 32-bit IDs.  The glibc "
10200 "B<setreuid>()  and B<setregid>()  wrapper functions transparently deal with "
10201 "the variations across kernel versions."
10202 msgstr ""
10203 "元々の Linux の B<setreuid>() と B<setregid>() システムコールは\n"
10204 "16 ビットのグループ ID だけに対応していた。\n"
10205 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
10206 "B<setreuid32>() と B<setregid32>() が追加された。\n"
10207 "glibc の B<setreuid>() と B<setregid>() のラッパー関数は\n"
10208 "カーネルバージョンによるこの違いを吸収している。"
10209
10210 #. type: Plain text
10211 #: build/C/man2/setreuid.2:169
10212 msgid ""
10213 "B<getgid>(2), B<getuid>(2), B<seteuid>(2), B<setgid>(2), B<setresuid>(2), "
10214 "B<setuid>(2), B<capabilities>(7)"
10215 msgstr ""
10216 "B<getgid>(2), B<getuid>(2), B<seteuid>(2), B<setgid>(2), B<setresuid>(2), "
10217 "B<setuid>(2), B<capabilities>(7)"
10218
10219 #. type: TH
10220 #: build/C/man2/setsid.2:30
10221 #, no-wrap
10222 msgid "SETSID"
10223 msgstr "SETSID"
10224
10225 #. type: TH
10226 #: build/C/man2/setsid.2:30
10227 #, no-wrap
10228 msgid "2013-02-11"
10229 msgstr "2013-02-11"
10230
10231 #. type: Plain text
10232 #: build/C/man2/setsid.2:33
10233 msgid "setsid - creates a session and sets the process group ID"
10234 msgstr "setsid - セッション (session) を作成し、プロセスグループ ID を設定する"
10235
10236 #. type: Plain text
10237 #: build/C/man2/setsid.2:38
10238 msgid "B<pid_t setsid(void);>"
10239 msgstr "B<pid_t setsid(void);>"
10240
10241 #. type: Plain text
10242 #: build/C/man2/setsid.2:51
10243 msgid ""
10244 "B<setsid>()  creates a new session if the calling process is not a process "
10245 "group leader.  The calling process is the leader of the new session, the "
10246 "process group leader of the new process group, and has no controlling "
10247 "terminal.  The process group ID and session ID of the calling process are "
10248 "set to the PID of the calling process.  The calling process will be the only "
10249 "process in this new process group and in this new session."
10250 msgstr ""
10251 "B<setsid>()  は呼び出したプロセスがプロセスグループ・リーダー (process group "
10252 "leader) でなければ、新しいセッションを作成する。 呼び出したプロセスは新しい"
10253 "セッションのリーダー、新しいプロセスグループの プロセスグループ・リーダーとな"
10254 "り、端末の制御を持たない。 呼び出したプロセスのプロセスグループ ID とセッショ"
10255 "ン ID には、 呼び出したプロセスの PID が設定される。呼び出したプロセスはこの "
10256 "新しいプロセスグループ、この新しいセッションの唯一のプロセスとなる。"
10257
10258 #. type: Plain text
10259 #: build/C/man2/setsid.2:58
10260 msgid ""
10261 "On success, the (new) session ID of the calling process is returned.  On "
10262 "error, I<(pid_t)\\ -1> is returned, and I<errno> is set to indicate the "
10263 "error."
10264 msgstr ""
10265 "成功すると、呼び出したプロセスの (新しい) セッション ID が返される。 エラーの"
10266 "場合は、 I<(pid_t)\\ -1> が返され、 I<error> にエラーを示す値が設定される。"
10267
10268 #. type: Plain text
10269 #: build/C/man2/setsid.2:65
10270 msgid ""
10271 "The process group ID of any process equals the PID of the calling process.  "
10272 "Thus, in particular, B<setsid>()  fails if the calling process is already a "
10273 "process group leader."
10274 msgstr ""
10275 "いずれかのプロセスのプロセスグループ ID が、 呼び出したプロセスの PID と等し"
10276 "い。 これは、呼び出したプロセスが既にプロセスリーダーの場合には B<setsid>()  "
10277 "は失敗することを意味する。"
10278
10279 #. type: Plain text
10280 #: build/C/man2/setsid.2:73
10281 msgid ""
10282 "A child created via B<fork>(2)  inherits its parent's session ID.  The "
10283 "session ID is preserved across an B<execve>(2)."
10284 msgstr ""
10285 "B<fork>(2)  で作成された子プロセスは、親プロセスのセッション ID を継承する。 "
10286 "B<execve>(2)  の前後でセッション ID は保存される。"
10287
10288 #. type: Plain text
10289 #: build/C/man2/setsid.2:84
10290 msgid ""
10291 "A process group leader is a process with process group ID equal to its PID.  "
10292 "In order to be sure that B<setsid>()  will succeed, B<fork>(2)  and "
10293 "B<_exit>(2), and have the child do B<setsid>()."
10294 msgstr ""
10295 "プロセスグループ・リーダーとは、そのプロセスのプロセスグループ ID が その "
10296 "PID に等しいプロセスである。 B<setsid>()  を確実に成功させるためには、 "
10297 "B<fork>(2)  して B<exit>(2)  し、子プロセスで B<setsid>()  を行なえば良い。"
10298
10299 #. type: Plain text
10300 #: build/C/man2/setsid.2:91
10301 msgid ""
10302 "B<setsid>(1), B<getsid>(2), B<setpgid>(2), B<setpgrp>(2), B<tcgetsid>(3), "
10303 "B<credentials>(7)"
10304 msgstr ""
10305 "B<setsid>(1), B<getsid>(2), B<setpgid>(2), B<setpgrp>(2), B<tcgetsid>(3), "
10306 "B<credentials>(7)"
10307
10308 #. type: TH
10309 #: build/C/man2/setuid.2:30
10310 #, no-wrap
10311 msgid "SETUID"
10312 msgstr "SETUID"
10313
10314 #. type: Plain text
10315 #: build/C/man2/setuid.2:33
10316 msgid "setuid - set user identity"
10317 msgstr "setuid - ユーザー識別 (identity) を設定する"
10318
10319 #. type: Plain text
10320 #: build/C/man2/setuid.2:39
10321 msgid "B<int setuid(uid_t >I<uid>B<);>"
10322 msgstr "B<int setuid(uid_t >I<uid>B<);>"
10323
10324 #. type: Plain text
10325 #: build/C/man2/setuid.2:44
10326 msgid ""
10327 "B<setuid>()  sets the effective user ID of the calling process.  If the "
10328 "effective UID of the caller is root, the real UID and saved set-user-ID are "
10329 "also set."
10330 msgstr ""
10331 "B<setuid>()  は呼び出し元のプロセスの実効 (effective) ユーザー ID を設定す"
10332 "る。 もし呼び出し元プロセスの実効 UID が root ならば、 実 (real) UID と保存 "
10333 "(saved) set-user-ID も設定される。"
10334
10335 #. type: Plain text
10336 #: build/C/man2/setuid.2:53
10337 msgid ""
10338 "Under Linux, B<setuid>()  is implemented like the POSIX version with the "
10339 "B<_POSIX_SAVED_IDS> feature.  This allows a set-user-ID (other than root) "
10340 "program to drop all of its user privileges, do some un-privileged work, and "
10341 "then reengage the original effective user ID in a secure manner."
10342 msgstr ""
10343 "Linux では、 B<setuid>()  は B<_POSIX_SAVED_IDS> をもった POSIX 版のように実"
10344 "装されている。 これは (ルート以外の) set-user-ID プログラムにそのユーザーの特"
10345 "権を 全て与え、特権の必要ない仕事をし、本来の実効ユーザー ID に 安全な方法で"
10346 "再び戻すことを許す。"
10347
10348 #. type: Plain text
10349 #: build/C/man2/setuid.2:63
10350 msgid ""
10351 "If the user is root or the program is set-user-ID-root, special care must be "
10352 "taken.  The B<setuid>()  function checks the effective user ID of the caller "
10353 "and if it is the superuser, all process-related user ID's are set to "
10354 "I<uid>.  After this has occurred, it is impossible for the program to regain "
10355 "root privileges."
10356 msgstr ""
10357 "ユーザーが root またはプログラムが root に set-user-ID されているならば、 特"
10358 "別の注意が払われる。 B<setuid>()  関数は呼び出し者の実効ユーザー ID をチェッ"
10359 "クし、 それがスーパーユーザーならば、 プロセスに関連する全てのユーザー ID に "
10360 "I<uid> を設定する。 これが行なわれた後にはプログラムが再びルートの特権を得る"
10361 "ことはできない。"
10362
10363 #. type: Plain text
10364 #: build/C/man2/setuid.2:70
10365 msgid ""
10366 "Thus, a set-user-ID-root program wishing to temporarily drop root "
10367 "privileges, assume the identity of an unprivileged user, and then regain "
10368 "root privileges afterward cannot use B<setuid>().  You can accomplish this "
10369 "with B<seteuid>(2)."
10370 msgstr ""
10371 "したがって、set-user-ID-root プログラムで、一時的にルート特権を解除し、 非特"
10372 "権ユーザであるかのように振舞い、後でルート権限をもう一度得ようと する場合に"
10373 "は、 B<setuid>()  を使うことができない。その場合には、 B<seteuid>(2)  を使う"
10374 "必要がある。"
10375
10376 #. type: Plain text
10377 #: build/C/man2/setuid.2:85
10378 msgid ""
10379 "The I<uid> does not match the current uid and I<uid> brings process over its "
10380 "B<RLIMIT_NPROC> resource limit."
10381 msgstr ""
10382 "I<uid> が現在のユーザー ID とマッチせず、この I<uid> によってプロセスがリソー"
10383 "ス上限 B<RLIMIT_NPROC> を超えた。"
10384
10385 #. type: Plain text
10386 #: build/C/man2/setuid.2:92
10387 msgid ""
10388 "The user is not privileged (Linux: does not have the B<CAP_SETUID> "
10389 "capability) and I<uid> does not match the real UID or saved set-user-ID of "
10390 "the calling process."
10391 msgstr ""
10392 "ユーザーが特権を持たず (Linux では B<CAP_SETUID> ケーパビリティ (capability) "
10393 "を持たず)、 I<uid> が呼び出し元プロセスの実 UID または保存 set-user-ID と一致"
10394 "しない。"
10395
10396 #.  SVr4 documents an additional EINVAL error condition.
10397 #. type: Plain text
10398 #: build/C/man2/setuid.2:97
10399 msgid ""
10400 "SVr4, POSIX.1-2001.  Not quite compatible with the 4.4BSD call, which sets "
10401 "all of the real, saved, and effective user IDs."
10402 msgstr ""
10403 "SVr4, POSIX.1-2001.  4.4BSD のコールとは完全な互換性はない、 BSD のコールは"
10404 "実 (real)、保存 (saved)、実効 (effective) ID の全てを設定する。"
10405
10406 #. type: Plain text
10407 #: build/C/man2/setuid.2:105
10408 msgid ""
10409 "Linux has the concept of the filesystem user ID, normally equal to the "
10410 "effective user ID.  The B<setuid>()  call also sets the filesystem user ID "
10411 "of the calling process.  See B<setfsuid>(2)."
10412 msgstr ""
10413 "Linux はファイルシステム・ユーザー ID の概念を持つ。\n"
10414 "通常、これは実効ユーザー ID に等しい。 \n"
10415 "B<setuid>()  コールは呼び出し元のプロセスの\n"
10416 "ファイルシステム・ユーザー ID も設定する。 \n"
10417 "B<setfsuid>(2) も参照すること。"
10418
10419 #. type: Plain text
10420 #: build/C/man2/setuid.2:110
10421 msgid ""
10422 "If I<uid> is different from the old effective UID, the process will be "
10423 "forbidden from leaving core dumps."
10424 msgstr ""
10425 "I<uid> が前の実効 UID と異っていた場合、\n"
10426 "プロセスはコアダンプすることを禁止される。"
10427
10428 #. type: Plain text
10429 #: build/C/man2/setuid.2:120
10430 msgid ""
10431 "The original Linux B<setuid>()  system call supported only 16-bit user IDs.  "
10432 "Subsequently, Linux 2.4 added B<setuid32>()  supporting 32-bit IDs.  The "
10433 "glibc B<setuid>()  wrapper function transparently deals with the variation "
10434 "across kernel versions."
10435 msgstr ""
10436 "元々の Linux の B<setuid>() システムコールは\n"
10437 "16 ビットのグループ ID だけに対応していた。\n"
10438 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
10439 "B<setuid32>() が追加された。\n"
10440 "glibc の B<setuid>() のラッパー関数は\n"
10441 "カーネルバージョンによるこの違いを吸収している。"
10442
10443 #. type: Plain text
10444 #: build/C/man2/setuid.2:127
10445 msgid ""
10446 "B<getuid>(2), B<seteuid>(2), B<setfsuid>(2), B<setreuid>(2), "
10447 "B<capabilities>(7), B<credentials>(7)"
10448 msgstr ""
10449 "B<getuid>(2), B<seteuid>(2), B<setfsuid>(2), B<setreuid>(2), "
10450 "B<capabilities>(7), B<credentials>(7)"
10451
10452 #. type: TH
10453 #: build/C/man7/svipc.7:40
10454 #, no-wrap
10455 msgid "SVIPC"
10456 msgstr "SVIPC"
10457
10458 #. type: Plain text
10459 #: build/C/man7/svipc.7:43
10460 msgid "svipc - System V interprocess communication mechanisms"
10461 msgstr "svipc - System V プロセス間通信機構"
10462
10463 #. type: Plain text
10464 #: build/C/man7/svipc.7:48
10465 #, no-wrap
10466 msgid ""
10467 "B<#include E<lt>sys/msg.hE<gt>>\n"
10468 "B<#include E<lt>sys/sem.hE<gt>>\n"
10469 "B<#include E<lt>sys/shm.hE<gt>>\n"
10470 msgstr ""
10471 "B<#include E<lt>sys/msg.hE<gt>>\n"
10472 "B<#include E<lt>sys/sem.hE<gt>>\n"
10473 "B<#include E<lt>sys/shm.hE<gt>>\n"
10474
10475 #. type: Plain text
10476 #: build/C/man7/svipc.7:56
10477 msgid ""
10478 "This manual page refers to the Linux implementation of the System V "
10479 "interprocess communication (IPC) mechanisms: message queues, semaphore sets, "
10480 "and shared memory segments.  In the following, the word I<resource> means an "
10481 "instantiation of one among such mechanisms."
10482 msgstr ""
10483 "このマニュアルページは System V プロセス間通信 (interprocess communication; "
10484 "IPC) 機構の Linux に おける実装を説明する。 このプロセス間通信機構には、 メッ"
10485 "セージキュー (message queue)、セマフォー集合 (semaphore set)、 共有メモリセグ"
10486 "メント (shared memory segment) などがある。以下で I<資源 (resource)> という用"
10487 "語を使用した場合にはこれらの機構のどれかを意味する。"
10488
10489 #. type: SS
10490 #: build/C/man7/svipc.7:56
10491 #, no-wrap
10492 msgid "Resource access permissions"
10493 msgstr "資源へのアクセス許可"
10494
10495 #. type: Plain text
10496 #: build/C/man7/svipc.7:64
10497 msgid ""
10498 "For each resource, the system uses a common structure of type I<struct "
10499 "ipc_perm> to store information needed in determining permissions to perform "
10500 "an IPC operation.  The I<ipc_perm> structure includes the following members:"
10501 msgstr ""
10502 "システムのそれぞれの資源は、IPC への操作を許可するかどうかを決定する ための情"
10503 "報を共通の構造体 I<struct ipc_perm> に格納して使用する。 I<ipc_perm> 構造体に"
10504 "は以下のメンバーが定義されている:"
10505
10506 #. type: Plain text
10507 #: build/C/man7/svipc.7:74
10508 #, no-wrap
10509 msgid ""
10510 "struct ipc_perm {\n"
10511 "    uid_t          cuid;   /* creator user ID */\n"
10512 "    gid_t          cgid;   /* creator group ID */\n"
10513 "    uid_t          uid;    /* owner user ID */\n"
10514 "    gid_t          gid;    /* owner group ID */\n"
10515 "    unsigned short mode;   /* r/w permissions */\n"
10516 "};\n"
10517 msgstr ""
10518 "struct ipc_perm {\n"
10519 "    uid_t          cuid;   /* 作成者のユーザーID */\n"
10520 "    gid_t          cgid;   /* 作成者のグループID */\n"
10521 "    uid_t          uid;    /* 所有者のユーザーID */\n"
10522 "    gid_t          gid;    /* 所有者のグループID */\n"
10523 "    unsigned short mode;   /* 読み書きの許可 */\n"
10524 "};\n"
10525
10526 #. type: Plain text
10527 #: build/C/man7/svipc.7:84
10528 msgid ""
10529 "The I<mode> member of the I<ipc_perm> structure defines, with its lower 9 "
10530 "bits, the access permissions to the resource for a process executing an IPC "
10531 "system call.  The permissions are interpreted as follows:"
10532 msgstr ""
10533 "I<ipc_perm> 構造体の I<mode> メンバーは以下の 9 ビットで、プロセスの IPC シス"
10534 "テムコール による資源へのアクセス許可を定義する。 許可は以下のように解釈され"
10535 "る:"
10536
10537 #. type: Plain text
10538 #: build/C/man7/svipc.7:88
10539 #, no-wrap
10540 msgid ""
10541 "    0400    Read by user.\n"
10542 "    0200    Write by user.\n"
10543 msgstr ""
10544 "    0400    ユーザーによる読み込み。\n"
10545 "    0200    ユーザーによる書き込み。\n"
10546
10547 #. type: Plain text
10548 #: build/C/man7/svipc.7:91
10549 #, no-wrap
10550 msgid ""
10551 "    0040    Read by group.\n"
10552 "    0020    Write by group.\n"
10553 msgstr ""
10554 "    0040    グループによる読み込み。\n"
10555 "    0020    グループによる書き込み。\n"
10556
10557 #. type: Plain text
10558 #: build/C/man7/svipc.7:94
10559 #, no-wrap
10560 msgid ""
10561 "    0004    Read by others.\n"
10562 "    0002    Write by others.\n"
10563 msgstr ""
10564 "    0004    他人による読み込み。\n"
10565 "    0002    他人による書き込み。\n"
10566
10567 #. type: Plain text
10568 #: build/C/man7/svipc.7:102
10569 msgid ""
10570 "Bits 0100, 0010, and 0001 (the execute bits) are unused by the system.  "
10571 "Furthermore, \"write\" effectively means \"alter\" for a semaphore set."
10572 msgstr ""
10573 "システムはビット 0100, 0010, 0001 (実行ビット) は使用しない。 さらに、セマ"
10574 "フォーの場合には \"書き込み(write)\" は実際には \"変更(alter)\" を意味する。"
10575
10576 #. type: Plain text
10577 #: build/C/man7/svipc.7:105
10578 msgid ""
10579 "The same system header file also defines the following symbolic constants:"
10580 msgstr "同じヘッダーファイルには以下のシンボルの定義が含まれている:"
10581
10582 #. type: TP
10583 #: build/C/man7/svipc.7:105
10584 #, no-wrap
10585 msgid "B<IPC_CREAT>"
10586 msgstr "B<IPC_CREAT>"
10587
10588 #. type: Plain text
10589 #: build/C/man7/svipc.7:108
10590 msgid "Create entry if key doesn't exist."
10591 msgstr "キー(key)が存在しない場合には新たなエントリを作成する。"
10592
10593 #. type: TP
10594 #: build/C/man7/svipc.7:108
10595 #, no-wrap
10596 msgid "B<IPC_EXCL>"
10597 msgstr "B<IPC_EXCL>"
10598
10599 #. type: Plain text
10600 #: build/C/man7/svipc.7:111
10601 msgid "Fail if key exists."
10602 msgstr "キー(key)が存在する場合には失敗する。"
10603
10604 #. type: TP
10605 #: build/C/man7/svipc.7:111
10606 #, no-wrap
10607 msgid "B<IPC_NOWAIT>"
10608 msgstr "B<IPC_NOWAIT>"
10609
10610 #. type: Plain text
10611 #: build/C/man7/svipc.7:114
10612 msgid "Error if request must wait."
10613 msgstr "要求が待たされる場合にはエラーになる。"
10614
10615 #. type: TP
10616 #: build/C/man7/svipc.7:114
10617 #, no-wrap
10618 msgid "B<IPC_PRIVATE>"
10619 msgstr "B<IPC_PRIVATE>"
10620
10621 #. type: Plain text
10622 #: build/C/man7/svipc.7:117
10623 msgid "Private key."
10624 msgstr "プライベートキー。"
10625
10626 #. type: TP
10627 #: build/C/man7/svipc.7:117
10628 #, no-wrap
10629 msgid "B<IPC_RMID>"
10630 msgstr "B<IPC_RMID>"
10631
10632 #. type: Plain text
10633 #: build/C/man7/svipc.7:120
10634 msgid "Remove resource."
10635 msgstr "資源を削除する。"
10636
10637 #. type: TP
10638 #: build/C/man7/svipc.7:120
10639 #, no-wrap
10640 msgid "B<IPC_SET>"
10641 msgstr "B<IPC_SET>"
10642
10643 #. type: Plain text
10644 #: build/C/man7/svipc.7:123
10645 msgid "Set resource options."
10646 msgstr "資源にオプションを設定する。"
10647
10648 #. type: TP
10649 #: build/C/man7/svipc.7:123
10650 #, no-wrap
10651 msgid "B<IPC_STAT>"
10652 msgstr "B<IPC_STAT>"
10653
10654 #. type: Plain text
10655 #: build/C/man7/svipc.7:126
10656 msgid "Get resource options."
10657 msgstr "資源のオプションを取得する。"
10658
10659 #. type: Plain text
10660 #: build/C/man7/svipc.7:135
10661 msgid ""
10662 "Note that B<IPC_PRIVATE> is a I<key_t> type, while all the other symbolic "
10663 "constants are flag fields and can be OR'ed into an I<int> type variable."
10664 msgstr ""
10665 "B<IPC_PRIVATE> は I<key_t> 型である。その他の全てのシンボルはフラグフィールド"
10666 "として I<int> 変数に OR 演算で格納することができる。"
10667
10668 #. type: SS
10669 #: build/C/man7/svipc.7:135
10670 #, no-wrap
10671 msgid "Message queues"
10672 msgstr "メッセージキュー"
10673
10674 #. type: Plain text
10675 #: build/C/man7/svipc.7:143
10676 msgid ""
10677 "A message queue is uniquely identified by a positive integer (its I<msqid>)  "
10678 "and has an associated data structure of type I<struct msqid_ds>, defined in "
10679 "I<E<lt>sys/msg.hE<gt>>, containing the following members:"
10680 msgstr ""
10681 "メッセージキューは正の整数 (I<msqid>)  によって識別され、 I<E<lt>sys/msg."
10682 "hE<gt>> に定義されている構造体 I<struct msqid_ds> に結びつけられている。 この"
10683 "構造体は以下のメンバーを含んでいる:"
10684
10685 #. type: Plain text
10686 #: build/C/man7/svipc.7:156
10687 #, no-wrap
10688 msgid ""
10689 "struct msqid_ds {\n"
10690 "    struct ipc_perm msg_perm;\n"
10691 "    msgqnum_t       msg_qnum;    /* no of messages on queue */\n"
10692 "    msglen_t        msg_qbytes;  /* bytes max on a queue */\n"
10693 "    pid_t           msg_lspid;   /* PID of last msgsnd(2) call */\n"
10694 "    pid_t           msg_lrpid;   /* PID of last msgrcv(2) call */\n"
10695 "    time_t          msg_stime;   /* last msgsnd(2) time */\n"
10696 "    time_t          msg_rtime;   /* last msgrcv(2) time */\n"
10697 "    time_t          msg_ctime;   /* last change time */\n"
10698 "};\n"
10699 msgstr ""
10700 "struct msqid_ds {\n"
10701 "    struct ipc_perm msg_perm;\n"
10702 "    msgqnum_t       msg_qnum;    /* キューにあるメッセージの数 */\n"
10703 "    msglen_t        msg_qbytes;  /* キューの最大バイト数 */\n"
10704 "    pid_t           msg_lspid;   /* 最後に msgsnd(2) をした PID */\n"
10705 "    pid_t           msg_lrpid;   /* 最後に msgrcv(2) をした PID */\n"
10706 "    time_t          msg_stime;   /* 最後に msgsnd(2) をした時間 */\n"
10707 "    time_t          msg_rtime;   /* 最後に msgrcv(2) をした時間 */\n"
10708 "    time_t          msg_ctime;   /* 最後に変更された時間 */\n"
10709 "};\n"
10710
10711 #. type: TP
10712 #: build/C/man7/svipc.7:158
10713 #, no-wrap
10714 msgid "I<msg_perm>"
10715 msgstr "I<msg_perm>"
10716
10717 #. type: Plain text
10718 #: build/C/man7/svipc.7:163
10719 msgid ""
10720 "I<ipc_perm> structure that specifies the access permissions on the message "
10721 "queue."
10722 msgstr "メッセージキューへのアクセス許可を指定する I<ipc_perm> 構造体。"
10723
10724 #. type: TP
10725 #: build/C/man7/svipc.7:163
10726 #, no-wrap
10727 msgid "I<msg_qnum>"
10728 msgstr "I<msg_qnum>"
10729
10730 #. type: Plain text
10731 #: build/C/man7/svipc.7:166
10732 msgid "Number of messages currently on the message queue."
10733 msgstr "現在、このメッセージキューにあるメッセージの数。"
10734
10735 #. type: TP
10736 #: build/C/man7/svipc.7:166
10737 #, no-wrap
10738 msgid "I<msg_qbytes>"
10739 msgstr "I<msg_qbytes>"
10740
10741 #. type: Plain text
10742 #: build/C/man7/svipc.7:170
10743 msgid "Maximum number of bytes of message text allowed on the message queue."
10744 msgstr "メッセージキューに入れることができるメッセージの最大バイト数。"
10745
10746 #. type: TP
10747 #: build/C/man7/svipc.7:170
10748 #, no-wrap
10749 msgid "I<msg_lspid>"
10750 msgstr "I<msg_lspid>"
10751
10752 #. type: Plain text
10753 #: build/C/man7/svipc.7:175
10754 msgid "ID of the process that performed the last B<msgsnd>(2)  system call."
10755 msgstr "最後に B<msgsnd>(2)  システムコールを行なったプロセスの ID。"
10756
10757 #. type: TP
10758 #: build/C/man7/svipc.7:175
10759 #, no-wrap
10760 msgid "I<msg_lrpid>"
10761 msgstr "I<msg_lrpid>"
10762
10763 #. type: Plain text
10764 #: build/C/man7/svipc.7:180
10765 msgid "ID of the process that performed the last B<msgrcv>(2)  system call."
10766 msgstr "最後に B<msgrcv>(2)  システムコールを行なったプロセスの ID。"
10767
10768 #. type: TP
10769 #: build/C/man7/svipc.7:180
10770 #, no-wrap
10771 msgid "I<msg_stime>"
10772 msgstr "I<msg_stime>"
10773
10774 #. type: Plain text
10775 #: build/C/man7/svipc.7:185
10776 msgid "Time of the last B<msgsnd>(2)  system call."
10777 msgstr "最後に B<msgsnd>(2)  システムコールを行なった時間。"
10778
10779 #. type: TP
10780 #: build/C/man7/svipc.7:185
10781 #, no-wrap
10782 msgid "I<msg_rtime>"
10783 msgstr "I<msg_rtime>"
10784
10785 #. type: Plain text
10786 #: build/C/man7/svipc.7:190
10787 msgid "Time of the last B<msgrcv>(2)  system call."
10788 msgstr "最後に B<msgrcv>(2)  を行なった時間。"
10789
10790 #. type: TP
10791 #: build/C/man7/svipc.7:190
10792 #, no-wrap
10793 msgid "I<msg_ctime>"
10794 msgstr "I<msg_ctime>"
10795
10796 #. type: Plain text
10797 #: build/C/man7/svipc.7:196
10798 msgid ""
10799 "Time of the last system call that changed a member of the I<msqid_ds> "
10800 "structure."
10801 msgstr "最後に I<msqid_ds> 構造体のメンバーが変更された時間。"
10802
10803 #. type: SS
10804 #: build/C/man7/svipc.7:196
10805 #, no-wrap
10806 msgid "Semaphore sets"
10807 msgstr "セマフォー集合"
10808
10809 #. type: Plain text
10810 #: build/C/man7/svipc.7:204
10811 msgid ""
10812 "A semaphore set is uniquely identified by a positive integer (its I<semid>)  "
10813 "and has an associated data structure of type I<struct semid_ds>, defined in "
10814 "I<E<lt>sys/sem.hE<gt>>, containing the following members:"
10815 msgstr ""
10816 "セマフォー集合は正の整数 (I<semid>)  によって識別され、 I<E<lt>sys/sem."
10817 "hE<gt>> に定義されている構造体 I<struct semid_ds> に結びつけられている。 この"
10818 "構造体は以下のメンバーを含んでいる:"
10819
10820 #. type: Plain text
10821 #: build/C/man7/svipc.7:213
10822 #, no-wrap
10823 msgid ""
10824 "struct semid_ds {\n"
10825 "    struct ipc_perm sem_perm;\n"
10826 "    time_t          sem_otime;   /* last operation time */\n"
10827 "    time_t          sem_ctime;   /* last change time */\n"
10828 "    unsigned long   sem_nsems;   /* count of sems in set */\n"
10829 "};\n"
10830 msgstr ""
10831 "struct semid_ds {\n"
10832 "    struct ipc_perm sem_perm;\n"
10833 "    time_t          sem_otime;   /* 最後に操作した時間 */\n"
10834 "    time_t          sem_ctime;   /* 最後に変更した時間 */\n"
10835 "    unsigned long   sem_nsems;   /* 集合の中にあるセマフォー数 */\n"
10836 "};\n"
10837
10838 #. type: TP
10839 #: build/C/man7/svipc.7:215
10840 #, no-wrap
10841 msgid "I<sem_perm>"
10842 msgstr "I<sem_perm>"
10843
10844 #. type: Plain text
10845 #: build/C/man7/svipc.7:220
10846 msgid ""
10847 "I<ipc_perm> structure that specifies the access permissions on the semaphore "
10848 "set."
10849 msgstr "セマフォー集合へのアクセス許可を指定する I<ipc_perm> 構造体。"
10850
10851 #. type: TP
10852 #: build/C/man7/svipc.7:220
10853 #, no-wrap
10854 msgid "I<sem_otime>"
10855 msgstr "I<sem_otime>"
10856
10857 #. type: Plain text
10858 #: build/C/man7/svipc.7:225
10859 msgid "Time of last B<semop>(2)  system call."
10860 msgstr "最後に B<semop>(2)  システムコールを行なった時間。"
10861
10862 #. type: TP
10863 #: build/C/man7/svipc.7:225
10864 #, no-wrap
10865 msgid "I<sem_ctime>"
10866 msgstr "I<sem_ctime>"
10867
10868 #. type: Plain text
10869 #: build/C/man7/svipc.7:231
10870 msgid ""
10871 "Time of last B<semctl>(2)  system call that changed a member of the above "
10872 "structure or of one semaphore belonging to the set."
10873 msgstr ""
10874 "最後に B<semctl>(2)  を行なって上記の構造体のメンバーを変更するか、セマフォー"
10875 "集合に属する セマフォーを変更した時間。"
10876
10877 #. type: TP
10878 #: build/C/man7/svipc.7:231
10879 #, no-wrap
10880 msgid "I<sem_nsems>"
10881 msgstr "I<sem_nsems>"
10882
10883 #. type: Plain text
10884 #: build/C/man7/svipc.7:239
10885 msgid ""
10886 "Number of semaphores in the set.  Each semaphore of the set is referenced by "
10887 "a nonnegative integer ranging from B<0> to I<sem_nsems-1>."
10888 msgstr ""
10889 "セマフォー集合の中にあるセマフォーの数。 集合の中にあるそれぞれのセマフォーは"
10890 "負でない整数によって参照され、 B<0> から I<sem_nsems-1> までの番号を持つ。"
10891
10892 #. type: Plain text
10893 #: build/C/man7/svipc.7:243
10894 msgid ""
10895 "A semaphore is a data structure of type I<struct sem> containing the "
10896 "following members:"
10897 msgstr ""
10898 "セマフォーは I<struct sem> 型のデータ構造体であり、以下のメンバーを含んでい"
10899 "る:"
10900
10901 #.     unsigned short semncnt; /* nr awaiting semval to increase */
10902 #.     unsigned short semzcnt; /* nr awaiting semval = 0 */
10903 #. type: Plain text
10904 #: build/C/man7/svipc.7:252
10905 #, no-wrap
10906 msgid ""
10907 "struct sem {\n"
10908 "    int semval;  /* semaphore value */\n"
10909 "    int sempid;  /* PID for last operation */\n"
10910 "};\n"
10911 msgstr ""
10912 "struct sem {\n"
10913 "    int semval;  /* セマフォーの値 */\n"
10914 "    int sempid;  /* 最後に操作したプロセス ID */\n"
10915 "};\n"
10916
10917 #. type: TP
10918 #: build/C/man7/svipc.7:254
10919 #, no-wrap
10920 msgid "I<semval>"
10921 msgstr "I<semval>"
10922
10923 #. type: Plain text
10924 #: build/C/man7/svipc.7:257
10925 msgid "Semaphore value: a nonnegative integer."
10926 msgstr "セマフォー値: 負でない整数。"
10927
10928 #. type: TP
10929 #: build/C/man7/svipc.7:257
10930 #, no-wrap
10931 msgid "I<sempid>"
10932 msgstr "I<sempid>"
10933
10934 #. .TP
10935 #. .I semncnt
10936 #. Number of processes suspended awaiting for
10937 #. .I semval
10938 #. to increase.
10939 #. .TP
10940 #. .I semznt
10941 #. Number of processes suspended awaiting for
10942 #. .I semval
10943 #. to become zero.
10944 #. type: Plain text
10945 #: build/C/man7/svipc.7:271
10946 msgid ""
10947 "ID of the last process that performed a semaphore operation on this "
10948 "semaphore."
10949 msgstr "このセマフォーを最後に操作したプロセスの ID。"
10950
10951 #. type: SS
10952 #: build/C/man7/svipc.7:271
10953 #, no-wrap
10954 msgid "Shared memory segments"
10955 msgstr "共有メモリセグメント"
10956
10957 #. type: Plain text
10958 #: build/C/man7/svipc.7:279
10959 msgid ""
10960 "A shared memory segment is uniquely identified by a positive integer (its "
10961 "I<shmid>)  and has an associated data structure of type I<struct shmid_ds>, "
10962 "defined in I<E<lt>sys/shm.hE<gt>>, containing the following members:"
10963 msgstr ""
10964 "共有メモリセグメントは正の整数 (I<shmid>)  によって識別され、 I<E<lt>sys/shm."
10965 "hE<gt>> に定義されている I<struct shmid_ds> 構造体に結びつけられている。 この"
10966 "構造体は以下のメンバーを含んでいる:"
10967
10968 #. type: Plain text
10969 #: build/C/man7/svipc.7:292
10970 #, no-wrap
10971 msgid ""
10972 "struct shmid_ds {\n"
10973 "    struct ipc_perm shm_perm;\n"
10974 "    size_t          shm_segsz;   /* size of segment */\n"
10975 "    pid_t           shm_cpid;    /* PID of creator */\n"
10976 "    pid_t           shm_lpid;    /* PID, last operation */\n"
10977 "    shmatt_t        shm_nattch;  /* no. of current attaches */\n"
10978 "    time_t          shm_atime;   /* time of last attach */\n"
10979 "    time_t          shm_dtime;   /* time of last detach */\n"
10980 "    time_t          shm_ctime;   /* time of last change */\n"
10981 "};\n"
10982 msgstr ""
10983 "struct shmid_ds {\n"
10984 "    struct ipc_perm shm_perm;\n"
10985 "    size_t          shm_segsz;   /* セグメントのサイズ */\n"
10986 "    pid_t           shm_cpid;    /* 作成者のプロセス ID */\n"
10987 "    pid_t           shm_lpid;    /* 最後に操作したプロセス ID */\n"
10988 "    shmatt_t        shm_nattch;  /* 現在、付加している数 */\n"
10989 "    time_t          shm_atime;   /* 最後に付加した時間 */\n"
10990 "    time_t          shm_dtime;   /* 最後に分離した時間 */\n"
10991 "    time_t          shm_ctime;   /* 最後に変更した時間 */\n"
10992 "};\n"
10993
10994 #. type: TP
10995 #: build/C/man7/svipc.7:294
10996 #, no-wrap
10997 msgid "I<shm_perm>"
10998 msgstr "I<shm_perm>"
10999
11000 #. type: Plain text
11001 #: build/C/man7/svipc.7:299
11002 msgid ""
11003 "I<ipc_perm> structure that specifies the access permissions on the shared "
11004 "memory segment."
11005 msgstr "共有メモリセグメントへのアクセス許可を指定した I<ipc_perm> 構造体。"
11006
11007 #. type: TP
11008 #: build/C/man7/svipc.7:299
11009 #, no-wrap
11010 msgid "I<shm_segsz>"
11011 msgstr "I<shm_segsz>"
11012
11013 #. type: Plain text
11014 #: build/C/man7/svipc.7:302
11015 msgid "Size in bytes of the shared memory segment."
11016 msgstr "共有メモリセグメントのバイト数。"
11017
11018 #. type: TP
11019 #: build/C/man7/svipc.7:302
11020 #, no-wrap
11021 msgid "I<shm_cpid>"
11022 msgstr "I<shm_cpid>"
11023
11024 #. type: Plain text
11025 #: build/C/man7/svipc.7:305
11026 msgid "ID of the process that created the shared memory segment."
11027 msgstr "共有メモリセグメントを作成したプロセスの ID。"
11028
11029 #. type: TP
11030 #: build/C/man7/svipc.7:305
11031 #, no-wrap
11032 msgid "I<shm_lpid>"
11033 msgstr "I<shm_lpid>"
11034
11035 #. type: Plain text
11036 #: build/C/man7/svipc.7:312
11037 msgid ""
11038 "ID of the last process that executed a B<shmat>(2)  or B<shmdt>(2)  system "
11039 "call."
11040 msgstr ""
11041 "最後に B<shmat>(2)  または B<shmdt>(2)  システムコールを実行したプロセスの "
11042 "ID。"
11043
11044 #. type: TP
11045 #: build/C/man7/svipc.7:312
11046 #, no-wrap
11047 msgid "I<shm_nattch>"
11048 msgstr "I<shm_nattch>"
11049
11050 #. type: Plain text
11051 #: build/C/man7/svipc.7:315
11052 msgid "Number of current alive attaches for this shared memory segment."
11053 msgstr "この共有メモリセグメントをメモリに付加 (attach) しているプロセスの数。"
11054
11055 #. type: TP
11056 #: build/C/man7/svipc.7:315
11057 #, no-wrap
11058 msgid "I<shm_atime>"
11059 msgstr "I<shm_atime>"
11060
11061 #. type: Plain text
11062 #: build/C/man7/svipc.7:320
11063 msgid "Time of the last B<shmat>(2)  system call."
11064 msgstr "最後に B<shmat>(2)  システムコールを行なった時間。"
11065
11066 #. type: TP
11067 #: build/C/man7/svipc.7:320
11068 #, no-wrap
11069 msgid "I<shm_dtime>"
11070 msgstr "I<shm_dtime>"
11071
11072 #. type: Plain text
11073 #: build/C/man7/svipc.7:325
11074 msgid "Time of the last B<shmdt>(2)  system call."
11075 msgstr "最後に B<shmdt>(2)  システムコールを行なった時間。"
11076
11077 #. type: TP
11078 #: build/C/man7/svipc.7:325
11079 #, no-wrap
11080 msgid "I<shm_ctime>"
11081 msgstr "I<shm_ctime>"
11082
11083 #. type: Plain text
11084 #: build/C/man7/svipc.7:331
11085 msgid "Time of the last B<shmctl>(2)  system call that changed I<shmid_ds>."
11086 msgstr ""
11087 "最後に B<shmctl>(2)  システムコールを行なって、 I<shmid_ds> 構造体を変更した"
11088 "時間。"
11089
11090 #. type: Plain text
11091 #: build/C/man7/svipc.7:348
11092 msgid ""
11093 "B<ipcmk>(1), B<ipcrm>(1), B<ipcs>(1), B<ipc>(2), B<msgctl>(2), B<msgget>(2), "
11094 "B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), B<semget>(2), B<semop>(2), "
11095 "B<shmat>(2), B<shmctl>(2), B<shmdt>(2), B<shmget>(2), B<ftok>(3)"
11096 msgstr ""
11097 "B<ipcmk>(1), B<ipcrm>(1), B<ipcs>(1), B<ipc>(2), B<msgctl>(2), B<msgget>(2), "
11098 "B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), B<semget>(2), B<semop>(2), "
11099 "B<shmat>(2), B<shmctl>(2), B<shmdt>(2), B<shmget>(2), B<ftok>(3)"
11100
11101 #. type: TH
11102 #: build/C/man3/ulimit.3:27
11103 #, no-wrap
11104 msgid "ULIMIT"
11105 msgstr "ULIMIT"
11106
11107 #. type: TH
11108 #: build/C/man3/ulimit.3:27
11109 #, no-wrap
11110 msgid "2008-08-06"
11111 msgstr "2008-08-06"
11112
11113 #. type: Plain text
11114 #: build/C/man3/ulimit.3:30
11115 msgid "ulimit - get and set user limits"
11116 msgstr "ulimit - ユーザー制限を取得・設定する"
11117
11118 #. type: Plain text
11119 #: build/C/man3/ulimit.3:32
11120 msgid "B<#include E<lt>ulimit.hE<gt>>"
11121 msgstr "B<#include E<lt>ulimit.hE<gt>>"
11122
11123 #. type: Plain text
11124 #: build/C/man3/ulimit.3:34
11125 msgid "B<long ulimit(int >I<cmd>B<, long >I<newlimit>B<);>"
11126 msgstr "B<long ulimit(int >I<cmd>B<, long >I<newlimit>B<);>"
11127
11128 #. type: Plain text
11129 #: build/C/man3/ulimit.3:46
11130 msgid ""
11131 "Warning: This routine is obsolete.  Use B<getrlimit>(2), B<setrlimit>(2), "
11132 "and B<sysconf>(3)  instead.  For the shell command B<ulimit>(), see "
11133 "B<bash>(1)."
11134 msgstr ""
11135 "注意: このルーチンは古い。 代わりに B<getrlimit>(2), B<setrlimit>(2), "
11136 "B<sysconf>(3)  などを用いること。 シェルコマンドとしての B<ulimit>()  につい"
11137 "ては、 B<bash>(1)  を見ること。"
11138
11139 #. type: Plain text
11140 #: build/C/man3/ulimit.3:53
11141 msgid ""
11142 "The B<ulimit>()  call will get or set some limit for the calling process.  "
11143 "The I<cmd> argument can have one of the following values."
11144 msgstr ""
11145 "B<ulimit>()  は呼び出し元のプロセスに関する制限のいくつかを取得・設定する。 "
11146 "I<cmd> 引き数には、以下の値のうちのどれか一つを与えることができる。"
11147
11148 #. type: TP
11149 #: build/C/man3/ulimit.3:53
11150 #, no-wrap
11151 msgid "B<UL_GETFSIZE>"
11152 msgstr "B<UL_GETFSIZE>"
11153
11154 #. type: Plain text
11155 #: build/C/man3/ulimit.3:56
11156 msgid "Return the limit on the size of a file, in units of 512 bytes."
11157 msgstr "ファイルサイズに関する制限を返す。単位は 512 バイト。"
11158
11159 #. type: TP
11160 #: build/C/man3/ulimit.3:56
11161 #, no-wrap
11162 msgid "B<UL_SETFSIZE>"
11163 msgstr "B<UL_SETFSIZE>"
11164
11165 #. type: Plain text
11166 #: build/C/man3/ulimit.3:59
11167 msgid "Set the limit on the size of a file."
11168 msgstr "ファイルサイズに関する制限を設定する。"
11169
11170 #. type: TP
11171 #: build/C/man3/ulimit.3:59
11172 #, no-wrap
11173 msgid "B<3>"
11174 msgstr "B<3>"
11175
11176 #. type: Plain text
11177 #: build/C/man3/ulimit.3:63
11178 msgid ""
11179 "(Not implemented for Linux.)  Return the maximum possible address of the "
11180 "data segment."
11181 msgstr ""
11182 "(Linux では実装されていない)  データセグメントで指定できるアドレスの最大値を"
11183 "返す。"
11184
11185 #. type: TP
11186 #: build/C/man3/ulimit.3:63
11187 #, no-wrap
11188 msgid "B<4>"
11189 msgstr "B<4>"
11190
11191 #. type: Plain text
11192 #: build/C/man3/ulimit.3:67
11193 msgid ""
11194 "(Implemented but no symbolic constant provided.)  Return the maximum number "
11195 "of files that the calling process can open."
11196 msgstr ""
11197 "(実装されているが、対応するシンボリックな定数は存在しない)  プロセスがオープ"
11198 "ンできるファイル数の最大値を返す。"
11199
11200 #. type: Plain text
11201 #: build/C/man3/ulimit.3:74
11202 msgid ""
11203 "On success, B<ulimit>()  returns a nonnegative value.  On error, -1 is "
11204 "returned, and I<errno> is set appropriately."
11205 msgstr ""
11206 "成功すると B<ulimit>()  は 0 または正の値を返す。 エラーが生じると -1 を返"
11207 "し、 I<errno> を適切な値に設定する。"
11208
11209 #. type: Plain text
11210 #: build/C/man3/ulimit.3:78
11211 msgid "A unprivileged process tried to increase a limit."
11212 msgstr "非特権プロセスが制限値を増加させようとした。"
11213
11214 #. type: Plain text
11215 #: build/C/man3/ulimit.3:83
11216 msgid "SVr4, POSIX.1-2001.  POSIX.1-2008 marks B<ulimit>()  as obsolete."
11217 msgstr ""
11218 "SVr4, POSIX.1-2001.  POSIX.1-2008 は B<ulimit>()  を廃止予定としている。"
11219
11220 #. type: Plain text
11221 #: build/C/man3/ulimit.3:88
11222 msgid "B<bash>(1), B<getrlimit>(2), B<setrlimit>(2), B<sysconf>(3)"
11223 msgstr "B<bash>(1), B<getrlimit>(2), B<setrlimit>(2), B<sysconf>(3)"
11224
11225 #~ msgid ""
11226 #~ "Trace arbitrary processes using B<ptrace>(2); apply "
11227 #~ "B<get_robust_list>(2)  to arbitrary processes; inspect processes using "
11228 #~ "B<kcmp>(2)."
11229 #~ msgstr ""
11230 #~ "B<ptrace>(2)  を使って任意のプロセスをトレースする。 任意のプロセスに "
11231 #~ "B<get_robust_list>(2)  を適用する。 B<kcmp>(2) を使ってプロセス内部を調査"
11232 #~ "する。"
11233
11234 #~ msgid "2014-01-22"
11235 #~ msgstr "2014-01-22"