OSDN Git Service

038404eb2eae2afaebeaad8c047a154cd4e20772
[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: 2012-03-22 04:26+0900\n"
10 "PO-Revision-Date: 2012-03-23 04:52+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:32 build/C/man5/acct.5:23
20 #, no-wrap
21 msgid "ACCT"
22 msgstr "ACCT"
23
24 #. type: TH
25 #: build/C/man2/acct.2:32
26 #, no-wrap
27 msgid "2008-06-16"
28 msgstr "2008-06-16"
29
30 #. type: TH
31 #: build/C/man2/acct.2:32 build/C/man5/acct.5:23
32 #: build/C/man7/capabilities.7:46 build/C/man2/capget.2:11
33 #: build/C/man7/cpuset.7:24 build/C/man7/credentials.7:25
34 #: build/C/man2/getgid.2:25 build/C/man2/getgroups.2:31
35 #: build/C/man2/getpid.2:23 build/C/man2/getpriority.2:46
36 #: build/C/man2/getresuid.2:27 build/C/man2/getrlimit.2:64
37 #: build/C/man2/getrusage.2:39 build/C/man2/getsid.2:25
38 #: build/C/man2/getuid.2:26 build/C/man2/iopl.2:33
39 #: build/C/man2/ioprio_set.2:25 build/C/man2/ipc.2:26
40 #: build/C/man2/seteuid.2:27 build/C/man2/setfsgid.2:29
41 #: build/C/man2/setfsuid.2:29 build/C/man2/setgid.2:27
42 #: build/C/man2/setpgid.2:46 build/C/man2/setresuid.2:26
43 #: build/C/man2/setreuid.2:43 build/C/man2/setsid.2:29
44 #: build/C/man2/setuid.2:28 build/C/man7/svipc.7:25 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:32 build/C/man5/acct.5:23
51 #: build/C/man7/capabilities.7:46 build/C/man2/capget.2:11
52 #: build/C/man7/cpuset.7:24 build/C/man7/credentials.7:25
53 #: build/C/man2/getgid.2:25 build/C/man2/getgroups.2:31
54 #: build/C/man2/getpid.2:23 build/C/man2/getpriority.2:46
55 #: build/C/man2/getresuid.2:27 build/C/man2/getrlimit.2:64
56 #: build/C/man2/getrusage.2:39 build/C/man2/getsid.2:25
57 #: build/C/man2/getuid.2:26 build/C/man2/iopl.2:33
58 #: build/C/man2/ioprio_set.2:25 build/C/man2/ipc.2:26
59 #: build/C/man2/seteuid.2:27 build/C/man2/setfsgid.2:29
60 #: build/C/man2/setfsuid.2:29 build/C/man2/setgid.2:27
61 #: build/C/man2/setpgid.2:46 build/C/man2/setresuid.2:26
62 #: build/C/man2/setreuid.2:43 build/C/man2/setsid.2:29
63 #: build/C/man2/setuid.2:28 build/C/man7/svipc.7:25 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:33 build/C/man5/acct.5:24
70 #: build/C/man7/capabilities.7:47 build/C/man2/capget.2:12
71 #: build/C/man7/cpuset.7:25 build/C/man7/credentials.7:26
72 #: build/C/man2/getgid.2:26 build/C/man2/getgroups.2:32
73 #: build/C/man2/getpid.2:24 build/C/man2/getpriority.2:47
74 #: build/C/man2/getresuid.2:28 build/C/man2/getrlimit.2:65
75 #: build/C/man2/getrusage.2:40 build/C/man2/getsid.2:26
76 #: build/C/man2/getuid.2:27 build/C/man2/iopl.2:34
77 #: build/C/man2/ioprio_set.2:26 build/C/man2/ipc.2:27
78 #: build/C/man2/seteuid.2:28 build/C/man2/setfsgid.2:30
79 #: build/C/man2/setfsuid.2:30 build/C/man2/setgid.2:28
80 #: build/C/man2/setpgid.2:47 build/C/man2/setresuid.2:27
81 #: build/C/man2/setreuid.2:44 build/C/man2/setsid.2:30
82 #: build/C/man2/setuid.2:29 build/C/man7/svipc.7:26 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:35
89 msgid "acct - switch process accounting on or off"
90 msgstr "acct - プロセス・アカウントのオンとオフを切り換える"
91
92 #. type: SH
93 #: build/C/man2/acct.2:35 build/C/man5/acct.5:26 build/C/man2/capget.2:14
94 #: build/C/man2/getgid.2:28 build/C/man2/getgroups.2:34
95 #: build/C/man2/getpid.2:26 build/C/man2/getpriority.2:49
96 #: build/C/man2/getresuid.2:30 build/C/man2/getrlimit.2:67
97 #: build/C/man2/getrusage.2:42 build/C/man2/getsid.2:28
98 #: build/C/man2/getuid.2:29 build/C/man2/iopl.2:36
99 #: build/C/man2/ioprio_set.2:28 build/C/man2/ipc.2:29
100 #: build/C/man2/seteuid.2:30 build/C/man2/setfsgid.2:32
101 #: build/C/man2/setfsuid.2:32 build/C/man2/setgid.2:30
102 #: build/C/man2/setpgid.2:49 build/C/man2/setresuid.2:29
103 #: build/C/man2/setreuid.2:46 build/C/man2/setsid.2:32
104 #: build/C/man2/setuid.2:31 build/C/man7/svipc.7:28 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:39
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:41
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:47 build/C/man2/getgroups.2:48
123 #: build/C/man2/getrlimit.2:84 build/C/man2/getsid.2:36
124 #: build/C/man2/seteuid.2:42 build/C/man2/setpgid.2:69
125 #: build/C/man2/setreuid.2:58
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:51
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:51 build/C/man5/acct.5:28
139 #: build/C/man7/capabilities.7:49 build/C/man2/capget.2:20
140 #: build/C/man7/cpuset.7:27 build/C/man7/credentials.7:28
141 #: build/C/man2/getgid.2:36 build/C/man2/getgroups.2:52
142 #: build/C/man2/getpid.2:34 build/C/man2/getpriority.2:57
143 #: build/C/man2/getresuid.2:38 build/C/man2/getrlimit.2:88
144 #: build/C/man2/getrusage.2:48 build/C/man2/getsid.2:49
145 #: build/C/man2/getuid.2:37 build/C/man2/iopl.2:40
146 #: build/C/man2/ioprio_set.2:33 build/C/man2/ipc.2:35
147 #: build/C/man2/seteuid.2:51 build/C/man2/setfsgid.2:37
148 #: build/C/man2/setfsuid.2:37 build/C/man2/setgid.2:36
149 #: build/C/man2/setpgid.2:96 build/C/man2/setresuid.2:37
150 #: build/C/man2/setreuid.2:68 build/C/man2/setsid.2:39
151 #: build/C/man2/setuid.2:37 build/C/man7/svipc.7:36 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:152
172 #: build/C/man2/getgroups.2:92 build/C/man2/getpriority.2:105
173 #: build/C/man2/getresuid.2:49 build/C/man2/getrlimit.2:430
174 #: build/C/man2/getrusage.2:180 build/C/man2/getsid.2:57
175 #: build/C/man2/iopl.2:65 build/C/man2/ioprio_set.2:139
176 #: build/C/man2/seteuid.2:65 build/C/man2/setfsgid.2:67
177 #: build/C/man2/setfsuid.2:67 build/C/man2/setgid.2:51
178 #: build/C/man2/setpgid.2:170 build/C/man2/setresuid.2:64
179 #: build/C/man2/setreuid.2:89 build/C/man2/setsid.2:50
180 #: build/C/man2/setuid.2:68 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:157
187 #: build/C/man2/getresuid.2:54 build/C/man2/getrusage.2:185
188 #: build/C/man2/iopl.2:70 build/C/man2/seteuid.2:70 build/C/man2/setgid.2:56
189 #: build/C/man2/setresuid.2:69 build/C/man2/setreuid.2:94
190 #: build/C/man2/setuid.2:73
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:171 build/C/man7/cpuset.7:1099
200 #: build/C/man2/getgid.2:42 build/C/man2/getgroups.2:106
201 #: build/C/man2/getpid.2:42 build/C/man2/getpriority.2:118
202 #: build/C/man2/getresuid.2:54 build/C/man2/getrlimit.2:435
203 #: build/C/man2/getrusage.2:185 build/C/man2/getsid.2:62
204 #: build/C/man2/getuid.2:43 build/C/man2/iopl.2:70
205 #: build/C/man2/ioprio_set.2:159 build/C/man2/seteuid.2:70
206 #: build/C/man2/setgid.2:56 build/C/man2/setpgid.2:191
207 #: build/C/man2/setresuid.2:69 build/C/man2/setreuid.2:94
208 #: build/C/man2/setsid.2:57 build/C/man2/setuid.2:73 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:1115
215 #: build/C/man7/cpuset.7:1122 build/C/man7/cpuset.7:1128
216 #: build/C/man7/cpuset.7:1136 build/C/man7/cpuset.7:1143
217 #: build/C/man2/getpriority.2:138 build/C/man2/setpgid.2:192
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:172 build/C/man7/cpuset.7:1171
236 #: build/C/man2/getgroups.2:107 build/C/man2/getresuid.2:55
237 #: build/C/man2/getrlimit.2:436 build/C/man2/getrusage.2:186
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:1237
249 #: build/C/man7/cpuset.7:1245
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:1250
283 #: build/C/man7/cpuset.7:1257 build/C/man7/cpuset.7:1262
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:1274
306 #: build/C/man7/cpuset.7:1279
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:1286
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:75
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:1313
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:183 build/C/man2/capget.2:188
361 #: build/C/man7/cpuset.7:1318 build/C/man2/getgroups.2:130
362 #: build/C/man2/getpriority.2:150 build/C/man2/getrlimit.2:452
363 #: build/C/man2/getsid.2:63 build/C/man2/iopl.2:78
364 #: build/C/man2/ioprio_set.2:169 build/C/man2/seteuid.2:73
365 #: build/C/man2/setgid.2:57 build/C/man2/setpgid.2:206
366 #: build/C/man2/setresuid.2:77 build/C/man2/setreuid.2:95
367 #: build/C/man2/setsid.2:58 build/C/man2/setuid.2:83 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 file system."
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:152
406 #: build/C/man7/capabilities.7:997 build/C/man2/capget.2:210
407 #: build/C/man7/credentials.7:232 build/C/man2/getgid.2:44
408 #: build/C/man2/getgroups.2:133 build/C/man2/getpid.2:44
409 #: build/C/man2/getpriority.2:158 build/C/man2/getresuid.2:66
410 #: build/C/man2/getrlimit.2:473 build/C/man2/getrusage.2:194
411 #: build/C/man2/getsid.2:78 build/C/man2/getuid.2:45 build/C/man2/iopl.2:85
412 #: build/C/man2/ioprio_set.2:186 build/C/man2/ipc.2:46
413 #: build/C/man2/seteuid.2:89 build/C/man2/setfsgid.2:78
414 #: build/C/man2/setfsuid.2:78 build/C/man2/setgid.2:74
415 #: build/C/man2/setpgid.2:225 build/C/man2/setresuid.2:83
416 #: build/C/man2/setreuid.2:111 build/C/man2/setsid.2:64
417 #: build/C/man2/setuid.2:90 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:156
434 #: build/C/man7/capabilities.7:1002 build/C/man2/capget.2:212
435 #: build/C/man7/cpuset.7:1340 build/C/man7/credentials.7:238
436 #: build/C/man2/getgid.2:46 build/C/man2/getgroups.2:141
437 #: build/C/man2/getpid.2:46 build/C/man2/getpriority.2:161
438 #: build/C/man2/getresuid.2:69 build/C/man2/getrlimit.2:496
439 #: build/C/man2/getrusage.2:205 build/C/man2/getsid.2:80
440 #: build/C/man2/getuid.2:47 build/C/man2/getuid.2:57 build/C/man2/iopl.2:89
441 #: build/C/man2/ioprio_set.2:188 build/C/man2/ipc.2:50
442 #: build/C/man2/seteuid.2:91 build/C/man2/setfsgid.2:82
443 #: build/C/man2/setfsuid.2:82 build/C/man2/setgid.2:64
444 #: build/C/man2/setpgid.2:247 build/C/man2/setresuid.2:86
445 #: build/C/man2/setreuid.2:117 build/C/man2/setsid.2:66
446 #: build/C/man2/setuid.2:95
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:173
471 #: build/C/man7/capabilities.7:1050 build/C/man2/capget.2:219
472 #: build/C/man7/cpuset.7:1487 build/C/man7/credentials.7:250
473 #: build/C/man2/getgid.2:62 build/C/man2/getgroups.2:171
474 #: build/C/man2/getpid.2:98 build/C/man2/getpriority.2:223
475 #: build/C/man2/getresuid.2:85 build/C/man2/getrlimit.2:620
476 #: build/C/man2/getrusage.2:245 build/C/man2/getsid.2:83
477 #: build/C/man2/getuid.2:73 build/C/man2/iopl.2:98
478 #: build/C/man2/ioprio_set.2:317 build/C/man2/ipc.2:58
479 #: build/C/man2/seteuid.2:117 build/C/man2/setfsgid.2:110
480 #: build/C/man2/setfsuid.2:110 build/C/man2/setgid.2:76
481 #: build/C/man2/setpgid.2:315 build/C/man2/setresuid.2:106
482 #: build/C/man2/setreuid.2:157 build/C/man2/setsid.2:83
483 #: build/C/man2/setuid.2:118 build/C/man7/svipc.7:320 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:178
495 #: build/C/man7/capabilities.7:1071 build/C/man2/capget.2:223
496 #: build/C/man7/cpuset.7:1504 build/C/man7/credentials.7:281
497 #: build/C/man2/getgid.2:67 build/C/man2/getgroups.2:178
498 #: build/C/man2/getpid.2:108 build/C/man2/getpriority.2:231
499 #: build/C/man2/getresuid.2:91 build/C/man2/getrlimit.2:637
500 #: build/C/man2/getrusage.2:252 build/C/man2/getsid.2:87
501 #: build/C/man2/getuid.2:78 build/C/man2/iopl.2:101
502 #: build/C/man2/ioprio_set.2:323 build/C/man2/ipc.2:71
503 #: build/C/man2/seteuid.2:124 build/C/man2/setfsgid.2:115
504 #: build/C/man2/setfsuid.2:115 build/C/man2/setgid.2:82
505 #: build/C/man2/setpgid.2:322 build/C/man2/setresuid.2:115
506 #: build/C/man2/setreuid.2:165 build/C/man2/setsid.2:89
507 #: build/C/man2/setuid.2:125 build/C/man7/svipc.7:334 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:152 build/C/man5/acct.5:185
514 #: build/C/man7/capabilities.7:1078 build/C/man2/capget.2:230
515 #: build/C/man7/cpuset.7:1511 build/C/man7/credentials.7:288
516 #: build/C/man2/getgid.2:74 build/C/man2/getgroups.2:185
517 #: build/C/man2/getpid.2:115 build/C/man2/getpriority.2:238
518 #: build/C/man2/getresuid.2:98 build/C/man2/getrlimit.2:644
519 #: build/C/man2/getrusage.2:259 build/C/man2/getsid.2:94
520 #: build/C/man2/getuid.2:85 build/C/man2/iopl.2:108
521 #: build/C/man2/ioprio_set.2:330 build/C/man2/ipc.2:78
522 #: build/C/man2/seteuid.2:131 build/C/man2/setfsgid.2:122
523 #: build/C/man2/setfsuid.2:122 build/C/man2/setgid.2:89
524 #: build/C/man2/setpgid.2:329 build/C/man2/setresuid.2:122
525 #: build/C/man2/setreuid.2:172 build/C/man2/setsid.2:96
526 #: build/C/man2/setuid.2:132 build/C/man7/svipc.7:341 build/C/man3/ulimit.3:95
527 msgid ""
528 "This page is part of release 3.37 of the Linux I<man-pages> project.  A "
529 "description of the project, and information about reporting bugs, can be "
530 "found at http://www.kernel.org/doc/man-pages/."
531 msgstr ""
532 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.37 の一部である。\n"
533 "プロジェクトの説明とバグ報告に関する情報は\n"
534 "http://www.kernel.org/doc/man-pages/ に書かれている。"
535
536 #. type: TH
537 #: build/C/man5/acct.5:23
538 #, no-wrap
539 msgid "2008-06-15"
540 msgstr "2008-06-15"
541
542 #. type: Plain text
543 #: build/C/man5/acct.5:26
544 msgid "acct - process accounting file"
545 msgstr "acct - プロセス・アカウンティング・ファイル"
546
547 #. type: Plain text
548 #: build/C/man5/acct.5:28
549 msgid "B<#include E<lt>sys/acct.hE<gt>>"
550 msgstr "B<#include E<lt>sys/acct.hE<gt>>"
551
552 #. type: Plain text
553 #: build/C/man5/acct.5:34
554 msgid ""
555 "If the kernel is built with the process accounting option enabled "
556 "(B<CONFIG_BSD_PROCESS_ACCT>), then calling B<acct>(2)  starts process "
557 "accounting, for example:"
558 msgstr ""
559 "カーネルがプロセス・アカウンティングのオプション "
560 "(B<CONFIG_BSD_PROCESS_ACCT>)  を有効にして作成されていると、以下のように "
561 "B<acct>(2)  を呼び出すとプロセス・アカウンティングが開始される。"
562
563 #. type: Plain text
564 #: build/C/man5/acct.5:37
565 msgid "acct(\"/var/log/pacct\");"
566 msgstr "acct(\"/var/log/pacct\");"
567
568 #. type: Plain text
569 #: build/C/man5/acct.5:45
570 msgid ""
571 "When process accounting is enabled, the kernel writes a record to the "
572 "accounting file as each process on the system terminates.  This record "
573 "contains information about the terminated process, and is defined in "
574 "I<E<lt>sys/acct.hE<gt>> as follows:"
575 msgstr ""
576 "プロセス・アカウンティングが有効になっていると、カーネルは システム上の各プロ"
577 "セスが終了するたびにアカウンティングファイルに レコードを書き込む。 このレ"
578 "コードは、終了したプロセスに関する情報を保持するもので、 I<E<lt>sys/acct."
579 "hE<gt>> で以下のように定義されている。"
580
581 #. type: Plain text
582 #: build/C/man5/acct.5:49
583 #, no-wrap
584 msgid "#define ACCT_COMM 16\n"
585 msgstr "#define ACCT_COMM 16\n"
586
587 #. type: Plain text
588 #: build/C/man5/acct.5:51
589 #, no-wrap
590 msgid "typedef u_int16_t comp_t;\n"
591 msgstr "typedef u_int16_t comp_t;\n"
592
593 #. type: Plain text
594 #: build/C/man5/acct.5:75
595 #, no-wrap
596 msgid ""
597 "struct acct {\n"
598 "    char ac_flag;           /* Accounting flags */\n"
599 "    u_int16_t ac_uid;       /* Accounting user ID */\n"
600 "    u_int16_t ac_gid;       /* Accounting group ID */\n"
601 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
602 "    u_int32_t ac_btime;     /* Process creation time\n"
603 "                               (seconds since the Epoch) */\n"
604 "    comp_t    ac_utime;     /* User CPU time */\n"
605 "    comp_t    ac_stime;     /* System CPU time */\n"
606 "    comp_t    ac_etime;     /* Elapsed time */\n"
607 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
608 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
609 "    comp_t    ac_rw;        /* Blocks read or written (unused) */\n"
610 "    comp_t    ac_minflt;    /* Minor page faults */\n"
611 "    comp_t    ac_majflt;    /* Major page faults */\n"
612 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
613 "    u_int32_t ac_exitcode;  /* Process termination status\n"
614 "                               (see wait(2)) */\n"
615 "    char      ac_comm[ACCT_COMM+1];\n"
616 "                            /* Command name (basename of last\n"
617 "                               executed command; null-terminated) */\n"
618 "    char      ac_pad[I<X>];    /* padding bytes */\n"
619 "};\n"
620 msgstr ""
621 "struct acct {\n"
622 "    char ac_flag;           /* Accounting flags */\n"
623 "    u_int16_t ac_uid;       /* Accounting user ID */\n"
624 "    u_int16_t ac_gid;       /* Accounting group ID */\n"
625 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
626 "    u_int32_t ac_btime;     /* Process creation time\n"
627 "                               (seconds since the Epoch) */\n"
628 "    comp_t    ac_utime;     /* User CPU time */\n"
629 "    comp_t    ac_stime;     /* System CPU time */\n"
630 "    comp_t    ac_etime;     /* Elapsed time */\n"
631 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
632 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
633 "    comp_t    ac_rw;        /* Blocks read or written (unused) */\n"
634 "    comp_t    ac_minflt;    /* Minor page faults */\n"
635 "    comp_t    ac_majflt;    /* Major page faults */\n"
636 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
637 "    u_int32_t ac_exitcode;  /* Process termination status\n"
638 "                               (see wait(2)) */\n"
639 "    char      ac_comm[ACCT_COMM+1];\n"
640 "                            /* Command name (basename of last\n"
641 "                               executed command; null-terminated) */\n"
642 "    char      ac_pad[I<X>];    /* padding bytes */\n"
643 "};\n"
644
645 #. type: Plain text
646 #: build/C/man5/acct.5:82
647 #, no-wrap
648 msgid ""
649 "enum {          /* Bits that may be set in ac_flag field */\n"
650 "    AFORK = 0x01,           /* Has executed fork, but no exec */\n"
651 "    ASU   = 0x02,           /* Used superuser privileges */\n"
652 "    ACORE = 0x08,           /* Dumped core */\n"
653 "    AXSIG = 0x10            /* Killed by a signal */\n"
654 "};\n"
655 msgstr ""
656 "enum {          /* Bits that may be set in ac_flag field */\n"
657 "    AFORK = 0x01,           /* Has executed fork, but no exec */\n"
658 "    ASU   = 0x02,           /* Used superuser privileges */\n"
659 "    ACORE = 0x08,           /* Dumped core */\n"
660 "    AXSIG = 0x10            /* Killed by a signal */\n"
661 "};\n"
662
663 #. type: Plain text
664 #: build/C/man5/acct.5:92
665 msgid ""
666 "The I<comp_t> data type is a floating-point value consisting of a 3-bit, "
667 "base-8 exponent, and a 13-bit mantissa.  A value, I<c>, of this type can be "
668 "converted to a (long) integer as follows:"
669 msgstr ""
670 "データ型 I<comp_t> は浮動小数点値で、3 ビット幅の基数が 8 の指数部と 13 ビッ"
671 "ト幅の仮数部から 構成される。 I<comp_t> 型の値 I<c> は以下のようにして (long "
672 "型の) 整数に変換できる。"
673
674 #. type: Plain text
675 #: build/C/man5/acct.5:95
676 #, no-wrap
677 msgid "    v = (c & 0x1fff) E<lt>E<lt> (((c E<gt>E<gt> 13) & 0x7) * 3);\n"
678 msgstr "    v = (c & 0x1fff) E<lt>E<lt> (((c E<gt>E<gt> 13) & 0x7) * 3);\n"
679
680 #. type: Plain text
681 #: build/C/man5/acct.5:105
682 msgid ""
683 "The I<ac_utime>, I<ac_stime>, and I<ac_etime> fields measure time in \"clock "
684 "ticks\"; divide these values by I<sysconf(_SC_CLK_TCK)> to convert them to "
685 "seconds."
686 msgstr ""
687 "フィールド I<ac_utime>, I<ac_stime>, I<ac_etime> は \"clock ticks\" 単位で計"
688 "測した時間である。 これらの値を I<sysconf(_SC_CLK_TCK)> で割ると、秒に変換で"
689 "きる。"
690
691 #. type: SS
692 #: build/C/man5/acct.5:105
693 #, no-wrap
694 msgid "Version 3 Accounting File Format"
695 msgstr "バージョン 3 のアカウンティングファイルのフォーマット"
696
697 #. type: Plain text
698 #: build/C/man5/acct.5:120
699 msgid ""
700 "Since kernel 2.6.8, an optional alternative version of the accounting file "
701 "can be produced if the B<CONFIG_BSD_PROCESS_ACCT_V3> option is set when "
702 "building the kernel.  With this option is set, the records written to the "
703 "accounting file contain additional fields, and the width of I<c_uid> and "
704 "I<ac_gid> fields is widened from 16 to 32 bits (in line with the increased "
705 "size of UID and GIDs in Linux 2.4 and later).  The records are defined as "
706 "follows:"
707 msgstr ""
708 "カーネル 2.6.8 以降では、 別のバージョンのアカウンティングファイルを生成する"
709 "ことができ、 これを使うにはカーネル構築時に B<CONFIG_BSD_PROCESS_ACCT_V3> オ"
710 "プションが有効になっている必要がある。 このオプションが設定されると、アカウン"
711 "ティングファイルに書き込まれる レコードにフィールドが追加される。 また、"
712 "フィールド I<c_uid> と I<ac_gid> の幅が 16 ビットから 32 ビットに拡張される "
713 "(これは Linux 2.4 以降で UID と GID のサイズが増えているのに 対応したものであ"
714 "る)。 このレコードは以下のように定義されている。"
715
716 #. type: Plain text
717 #: build/C/man5/acct.5:145
718 #, no-wrap
719 msgid ""
720 "struct acct_v3 {\n"
721 "    char      ac_flag;      /* Flags */\n"
722 "    char      ac_version;   /* Always set to ACCT_VERSION (3) */\n"
723 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
724 "    u_int32_t ac_exitcode;  /* Process termination status */\n"
725 "    u_int32_t ac_uid;       /* Real user ID */\n"
726 "    u_int32_t ac_gid;       /* Real group ID */\n"
727 "    u_int32_t ac_pid;       /* Process ID */\n"
728 "    u_int32_t ac_ppid;      /* Parent process ID */\n"
729 "    u_int32_t ac_btime;     /* Process creation time */\n"
730 "    float     ac_etime;     /* Elapsed time */\n"
731 "    comp_t    ac_utime;     /* User CPU time */\n"
732 "    comp_t    ac_stime;     /* System time */\n"
733 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
734 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
735 "    comp_t    ac_rw;        /* Blocks read or written\n"
736 "                               (unused) */\n"
737 "    comp_t    ac_minflt;    /* Minor page faults */\n"
738 "    comp_t    ac_majflt;    /* Major page faults */\n"
739 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
740 "    char      ac_comm[ACCT_COMM]; /* Command name */\n"
741 "};\n"
742 msgstr ""
743 "struct acct_v3 {\n"
744 "    char      ac_flag;      /* Flags */\n"
745 "    char      ac_version;   /* Always set to ACCT_VERSION (3) */\n"
746 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
747 "    u_int32_t ac_exitcode;  /* Process termination status */\n"
748 "    u_int32_t ac_uid;       /* Real user ID */\n"
749 "    u_int32_t ac_gid;       /* Real group ID */\n"
750 "    u_int32_t ac_pid;       /* Process ID */\n"
751 "    u_int32_t ac_ppid;      /* Parent process ID */\n"
752 "    u_int32_t ac_btime;     /* Process creation time */\n"
753 "    float     ac_etime;     /* Elapsed time */\n"
754 "    comp_t    ac_utime;     /* User CPU time */\n"
755 "    comp_t    ac_stime;     /* System time */\n"
756 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
757 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
758 "    comp_t    ac_rw;        /* Blocks read or written\n"
759 "                               (unused) */\n"
760 "    comp_t    ac_minflt;    /* Minor page faults */\n"
761 "    comp_t    ac_majflt;    /* Major page faults */\n"
762 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
763 "    char      ac_comm[ACCT_COMM]; /* Command name */\n"
764 "};\n"
765
766 #. type: SH
767 #: build/C/man5/acct.5:148 build/C/man7/cpuset.7:1337
768 #: build/C/man2/getresuid.2:59 build/C/man2/getrlimit.2:468
769 #: build/C/man2/getsid.2:74 build/C/man2/ioprio_set.2:183
770 #: build/C/man2/setfsgid.2:74 build/C/man2/setfsuid.2:74
771 #: build/C/man2/setresuid.2:81
772 #, no-wrap
773 msgid "VERSIONS"
774 msgstr "バージョン"
775
776 #. type: Plain text
777 #: build/C/man5/acct.5:152
778 msgid "The I<acct_v3> structure is defined in glibc since version 2.6."
779 msgstr "I<acct_v3> 構造体はバージョン 2.6 以降の glibc で定義されている。"
780
781 #. type: Plain text
782 #: build/C/man5/acct.5:156
783 msgid ""
784 "Process accounting originated on BSD.  Although it is present on most "
785 "systems, it is not standardized, and the details vary somewhat between "
786 "systems."
787 msgstr ""
788 "プロセスアカウンティングは BSD 由来である。 この機能はほとんどのシステムに存"
789 "在するが、標準化されておらず、 その詳細はシステムによりいくらか異なる。"
790
791 #. type: Plain text
792 #: build/C/man5/acct.5:159
793 msgid ""
794 "Records in the accounting file are ordered by termination time of the "
795 "process."
796 msgstr "アカウンティングファイルのレコードは、プロセスの終了時刻の順序となる。"
797
798 #. type: Plain text
799 #: build/C/man5/acct.5:166
800 msgid ""
801 "In kernels up to and including 2.6.9, a separate accounting record is "
802 "written for each thread created using the NPTL threading library; since "
803 "Linux 2.6.10, a single accounting record is written for the entire process "
804 "on termination of the last thread in the process."
805 msgstr ""
806 "バージョン 2.6.9 以前のカーネルでは、 NPTL スレッドライブラリを使って作成され"
807 "たスレッドでは スレッド毎に別々のアカウンティングレコードが書き込まれてい"
808 "た。 Linux 2.6.10 以降では、プロセス内の最後のスレッドが終了すると、 プロセス"
809 "全体についてのアカウンティングレコードが一つだけ書き込まれる。"
810
811 #. type: Plain text
812 #: build/C/man5/acct.5:173
813 msgid ""
814 "The I<proc/sys/kernel/acct> file, described in B<proc>(5), defines settings "
815 "that control the behavior of process accounting when disk space runs low."
816 msgstr ""
817 "I<proc/sys/kernel/acct> ファイル (B<proc>(5)  で説明されている) は、ディスク"
818 "容量の残りが少なくなった際の プロセス・アカウンティングの動作を制御する設定を"
819 "保持している。"
820
821 #. type: Plain text
822 #: build/C/man5/acct.5:178
823 msgid "B<lastcomm>(1), B<acct>(2), B<accton>(8), B<sa>(8)"
824 msgstr "B<lastcomm>(1), B<acct>(2), B<accton>(8), B<sa>(8)"
825
826 #. type: TH
827 #: build/C/man7/capabilities.7:46
828 #, no-wrap
829 msgid "CAPABILITIES"
830 msgstr "CAPABILITIES"
831
832 #. type: TH
833 #: build/C/man7/capabilities.7:46
834 #, fuzzy, no-wrap
835 #| msgid "2008-12-03"
836 msgid "2012-03-05"
837 msgstr "2008-12-03"
838
839 #. type: Plain text
840 #: build/C/man7/capabilities.7:49
841 msgid "capabilities - overview of Linux capabilities"
842 msgstr "capabilities - Linux のケーパビリティ (capability) の概要"
843
844 #. type: Plain text
845 #: build/C/man7/capabilities.7:61
846 msgid ""
847 "For the purpose of performing permission checks, traditional UNIX "
848 "implementations distinguish two categories of processes: I<privileged> "
849 "processes (whose effective user ID is 0, referred to as superuser or root), "
850 "and I<unprivileged> processes (whose effective UID is nonzero).  Privileged "
851 "processes bypass all kernel permission checks, while unprivileged processes "
852 "are subject to full permission checking based on the process's credentials "
853 "(usually: effective UID, effective GID, and supplementary group list)."
854 msgstr ""
855 "権限のチェックを行う観点から見ると、伝統的な UNIX の実装では プロセスは二つの"
856 "カテゴリに分類できる: I<特権> プロセス (実効ユーザID が 0 のプロセス。ユーザ"
857 "ID 0 は スーパーユーザや root と呼ばれる) と I<非特権> プロセス (実効ユーザ"
858 "ID が 0 以外のプロセス) である。 非特権プロセスでは、プロセスの資格情報 (通常"
859 "は、実効UID 、実効GID と追加のグループリスト) に基づく権限チェックが行われる"
860 "のに対し、 特権プロセスでは全てのカーネルの権限チェックがバイパスされる。"
861
862 #. type: Plain text
863 #: build/C/man7/capabilities.7:68
864 msgid ""
865 "Starting with kernel 2.2, Linux divides the privileges traditionally "
866 "associated with superuser into distinct units, known as I<capabilities>, "
867 "which can be independently enabled and disabled.  Capabilities are a per-"
868 "thread attribute."
869 msgstr ""
870 "バージョン 2.2 以降の Linux では、 これまでスーパーユーザに結び付けられてきた"
871 "権限を、 いくつかのグループに分割している。これらのグループは I<ケーパビリ"
872 "ティ>(capability)  と呼ばれ、グループ毎に独立に有効、無効を設定できる。 ケー"
873 "パビリティはスレッド単位の属性である。"
874
875 #. type: SS
876 #: build/C/man7/capabilities.7:68
877 #, no-wrap
878 msgid "Capabilities List"
879 msgstr "ケーパビリティのリスト"
880
881 #. type: Plain text
882 #: build/C/man7/capabilities.7:71
883 msgid ""
884 "The following list shows the capabilities implemented on Linux, and the "
885 "operations or behaviors that each capability permits:"
886 msgstr ""
887 "以下のリストは、 Linux で実装されているケーパビリティと 各ケーパビリティが許"
888 "可する操作と動作をまとめたものである。"
889
890 #. type: TP
891 #: build/C/man7/capabilities.7:71
892 #, no-wrap
893 msgid "B<CAP_AUDIT_CONTROL> (since Linux 2.6.11)"
894 msgstr "B<CAP_AUDIT_CONTROL> (Linux 2.6.11 以降)"
895
896 #. type: Plain text
897 #: build/C/man7/capabilities.7:75
898 msgid ""
899 "Enable and disable kernel auditing; change auditing filter rules; retrieve "
900 "auditing status and filtering rules."
901 msgstr ""
902 "カーネル監査 (audit) の有効無効の切り替え、 監査のフィルタ・ルールの変更、 監"
903 "査の状況やフィルタ・ルールの取得ができる。"
904
905 #. type: TP
906 #: build/C/man7/capabilities.7:75
907 #, no-wrap
908 msgid "B<CAP_AUDIT_WRITE> (since Linux 2.6.11)"
909 msgstr "B<CAP_AUDIT_WRITE> (Linux 2.6.11 以降)"
910
911 #. type: Plain text
912 #: build/C/man7/capabilities.7:78
913 msgid "Write records to kernel auditing log."
914 msgstr "カーネル監査のログにレコードを書き込む。"
915
916 #. type: TP
917 #: build/C/man7/capabilities.7:78
918 #, no-wrap
919 msgid "B<CAP_CHOWN>"
920 msgstr "B<CAP_CHOWN>"
921
922 #. type: Plain text
923 #: build/C/man7/capabilities.7:82
924 msgid "Make arbitrary changes to file UIDs and GIDs (see B<chown>(2))."
925 msgstr "ファイルの UID とGID を任意に変更する (B<chown>(2)  参照)。"
926
927 #. type: TP
928 #: build/C/man7/capabilities.7:82
929 #, no-wrap
930 msgid "B<CAP_DAC_OVERRIDE>"
931 msgstr "B<CAP_DAC_OVERRIDE>"
932
933 #. type: Plain text
934 #: build/C/man7/capabilities.7:86
935 msgid ""
936 "Bypass file read, write, and execute permission checks.  (DAC is an "
937 "abbreviation of \"discretionary access control\".)"
938 msgstr ""
939 "ファイルの読み出し、書き込み、実行の権限チェックをバイパスする (DAC は "
940 "\"discretionary access control (任意のアクセス制御)\" の略である)。"
941
942 #. type: TP
943 #: build/C/man7/capabilities.7:86
944 #, no-wrap
945 msgid "B<CAP_DAC_READ_SEARCH>"
946 msgstr "B<CAP_DAC_READ_SEARCH>"
947
948 #. type: Plain text
949 #: build/C/man7/capabilities.7:90
950 msgid ""
951 "Bypass file read permission checks and directory read and execute permission "
952 "checks."
953 msgstr ""
954 "ファイルの読み出し権限のチェックとディレクトリの読み出しと実行 の権限チェック"
955 "をバイパスする。"
956
957 #. type: TP
958 #: build/C/man7/capabilities.7:90
959 #, no-wrap
960 msgid "B<CAP_FOWNER>"
961 msgstr "B<CAP_FOWNER>"
962
963 #. type: IP
964 #: build/C/man7/capabilities.7:94 build/C/man7/capabilities.7:104
965 #: build/C/man7/capabilities.7:108 build/C/man7/capabilities.7:110
966 #: build/C/man7/capabilities.7:112 build/C/man7/capabilities.7:182
967 #: build/C/man7/capabilities.7:184 build/C/man7/capabilities.7:186
968 #: build/C/man7/capabilities.7:188 build/C/man7/capabilities.7:190
969 #: build/C/man7/capabilities.7:192 build/C/man7/capabilities.7:194
970 #: build/C/man7/capabilities.7:196 build/C/man7/capabilities.7:198
971 #: build/C/man7/capabilities.7:222 build/C/man7/capabilities.7:224
972 #: build/C/man7/capabilities.7:270 build/C/man7/capabilities.7:280
973 #: build/C/man7/capabilities.7:286 build/C/man7/capabilities.7:291
974 #: build/C/man7/capabilities.7:297 build/C/man7/capabilities.7:304
975 #: build/C/man7/capabilities.7:307 build/C/man7/capabilities.7:315
976 #: build/C/man7/capabilities.7:317 build/C/man7/capabilities.7:326
977 #: build/C/man7/capabilities.7:333 build/C/man7/capabilities.7:336
978 #: build/C/man7/capabilities.7:338 build/C/man7/capabilities.7:343
979 #: build/C/man7/capabilities.7:346 build/C/man7/capabilities.7:353
980 #: build/C/man7/capabilities.7:358 build/C/man7/capabilities.7:364
981 #: build/C/man7/capabilities.7:368 build/C/man7/capabilities.7:372
982 #: build/C/man7/capabilities.7:376 build/C/man7/capabilities.7:380
983 #: build/C/man7/capabilities.7:407 build/C/man7/capabilities.7:412
984 #: build/C/man7/capabilities.7:417 build/C/man7/capabilities.7:420
985 #: build/C/man7/capabilities.7:423 build/C/man7/capabilities.7:432
986 #: build/C/man7/capabilities.7:436 build/C/man7/capabilities.7:472
987 #: build/C/man7/capabilities.7:474 build/C/man7/capabilities.7:478
988 #: build/C/man7/capabilities.7:480 build/C/man7/capabilities.7:483
989 #: build/C/man7/capabilities.7:487 build/C/man7/capabilities.7:489
990 #: build/C/man7/capabilities.7:491 build/C/man7/capabilities.7:493
991 #: build/C/man7/capabilities.7:502 build/C/man7/capabilities.7:509
992 #: build/C/man7/capabilities.7:514 build/C/man7/capabilities.7:724
993 #: build/C/man7/capabilities.7:732 build/C/man7/capabilities.7:1039
994 #: build/C/man7/capabilities.7:1044 build/C/man7/cpuset.7:539
995 #: build/C/man7/cpuset.7:544 build/C/man7/cpuset.7:549
996 #: build/C/man7/cpuset.7:725 build/C/man7/cpuset.7:729
997 #: build/C/man7/cpuset.7:926 build/C/man7/cpuset.7:929
998 #: build/C/man7/cpuset.7:933 build/C/man7/cpuset.7:937
999 #: build/C/man7/cpuset.7:941 build/C/man7/credentials.7:123
1000 #: build/C/man7/credentials.7:129 build/C/man7/credentials.7:141
1001 #: build/C/man7/credentials.7:163 build/C/man7/credentials.7:180
1002 #: build/C/man7/credentials.7:212 build/C/man7/credentials.7:215
1003 #: build/C/man7/credentials.7:225 build/C/man7/credentials.7:228
1004 #, no-wrap
1005 msgid "*"
1006 msgstr "*"
1007
1008 #. type: Plain text
1009 #: build/C/man7/capabilities.7:104
1010 msgid ""
1011 "Bypass permission checks on operations that normally require the file system "
1012 "UID of the process to match the UID of the file (e.g., B<chmod>(2), B<utime>"
1013 "(2)), excluding those operations covered by B<CAP_DAC_OVERRIDE> and "
1014 "B<CAP_DAC_READ_SEARCH>;"
1015 msgstr ""
1016 "通常、プロセスのファイルシステム UID がファイルの UID に一致することが 要求さ"
1017 "れる操作 (例えば B<chmod>(2), B<utime>(2))  における権限チェックをバイパスす"
1018 "る。 但し、 B<CAP_DAC_OVERRIDE> か B<CAP_DAC_READ_SEARCH> によりチェックが行"
1019 "われる操作は除く。"
1020
1021 #. type: Plain text
1022 #: build/C/man7/capabilities.7:108
1023 msgid "set extended file attributes (see B<chattr>(1))  on arbitrary files;"
1024 msgstr ""
1025 "任意のファイルに対して拡張ファイル属性を設定する (B<chattr>(1)  参照)。"
1026
1027 #. type: Plain text
1028 #: build/C/man7/capabilities.7:110
1029 msgid "set Access Control Lists (ACLs) on arbitrary files;"
1030 msgstr "任意のファイルに対してアクセス制御リスト (ACL) を設定する。"
1031
1032 #. type: Plain text
1033 #: build/C/man7/capabilities.7:112
1034 msgid "ignore directory sticky bit on file deletion;"
1035 msgstr "ファイルの削除の際にディレクトリのスティッキービットを無視する。"
1036
1037 #. type: Plain text
1038 #: build/C/man7/capabilities.7:119
1039 msgid ""
1040 "specify B<O_NOATIME> for arbitrary files in B<open>(2)  and B<fcntl>(2)."
1041 msgstr ""
1042 "B<open>(2)  や B<fcntl>(2)  で任意のファイルに対して B<O_NOATIME> を指定す"
1043 "る。"
1044
1045 #. type: TP
1046 #: build/C/man7/capabilities.7:121
1047 #, no-wrap
1048 msgid "B<CAP_FSETID>"
1049 msgstr "B<CAP_FSETID>"
1050
1051 #. type: Plain text
1052 #: build/C/man7/capabilities.7:127
1053 msgid ""
1054 "Don't clear set-user-ID and set-group-ID permission bits when a file is "
1055 "modified; set the set-group-ID bit for a file whose GID does not match the "
1056 "file system or any of the supplementary GIDs of the calling process."
1057 msgstr ""
1058 "ファイルが変更されたときに set-user-ID とset-group-ID の許可ビットをクリア し"
1059 "ない。呼び出し元プロセスのファイルシステム GID と追加の GID のいずれとも GID "
1060 "が一致しないファイルに対して set-group-ID ビットを設定する。"
1061
1062 #. type: TP
1063 #: build/C/man7/capabilities.7:127
1064 #, no-wrap
1065 msgid "B<CAP_IPC_LOCK>"
1066 msgstr "B<CAP_IPC_LOCK>"
1067
1068 #.  FIXME As at Linux 3.2, there are some strange uses of this capability
1069 #.  in other places; they probably should be replaced with something else.
1070 #. type: Plain text
1071 #: build/C/man7/capabilities.7:136
1072 msgid "Lock memory (B<mlock>(2), B<mlockall>(2), B<mmap>(2), B<shmctl>(2))."
1073 msgstr ""
1074 "メモリーのロック (B<mlock>(2), B<mlockall>(2), B<mmap>(2), B<shmctl>(2))  を"
1075 "行う。"
1076
1077 #. type: TP
1078 #: build/C/man7/capabilities.7:136
1079 #, no-wrap
1080 msgid "B<CAP_IPC_OWNER>"
1081 msgstr "B<CAP_IPC_OWNER>"
1082
1083 #. type: Plain text
1084 #: build/C/man7/capabilities.7:139
1085 msgid "Bypass permission checks for operations on System V IPC objects."
1086 msgstr ""
1087 "System V IPC オブジェクトに対する操作に関して権限チェックをバイパスする。"
1088
1089 #. type: TP
1090 #: build/C/man7/capabilities.7:139
1091 #, no-wrap
1092 msgid "B<CAP_KILL>"
1093 msgstr "B<CAP_KILL>"
1094
1095 #.  FIXME CAP_KILL also has an effect for threads + setting child
1096 #.        termination signal to other than SIGCHLD: without this
1097 #.        capability, the termination signal reverts to SIGCHLD
1098 #.        if the child does an exec().  What is the rationale
1099 #.        for this?
1100 #. type: Plain text
1101 #: build/C/man7/capabilities.7:152
1102 msgid ""
1103 "Bypass permission checks for sending signals (see B<kill>(2)).  This "
1104 "includes use of the B<ioctl>(2)  B<KDSIGACCEPT> operation."
1105 msgstr ""
1106 "シグナルを送信する際に権限チェックをバイパスする (B<kill>(2)  参照)。これに"
1107 "は B<ioctl>(2)  の B<KDSIGACCEPT> 操作の使用も含まれる。"
1108
1109 #. type: TP
1110 #: build/C/man7/capabilities.7:152
1111 #, no-wrap
1112 msgid "B<CAP_LEASE> (since Linux 2.4)"
1113 msgstr "B<CAP_LEASE> (Linux 2.4 以降)"
1114
1115 #. type: Plain text
1116 #: build/C/man7/capabilities.7:156
1117 msgid "Establish leases on arbitrary files (see B<fcntl>(2))."
1118 msgstr "任意のファイルに対して ファイルリースを設定する (B<fcntl>(2)  参照)。"
1119
1120 #. type: TP
1121 #: build/C/man7/capabilities.7:156
1122 #, no-wrap
1123 msgid "B<CAP_LINUX_IMMUTABLE>"
1124 msgstr "B<CAP_LINUX_IMMUTABLE>"
1125
1126 #.  These attributes are now available on ext2, ext3, Reiserfs, XFS, JFS
1127 #. type: Plain text
1128 #: build/C/man7/capabilities.7:165
1129 msgid ""
1130 "Set the B<FS_APPEND_FL> and B<FS_IMMUTABLE_FL> i-node flags (see B<chattr>"
1131 "(1))."
1132 msgstr ""
1133 "拡張ファイル属性 B<FS_APPEND_FL> と B<FS_IMMUTABLE_FL> を設定する (B<chattr>"
1134 "(1)  参照)。"
1135
1136 #. type: TP
1137 #: build/C/man7/capabilities.7:165
1138 #, no-wrap
1139 msgid "B<CAP_MAC_ADMIN> (since Linux 2.6.25)"
1140 msgstr "B<CAP_MAC_ADMIN> (Linux 2.6.25 以降)"
1141
1142 #. type: Plain text
1143 #: build/C/man7/capabilities.7:169
1144 msgid ""
1145 "Override Mandatory Access Control (MAC).  Implemented for the Smack Linux "
1146 "Security Module (LSM)."
1147 msgstr ""
1148 "強制アクセス制御 (MAC) を上書きする。 Smack Linux Security Module (LSM) 用に"
1149 "実装されている。"
1150
1151 #. type: TP
1152 #: build/C/man7/capabilities.7:169
1153 #, no-wrap
1154 msgid "B<CAP_MAC_OVERRIDE> (since Linux 2.6.25)"
1155 msgstr "B<CAP_MAC_OVERRIDE> (Linux 2.6.25 以降)"
1156
1157 #. type: Plain text
1158 #: build/C/man7/capabilities.7:173
1159 msgid ""
1160 "Allow MAC configuration or state changes.  Implemented for the Smack LSM."
1161 msgstr "MAC の設定や状態を変更する。 Smack LSM 用に実装されている。"
1162
1163 #. type: TP
1164 #: build/C/man7/capabilities.7:173
1165 #, no-wrap
1166 msgid "B<CAP_MKNOD> (since Linux 2.4)"
1167 msgstr "B<CAP_MKNOD> (Linux 2.4 以降)"
1168
1169 #. type: Plain text
1170 #: build/C/man7/capabilities.7:177
1171 msgid "Create special files using B<mknod>(2)."
1172 msgstr ""
1173 "(Linux 2.4 以降)  B<mknod>(2)  を使用してスペシャル・ファイルを作成する。"
1174
1175 #. type: TP
1176 #: build/C/man7/capabilities.7:177
1177 #, no-wrap
1178 msgid "B<CAP_NET_ADMIN>"
1179 msgstr "B<CAP_NET_ADMIN>"
1180
1181 #. type: Plain text
1182 #: build/C/man7/capabilities.7:180
1183 msgid "Perform various network-related operations:"
1184 msgstr ""
1185
1186 #. type: Plain text
1187 #: build/C/man7/capabilities.7:184
1188 msgid "interface configuration;"
1189 msgstr ""
1190
1191 #. type: Plain text
1192 #: build/C/man7/capabilities.7:186
1193 msgid "administration of IP firewall, masquerading, and accounting"
1194 msgstr ""
1195
1196 #. type: Plain text
1197 #: build/C/man7/capabilities.7:188
1198 msgid "modify routing tables;"
1199 msgstr ""
1200
1201 #. type: Plain text
1202 #: build/C/man7/capabilities.7:190
1203 msgid "bind to any address for transparent proxying;"
1204 msgstr ""
1205
1206 #. type: Plain text
1207 #: build/C/man7/capabilities.7:192
1208 msgid "set type-of-service (TOS)"
1209 msgstr ""
1210
1211 #. type: Plain text
1212 #: build/C/man7/capabilities.7:194
1213 msgid "clear driver statistics;"
1214 msgstr ""
1215
1216 #. type: Plain text
1217 #: build/C/man7/capabilities.7:196
1218 msgid "set promiscuous mode;"
1219 msgstr ""
1220
1221 #. type: Plain text
1222 #: build/C/man7/capabilities.7:198
1223 msgid "enabling multicasting;"
1224 msgstr ""
1225
1226 #. type: Plain text
1227 #: build/C/man7/capabilities.7:209
1228 msgid ""
1229 "use B<setsockopt>(2)  to set the following socket options: B<SO_DEBUG>, "
1230 "B<SO_MARK>, B<SO_PRIORITY> (for a priority outside the range 0 to 6), "
1231 "B<SO_RCVBUFFORCE>, and B<SO_SNDBUFFORCE>."
1232 msgstr ""
1233
1234 #. type: TP
1235 #: build/C/man7/capabilities.7:211
1236 #, no-wrap
1237 msgid "B<CAP_NET_BIND_SERVICE>"
1238 msgstr "B<CAP_NET_BIND_SERVICE>"
1239
1240 #. type: Plain text
1241 #: build/C/man7/capabilities.7:215
1242 msgid ""
1243 "Bind a socket to Internet domain privileged ports (port numbers less than "
1244 "1024)."
1245 msgstr ""
1246 "インターネットドメインの特権ポート (ポート番号が 1024 番未満)  をバインドでき"
1247 "る。"
1248
1249 #. type: TP
1250 #: build/C/man7/capabilities.7:215
1251 #, no-wrap
1252 msgid "B<CAP_NET_BROADCAST>"
1253 msgstr "B<CAP_NET_BROADCAST>"
1254
1255 #. type: Plain text
1256 #: build/C/man7/capabilities.7:218
1257 msgid "(Unused)  Make socket broadcasts, and listen to multicasts."
1258 msgstr ""
1259 "(未使用) ソケットのブロードキャストと、マルチキャストの待ち受けを行う。"
1260
1261 #. type: TP
1262 #: build/C/man7/capabilities.7:218
1263 #, no-wrap
1264 msgid "B<CAP_NET_RAW>"
1265 msgstr "B<CAP_NET_RAW>"
1266
1267 #. type: Plain text
1268 #: build/C/man7/capabilities.7:224
1269 #, fuzzy
1270 #| msgid "Use RAW and PACKET sockets."
1271 msgid "use RAW and PACKET sockets;"
1272 msgstr "RAW ソケットと PACKET ソケットを使用する。"
1273
1274 #. type: Plain text
1275 #: build/C/man7/capabilities.7:226
1276 msgid "bind to any address for transparent proxying."
1277 msgstr ""
1278
1279 #. type: TP
1280 #: build/C/man7/capabilities.7:229
1281 #, no-wrap
1282 msgid "B<CAP_SETGID>"
1283 msgstr "B<CAP_SETGID>"
1284
1285 #. type: Plain text
1286 #: build/C/man7/capabilities.7:233
1287 msgid ""
1288 "Make arbitrary manipulations of process GIDs and supplementary GID list; "
1289 "forge GID when passing socket credentials via UNIX domain sockets."
1290 msgstr ""
1291 "プロセスの GID と追加の GID リストに対する任意の操作を行う。 UNIX ドメインソ"
1292 "ケット経由でソケットの資格情報 (credential) を渡す際に 偽の GID を渡すことが"
1293 "できる。"
1294
1295 #. type: TP
1296 #: build/C/man7/capabilities.7:233
1297 #, no-wrap
1298 msgid "B<CAP_SETFCAP> (since Linux 2.6.24)"
1299 msgstr "B<CAP_SETFCAP> (Linux 2.6.24 以降)"
1300
1301 #. type: Plain text
1302 #: build/C/man7/capabilities.7:236
1303 msgid "Set file capabilities."
1304 msgstr "ファイルケーパビリティを設定する。"
1305
1306 #. type: TP
1307 #: build/C/man7/capabilities.7:236
1308 #, no-wrap
1309 msgid "B<CAP_SETPCAP>"
1310 msgstr "B<CAP_SETPCAP>"
1311
1312 #. type: Plain text
1313 #: build/C/man7/capabilities.7:247
1314 msgid ""
1315 "If file capabilities are not supported: grant or remove any capability in "
1316 "the caller's permitted capability set to or from any other process.  (This "
1317 "property of B<CAP_SETPCAP> is not available when the kernel is configured to "
1318 "support file capabilities, since B<CAP_SETPCAP> has entirely different "
1319 "semantics for such kernels.)"
1320 msgstr ""
1321 "ファイルケーパビリティがサポートされていない場合: 呼び出し元が許可されている"
1322 "ケーパビリティセットに含まれる任意のケーパビリティを、 他のプロセスに付与した"
1323 "り、削除したりできる。 (カーネルがファイルケーパビリティをサポートしている場"
1324 "合、 B<CAP_SETPCAP> はこの役割を持たない。 なぜなら、ファイルケーパビリティを"
1325 "サポートしているカーネルでは B<CAP_SETPCAP> は全く別の意味を持つからである。)"
1326
1327 #. type: Plain text
1328 #: build/C/man7/capabilities.7:257
1329 msgid ""
1330 "If file capabilities are supported: add any capability from the calling "
1331 "thread's bounding set to its inheritable set; drop capabilities from the "
1332 "bounding set (via B<prctl>(2)  B<PR_CAPBSET_DROP>); make changes to the "
1333 "I<securebits> flags."
1334 msgstr ""
1335 "ファイルケーパビリティがサポートされている場合: 呼び出し元スレッドのバウン"
1336 "ディングセットの任意のケーパビリティを 自身の継承可能ケーパビリティセットに追"
1337 "加できる。 (B<prctl>(2)  B<PR_CAPBSET_DROP> を使って)  バウンディングセットか"
1338 "らケーパビリティを削除できる。 I<securebits> フラグを変更できる。"
1339
1340 #. type: TP
1341 #: build/C/man7/capabilities.7:257
1342 #, no-wrap
1343 msgid "B<CAP_SETUID>"
1344 msgstr "B<CAP_SETUID>"
1345
1346 #.  FIXME CAP_SETUID also an effect in exec(); document this.
1347 #. type: Plain text
1348 #: build/C/man7/capabilities.7:266
1349 msgid ""
1350 "Make arbitrary manipulations of process UIDs (B<setuid>(2), B<setreuid>(2), "
1351 "B<setresuid>(2), B<setfsuid>(2)); make forged UID when passing socket "
1352 "credentials via UNIX domain sockets."
1353 msgstr ""
1354 "プロセスの UID に対する任意の操作 (B<setuid>(2), B<setreuid>(2), B<setresuid>"
1355 "(2), B<setfsuid>(2))  を行う。 UNIX ドメインソケット経由でソケットの資格情報 "
1356 "(credential) を渡す際に 偽の UID を渡すことができる。"
1357
1358 #. type: TP
1359 #: build/C/man7/capabilities.7:266
1360 #, no-wrap
1361 msgid "B<CAP_SYS_ADMIN>"
1362 msgstr "B<CAP_SYS_ADMIN>"
1363
1364 #. type: Plain text
1365 #: build/C/man7/capabilities.7:280
1366 msgid ""
1367 "Perform a range of system administration operations including: B<quotactl>"
1368 "(2), B<mount>(2), B<umount>(2), B<swapon>(2), B<swapoff>(2), B<sethostname>"
1369 "(2), and B<setdomainname>(2);"
1370 msgstr ""
1371 "以下のシステム管理用の操作を実行する: B<quotactl>(2), B<mount>(2), B<umount>"
1372 "(2), B<swapon>(2), B<swapoff>(2), B<sethostname>(2), B<setdomainname>(2)."
1373
1374 #. type: Plain text
1375 #: build/C/man7/capabilities.7:286
1376 msgid ""
1377 "perform privileged B<syslog>(2)  operations (since Linux 2.6.37, "
1378 "B<CAP_SYSLOG> should be used to permit such operations);"
1379 msgstr ""
1380
1381 #. type: Plain text
1382 #: build/C/man7/capabilities.7:291
1383 msgid "perform B<VM86_REQUEST_IRQ> B<vm86>(2)  command;"
1384 msgstr ""
1385
1386 #. type: Plain text
1387 #: build/C/man7/capabilities.7:297
1388 msgid ""
1389 "perform B<IPC_SET> and B<IPC_RMID> operations on arbitrary System V IPC "
1390 "objects;"
1391 msgstr ""
1392 "任意の System V IPC オブジェクトに対する B<IPC_SET> と B<IPC_RMID> 操作を実行"
1393 "する。"
1394
1395 #. type: Plain text
1396 #: build/C/man7/capabilities.7:304
1397 msgid ""
1398 "perform operations on I<trusted> and I<security> Extended Attributes (see "
1399 "B<attr>(5));"
1400 msgstr ""
1401 "拡張属性 I<trusted> と I<security> に対する操作を実行する (B<attr>(5)  参"
1402 "照)。"
1403
1404 #. type: Plain text
1405 #: build/C/man7/capabilities.7:307
1406 msgid "use B<lookup_dcookie>(2);"
1407 msgstr "B<lookup_dcookie>(2)  を呼び出す。"
1408
1409 #. type: Plain text
1410 #: build/C/man7/capabilities.7:315
1411 msgid ""
1412 "use B<ioprio_set>(2)  to assign B<IOPRIO_CLASS_RT> and (before Linux "
1413 "2.6.25)  B<IOPRIO_CLASS_IDLE> I/O scheduling classes;"
1414 msgstr ""
1415 "B<ioprio_set>(2)  を使って I/O スケジューリングクラス B<IOPRIO_CLASS_RT>, "
1416 "B<IOPRIO_CLASS_IDLE> を割り当てる (B<IOPRIO_CLASS_IDLE> は Linux 2.6.25 より"
1417 "前のバージョンのみ)。"
1418
1419 #. type: Plain text
1420 #: build/C/man7/capabilities.7:317
1421 msgid "forge UID when passing socket credentials;"
1422 msgstr "ソケットの資格情報 (credential) を渡す際に偽の UID を渡す。"
1423
1424 #. type: Plain text
1425 #: build/C/man7/capabilities.7:326
1426 msgid ""
1427 "exceed I</proc/sys/fs/file-max>, the system-wide limit on the number of open "
1428 "files, in system calls that open files (e.g., B<accept>(2), B<execve>(2), "
1429 "B<open>(2), B<pipe>(2));"
1430 msgstr ""
1431 "ファイルをオープンするシステムコール (例えば B<accept>(2), B<execve>(2), "
1432 "B<open>(2), B<pipe>(2))  でシステム全体でオープンできるファイル数の上限 I</"
1433 "proc/sys/fs/file-max> を超過する。"
1434
1435 #. type: Plain text
1436 #: build/C/man7/capabilities.7:333
1437 #, fuzzy
1438 #| msgid "employ B<CLONE_NEWNS> flag with B<clone>(2)  and B<unshare>(2);"
1439 msgid ""
1440 "employ B<CLONE_*> flags that create new namespaces with B<clone>(2)  and "
1441 "B<unshare>(2);"
1442 msgstr "B<clone>(2)  と B<unshare>(2)  で B<CLONE_NEWNS> フラグを利用する。"
1443
1444 #. type: Plain text
1445 #: build/C/man7/capabilities.7:336
1446 msgid "call B<perf_event_open>(2);"
1447 msgstr ""
1448
1449 #. type: Plain text
1450 #: build/C/man7/capabilities.7:338
1451 msgid "call"
1452 msgstr ""
1453
1454 #. type: Plain text
1455 #: build/C/man7/capabilities.7:343
1456 msgid "access privileged I<perf> event information; B<setns>(2);"
1457 msgstr ""
1458
1459 #. type: Plain text
1460 #: build/C/man7/capabilities.7:346
1461 msgid "call B<fanotify_init>(2);"
1462 msgstr ""
1463
1464 #. type: Plain text
1465 #: build/C/man7/capabilities.7:353
1466 msgid "perform B<KEYCTL_CHOWN> and B<KEYCTL_SETPERM> B<keyctl>(2)  operations;"
1467 msgstr "B<keyctl>(2)  の B<KEYCTL_CHOWN> と B<KEYCTL_SETPERM> 操作を実行する。"
1468
1469 #. type: Plain text
1470 #: build/C/man7/capabilities.7:358
1471 #, fuzzy
1472 #| msgid "perform B<madvise>(2)  B<MADV_HWPOISON> operation."
1473 msgid "perform B<madvise>(2)  B<MADV_HWPOISON> operation;"
1474 msgstr "B<madvise>(2)  の B<MADV_HWPOISON> 操作を実行する。"
1475
1476 #. type: Plain text
1477 #: build/C/man7/capabilities.7:364
1478 msgid ""
1479 "employ the B<TIOCSTI> B<ioctl>(2)  to insert characters into the input queue "
1480 "of a terminal other than the caller's controlling terminal."
1481 msgstr ""
1482
1483 #. type: Plain text
1484 #: build/C/man7/capabilities.7:368
1485 #, fuzzy
1486 #| msgid "Time of the last B<msgrcv>(2)  system call."
1487 msgid "employ the obsolete B<nfsservctl>(2); system call;"
1488 msgstr "最後に B<msgrcv>(2)  を行なった時間。"
1489
1490 #. type: Plain text
1491 #: build/C/man7/capabilities.7:372
1492 #, fuzzy
1493 #| msgid "Time of the last B<shmat>(2)  system call."
1494 msgid "employ the obsolete B<bdflush>(2)  system call;"
1495 msgstr "最後に B<shmat>(2)  システム・コールを行なった時間。"
1496
1497 #. type: Plain text
1498 #: build/C/man7/capabilities.7:376
1499 msgid "perform various privileged block-device B<ioctl>(2)  operations;"
1500 msgstr ""
1501
1502 #. type: Plain text
1503 #: build/C/man7/capabilities.7:380
1504 msgid "perform various privileged file-system B<ioctl>(2)  operations;"
1505 msgstr ""
1506
1507 #. type: Plain text
1508 #: build/C/man7/capabilities.7:382
1509 msgid "perform administrative operations on many device drivers."
1510 msgstr ""
1511
1512 #. type: TP
1513 #: build/C/man7/capabilities.7:384
1514 #, no-wrap
1515 msgid "B<CAP_SYS_BOOT>"
1516 msgstr "B<CAP_SYS_BOOT>"
1517
1518 #. type: Plain text
1519 #: build/C/man7/capabilities.7:390
1520 msgid "Use B<reboot>(2)  and B<kexec_load>(2)."
1521 msgstr "B<reboot>(2)  と B<kexec_load>(2)  を呼び出す。"
1522
1523 #. type: TP
1524 #: build/C/man7/capabilities.7:390
1525 #, no-wrap
1526 msgid "B<CAP_SYS_CHROOT>"
1527 msgstr "B<CAP_SYS_CHROOT>"
1528
1529 #. type: Plain text
1530 #: build/C/man7/capabilities.7:394
1531 msgid "Use B<chroot>(2)."
1532 msgstr "B<chroot>(2).  を呼び出す。"
1533
1534 #. type: TP
1535 #: build/C/man7/capabilities.7:394
1536 #, no-wrap
1537 msgid "B<CAP_SYS_MODULE>"
1538 msgstr "B<CAP_SYS_MODULE>"
1539
1540 #. type: Plain text
1541 #: build/C/man7/capabilities.7:403
1542 msgid ""
1543 "Load and unload kernel modules (see B<init_module>(2)  and B<delete_module>"
1544 "(2)); in kernels before 2.6.25: drop capabilities from the system-wide "
1545 "capability bounding set."
1546 msgstr ""
1547 "カーネルモジュールのロード、アンロードを行う (B<init_module>(2)  と "
1548 "B<delete_module>(2)  を参照のこと)。 バージョン 2.6.25 より前のカーネルで、 "
1549 "システム全体のケーパビリティバウンディングセット (capability bounding set)  "
1550 "からケーパビリティを外す。"
1551
1552 #. type: TP
1553 #: build/C/man7/capabilities.7:403
1554 #, no-wrap
1555 msgid "B<CAP_SYS_NICE>"
1556 msgstr "B<CAP_SYS_NICE>"
1557
1558 #. type: Plain text
1559 #: build/C/man7/capabilities.7:412
1560 msgid ""
1561 "Raise process nice value (B<nice>(2), B<setpriority>(2))  and change the "
1562 "nice value for arbitrary processes;"
1563 msgstr ""
1564 "プロセスの nice 値の引き上げ (B<nice>(2), B<setpriority>(2))  や、任意のプロ"
1565 "セスの nice 値の変更を行う。"
1566
1567 #. type: Plain text
1568 #: build/C/man7/capabilities.7:417
1569 msgid ""
1570 "set real-time scheduling policies for calling process, and set scheduling "
1571 "policies and priorities for arbitrary processes (B<sched_setscheduler>(2), "
1572 "B<sched_setparam>(2));"
1573 msgstr ""
1574 "呼び出し元プロセスに対するリアルタイム・スケジューリングポリシーと、 任意のプ"
1575 "ロセスに対するスケジューリングポリシーと優先度を設定する "
1576 "(B<sched_setscheduler>(2), B<sched_setparam>(2))。"
1577
1578 #. type: Plain text
1579 #: build/C/man7/capabilities.7:420
1580 msgid "set CPU affinity for arbitrary processes (B<sched_setaffinity>(2));"
1581 msgstr ""
1582 "任意のプロセスに対する CPU affinity を設定できる (B<sched_setaffinity>(2))。"
1583
1584 #. type: Plain text
1585 #: build/C/man7/capabilities.7:423
1586 msgid ""
1587 "set I/O scheduling class and priority for arbitrary processes (B<ioprio_set>"
1588 "(2));"
1589 msgstr ""
1590 "任意のプロセスに対して I/O スケジューリングクラスと優先度を設定できる "
1591 "(B<ioprio_set>(2))。"
1592
1593 #.  FIXME CAP_SYS_NICE also has the following effect for
1594 #.  migrate_pages(2):
1595 #.      do_migrate_pages(mm, &old, &new,
1596 #.          capable(CAP_SYS_NICE) ? MPOL_MF_MOVE_ALL : MPOL_MF_MOVE);
1597 #. type: Plain text
1598 #: build/C/man7/capabilities.7:432
1599 msgid ""
1600 "apply B<migrate_pages>(2)  to arbitrary processes and allow processes to be "
1601 "migrated to arbitrary nodes;"
1602 msgstr ""
1603 "B<migrate_pages>(2)  を任意のプロセスに適用し、プロセスを任意のノードに移動す"
1604 "る。"
1605
1606 #. type: Plain text
1607 #: build/C/man7/capabilities.7:436
1608 msgid "apply B<move_pages>(2)  to arbitrary processes;"
1609 msgstr "B<move_pages>(2)  を任意のプロセスに対して行う。"
1610
1611 #. type: Plain text
1612 #: build/C/man7/capabilities.7:443
1613 msgid ""
1614 "use the B<MPOL_MF_MOVE_ALL> flag with B<mbind>(2)  and B<move_pages>(2)."
1615 msgstr ""
1616 "B<mbind>(2)  と B<move_pages>(2)  で B<MPOL_MF_MOVE_ALL> フラグを使用する。"
1617
1618 #. type: TP
1619 #: build/C/man7/capabilities.7:445
1620 #, no-wrap
1621 msgid "B<CAP_SYS_PACCT>"
1622 msgstr "B<CAP_SYS_PACCT>"
1623
1624 #. type: Plain text
1625 #: build/C/man7/capabilities.7:449
1626 msgid "Use B<acct>(2)."
1627 msgstr "B<acct>(2)  を呼び出す。"
1628
1629 #. type: TP
1630 #: build/C/man7/capabilities.7:449
1631 #, no-wrap
1632 msgid "B<CAP_SYS_PTRACE>"
1633 msgstr "B<CAP_SYS_PTRACE>"
1634
1635 #. type: Plain text
1636 #: build/C/man7/capabilities.7:456
1637 msgid ""
1638 "Trace arbitrary processes using B<ptrace>(2); apply B<get_robust_list>(2)  "
1639 "to arbitrary processes."
1640 msgstr ""
1641 "B<ptrace>(2)  を使って任意のプロセスをトレースする。 任意のプロセスに "
1642 "B<get_robust_list>(2)  を適用する。"
1643
1644 #. type: TP
1645 #: build/C/man7/capabilities.7:456
1646 #, no-wrap
1647 msgid "B<CAP_SYS_RAWIO>"
1648 msgstr "B<CAP_SYS_RAWIO>"
1649
1650 #. type: Plain text
1651 #: build/C/man7/capabilities.7:468
1652 #, fuzzy
1653 #| msgid ""
1654 #| "Perform I/O port operations (B<iopl>(2)  and B<ioperm>(2)); access I</"
1655 #| "proc/kcore>."
1656 msgid ""
1657 "Perform I/O port operations (B<iopl>(2)  and B<ioperm>(2)); access I</proc/"
1658 "kcore>; employ the B<FIBMAP> B<ioctl>(2)  operation."
1659 msgstr ""
1660 "I/O ポート操作を実行する (B<iopl>(2)  、 B<ioperm>(2))。 I</proc/kcore> にア"
1661 "クセスできる。"
1662
1663 #. type: TP
1664 #: build/C/man7/capabilities.7:468
1665 #, no-wrap
1666 msgid "B<CAP_SYS_RESOURCE>"
1667 msgstr "B<CAP_SYS_RESOURCE>"
1668
1669 #. type: Plain text
1670 #: build/C/man7/capabilities.7:474
1671 msgid "Use reserved space on ext2 file systems;"
1672 msgstr "ext2 ファイルシステム上の予約されている領域を使用する。"
1673
1674 #. type: Plain text
1675 #: build/C/man7/capabilities.7:478
1676 msgid "make B<ioctl>(2)  calls controlling ext3 journaling;"
1677 msgstr "ext3 のジャーナル機能を制御する B<ioctl>(2)  を使用する。"
1678
1679 #. type: Plain text
1680 #: build/C/man7/capabilities.7:480
1681 msgid "override disk quota limits;"
1682 msgstr "ディスク quota の上限を上書きする。"
1683
1684 #. type: Plain text
1685 #: build/C/man7/capabilities.7:483
1686 msgid "increase resource limits (see B<setrlimit>(2));"
1687 msgstr "リソース上限を増やす (B<setrlimit>(2))。"
1688
1689 #. type: Plain text
1690 #: build/C/man7/capabilities.7:487
1691 msgid "override B<RLIMIT_NPROC> resource limit;"
1692 msgstr "B<RLIMIT_NPROC> リソース制限を上書きする。"
1693
1694 #. type: Plain text
1695 #: build/C/man7/capabilities.7:489
1696 msgid "override maximum number of consoles on console allocation;"
1697 msgstr ""
1698
1699 #. type: Plain text
1700 #: build/C/man7/capabilities.7:491
1701 msgid "override maximum number of keymaps;"
1702 msgstr ""
1703
1704 #. type: Plain text
1705 #: build/C/man7/capabilities.7:493
1706 msgid "allow more than 64hz interrupts from the real-time clock;"
1707 msgstr ""
1708
1709 #. type: Plain text
1710 #: build/C/man7/capabilities.7:502
1711 #, fuzzy
1712 #| msgid ""
1713 #| "raise I<msg_qbytes> limit for a System V message queue above the limit in "
1714 #| "I</proc/sys/kernel/msgmnb> (see B<msgop>(2)  and B<msgctl>(2))."
1715 msgid ""
1716 "raise I<msg_qbytes> limit for a System V message queue above the limit in I</"
1717 "proc/sys/kernel/msgmnb> (see B<msgop>(2)  and B<msgctl>(2));"
1718 msgstr ""
1719 "メッセージキューに関する上限 I<msg_qbytes> を I</proc/sys/kernel/msgmnb> に指"
1720 "定されている上限よりも大きく設定する (B<msgop>(2)  と B<msgctl>(2)  参照)。"
1721
1722 #. type: Plain text
1723 #: build/C/man7/capabilities.7:509
1724 msgid ""
1725 "override the I</proc/sys/fs/pipe-size-max> limit when setting the capacity "
1726 "of a pipe using the B<F_SETPIPE_SZ> B<fcntl>(2)  command."
1727 msgstr ""
1728
1729 #. type: Plain text
1730 #: build/C/man7/capabilities.7:514
1731 #, fuzzy
1732 #| msgid ""
1733 #| "use B<F_SETPIPE_SZ> to increase the capacity of a pipe above the limit "
1734 #| "specified by I</proc/sys/fs/pipe-max-size>."
1735 msgid ""
1736 "use B<F_SETPIPE_SZ> to increase the capacity of a pipe above the limit "
1737 "specified by I</proc/sys/fs/pipe-max-size>;"
1738 msgstr ""
1739 "I</proc/sys/fs/pipe-max-size> に指定されている上限を超えてパイプの容量を増や"
1740 "すのに B<F_SETPIPE_SZ> を使用する。"
1741
1742 #. type: Plain text
1743 #: build/C/man7/capabilities.7:519
1744 msgid ""
1745 "override I</proc/sys/fs/mqueue/queues_max> limit when creating POSIX message "
1746 "queues (see B<mq_overview>(7))."
1747 msgstr ""
1748
1749 #. type: TP
1750 #: build/C/man7/capabilities.7:521
1751 #, no-wrap
1752 msgid "B<CAP_SYS_TIME>"
1753 msgstr "B<CAP_SYS_TIME>"
1754
1755 #. type: Plain text
1756 #: build/C/man7/capabilities.7:528
1757 msgid ""
1758 "Set system clock (B<settimeofday>(2), B<stime>(2), B<adjtimex>(2)); set real-"
1759 "time (hardware) clock."
1760 msgstr ""
1761 "システムクロックを変更する (B<settimeofday>(2), B<stime>(2), B<adjtimex>"
1762 "(2))。 リアルタイム (ハードウェア) クロックを変更する。"
1763
1764 #. type: TP
1765 #: build/C/man7/capabilities.7:528
1766 #, no-wrap
1767 msgid "B<CAP_SYS_TTY_CONFIG>"
1768 msgstr "B<CAP_SYS_TTY_CONFIG>"
1769
1770 #. type: Plain text
1771 #: build/C/man7/capabilities.7:535
1772 msgid ""
1773 "Use B<vhangup>(2); employ various privileged B<ioctl>(2)  operations on "
1774 "virtual terminals."
1775 msgstr ""
1776
1777 #. type: TP
1778 #: build/C/man7/capabilities.7:535
1779 #, fuzzy, no-wrap
1780 #| msgid "B<CAP_SETFCAP> (since Linux 2.6.24)"
1781 msgid "B<CAP_SYSLOG> (since Linux 2.6.37)"
1782 msgstr "B<CAP_SETFCAP> (Linux 2.6.24 以降)"
1783
1784 #. type: Plain text
1785 #: build/C/man7/capabilities.7:543
1786 msgid ""
1787 "Perform privileged B<syslog>(2)  operations.  See B<syslog>(2)  for "
1788 "information on which operations require privilege."
1789 msgstr ""
1790
1791 #. type: TP
1792 #: build/C/man7/capabilities.7:543
1793 #, fuzzy, no-wrap
1794 #| msgid "B<CAP_LEASE> (since Linux 2.4)"
1795 msgid "B<CAP_WAKE_ALARM> (since Linux 3.0)"
1796 msgstr "B<CAP_LEASE> (Linux 2.4 以降)"
1797
1798 #. type: Plain text
1799 #: build/C/man7/capabilities.7:551
1800 msgid ""
1801 "Trigger something that will wake up the system (set B<CLOCK_REALTIME_ALARM> "
1802 "and B<CLOCK_BOOTTIME_ALARM> timers)."
1803 msgstr ""
1804
1805 #. type: SS
1806 #: build/C/man7/capabilities.7:551
1807 #, no-wrap
1808 msgid "Past and Current Implementation"
1809 msgstr "過去と現在の実装"
1810
1811 #. type: Plain text
1812 #: build/C/man7/capabilities.7:553
1813 msgid "A full implementation of capabilities requires that:"
1814 msgstr "完全な形のケーパビリティを実装するには、以下の要件を満たす必要がある:"
1815
1816 #. type: IP
1817 #: build/C/man7/capabilities.7:553 build/C/man7/capabilities.7:696
1818 #: build/C/man7/capabilities.7:843 build/C/man7/capabilities.7:896
1819 #, no-wrap
1820 msgid "1."
1821 msgstr "1."
1822
1823 #. type: Plain text
1824 #: build/C/man7/capabilities.7:557
1825 msgid ""
1826 "For all privileged operations, the kernel must check whether the thread has "
1827 "the required capability in its effective set."
1828 msgstr ""
1829 "全ての特権操作について、カーネルはそのスレッドの実効ケーパビリティセットに 必"
1830 "要なケーパビリティがあるかを確認する。"
1831
1832 #. type: IP
1833 #: build/C/man7/capabilities.7:557 build/C/man7/capabilities.7:701
1834 #: build/C/man7/capabilities.7:849 build/C/man7/capabilities.7:902
1835 #, no-wrap
1836 msgid "2."
1837 msgstr "2."
1838
1839 #. type: Plain text
1840 #: build/C/man7/capabilities.7:560
1841 msgid ""
1842 "The kernel must provide system calls allowing a thread's capability sets to "
1843 "be changed and retrieved."
1844 msgstr ""
1845 "カーネルで、あるスレッドのケーパビリティセットを変更したり、 取得したりできる"
1846 "システムコールが提供される。"
1847
1848 #. type: IP
1849 #: build/C/man7/capabilities.7:560 build/C/man7/capabilities.7:852
1850 #: build/C/man7/capabilities.7:906
1851 #, no-wrap
1852 msgid "3."
1853 msgstr "3."
1854
1855 #. type: Plain text
1856 #: build/C/man7/capabilities.7:563
1857 msgid ""
1858 "The file system must support attaching capabilities to an executable file, "
1859 "so that a process gains those capabilities when the file is executed."
1860 msgstr ""
1861 "ファイルシステムが、実行可能ファイルにケーパビリティを付与でき、ファイル 実行"
1862 "時にそのケーパビリティをプロセスが取得できるような機能をサポートする。"
1863
1864 #. type: Plain text
1865 #: build/C/man7/capabilities.7:567
1866 msgid ""
1867 "Before kernel 2.6.24, only the first two of these requirements are met; "
1868 "since kernel 2.6.24, all three requirements are met."
1869 msgstr ""
1870 "カーネル 2.6.24 より前では、最初の 2つの要件のみが満たされている。 カーネル "
1871 "2.6.24 以降では、3つの要件すべてが満たされている。"
1872
1873 #. type: SS
1874 #: build/C/man7/capabilities.7:567
1875 #, no-wrap
1876 msgid "Thread Capability Sets"
1877 msgstr "スレッドケーパビリティセット"
1878
1879 #. type: Plain text
1880 #: build/C/man7/capabilities.7:570
1881 msgid ""
1882 "Each thread has three capability sets containing zero or more of the above "
1883 "capabilities:"
1884 msgstr ""
1885 "各スレッドは以下の 3種類のケーパビリティセットを持つ。各々のケーパビリティ"
1886 "セットは 上記のケーパビリティの組み合わせである (全てのケーパビリティが無効で"
1887 "もよい)。"
1888
1889 #. type: TP
1890 #: build/C/man7/capabilities.7:570
1891 #, no-wrap
1892 msgid "I<Permitted>:"
1893 msgstr "I<許可 (permitted)>:"
1894
1895 #. type: Plain text
1896 #: build/C/man7/capabilities.7:578
1897 msgid ""
1898 "This is a limiting superset for the effective capabilities that the thread "
1899 "may assume.  It is also a limiting superset for the capabilities that may be "
1900 "added to the inheritable set by a thread that does not have the "
1901 "B<CAP_SETPCAP> capability in its effective set."
1902 msgstr ""
1903 "そのスレッドが持つことになっている実効ケーパビリティの 限定的なスーパーセット"
1904 "である。 これは、実効ケーパビリティセットに B<CAP_SETPCAP> ケーパビリティを"
1905 "持っていないスレッドが継承可能ケーパビリティセットに 追加可能なケーパビリティ"
1906 "の限定的なスーパーセットでもある。"
1907
1908 #. type: Plain text
1909 #: build/C/man7/capabilities.7:584
1910 msgid ""
1911 "If a thread drops a capability from its permitted set, it can never "
1912 "reacquire that capability (unless it B<execve>(2)s either a set-user-ID-root "
1913 "program, or a program whose associated file capabilities grant that "
1914 "capability)."
1915 msgstr ""
1916 "許可ケーパビリティセットから削除してしまったケーパビリティは、 (set-user-ID-"
1917 "root プログラムか、 そのケーパビリティをファイルケーパビリティで許可している"
1918 "プログラムを B<execve>(2)  しない限りは) もう一度獲得することはできない。"
1919
1920 #. type: TP
1921 #: build/C/man7/capabilities.7:584
1922 #, no-wrap
1923 msgid "I<Inheritable>:"
1924 msgstr "I<継承可能 (inheritable)>:"
1925
1926 #. type: Plain text
1927 #: build/C/man7/capabilities.7:591
1928 msgid ""
1929 "This is a set of capabilities preserved across an B<execve>(2).  It provides "
1930 "a mechanism for a process to assign capabilities to the permitted set of the "
1931 "new program during an B<execve>(2)."
1932 msgstr ""
1933 "B<execve>(2)  を前後で保持されるケーパビリティセットである。 この仕組みを使う"
1934 "ことで、あるプロセスが B<execve>(2)  を行う際に新しいプログラムの許可ケーパビ"
1935 "リティセットとして 割り当てるケーパビリティを指定することができる。"
1936
1937 #. type: TP
1938 #: build/C/man7/capabilities.7:591 build/C/man7/capabilities.7:633
1939 #, no-wrap
1940 msgid "I<Effective>:"
1941 msgstr "I<実効 (effective)>:"
1942
1943 #. type: Plain text
1944 #: build/C/man7/capabilities.7:595
1945 msgid ""
1946 "This is the set of capabilities used by the kernel to perform permission "
1947 "checks for the thread."
1948 msgstr ""
1949 "カーネルがスレッドの権限 (permission) をチェックするときに 使用するケーパビリ"
1950 "ティセットである。"
1951
1952 #. type: Plain text
1953 #: build/C/man7/capabilities.7:601
1954 msgid ""
1955 "A child created via B<fork>(2)  inherits copies of its parent's capability "
1956 "sets.  See below for a discussion of the treatment of capabilities during "
1957 "B<execve>(2)."
1958 msgstr ""
1959 "B<fork>(2)  で作成される子プロセスは、親のケーパビリティセットのコピーを継承"
1960 "する。 B<execve>(2)  中のケーパビリティの扱いについては下記を参照のこと。"
1961
1962 #. type: Plain text
1963 #: build/C/man7/capabilities.7:606
1964 msgid ""
1965 "Using B<capset>(2), a thread may manipulate its own capability sets (see "
1966 "below)."
1967 msgstr ""
1968 "B<capset>(2)  を使うと、プロセスは自分自身のケーパビリティセット を操作するこ"
1969 "とができる (下記参照)。"
1970
1971 #. type: SS
1972 #: build/C/man7/capabilities.7:606
1973 #, no-wrap
1974 msgid "File Capabilities"
1975 msgstr "ファイルケーパビリティ"
1976
1977 #. type: Plain text
1978 #: build/C/man7/capabilities.7:621
1979 msgid ""
1980 "Since kernel 2.6.24, the kernel supports associating capability sets with an "
1981 "executable file using B<setcap>(8).  The file capability sets are stored in "
1982 "an extended attribute (see B<setxattr>(2))  named I<security.capability>.  "
1983 "Writing to this extended attribute requires the B<CAP_SETFCAP> capability.  "
1984 "The file capability sets, in conjunction with the capability sets of the "
1985 "thread, determine the capabilities of a thread after an B<execve>(2)."
1986 msgstr ""
1987 "カーネル 2.6.24 以降では、 B<setcap>(8)  を使って実行ファイルにケーパビリティ"
1988 "セットを対応付けることができる。 ファイルケーパビリティセットは I<security."
1989 "capability> という名前の拡張属性に保存される (B<setxattr>(2)  参照)。この拡張"
1990 "属性への書き込みには B<CAP_SETFCAP> ケーパビリティが必要である。 ファイルケー"
1991 "パビリティセットとスレッドのケーパビリティセットの両方が 考慮され、 B<execve>"
1992 "(2)  後のスレッドのケーパビリティセットが決定される。"
1993
1994 #. type: Plain text
1995 #: build/C/man7/capabilities.7:623
1996 msgid "The three file capability sets are:"
1997 msgstr "3 つのファイルケーパビリティセットが定義されている。"
1998
1999 #. type: TP
2000 #: build/C/man7/capabilities.7:623
2001 #, no-wrap
2002 msgid "I<Permitted> (formerly known as I<forced>):"
2003 msgstr "I<許可 (Permitted)> (以前のI<強制 (Forced)>):"
2004
2005 #. type: Plain text
2006 #: build/C/man7/capabilities.7:627
2007 msgid ""
2008 "These capabilities are automatically permitted to the thread, regardless of "
2009 "the thread's inheritable capabilities."
2010 msgstr ""
2011 "スレッドの継承可能ケーパビリティに関わらず、そのスレッドに自動的に 認められる"
2012 "ケーパビリティ。"
2013
2014 #. type: TP
2015 #: build/C/man7/capabilities.7:627
2016 #, no-wrap
2017 msgid "I<Inheritable> (formerly known as I<allowed>):"
2018 msgstr "I<継承可能 (Inheritable)> (以前の I<許容 (Allowed)>):"
2019
2020 #. type: Plain text
2021 #: build/C/man7/capabilities.7:633
2022 msgid ""
2023 "This set is ANDed with the thread's inheritable set to determine which "
2024 "inheritable capabilities are enabled in the permitted set of the thread "
2025 "after the B<execve>(2)."
2026 msgstr ""
2027 "このセットと、スレッドの継承可能ケーパビリティセットとの 論理積 (AND) がとら"
2028 "れ、 B<execve>(2)  の後にそのスレッドの許可ケーパビリティセットで有効となる "
2029 "継承可能ケーパビリティが決定される。"
2030
2031 #. type: Plain text
2032 #: build/C/man7/capabilities.7:643
2033 msgid ""
2034 "This is not a set, but rather just a single bit.  If this bit is set, then "
2035 "during an B<execve>(2)  all of the new permitted capabilities for the thread "
2036 "are also raised in the effective set.  If this bit is not set, then after an "
2037 "B<execve>(2), none of the new permitted capabilities is in the new effective "
2038 "set."
2039 msgstr ""
2040 "これは集合ではなく、1 ビットの情報である。 このビットがセットされていると、 "
2041 "B<execve>(2)  実行中に、そのスレッドの新しい許可ケーパビリティが全て 実効ケー"
2042 "パビリティ集合においてもセットされる。 このビットがセットされていない場合、 "
2043 "B<execve>(2)  後には新しい許可ケーパビリティのどれも新しい実効ケーパビリティ"
2044 "集合 にセットされない。"
2045
2046 #. type: Plain text
2047 #: build/C/man7/capabilities.7:659
2048 msgid ""
2049 "Enabling the file effective capability bit implies that any file permitted "
2050 "or inheritable capability that causes a thread to acquire the corresponding "
2051 "permitted capability during an B<execve>(2)  (see the transformation rules "
2052 "described below) will also acquire that capability in its effective set.  "
2053 "Therefore, when assigning capabilities to a file (B<setcap>(8), "
2054 "B<cap_set_file>(3), B<cap_set_fd>(3)), if we specify the effective flag as "
2055 "being enabled for any capability, then the effective flag must also be "
2056 "specified as enabled for all other capabilities for which the corresponding "
2057 "permitted or inheritable flags is enabled."
2058 msgstr ""
2059 "ファイルの実効ケーパビリティビットを有効にするというのは、 B<execve>(2)  実行"
2060 "時に、ファイルの許可ケーパビリティと継承ケーパビリティに対応するものが スレッ"
2061 "ドの許可ケーパビリティセットとしてセットされるが、 これが実効ケーパビリティ"
2062 "セットにもセットされるということである (ケーパビリティの変換ルールは下記参"
2063 "照)。 したがって、ファイルにケーパビリティを割り当てる際 (B<setcap>(8), "
2064 "B<cap_set_file>(3), B<cap_set_fd>(3))、 いずれかのケーパビリティに対して実効"
2065 "フラグを有効と指定する場合、 許可フラグや継承可能フラグを有効にした他の全ての"
2066 "ケーパビリティ についても実効フラグを有効と指定しなければならない。"
2067
2068 #. type: SS
2069 #: build/C/man7/capabilities.7:659
2070 #, no-wrap
2071 msgid "Transformation of Capabilities During execve()"
2072 msgstr "execve() 中のケーパビリティの変換"
2073
2074 #. type: Plain text
2075 #: build/C/man7/capabilities.7:665
2076 msgid ""
2077 "During an B<execve>(2), the kernel calculates the new capabilities of the "
2078 "process using the following algorithm:"
2079 msgstr ""
2080 "B<execve>(2)  実行時に、カーネルはプロセスの新しいケーパビリティを次の アルゴ"
2081 "リズムを用いて計算する:"
2082
2083 #. type: Plain text
2084 #: build/C/man7/capabilities.7:670
2085 #, no-wrap
2086 msgid ""
2087 "P'(permitted) = (P(inheritable) & F(inheritable)) |\n"
2088 "                (F(permitted) & cap_bset)\n"
2089 msgstr ""
2090 "P'(permitted) = (P(inheritable) & F(inheritable)) |\n"
2091 "                (F(permitted) & cap_bset)\n"
2092
2093 #. type: Plain text
2094 #: build/C/man7/capabilities.7:672
2095 #, no-wrap
2096 msgid "P'(effective) = F(effective) ? P'(permitted) : 0\n"
2097 msgstr "P'(effective) = F(effective) ? P'(permitted) : 0\n"
2098
2099 #. type: Plain text
2100 #: build/C/man7/capabilities.7:674
2101 #, no-wrap
2102 msgid "P'(inheritable) = P(inheritable)    [i.e., unchanged]\n"
2103 msgstr "P'(inheritable) = P(inheritable)    [つまり、変更されない]\n"
2104
2105 #. type: Plain text
2106 #: build/C/man7/capabilities.7:678
2107 msgid "where:"
2108 msgstr "各変数の意味は以下の通り:"
2109
2110 #. type: IP
2111 #: build/C/man7/capabilities.7:679
2112 #, no-wrap
2113 msgid "P"
2114 msgstr "P"
2115
2116 #. type: Plain text
2117 #: build/C/man7/capabilities.7:682
2118 msgid "denotes the value of a thread capability set before the B<execve>(2)"
2119 msgstr "B<execve>(2)  前のスレッドのケーパビリティセットの値"
2120
2121 #. type: IP
2122 #: build/C/man7/capabilities.7:682
2123 #, no-wrap
2124 msgid "P'"
2125 msgstr "P'"
2126
2127 #. type: Plain text
2128 #: build/C/man7/capabilities.7:685
2129 msgid "denotes the value of a capability set after the B<execve>(2)"
2130 msgstr "B<execve>(2)  後のスレッドのケーパビリティセットの値"
2131
2132 #. type: IP
2133 #: build/C/man7/capabilities.7:685
2134 #, no-wrap
2135 msgid "F"
2136 msgstr "F"
2137
2138 #. type: Plain text
2139 #: build/C/man7/capabilities.7:687
2140 msgid "denotes a file capability set"
2141 msgstr "ファイルケーパビリティセットの値"
2142
2143 #. type: IP
2144 #: build/C/man7/capabilities.7:687
2145 #, no-wrap
2146 msgid "cap_bset"
2147 msgstr "cap_bset"
2148
2149 #. type: Plain text
2150 #: build/C/man7/capabilities.7:689
2151 msgid "is the value of the capability bounding set (described below)."
2152 msgstr "ケーパビリティバウンディングセットの値 (下記参照)"
2153
2154 #. type: SS
2155 #: build/C/man7/capabilities.7:691
2156 #, no-wrap
2157 msgid "Capabilities and execution of programs by root"
2158 msgstr "ケーパビリティと、ルートによるプログラムの実行"
2159
2160 #. type: Plain text
2161 #: build/C/man7/capabilities.7:696
2162 msgid ""
2163 "In order to provide an all-powerful I<root> using capability sets, during an "
2164 "B<execve>(2):"
2165 msgstr ""
2166 "B<execve>(2)  時に、ケーパビリティセットを使って、全ての権限を持った I<root> "
2167 "を実現するには、以下のようにする。"
2168
2169 #. type: Plain text
2170 #: build/C/man7/capabilities.7:701
2171 msgid ""
2172 "If a set-user-ID-root program is being executed, or the real user ID of the "
2173 "process is 0 (root)  then the file inheritable and permitted sets are "
2174 "defined to be all ones (i.e., all capabilities enabled)."
2175 msgstr ""
2176 "set-user-ID-root プログラムが実行される場合、 またはプロセスの実ユーザ ID が "
2177 "0 (root) の場合、 ファイルの継承可能セットと許可セットを全て 1 (全てのケーパ"
2178 "ビリティが有効) に定義する。"
2179
2180 #. type: Plain text
2181 #: build/C/man7/capabilities.7:704
2182 msgid ""
2183 "If a set-user-ID-root program is being executed, then the file effective bit "
2184 "is defined to be one (enabled)."
2185 msgstr ""
2186 "set-user-ID-root プログラムが実行される場合、 ファイルの実効ケーパビリティ"
2187 "ビットを 1 (enabled) に定義する。"
2188
2189 #.  If a process with real UID 0, and nonzero effective UID does an
2190 #.  exec(), then it gets all capabilities in its
2191 #.  permitted set, and no effective capabilities
2192 #. type: Plain text
2193 #: build/C/man7/capabilities.7:719
2194 msgid ""
2195 "The upshot of the above rules, combined with the capabilities "
2196 "transformations described above, is that when a process B<execve>(2)s a set-"
2197 "user-ID-root program, or when a process with an effective UID of 0 B<execve>"
2198 "(2)s a program, it gains all capabilities in its permitted and effective "
2199 "capability sets, except those masked out by the capability bounding set.  "
2200 "This provides semantics that are the same as those provided by traditional "
2201 "UNIX systems."
2202 msgstr ""
2203 "上記のルールにケーパビリティ変換を適用した結果をまとめると、 プロセスが set-"
2204 "user-ID-root プログラムを B<execve>(2)  する場合、または実効 UID が 0 のプロ"
2205 "セスがプログラムを B<execve>(2)  する場合、許可と実効のケーパビリティセットの"
2206 "全ケーパビリティ (正確には、ケーパビリティバウンディングセットによるマスクで"
2207 "除外されるもの 以外の全てのケーパビリティ) を取得するということである。 これ"
2208 "により、伝統的な UNIX システムと同じ振る舞いができるようになっている。"
2209
2210 #. type: SS
2211 #: build/C/man7/capabilities.7:719
2212 #, no-wrap
2213 msgid "Capability bounding set"
2214 msgstr "ケーパビリティ・バウンディングセット"
2215
2216 #. type: Plain text
2217 #: build/C/man7/capabilities.7:724
2218 msgid ""
2219 "The capability bounding set is a security mechanism that can be used to "
2220 "limit the capabilities that can be gained during an B<execve>(2).  The "
2221 "bounding set is used in the following ways:"
2222 msgstr ""
2223 "ケーパビリティ・バウンディングセット (capability bounding set) は、 B<execve>"
2224 "(2)  時に獲得できるケーパビリティを制限するために使われる セキュリティ機構で"
2225 "ある。 バウンディングセットは以下のように使用される。"
2226
2227 #. type: Plain text
2228 #: build/C/man7/capabilities.7:732
2229 msgid ""
2230 "During an B<execve>(2), the capability bounding set is ANDed with the file "
2231 "permitted capability set, and the result of this operation is assigned to "
2232 "the thread's permitted capability set.  The capability bounding set thus "
2233 "places a limit on the permitted capabilities that may be granted by an "
2234 "executable file."
2235 msgstr ""
2236 "B<execve>(2)  実行時に、ケーパビリティ・バウンディングセットと ファイルの許可"
2237 "ケーパビリティセットの論理和 (AND) を取ったものが、 そのスレッドの許可ケーパ"
2238 "ビリティセットに割り当てられる。 つまり、ケーパビリティ・バウンディングセット"
2239 "は、 実行ファイルが認めている許可ケーパビリティに対して 制限を課す働きをす"
2240 "る。"
2241
2242 #. type: Plain text
2243 #: build/C/man7/capabilities.7:744
2244 msgid ""
2245 "(Since Linux 2.6.25)  The capability bounding set acts as a limiting "
2246 "superset for the capabilities that a thread can add to its inheritable set "
2247 "using B<capset>(2).  This means that if a capability is not in the bounding "
2248 "set, then a thread can't add this capability to its inheritable set, even if "
2249 "it was in its permitted capabilities, and thereby cannot have this "
2250 "capability preserved in its permitted set when it B<execve>(2)s a file that "
2251 "has the capability in its inheritable set."
2252 msgstr ""
2253 "(Linux 2.6.25 以降)  ケーパビリティ・バウンディングセットは、スレッドが "
2254 "B<capset>(2)  により自身の継承可能セットに追加可能なケーパビリティの母集団を "
2255 "制限する役割を持つ。 スレッドに許可されたケーパビリティであっても、バウンディ"
2256 "ングセットに 含まれていなければ、スレッドはそのケーパビリティは自身の継承可能"
2257 "セットに 追加できず、その結果、継承可能セットにそのケーパビリティを含むファイ"
2258 "ルを B<execve>(2)  する場合、そのケーパビリティを許可セットに持ち続けることが"
2259 "できない、 ということである。"
2260
2261 #. type: Plain text
2262 #: build/C/man7/capabilities.7:751
2263 msgid ""
2264 "Note that the bounding set masks the file permitted capabilities, but not "
2265 "the inherited capabilities.  If a thread maintains a capability in its "
2266 "inherited set that is not in its bounding set, then it can still gain that "
2267 "capability in its permitted set by executing a file that has the capability "
2268 "in its inherited set."
2269 msgstr ""
2270 "バウンディングセットがマスクを行うのは、継承可能ケーパビリティではなく、 ファ"
2271 "イルの許可ケーパビリティのマスクを行う点に注意すること。 あるスレッドの継承可"
2272 "能セットにそのスレッドのバウンディングセットに 存在しないケーパビリティが含ま"
2273 "れている場合、そのスレッドは、 継承可能セットに含まれるケーパビリティを持つ"
2274 "ファイルを実行することにより、 許可セットに含まれるケーパビリティも獲得できる"
2275 "ということである。"
2276
2277 #. type: Plain text
2278 #: build/C/man7/capabilities.7:754
2279 msgid ""
2280 "Depending on the kernel version, the capability bounding set is either a "
2281 "system-wide attribute, or a per-process attribute."
2282 msgstr ""
2283 "カーネルのバージョンにより、ケーパビリティ・バウンディングセットは システム共"
2284 "通の属性の場合と、プロセス単位の属性の場合がある。"
2285
2286 #. type: Plain text
2287 #: build/C/man7/capabilities.7:756
2288 msgid "B<Capability bounding set prior to Linux 2.6.25>"
2289 msgstr "B<Linux 2.6.25 より前のケーパビリティ・バウンディングセット>"
2290
2291 #. type: Plain text
2292 #: build/C/man7/capabilities.7:764
2293 msgid ""
2294 "In kernels before 2.6.25, the capability bounding set is a system-wide "
2295 "attribute that affects all threads on the system.  The bounding set is "
2296 "accessible via the file I</proc/sys/kernel/cap-bound>.  (Confusingly, this "
2297 "bit mask parameter is expressed as a signed decimal number in I</proc/sys/"
2298 "kernel/cap-bound>.)"
2299 msgstr ""
2300 "2.6.25 より前のカーネルでは、ケーパビリティ・バウンディングセットは システム"
2301 "共通の属性で、システム上の全てのスレッドに適用される。 バウンディングセット"
2302 "は I</proc/sys/kernel/cap-bound> ファイル経由で参照できる。 (間違えやすいが、"
2303 "このビットマスク形式のパラメータは、 I</proc/sys/kernel/cap-bound> では符号付"
2304 "きの十進数で表現される。)"
2305
2306 #. type: Plain text
2307 #: build/C/man7/capabilities.7:771
2308 msgid ""
2309 "Only the B<init> process may set capabilities in the capability bounding "
2310 "set; other than that, the superuser (more precisely: programs with the "
2311 "B<CAP_SYS_MODULE> capability) may only clear capabilities from this set."
2312 msgstr ""
2313 "B<init> プロセスだけがケーパビリティ・バウンディングセットで ケーパビリティを"
2314 "セットすることができる。 それ以外では、スーパーユーザ (より正確には、 "
2315 "B<CAP_SYS_MODULE> ケーパビリティを持ったプログラム) が、 ケーパビリティ・バウ"
2316 "ンディングセットのケーパビリティのクリアが できるだけである。"
2317
2318 #. type: Plain text
2319 #: build/C/man7/capabilities.7:780
2320 msgid ""
2321 "On a standard system the capability bounding set always masks out the "
2322 "B<CAP_SETPCAP> capability.  To remove this restriction (dangerous!), modify "
2323 "the definition of B<CAP_INIT_EFF_SET> in I<include/linux/capability.h> and "
2324 "rebuild the kernel."
2325 msgstr ""
2326 "通常のシステムでは、ケーパビリティ・バウンディングセットは、 B<CAP_SETPCAP> "
2327 "が無効になっている。 この制限を取り去るには (取り去るのは危険!)、 I<include/"
2328 "linux/capability.h> 内の B<CAP_INIT_EFF_SET> の定義を修正し、カーネルを再構築"
2329 "する必要がある。"
2330
2331 #. type: Plain text
2332 #: build/C/man7/capabilities.7:784
2333 msgid ""
2334 "The system-wide capability bounding set feature was added to Linux starting "
2335 "with kernel version 2.2.11."
2336 msgstr ""
2337 "システム共通のケーパビリティ・バウンディングセット機能は、 カーネル 2.2.11 以"
2338 "降で Linux に追加された。"
2339
2340 #. type: Plain text
2341 #: build/C/man7/capabilities.7:786
2342 msgid "B<Capability bounding set from Linux 2.6.25 onward>"
2343 msgstr "B<Linux 2.6.25 以降のケーパビリティ・バウンディングセット>"
2344
2345 #. type: Plain text
2346 #: build/C/man7/capabilities.7:791
2347 msgid ""
2348 "From Linux 2.6.25, the I<capability bounding set> is a per-thread "
2349 "attribute.  (There is no longer a system-wide capability bounding set.)"
2350 msgstr ""
2351 "Linux 2.6.25 以降では、 「ケーパビリティ・バウンディングセット」はスレッド単"
2352 "位の属性である (システム共通のケーパビリティ・バウンディングセットはもはや存"
2353 "在しない)。"
2354
2355 #. type: Plain text
2356 #: build/C/man7/capabilities.7:796
2357 msgid ""
2358 "The bounding set is inherited at B<fork>(2)  from the thread's parent, and "
2359 "is preserved across an B<execve>(2)."
2360 msgstr ""
2361 "バウンディングセットは B<fork>(2)  時にはスレッドの親プロセスから継承され、 "
2362 "B<execve>(2)  の前後では保持される。"
2363
2364 #. type: Plain text
2365 #: build/C/man7/capabilities.7:809
2366 msgid ""
2367 "A thread may remove capabilities from its capability bounding set using the "
2368 "B<prctl>(2)  B<PR_CAPBSET_DROP> operation, provided it has the "
2369 "B<CAP_SETPCAP> capability.  Once a capability has been dropped from the "
2370 "bounding set, it cannot be restored to that set.  A thread can determine if "
2371 "a capability is in its bounding set using the B<prctl>(2)  "
2372 "B<PR_CAPBSET_READ> operation."
2373 msgstr ""
2374 "スレッドが B<CAP_SETPCAP> ケーパビリティを持っている場合、そのスレッドは "
2375 "B<prctl>(2)  の B<PR_CAPBSET_DROP> 操作を使って自身のケーパビリティ・バウン"
2376 "ディングセットから ケーパビリティを削除することができる。 いったんケーパビリ"
2377 "ティをバウンディングセットから削除してしまうと、 スレッドはそのケーパビリティ"
2378 "を再度セットすることはできない。 B<prctl>(2)  の B<PR_CAPBSET_READ> 操作を使"
2379 "うことで、スレッドがあるケーパビリティが自身のバウンディングセット に含まれて"
2380 "いるかを知ることができる。"
2381
2382 #. type: Plain text
2383 #: build/C/man7/capabilities.7:827
2384 #, fuzzy
2385 #| msgid ""
2386 #| "Removing capabilities from the bounding set is only supported if file "
2387 #| "capabilities are compiled into the kernel "
2388 #| "(CONFIG_SECURITY_FILE_CAPABILITIES).  In that case, the B<init> process "
2389 #| "(the ancestor of all processes) begins with a full bounding set.  If file "
2390 #| "capabilities are not compiled into the kernel, then B<init> begins with a "
2391 #| "full bounding set minus B<CAP_SETPCAP>, because this capability has a "
2392 #| "different meaning when there are no file capabilities."
2393 msgid ""
2394 "Removing capabilities from the bounding set is only supported if file "
2395 "capabilities are compiled into the kernel.  In kernels before Linux 2.6.33, "
2396 "file capabilities were an optional feature configurable via the "
2397 "CONFIG_SECURITY_FILE_CAPABILITIES option.  Since Linux 2.6.33, the "
2398 "configuration option has been removed and file capabilities are always part "
2399 "of the kernel.  When file capabilities are compiled into the kernel, the "
2400 "B<init> process (the ancestor of all processes) begins with a full bounding "
2401 "set.  If file capabilities are not compiled into the kernel, then B<init> "
2402 "begins with a full bounding set minus B<CAP_SETPCAP>, because this "
2403 "capability has a different meaning when there are no file capabilities."
2404 msgstr ""
2405 "バウンディングセットからのケーパビリティの削除がサポートされるのは、 カーネル"
2406 "のコンパイル時にファイルケーパビリティが有効になっている場合 "
2407 "(CONFIG_SECURITY_FILE_CAPABILITIES) だけである。 この場合には、 (全てのプロセ"
2408 "スの先祖である)  I<init> プロセスはバウンディングセットで全てのケーパビリティ"
2409 "が セットされた状態で開始する。 ファイルケーパビリティが有効になっていない場"
2410 "合には、 I<init> はバウンディングセットで B<CAP_SETPCAP> 以外の全てのケーパビ"
2411 "リティがセットされた状態で開始する。 このようになっているのは、 "
2412 "B<CAP_SETPCAP> ケーパビリティがファイルケーパビリティがサポートされていない場"
2413 "合には 違った意味を持つからである。"
2414
2415 #. type: Plain text
2416 #: build/C/man7/capabilities.7:834
2417 msgid ""
2418 "Removing a capability from the bounding set does not remove it from the "
2419 "thread's inherited set.  However it does prevent the capability from being "
2420 "added back into the thread's inherited set in the future."
2421 msgstr ""
2422 "バウンディングセットからケーパビリティを削除しても、 スレッドの継承可能セット"
2423 "からはそのケーパビリティは削除されない。 しかしながら、バウンディングセットか"
2424 "らの削除により、 この先そのケーパビリティをスレッドの継承可能セットに追加する"
2425 "こと はできなくなる。"
2426
2427 #. type: SS
2428 #: build/C/man7/capabilities.7:834
2429 #, no-wrap
2430 msgid "Effect of User ID Changes on Capabilities"
2431 msgstr "ユーザ ID 変更のケーパビリティへの影響"
2432
2433 #. type: Plain text
2434 #: build/C/man7/capabilities.7:843
2435 msgid ""
2436 "To preserve the traditional semantics for transitions between 0 and nonzero "
2437 "user IDs, the kernel makes the following changes to a thread's capability "
2438 "sets on changes to the thread's real, effective, saved set, and file system "
2439 "user IDs (using B<setuid>(2), B<setresuid>(2), or similar):"
2440 msgstr ""
2441 "ユーザ ID が 0 と 0 以外の間で変化する際の振る舞いを従来と同じにするため、 ス"
2442 "レッドの実 UID、実効 UID、保存 set-user-ID、ファイルシステム UID が "
2443 "(B<setuid>(2), B<setresuid>(2)  などを使って) 変更された際に、カーネルはその"
2444 "スレッドのケーパビリティセットに 以下の変更を行う:"
2445
2446 #. type: Plain text
2447 #: build/C/man7/capabilities.7:849
2448 msgid ""
2449 "If one or more of the real, effective or saved set user IDs was previously "
2450 "0, and as a result of the UID changes all of these IDs have a nonzero value, "
2451 "then all capabilities are cleared from the permitted and effective "
2452 "capability sets."
2453 msgstr ""
2454 "UID の変更前には実 UID、実効 UID、保存 set-user-ID のうち 少なくとも一つが 0 "
2455 "で、変更後に実 UID、実効 UID、保存 set-user-ID が すべて 0 以外の値になった場"
2456 "合、許可と実効のケーパビリティセットの 全ケーパビリティをクリアする。"
2457
2458 #. type: Plain text
2459 #: build/C/man7/capabilities.7:852
2460 msgid ""
2461 "If the effective user ID is changed from 0 to nonzero, then all capabilities "
2462 "are cleared from the effective set."
2463 msgstr ""
2464 "実効 UID が 0 から 0 以外に変更された場合、 実効ケーパビリティセットの全ケー"
2465 "パビリティをクリアする。"
2466
2467 #. type: Plain text
2468 #: build/C/man7/capabilities.7:855
2469 msgid ""
2470 "If the effective user ID is changed from nonzero to 0, then the permitted "
2471 "set is copied to the effective set."
2472 msgstr ""
2473 "実効 UID が 0 以外から 0 に変更された場合、 許可ケーパビリティセットの内容を"
2474 "実効ケーパビリティセットにコピーする。"
2475
2476 #. type: IP
2477 #: build/C/man7/capabilities.7:855 build/C/man7/capabilities.7:910
2478 #, no-wrap
2479 msgid "4."
2480 msgstr "4."
2481
2482 #. type: Plain text
2483 #: build/C/man7/capabilities.7:873
2484 msgid ""
2485 "If the file system user ID is changed from 0 to nonzero (see B<setfsuid>"
2486 "(2))  then the following capabilities are cleared from the effective set: "
2487 "B<CAP_CHOWN>, B<CAP_DAC_OVERRIDE>, B<CAP_DAC_READ_SEARCH>, B<CAP_FOWNER>, "
2488 "B<CAP_FSETID>, B<CAP_LINUX_IMMUTABLE> (since Linux 2.2.30), "
2489 "B<CAP_MAC_OVERRIDE>, and B<CAP_MKNOD> (since Linux 2.2.30).  If the file "
2490 "system UID is changed from nonzero to 0, then any of these capabilities that "
2491 "are enabled in the permitted set are enabled in the effective set."
2492 msgstr ""
2493 "ファイルシステム UID が 0 から 0 以外に変更された場合 (B<setfsuid>(2)  参"
2494 "照)、実効ケーパビリティセットの以下のケーパビリティがクリアされる: "
2495 "B<CAP_CHOWN>, B<CAP_DAC_OVERRIDE>, B<CAP_DAC_READ_SEARCH>, B<CAP_FOWNER>, "
2496 "B<CAP_FSETID>, B<CAP_LINUX_IMMUTABLE> (Linux 2.2.30 以降), "
2497 "B<CAP_MAC_OVERRIDE>, B<CAP_MKNOD> (Linux 2.2.30 以降)。 ファイルシステム UID "
2498 "が 0 以外から 0 に変更された場合、 上記のケーパビリティのうち許可ケーパビリ"
2499 "ティセットで有効になっているものが 実効ケーパビリティセットで有効にされる。"
2500
2501 #. type: Plain text
2502 #: build/C/man7/capabilities.7:881
2503 msgid ""
2504 "If a thread that has a 0 value for one or more of its user IDs wants to "
2505 "prevent its permitted capability set being cleared when it resets all of its "
2506 "user IDs to nonzero values, it can do so using the B<prctl>(2)  "
2507 "B<PR_SET_KEEPCAPS> operation."
2508 msgstr ""
2509 "各種 UID のうち少なくとも一つが 0 であるスレッドが、 その UID の全てが 0 以外"
2510 "になったときに許可ケーパビリティセットが クリアされないようにしたい場合に"
2511 "は、 B<prctl>(2)  の B<PR_SET_KEEPCAPS> 操作を使えばよい。"
2512
2513 #. type: SS
2514 #: build/C/man7/capabilities.7:881
2515 #, no-wrap
2516 msgid "Programmatically adjusting capability sets"
2517 msgstr "プログラムでケーパビリティセットを調整する"
2518
2519 #. type: Plain text
2520 #: build/C/man7/capabilities.7:896
2521 msgid ""
2522 "A thread can retrieve and change its capability sets using the B<capget>(2)  "
2523 "and B<capset>(2)  system calls.  However, the use of B<cap_get_proc>(3)  and "
2524 "B<cap_set_proc>(3), both provided in the I<libcap> package, is preferred for "
2525 "this purpose.  The following rules govern changes to the thread capability "
2526 "sets:"
2527 msgstr ""
2528 "各スレッドは、 B<capget>(2)  や B<capset>(2)  を使って、自身のケーパビリティ"
2529 "セットを取得したり変更したりできる。 ただし、これを行うには、 I<libcap> パッ"
2530 "ケージで提供されている B<cap_get_proc>(3)  や B<cap_set_proc>(3)  を使うのが"
2531 "望ましい。 スレッドのケーパビリティセットの変更には以下のルールが適用される。"
2532
2533 #. type: Plain text
2534 #: build/C/man7/capabilities.7:902
2535 msgid ""
2536 "If the caller does not have the B<CAP_SETPCAP> capability, the new "
2537 "inheritable set must be a subset of the combination of the existing "
2538 "inheritable and permitted sets."
2539 msgstr ""
2540 "呼び出し側が B<CAP_SETPCAP> ケーパビリティを持っていない場合、新しい継承可能"
2541 "セットは、 既存の継承可能セットと許可セットの積集合 (AND) の部分集合で なけれ"
2542 "ばならない。"
2543
2544 #. type: Plain text
2545 #: build/C/man7/capabilities.7:906
2546 msgid ""
2547 "(Since kernel 2.6.25)  The new inheritable set must be a subset of the "
2548 "combination of the existing inheritable set and the capability bounding set."
2549 msgstr ""
2550 "(カーネル 2.6.25 以降)  新しい継承可能セットは、既存の継承可能セットとケーパ"
2551 "ビリティ・ バウンディングセットの積集合 (AND) の部分集合でなければならない。"
2552
2553 #. type: Plain text
2554 #: build/C/man7/capabilities.7:910
2555 msgid ""
2556 "The new permitted set must be a subset of the existing permitted set (i.e., "
2557 "it is not possible to acquire permitted capabilities that the thread does "
2558 "not currently have)."
2559 msgstr ""
2560 "新しい許可セットは、既存の許可セットの部分集合でなければならない (つまり、そ"
2561 "のスレッドが現在持っていない許可ケーパビリティを 獲得することはできない)。"
2562
2563 #. type: Plain text
2564 #: build/C/man7/capabilities.7:912
2565 msgid "The new effective set must be a subset of the new permitted set."
2566 msgstr ""
2567 "新しい実効ケーパビリティセットは新しい許可ケーパビリティセットの 部分集合に"
2568 "なっていなければならない。"
2569
2570 #. type: SS
2571 #: build/C/man7/capabilities.7:912
2572 #, no-wrap
2573 msgid "The \"securebits\" flags: establishing a capabilities-only environment"
2574 msgstr "securebits フラグ: ケーパビリティだけの環境を構築する"
2575
2576 #.  For some background:
2577 #.        see http://lwn.net/Articles/280279/ and
2578 #.        http://article.gmane.org/gmane.linux.kernel.lsm/5476/
2579 #. type: Plain text
2580 #: build/C/man7/capabilities.7:923
2581 msgid ""
2582 "Starting with kernel 2.6.26, and with a kernel in which file capabilities "
2583 "are enabled, Linux implements a set of per-thread I<securebits> flags that "
2584 "can be used to disable special handling of capabilities for UID 0 "
2585 "(I<root>).  These flags are as follows:"
2586 msgstr ""
2587 "カーネル 2.6.26 以降で、 ファイルケーパビリティが有効になったカーネルでは、 "
2588 "スレッド単位の I<securebits> フラグが実装されており、このフラグを使うと UID "
2589 "0 (I<root>)  に対するケーパビリティの特別扱いを無効することができる。 以下の"
2590 "ようなフラグがある。"
2591
2592 #. type: TP
2593 #: build/C/man7/capabilities.7:923
2594 #, no-wrap
2595 msgid "B<SECBIT_KEEP_CAPS>"
2596 msgstr "B<SECBIT_KEEP_CAPS>"
2597
2598 #. type: Plain text
2599 #: build/C/man7/capabilities.7:935
2600 msgid ""
2601 "Setting this flag allows a thread that has one or more 0 UIDs to retain its "
2602 "capabilities when it switches all of its UIDs to a nonzero value.  If this "
2603 "flag is not set, then such a UID switch causes the thread to lose all "
2604 "capabilities.  This flag is always cleared on an B<execve>(2).  (This flag "
2605 "provides the same functionality as the older B<prctl>(2)  B<PR_SET_KEEPCAPS> "
2606 "operation.)"
2607 msgstr ""
2608 "このフラグをセットされている場合、UID が 0 のスレッドの UID が 0 以外の値に "
2609 "切り替わる際に、そのスレッドはケーパビリティを維持することができる。 このフラ"
2610 "グがセットされていない場合には、UID が 0 から 0 以外の値に 切り替わると、その"
2611 "スレッドは全てのケーパビリティを失う。 このフラグは B<execve>(2)  時には全て"
2612 "クリアされる (このフラグは、以前の B<prctl>(2)  の B<PR_SET_KEEPCAPS> 操作と"
2613 "同じ機能を提供するものである)。"
2614
2615 #. type: TP
2616 #: build/C/man7/capabilities.7:935
2617 #, no-wrap
2618 msgid "B<SECBIT_NO_SETUID_FIXUP>"
2619 msgstr "B<SECBIT_NO_SETUID_FIXUP>"
2620
2621 #. type: Plain text
2622 #: build/C/man7/capabilities.7:942
2623 msgid ""
2624 "Setting this flag stops the kernel from adjusting capability sets when the "
2625 "threads's effective and file system UIDs are switched between zero and "
2626 "nonzero values.  (See the subsection I<Effect of User ID Changes on "
2627 "Capabilities>.)"
2628 msgstr ""
2629 "このフラグをセットすると、スレッドの実効 UID とファイルシステム UID が 0 と "
2630 "0 以外の間で切り替わった場合に、 カーネルはケーパビリティセットの調整を行わな"
2631 "くなる (「ユーザ ID 変更のケーパビリティへの影響」の節を参照)。"
2632
2633 #. type: TP
2634 #: build/C/man7/capabilities.7:942
2635 #, no-wrap
2636 msgid "B<SECBIT_NOROOT>"
2637 msgstr "B<SECBIT_NOROOT>"
2638
2639 #. type: Plain text
2640 #: build/C/man7/capabilities.7:950
2641 msgid ""
2642 "If this bit is set, then the kernel does not grant capabilities when a set-"
2643 "user-ID-root program is executed, or when a process with an effective or "
2644 "real UID of 0 calls B<execve>(2).  (See the subsection I<Capabilities and "
2645 "execution of programs by root>.)"
2646 msgstr ""
2647 "このビットがセットされている場合、 set-user-ID-root プログラムの実行時や、 実"
2648 "効 UID か 実 UID が 0 のプロセスが B<execve>(2)  を呼び出した時に、カーネルは"
2649 "ケーパビリティを許可しない (「ケーパビリティと、ルートによるプログラムの実"
2650 "行」の節を参照)。"
2651
2652 #. type: Plain text
2653 #: build/C/man7/capabilities.7:960
2654 msgid ""
2655 "Each of the above \"base\" flags has a companion \"locked\" flag.  Setting "
2656 "any of the \"locked\" flags is irreversible, and has the effect of "
2657 "preventing further changes to the corresponding \"base\" flag.  The locked "
2658 "flags are: B<SECBIT_KEEP_CAPS_LOCKED>, B<SECBIT_NO_SETUID_FIXUP_LOCKED>, and "
2659 "B<SECBIT_NOROOT_LOCKED>."
2660 msgstr ""
2661 "上記の \"base\" フラグの各々には対応する \"locked\" フラグが存在する。 いずれ"
2662 "の \"locked\" フラグも一度セットされると戻すことはできず、 それ以降は対応す"
2663 "る \"base\" フラグを変更することができなくなる。 \"locked\" フラグは "
2664 "B<SECBIT_KEEP_CAPS_LOCKED>, B<SECBIT_NO_SETUID_FIXUP_LOCKED>, "
2665 "B<SECBIT_NOROOT_LOCKED> という名前である。"
2666
2667 #. type: Plain text
2668 #: build/C/man7/capabilities.7:972
2669 msgid ""
2670 "The I<securebits> flags can be modified and retrieved using the B<prctl>(2)  "
2671 "B<PR_SET_SECUREBITS> and B<PR_GET_SECUREBITS> operations.  The "
2672 "B<CAP_SETPCAP> capability is required to modify the flags."
2673 msgstr ""
2674 "I<securebits> フラグは、 B<prctl>(2)  の操作 B<PR_SET_SECUREBITS> や "
2675 "B<PR_GET_SECUREBITS> を使うことで変更したり取得したりできる。 フラグを変更す"
2676 "るには B<CAP_SETPCAP> ケーパビリティが必要である。"
2677
2678 #. type: Plain text
2679 #: build/C/man7/capabilities.7:981
2680 #, fuzzy
2681 #| msgid ""
2682 #| "The I<securebits> flags are inherited by child processes.  During an "
2683 #| "B<execve>(2), all of the flags are preserved, except B<SECURE_KEEP_CAPS> "
2684 #| "which is always cleared."
2685 msgid ""
2686 "The I<securebits> flags are inherited by child processes.  During an "
2687 "B<execve>(2), all of the flags are preserved, except B<SECBIT_KEEP_CAPS> "
2688 "which is always cleared."
2689 msgstr ""
2690 "I<securebits> フラグは子プロセスに継承される。 B<execve>(2)  においては、 "
2691 "B<SECURE_KEEP_CAPS> が常にクリアされる以外は、全てのフラグが保持される。"
2692
2693 #. type: Plain text
2694 #: build/C/man7/capabilities.7:986
2695 msgid ""
2696 "An application can use the following call to lock itself, and all of its "
2697 "descendants, into an environment where the only way of gaining capabilities "
2698 "is by executing a program with associated file capabilities:"
2699 msgstr ""
2700 "アプリケーションは、以下の呼び出しを行うことにより、 自分自身および子孫となる"
2701 "プロセス全てに対して、 必要なファイルケーパビリティを持ったプログラムを実行し"
2702 "ない限り、 対応するケーパビリティを獲得できないような状況に閉じこめることがで"
2703 "きる。"
2704
2705 #. type: Plain text
2706 #: build/C/man7/capabilities.7:995
2707 #, no-wrap
2708 msgid ""
2709 "prctl(PR_SET_SECUREBITS,\n"
2710 "        SECBIT_KEEP_CAPS_LOCKED |\n"
2711 "        SECBIT_NO_SETUID_FIXUP |\n"
2712 "        SECBIT_NO_SETUID_FIXUP_LOCKED |\n"
2713 "        SECBIT_NOROOT |\n"
2714 "        SECBIT_NOROOT_LOCKED);\n"
2715 msgstr ""
2716 "prctl(PR_SET_SECUREBITS,\n"
2717 "        SECBIT_KEEP_CAPS_LOCKED |\n"
2718 "        SECBIT_NO_SETUID_FIXUP |\n"
2719 "        SECBIT_NO_SETUID_FIXUP_LOCKED |\n"
2720 "        SECBIT_NOROOT |\n"
2721 "        SECBIT_NOROOT_LOCKED);\n"
2722
2723 #. type: Plain text
2724 #: build/C/man7/capabilities.7:1002
2725 msgid ""
2726 "No standards govern capabilities, but the Linux capability implementation is "
2727 "based on the withdrawn POSIX.1e draft standard; see I<http://wt.xpilot.org/"
2728 "publications/posix.1e/>."
2729 msgstr ""
2730 "ケーパビリティに関する標準はないが、 Linux のケーパビリティは廃案になった "
2731 "POSIX.1e 草案に基づいて実装されている。 I<http://wt.xpilot.org/publications/"
2732 "posix.1e/> を参照。"
2733
2734 #. type: Plain text
2735 #: build/C/man7/capabilities.7:1006
2736 msgid ""
2737 "Since kernel 2.5.27, capabilities are an optional kernel component, and can "
2738 "be enabled/disabled via the CONFIG_SECURITY_CAPABILITIES kernel "
2739 "configuration option."
2740 msgstr ""
2741 "カーネル 2.5.27 以降、ケーパビリティは選択式のカーネルコンポーネント となって"
2742 "おり、カーネル設定オプション CONFIG_SECURITY_CAPABILITIES により有効/無効を切"
2743 "り替えることができる。"
2744
2745 #. type: Plain text
2746 #: build/C/man7/capabilities.7:1013
2747 msgid ""
2748 "The I</proc/PID/task/TID/status> file can be used to view the capability "
2749 "sets of a thread.  The I</proc/PID/status> file shows the capability sets of "
2750 "a process's main thread."
2751 msgstr ""
2752 "I</proc/PID/task/TID/status> ファイルを使うと、スレッドのケーパビリティセット"
2753 "を見ることができる。 I</proc/PID/status> ファイルには、プロセスのメインスレッ"
2754 "ドのケーパビリティセットが表示される。"
2755
2756 #. type: Plain text
2757 #: build/C/man7/capabilities.7:1028
2758 msgid ""
2759 "The I<libcap> package provides a suite of routines for setting and getting "
2760 "capabilities that is more comfortable and less likely to change than the "
2761 "interface provided by B<capset>(2)  and B<capget>(2).  This package also "
2762 "provides the B<setcap>(8)  and B<getcap>(8)  programs.  It can be found at"
2763 msgstr ""
2764 "I<libcap> パッケージは、ケーパビリティを設定・取得するための ルーチン群を提供"
2765 "している。これらのインタフェースは、 B<capset>(2)  と B<capget>(2)  が提供す"
2766 "るインターフェースと比べて、より使いやすく、変更される可能性が少ない。 この"
2767 "パッケージでは、 B<setcap>(8), B<getcap>(8)  というプログラムも提供されてい"
2768 "る。 パッケージは以下で入手できる。"
2769
2770 #. type: Plain text
2771 #: build/C/man7/capabilities.7:1030
2772 msgid "I<http://www.kernel.org/pub/linux/libs/security/linux-privs>."
2773 msgstr "I<http://www.kernel.org/pub/linux/libs/security/linux-privs>"
2774
2775 #. type: Plain text
2776 #: build/C/man7/capabilities.7:1039
2777 msgid ""
2778 "Before kernel 2.6.24, and since kernel 2.6.24 if file capabilities are not "
2779 "enabled, a thread with the B<CAP_SETPCAP> capability can manipulate the "
2780 "capabilities of threads other than itself.  However, this is only "
2781 "theoretically possible, since no thread ever has B<CAP_SETPCAP> in either of "
2782 "these cases:"
2783 msgstr ""
2784 "バージョン 2.6.24 より前、およびファイルケーパビリティが 有効になっていない"
2785 "2.6.24 以降のカーネルでは、 B<CAP_SETPCAP> ケーパビリティを持ったスレッドは自"
2786 "分以外のスレッドの ケーパビリティを操作できる。 しかしながら、これは理論的に"
2787 "可能というだけである。 以下のいずれかの場合においても、どのスレッドも "
2788 "B<CAP_SETPCAP> ケーパビリティを持つことはないからである。"
2789
2790 #. type: Plain text
2791 #: build/C/man7/capabilities.7:1044
2792 msgid ""
2793 "In the pre-2.6.25 implementation the system-wide capability bounding set, I</"
2794 "proc/sys/kernel/cap-bound>, always masks out this capability, and this can "
2795 "not be changed without modifying the kernel source and rebuilding."
2796 msgstr ""
2797 "2.6.25 より前の実装では、システム共通のケーパビリティ・バウンディングセット "
2798 "I</proc/sys/kernel/cap-bound> ではこのケーパビリティは常に無効になっており、 "
2799 "ソースを変更してカーネルを再コンパイルしない限り、 これを変更することはできな"
2800 "い。"
2801
2802 #. type: Plain text
2803 #: build/C/man7/capabilities.7:1050
2804 msgid ""
2805 "If file capabilities are disabled in the current implementation, then "
2806 "B<init> starts out with this capability removed from its per-process "
2807 "bounding set, and that bounding set is inherited by all other processes "
2808 "created on the system."
2809 msgstr ""
2810 "現在の実装ではファイルケーパビリティが無効になっている場合、 プロセス毎のバウ"
2811 "ンディングセットからこのケーパビリティを抜いて B<init> は開始され、 システム"
2812 "上で生成される他の全てのプロセスでこのバウンディングセットが 継承される。"
2813
2814 #. type: Plain text
2815 #: build/C/man7/capabilities.7:1067
2816 #, fuzzy
2817 #| msgid ""
2818 #| "B<capget>(2), B<prctl>(2), B<setfsuid>(2), B<cap_clear>(3), "
2819 #| "B<cap_copy_ext>(3), B<cap_from_text>(3), B<cap_get_file>(3), "
2820 #| "B<cap_get_proc>(3), B<cap_init>(3), B<capgetp>(3), B<capsetp>(3), "
2821 #| "B<credentials>(7), B<pthreads>(7), B<getcap>(8), B<setcap>(8)"
2822 msgid ""
2823 "B<capget>(2), B<prctl>(2), B<setfsuid>(2), B<cap_clear>(3), B<cap_copy_ext>"
2824 "(3), B<cap_from_text>(3), B<cap_get_file>(3), B<cap_get_proc>(3), B<cap_init>"
2825 "(3), B<capgetp>(3), B<capsetp>(3), B<libcap>(3), B<credentials>(7), "
2826 "B<pthreads>(7), B<getcap>(8), B<setcap>(8)"
2827 msgstr ""
2828 "B<capget>(2), B<prctl>(2), B<setfsuid>(2), B<cap_clear>(3), B<cap_copy_ext>"
2829 "(3), B<cap_from_text>(3), B<cap_get_file>(3), B<cap_get_proc>(3), B<cap_init>"
2830 "(3), B<capgetp>(3), B<capsetp>(3), B<credentials>(7), B<pthreads>(7), "
2831 "B<getcap>(8), B<setcap>(8)"
2832
2833 #. type: Plain text
2834 #: build/C/man7/capabilities.7:1071
2835 #, fuzzy
2836 #| msgid "I<include/linux/capability.h> in the kernel source"
2837 msgid ""
2838 "Comments on the purposes of various capabilities in I<include/linux/"
2839 "capability.h> in the kernel source"
2840 msgstr "カーネルソース内の I<include/linux/capability.h>"
2841
2842 #. type: TH
2843 #: build/C/man2/capget.2:11
2844 #, no-wrap
2845 msgid "CAPGET"
2846 msgstr "CAPGET"
2847
2848 #. type: TH
2849 #: build/C/man2/capget.2:11
2850 #, no-wrap
2851 msgid "2010-09-20"
2852 msgstr "2010-09-20"
2853
2854 #. type: Plain text
2855 #: build/C/man2/capget.2:14
2856 msgid "capget, capset - set/get capabilities of thread(s)"
2857 msgstr "capget, capset - スレッドのケーパビリティを設定/取得する"
2858
2859 #. type: Plain text
2860 #: build/C/man2/capget.2:16
2861 msgid "B<#include E<lt>sys/capability.hE<gt>>"
2862 msgstr "B<#include E<lt>sys/capability.hE<gt>>"
2863
2864 #. type: Plain text
2865 #: build/C/man2/capget.2:18
2866 msgid ""
2867 "B<int capget(cap_user_header_t >I<hdrp>B<, cap_user_data_t >I<datap>B<);>"
2868 msgstr ""
2869 "B<int capget(cap_user_header_t >I<hdrp>B<, cap_user_data_t >I<datap>B<);>"
2870
2871 #. type: Plain text
2872 #: build/C/man2/capget.2:20
2873 msgid ""
2874 "B<int capset(cap_user_header_t >I<hdrp>B<, const cap_user_data_t "
2875 ">I<datap>B<);>"
2876 msgstr ""
2877 "B<int capset(cap_user_header_t >I<hdrp>B<, const cap_user_data_t "
2878 ">I<datap>B<);>"
2879
2880 #. type: Plain text
2881 #: build/C/man2/capget.2:31
2882 msgid ""
2883 "As of Linux 2.2, the power of the superuser (root) has been partitioned into "
2884 "a set of discrete capabilities.  Each thread has a set of effective "
2885 "capabilities identifying which capabilities (if any) it may currently "
2886 "exercise.  Each thread also has a set of inheritable capabilities that may "
2887 "be passed through an B<execve>(2)  call, and a set of permitted capabilities "
2888 "that it can make effective or inheritable."
2889 msgstr ""
2890 "Linux 2.2 で、スーパーユーザー (root) の権限は、個別のケーパビリティ "
2891 "(capabilities) へと分割され、その集合として表現されるようになった。 各スレッ"
2892 "ドは「実効ケーパビリティ (effective capability) の集合」を持ち、 それによって"
2893 "現在どの操作が実行可能かを識別できる。 また、各スレッドは、 「継承可能ケーパ"
2894 "ビリティ (inheritable capability) の集合」と 「許可ケーパビリティ (permitted "
2895 "capability) の集合」を持つ。 「継承可能ケーパビリティの集合」は B<execve>"
2896 "(2)  を通じて渡すことができるケーパビリティの集合であり、 「許可ケーパビリ"
2897 "ティ (permitted capability) の集合」は 実効ケーパビリティや継承可能ケーパビリ"
2898 "ティとして有効にできる ケーパビリティを規定するものである。"
2899
2900 #. type: Plain text
2901 #: build/C/man2/capget.2:40
2902 msgid ""
2903 "These two functions are the raw kernel interface for getting and setting "
2904 "thread capabilities.  Not only are these system calls specific to Linux, but "
2905 "the kernel API is likely to change and use of these functions (in particular "
2906 "the format of the I<cap_user_*_t> types) is subject to extension with each "
2907 "kernel revision, but old programs will keep working."
2908 msgstr ""
2909 "この二つの関数はスレッドのケーパビリティを取得したり設定したりするための 生の"
2910 "カーネルインターフェースである。 これらのシステムコールは Linux 特有であると"
2911 "いうだけでなく、 カーネル API は変更されるかもしれず、これらの 関数の使用法 "
2912 "(特に I<cap_user_*_t> 型という書式) はカーネルのリビジョン毎に拡張されるかも"
2913 "しれないが、 以前のプログラムはそのまま動作する。"
2914
2915 #. type: Plain text
2916 #: build/C/man2/capget.2:51
2917 msgid ""
2918 "The portable interfaces are B<cap_set_proc>(3)  and B<cap_get_proc>(3); if "
2919 "possible you should use those interfaces in applications.  If you wish to "
2920 "use the Linux extensions in applications, you should use the easier-to-use "
2921 "interfaces B<capsetp>(3)  and B<capgetp>(3)."
2922 msgstr ""
2923 "移植性のあるインターフェースは B<cap_set_proc>(3)  と B<cap_get_proc>(3)  で"
2924 "ある。 可能ならばアプリケーションはこれらの関数を使用すべきである。 アプリ"
2925 "ケーションに Linux 拡張を使用したい場合には、より簡単に 使えるインターフェー"
2926 "スである B<capsetp>(3)  と B<capgetp>(3)  を使用すべきである。"
2927
2928 #. type: SS
2929 #: build/C/man2/capget.2:51
2930 #, no-wrap
2931 msgid "Current details"
2932 msgstr "現在の詳細"
2933
2934 #. type: Plain text
2935 #: build/C/man2/capget.2:54
2936 msgid ""
2937 "Now that you have been warned, some current kernel details.  The structures "
2938 "are defined as follows."
2939 msgstr ""
2940 "現在のカーネルの詳細について注意を述べておく。 構造体は以下のように定義され"
2941 "る。"
2942
2943 #. type: Plain text
2944 #: build/C/man2/capget.2:59
2945 #, no-wrap
2946 msgid ""
2947 "#define _LINUX_CAPABILITY_VERSION_1  0x19980330\n"
2948 "#define _LINUX_CAPABILITY_U32S_1     1\n"
2949 msgstr ""
2950 "#define _LINUX_CAPABILITY_VERSION_1  0x19980330\n"
2951 "#define _LINUX_CAPABILITY_U32S_1     1\n"
2952
2953 #. type: Plain text
2954 #: build/C/man2/capget.2:62
2955 #, no-wrap
2956 msgid ""
2957 "#define _LINUX_CAPABILITY_VERSION_2  0x20071026\n"
2958 "#define _LINUX_CAPABILITY_U32S_2     2\n"
2959 msgstr ""
2960 "#define _LINUX_CAPABILITY_VERSION_2  0x20071026\n"
2961 "#define _LINUX_CAPABILITY_U32S_2     2\n"
2962
2963 #. type: Plain text
2964 #: build/C/man2/capget.2:67
2965 #, no-wrap
2966 msgid ""
2967 "typedef struct __user_cap_header_struct {\n"
2968 "   __u32 version;\n"
2969 "   int pid;\n"
2970 "} *cap_user_header_t;\n"
2971 msgstr ""
2972 "typedef struct __user_cap_header_struct {\n"
2973 "   __u32 version;\n"
2974 "   int pid;\n"
2975 "} *cap_user_header_t;\n"
2976
2977 #. type: Plain text
2978 #: build/C/man2/capget.2:73
2979 #, no-wrap
2980 msgid ""
2981 "typedef struct __user_cap_data_struct {\n"
2982 "   __u32 effective;\n"
2983 "   __u32 permitted;\n"
2984 "   __u32 inheritable;\n"
2985 "} *cap_user_data_t;\n"
2986 msgstr ""
2987 "typedef struct __user_cap_data_struct {\n"
2988 "   __u32 effective;\n"
2989 "   __u32 permitted;\n"
2990 "   __u32 inheritable;\n"
2991 "} *cap_user_data_t;\n"
2992
2993 #. type: Plain text
2994 #: build/C/man2/capget.2:88
2995 msgid ""
2996 "I<effective, permitted, inheritable> are bitmasks of the capabilities "
2997 "defined in I<capability(7).> Note the I<CAP_*> values are bit indexes and "
2998 "need to be bit-shifted before ORing into the bit fields.  To define the "
2999 "structures for passing to the system call you have to use the I<struct "
3000 "__user_cap_header_struct> and I<struct __user_cap_data_struct> names because "
3001 "the typedefs are only pointers."
3002 msgstr ""
3003 "I<effective, permitted, inheritable> は、 B<capability>(7)  で定義されるケー"
3004 "パビリティのビットマスクである。 I<CAP_*> はビット番号を表すインデックス値で"
3005 "あり、 ビットフィールドに OR を行う前に I<CAP_*> の値の分だけビットシフトを行"
3006 "う必要がある。 typedef の方はポインタなので、 このシステムコールに渡す構造体"
3007 "を定義するには、 I<struct __user_cap_header_struct> と I<struct "
3008 "__user_cap_data_struct> という名前を使用しなければならない。"
3009
3010 #. type: Plain text
3011 #: build/C/man2/capget.2:100
3012 msgid ""
3013 "Kernels prior to 2.6.25 prefer 32-bit capabilities with version "
3014 "B<_LINUX_CAPABILITY_VERSION_1>, and kernels 2.6.25+ prefer 64-bit "
3015 "capabilities with version B<_LINUX_CAPABILITY_VERSION_2>.  Note, 64-bit "
3016 "capabilities use I<datap>[0] and I<datap>[1], whereas 32-bit capabilities "
3017 "use only I<datap>[0]."
3018 msgstr ""
3019 "カーネル 2.6.25 より前では、バージョン B<_LINUX_CAPABILITY_VERSION_1> の 32 "
3020 "ビットケーパビリティが推奨である。 カーネル 2.6.25 以降では、バージョン "
3021 "B<_LINUX_CAPABILITY_VERSION_2> の 64 ビットケーパビリティが推奨である。 64 "
3022 "ビットケーパビリティでは I<datap>[0] と I<datap>[1] が使用されるのに対し、 "
3023 "32 ビットケーパビリティでは I<datap>[0] だけが使用される。"
3024
3025 #. type: Plain text
3026 #: build/C/man2/capget.2:104
3027 msgid ""
3028 "Another change affecting the behavior of these system calls is kernel "
3029 "support for file capabilities (VFS capability support).  This support is "
3030 "currently a compile time option (added in kernel 2.6.24)."
3031 msgstr ""
3032 "これらのシステムコールの挙動に影響があるもう一つの変更点は、 ファイルケーパビ"
3033 "リティ (file capabilities) のカーネルによるサポート (VFS ケーパビリティのサ"
3034 "ポート) である。 VFS ケーパビリティのサポートは現在のところコンパイル時のオプ"
3035 "ションである (カーネル 2.6.24 で追加された)。"
3036
3037 #. type: Plain text
3038 #: build/C/man2/capget.2:111
3039 msgid ""
3040 "For B<capget>()  calls, one can probe the capabilities of any process by "
3041 "specifying its process ID with the I<hdrp-E<gt>pid> field value."
3042 msgstr ""
3043 "B<capget>()  では、 I<hdrp-E<gt>pid> のフィールド値にケーパビリティを知りたい"
3044 "プロセスのプロセス ID を 指定することで、任意のプロセスのケーパビリティを調べ"
3045 "ることができる。"
3046
3047 #. type: SS
3048 #: build/C/man2/capget.2:111
3049 #, no-wrap
3050 msgid "With VFS Capability Support"
3051 msgstr "VFS ケーパビリティがサポートされている場合"
3052
3053 #. type: Plain text
3054 #: build/C/man2/capget.2:123
3055 msgid ""
3056 "VFS Capability support creates a file-attribute method for adding "
3057 "capabilities to privileged executables.  This privilege model obsoletes "
3058 "kernel support for one process asynchronously setting the capabilities of "
3059 "another.  That is, with VFS support, for B<capset>()  calls the only "
3060 "permitted values for I<hdrp-E<gt>pid> are 0 or B<getpid>(2), which are "
3061 "equivalent."
3062 msgstr ""
3063 "VFS ケーパビリティのサポートでは、特権実行ファイルにケーパビリティを 追加する"
3064 "ためのファイル属性メソッドが作成された。 この特権モデルの導入により、あるプロ"
3065 "セスにより別のプロセスのケーパビリティ を非同期に設定する機能のカーネルによる"
3066 "サポートは廃止される。 つまり、VFS サポートでは、 B<capset>()  を呼び出す際"
3067 "に I<hdrp-E<gt>pid> の値として許されるのは 0 と B<getpid>(2)  が返す値だけと"
3068 "なる (どちらの値でも等価である)。"
3069
3070 #. type: SS
3071 #: build/C/man2/capget.2:123
3072 #, no-wrap
3073 msgid "Without VFS Capability Support"
3074 msgstr "VFS ケーパビリティがサポートされていない場合"
3075
3076 #. type: Plain text
3077 #: build/C/man2/capget.2:149
3078 msgid ""
3079 "When the kernel does not support VFS capabilities, B<capset>()  calls can "
3080 "operate on the capabilities of the thread specified by the I<pid> field of "
3081 "I<hdrp> when that is nonzero, or on the capabilities of the calling thread "
3082 "if I<pid> is 0.  If I<pid> refers to a single-threaded process, then I<pid> "
3083 "can be specified as a traditional process ID; operating on a thread of a "
3084 "multithreaded process requires a thread ID of the type returned by B<gettid>"
3085 "(2).  For B<capset>(), I<pid> can also be: -1, meaning perform the change on "
3086 "all threads except the caller and B<init>(8); or a value less than -1, in "
3087 "which case the change is applied to all members of the process group whose "
3088 "ID is -I<pid>."
3089 msgstr ""
3090 "カーネルが VFS ケーパビリティをサポートしていない場合、 I<hdrp> の I<pid> "
3091 "フィールドが 0 以外であれば、 B<capset>()  の操作対象は I<pid> で指定されたス"
3092 "レッドのケーパビリティになる。 I<pid> が 0 の場合は呼び出し元のスレッドのケー"
3093 "パビリティが操作対象となる。 I<pid> がシングルスレッド・プロセスを参照してい"
3094 "る場合、 I<pid> は以前から使われているプロセスID を使って指定できる。 マルチ"
3095 "スレッド・プロセス内のあるスレッドを対象にする場合は、 B<gettid>(2)  が返すス"
3096 "レッドID を用いて指定する必要がある。 また、 B<capset>()  では -1 や -1 より"
3097 "小さな値を指定することもできる。 -1 は呼び出し元と B<init>(8)  を除く全てのス"
3098 "レッドを対象として変更を行うことを、 -1 より小さな値は ID が -I<pid> のプロセ"
3099 "スグループの全メンバ を対象として変更を行うことを意味する。"
3100
3101 #. type: Plain text
3102 #: build/C/man2/capget.2:152
3103 msgid "For details on the data, see B<capabilities>(7)."
3104 msgstr "このデータの詳細は B<capabilities>(7)  を参照すること。"
3105
3106 #. type: Plain text
3107 #: build/C/man2/capget.2:171
3108 msgid ""
3109 "The calls will fail with the error B<EINVAL>, and set the I<version> field "
3110 "of I<hdrp> to the kernel preferred value of B<_LINUX_CAPABILITY_VERSION_?> "
3111 "when an unsupported I<version> value is specified.  In this way, one can "
3112 "probe what the current preferred capability revision is."
3113 msgstr ""
3114 "I<hdrp> のフィールド I<version> にサポートされていない値が指定された場合、 呼"
3115 "び出しはエラー B<EINVAL> で失敗し、 I<version> にカーネル推奨の "
3116 "B<_LINUX_CAPABILITY_VERSION_?> を設定する。 このようにして、現在の推奨ケーパ"
3117 "ビリティ・リビジョンが何かを 調べることができる。"
3118
3119 #. type: Plain text
3120 #: build/C/man2/capget.2:180
3121 msgid ""
3122 "Bad memory address.  I<hdrp> must not be NULL.  I<datap> may be NULL only "
3123 "when the user is trying to determine the preferred capability version format "
3124 "supported by the kernel."
3125 msgstr ""
3126 "不正なメモリアドレス。 I<hdrp> は NULL であってはならない。 I<datap> に NULL "
3127 "を指定してよいのは、ユーザがカーネルがサポートしている 推奨のケーパビリティ・"
3128 "バージョンを判定しようとしているときだけである。"
3129
3130 #. type: TP
3131 #: build/C/man2/capget.2:180 build/C/man7/cpuset.7:1179
3132 #: build/C/man7/cpuset.7:1188 build/C/man7/cpuset.7:1197
3133 #: build/C/man7/cpuset.7:1207 build/C/man7/cpuset.7:1216
3134 #: build/C/man7/cpuset.7:1223 build/C/man7/cpuset.7:1230
3135 #: build/C/man2/getgroups.2:114 build/C/man2/getgroups.2:121
3136 #: build/C/man2/getpriority.2:119 build/C/man2/getrlimit.2:440
3137 #: build/C/man2/getrusage.2:190 build/C/man2/iopl.2:71
3138 #: build/C/man2/ioprio_set.2:160 build/C/man2/setpgid.2:200
3139 #, no-wrap
3140 msgid "B<EINVAL>"
3141 msgstr "B<EINVAL>"
3142
3143 #. type: Plain text
3144 #: build/C/man2/capget.2:183
3145 msgid "One of the arguments was invalid."
3146 msgstr "引き数のどれかが無効である。"
3147
3148 #. type: Plain text
3149 #: build/C/man2/capget.2:188
3150 msgid ""
3151 "An attempt was made to add a capability to the Permitted set, or to set a "
3152 "capability in the Effective or Inheritable sets that is not in the Permitted "
3153 "set."
3154 msgstr ""
3155 "「許可ケーパビリティセット」にケーパビリティを追加しようとしているか、 もしく"
3156 "は「許可ケーパビリティセット」に含まれないケーパビリティを 「実効ケーパビリ"
3157 "ティセット」や「継承可能ケーパビリティセット」に セットしようとしている。"
3158
3159 #. type: Plain text
3160 #: build/C/man2/capget.2:207
3161 msgid ""
3162 "The caller attempted to use B<capset>()  to modify the capabilities of a "
3163 "thread other than itself, but lacked sufficient privilege.  For kernels "
3164 "supporting VFS capabilities, this is never permitted.  For kernels lacking "
3165 "VFS support, the B<CAP_SETPCAP> capability is required.  (A bug in kernels "
3166 "before 2.6.11 meant that this error could also occur if a thread without "
3167 "this capability tried to change its own capabilities by specifying the "
3168 "I<pid> field as a nonzero value (i.e., the value returned by B<getpid>(2))  "
3169 "instead of 0.)"
3170 msgstr ""
3171 "呼び出し元が自分以外のスレッドのケーパビリティを B<capset>()  を使って修正し"
3172 "ようとしたが、十分な特権がなかった。 VFS ケーパビリティをサポートしているカー"
3173 "ネルでは、 この操作が許可されることは決してない。 VFS ケーパビリティをサポー"
3174 "トしていないカーネルでは、 B<CAP_SETPCAP> ケーパビリティが必要である。 (バー"
3175 "ジョン 2.6.11 より前のカーネルには、 このケーパビリティを持たないスレッドが "
3176 "I<pid> フィールドに 0 でない値 (つまり、0 の代わりに B<getpid>(2)  が返す値) "
3177 "を指定して自分自身のケーパビリティを変更しようとした場合にも、 このエラーが発"
3178 "生するというバグがあった。)"
3179
3180 #. type: TP
3181 #: build/C/man2/capget.2:207 build/C/man7/cpuset.7:1329
3182 #: build/C/man2/getpriority.2:127 build/C/man2/getrlimit.2:464
3183 #: build/C/man2/getsid.2:69 build/C/man2/ioprio_set.2:177
3184 #: build/C/man2/setpgid.2:215
3185 #, no-wrap
3186 msgid "B<ESRCH>"
3187 msgstr "B<ESRCH>"
3188
3189 #. type: Plain text
3190 #: build/C/man2/capget.2:210
3191 msgid "No such thread."
3192 msgstr "そのようなスレッドが存在しない。"
3193
3194 #. type: Plain text
3195 #: build/C/man2/capget.2:212 build/C/man2/ioprio_set.2:188
3196 msgid "These system calls are Linux-specific."
3197 msgstr "これらのシステムコールは Linux 独自である。"
3198
3199 #. type: Plain text
3200 #: build/C/man2/capget.2:217
3201 msgid ""
3202 "The portable interface to the capability querying and setting functions is "
3203 "provided by the I<libcap> library and is available here:"
3204 msgstr ""
3205 "ケーパビリティを設定したり取得したりする機能のための移植性ある インターフェー"
3206 "スは I<libcap> ライブラリによって提供される。 このライブラリは以下から入手で"
3207 "きる:"
3208
3209 #. type: Plain text
3210 #: build/C/man2/capget.2:219
3211 msgid "http://www.kernel.org/pub/linux/libs/security/linux-privs"
3212 msgstr "http://www.kernel.org/pub/linux/libs/security/linux-privs"
3213
3214 #. type: Plain text
3215 #: build/C/man2/capget.2:223
3216 msgid "B<clone>(2), B<gettid>(2), B<capabilities>(7)"
3217 msgstr "B<clone>(2), B<gettid>(2), B<capabilities>(7)"
3218
3219 #. type: TH
3220 #: build/C/man7/cpuset.7:24
3221 #, no-wrap
3222 msgid "CPUSET"
3223 msgstr "CPUSET"
3224
3225 #. type: TH
3226 #: build/C/man7/cpuset.7:24
3227 #, no-wrap
3228 msgid "2008-11-12"
3229 msgstr "2008-11-12"
3230
3231 #. type: Plain text
3232 #: build/C/man7/cpuset.7:27
3233 msgid "cpuset - confine processes to processor and memory node subsets"
3234 msgstr "cpuset - confine processes to processor and memory node subsets"
3235
3236 #. type: Plain text
3237 #: build/C/man7/cpuset.7:34
3238 msgid ""
3239 "The cpuset file system is a pseudo-file-system interface to the kernel "
3240 "cpuset mechanism, which is used to control the processor placement and "
3241 "memory placement of processes.  It is commonly mounted at I</dev/cpuset>."
3242 msgstr ""
3243 "The cpuset file system is a pseudo-file-system interface to the kernel "
3244 "cpuset mechanism, which is used to control the processor placement and "
3245 "memory placement of processes.  It is commonly mounted at I</dev/cpuset>."
3246
3247 #. type: Plain text
3248 #: build/C/man7/cpuset.7:51
3249 msgid ""
3250 "On systems with kernels compiled with built in support for cpusets, all "
3251 "processes are attached to a cpuset, and cpusets are always present.  If a "
3252 "system supports cpusets, then it will have the entry B<nodev cpuset> in the "
3253 "file I</proc/filesystems>.  By mounting the cpuset file system (see the "
3254 "B<EXAMPLE> section below), the administrator can configure the cpusets on a "
3255 "system to control the processor and memory placement of processes on that "
3256 "system.  By default, if the cpuset configuration on a system is not modified "
3257 "or if the cpuset file system is not even mounted, then the cpuset mechanism, "
3258 "though present, has no affect on the system's behavior."
3259 msgstr ""
3260 "On systems with kernels compiled with built in support for cpusets, all "
3261 "processes are attached to a cpuset, and cpusets are always present.  If a "
3262 "system supports cpusets, then it will have the entry B<nodev cpuset> in the "
3263 "file I</proc/filesystems>.  By mounting the cpuset file system (see the "
3264 "B<EXAMPLE> section below), the administrator can configure the cpusets on a "
3265 "system to control the processor and memory placement of processes on that "
3266 "system.  By default, if the cpuset configuration on a system is not modified "
3267 "or if the cpuset file system is not even mounted, then the cpuset mechanism, "
3268 "though present, has no affect on the system's behavior."
3269
3270 #. type: Plain text
3271 #: build/C/man7/cpuset.7:53
3272 msgid "A cpuset defines a list of CPUs and memory nodes."
3273 msgstr "A cpuset defines a list of CPUs and memory nodes."
3274
3275 #. type: Plain text
3276 #: build/C/man7/cpuset.7:62
3277 msgid ""
3278 "The CPUs of a system include all the logical processing units on which a "
3279 "process can execute, including, if present, multiple processor cores within "
3280 "a package and Hyper-Threads within a processor core.  Memory nodes include "
3281 "all distinct banks of main memory; small and SMP systems typically have just "
3282 "one memory node that contains all the system's main memory, while NUMA (non-"
3283 "uniform memory access) systems have multiple memory nodes."
3284 msgstr ""
3285 "The CPUs of a system include all the logical processing units on which a "
3286 "process can execute, including, if present, multiple processor cores within "
3287 "a package and Hyper-Threads within a processor core.  Memory nodes include "
3288 "all distinct banks of main memory; small and SMP systems typically have just "
3289 "one memory node that contains all the system's main memory, while NUMA (non-"
3290 "uniform memory access) systems have multiple memory nodes."
3291
3292 #. type: Plain text
3293 #: build/C/man7/cpuset.7:72
3294 msgid ""
3295 "Cpusets are represented as directories in a hierarchical pseudo-file system, "
3296 "where the top directory in the hierarchy (I</dev/cpuset>)  represents the "
3297 "entire system (all online CPUs and memory nodes)  and any cpuset that is the "
3298 "child (descendant) of another parent cpuset contains a subset of that "
3299 "parent's CPUs and memory nodes.  The directories and files representing "
3300 "cpusets have normal file-system permissions."
3301 msgstr ""
3302 "Cpusets are represented as directories in a hierarchical pseudo-file system, "
3303 "where the top directory in the hierarchy (I</dev/cpuset>)  represents the "
3304 "entire system (all online CPUs and memory nodes)  and any cpuset that is the "
3305 "child (descendant) of another parent cpuset contains a subset of that "
3306 "parent's CPUs and memory nodes.  The directories and files representing "
3307 "cpusets have normal file-system permissions."
3308
3309 #. type: Plain text
3310 #: build/C/man7/cpuset.7:83
3311 msgid ""
3312 "Every process in the system belongs to exactly one cpuset.  A process is "
3313 "confined to only run on the CPUs in the cpuset it belongs to, and to "
3314 "allocate memory only on the memory nodes in that cpuset.  When a process "
3315 "B<fork>(2)s, the child process is placed in the same cpuset as its parent.  "
3316 "With sufficient privilege, a process may be moved from one cpuset to another "
3317 "and the allowed CPUs and memory nodes of an existing cpuset may be changed."
3318 msgstr ""
3319 "Every process in the system belongs to exactly one cpuset.  A process is "
3320 "confined to only run on the CPUs in the cpuset it belongs to, and to "
3321 "allocate memory only on the memory nodes in that cpuset.  When a process "
3322 "B<fork>(2)s, the child process is placed in the same cpuset as its parent.  "
3323 "With sufficient privilege, a process may be moved from one cpuset to another "
3324 "and the allowed CPUs and memory nodes of an existing cpuset may be changed."
3325
3326 #. type: Plain text
3327 #: build/C/man7/cpuset.7:91
3328 msgid ""
3329 "When the system begins booting, a single cpuset is defined that includes all "
3330 "CPUs and memory nodes on the system, and all processes are in that cpuset.  "
3331 "During the boot process, or later during normal system operation, other "
3332 "cpusets may be created, as subdirectories of this top cpuset, under the "
3333 "control of the system administrator, and processes may be placed in these "
3334 "other cpusets."
3335 msgstr ""
3336 "When the system begins booting, a single cpuset is defined that includes all "
3337 "CPUs and memory nodes on the system, and all processes are in that cpuset.  "
3338 "During the boot process, or later during normal system operation, other "
3339 "cpusets may be created, as subdirectories of this top cpuset, under the "
3340 "control of the system administrator, and processes may be placed in these "
3341 "other cpusets."
3342
3343 #. type: Plain text
3344 #: build/C/man7/cpuset.7:113
3345 msgid ""
3346 "Cpusets are integrated with the B<sched_setaffinity>(2)  scheduling affinity "
3347 "mechanism and the B<mbind>(2)  and B<set_mempolicy>(2)  memory-placement "
3348 "mechanisms in the kernel.  Neither of these mechanisms let a process make "
3349 "use of a CPU or memory node that is not allowed by that process's cpuset.  "
3350 "If changes to a process's cpuset placement conflict with these other "
3351 "mechanisms, then cpuset placement is enforced even if it means overriding "
3352 "these other mechanisms.  The kernel accomplishes this overriding by silently "
3353 "restricting the CPUs and memory nodes requested by these other mechanisms to "
3354 "those allowed by the invoking process's cpuset.  This can result in these "
3355 "other calls returning an error, if for example, such a call ends up "
3356 "requesting an empty set of CPUs or memory nodes, after that request is "
3357 "restricted to the invoking process's cpuset."
3358 msgstr ""
3359 "Cpusets are integrated with the B<sched_setaffinity>(2)  scheduling affinity "
3360 "mechanism and the B<mbind>(2)  and B<set_mempolicy>(2)  memory-placement "
3361 "mechanisms in the kernel.  Neither of these mechanisms let a process make "
3362 "use of a CPU or memory node that is not allowed by that process's cpuset.  "
3363 "If changes to a process's cpuset placement conflict with these other "
3364 "mechanisms, then cpuset placement is enforced even if it means overriding "
3365 "these other mechanisms.  The kernel accomplishes this overriding by silently "
3366 "restricting the CPUs and memory nodes requested by these other mechanisms to "
3367 "those allowed by the invoking process's cpuset.  This can result in these "
3368 "other calls returning an error, if for example, such a call ends up "
3369 "requesting an empty set of CPUs or memory nodes, after that request is "
3370 "restricted to the invoking process's cpuset."
3371
3372 #. type: Plain text
3373 #: build/C/man7/cpuset.7:119
3374 msgid ""
3375 "Typically, a cpuset is used to manage the CPU and memory-node confinement "
3376 "for a set of cooperating processes such as a batch scheduler job, and these "
3377 "other mechanisms are used to manage the placement of individual processes or "
3378 "memory regions within that set or job."
3379 msgstr ""
3380 "Typically, a cpuset is used to manage the CPU and memory-node confinement "
3381 "for a set of cooperating processes such as a batch scheduler job, and these "
3382 "other mechanisms are used to manage the placement of individual processes or "
3383 "memory regions within that set or job."
3384
3385 #. type: SH
3386 #: build/C/man7/cpuset.7:119
3387 #, no-wrap
3388 msgid "FILES"
3389 msgstr "FILES"
3390
3391 #. type: Plain text
3392 #: build/C/man7/cpuset.7:124
3393 msgid ""
3394 "Each directory below I</dev/cpuset> represents a cpuset and contains a fixed "
3395 "set of pseudo-files describing the state of that cpuset."
3396 msgstr ""
3397 "Each directory below I</dev/cpuset> represents a cpuset and contains a fixed "
3398 "set of pseudo-files describing the state of that cpuset."
3399
3400 #. type: Plain text
3401 #: build/C/man7/cpuset.7:134
3402 msgid ""
3403 "New cpusets are created using the B<mkdir>(2)  system call or the B<mkdir>"
3404 "(1)  command.  The properties of a cpuset, such as its flags, allowed CPUs "
3405 "and memory nodes, and attached processes, are queried and modified by "
3406 "reading or writing to the appropriate file in that cpuset's directory, as "
3407 "listed below."
3408 msgstr ""
3409 "New cpusets are created using the B<mkdir>(2)  system call or the B<mkdir>"
3410 "(1)  command.  The properties of a cpuset, such as its flags, allowed CPUs "
3411 "and memory nodes, and attached processes, are queried and modified by "
3412 "reading or writing to the appropriate file in that cpuset's directory, as "
3413 "listed below."
3414
3415 #. type: Plain text
3416 #: build/C/man7/cpuset.7:140
3417 msgid ""
3418 "The pseudo-files in each cpuset directory are automatically created when the "
3419 "cpuset is created, as a result of the B<mkdir>(2)  invocation.  It is not "
3420 "possible to directly add or remove these pseudo-files."
3421 msgstr ""
3422 "The pseudo-files in each cpuset directory are automatically created when the "
3423 "cpuset is created, as a result of the B<mkdir>(2)  invocation.  It is not "
3424 "possible to directly add or remove these pseudo-files."
3425
3426 #. type: Plain text
3427 #: build/C/man7/cpuset.7:148
3428 msgid ""
3429 "A cpuset directory that contains no child cpuset directories, and has no "
3430 "attached processes, can be removed using B<rmdir>(2)  or B<rmdir>(1).  It is "
3431 "not necessary, or possible, to remove the pseudo-files inside the directory "
3432 "before removing it."
3433 msgstr ""
3434 "A cpuset directory that contains no child cpuset directories, and has no "
3435 "attached processes, can be removed using B<rmdir>(2)  or B<rmdir>(1).  It is "
3436 "not necessary, or possible, to remove the pseudo-files inside the directory "
3437 "before removing it."
3438
3439 #. type: Plain text
3440 #: build/C/man7/cpuset.7:162
3441 msgid ""
3442 "The pseudo-files in each cpuset directory are small text files that may be "
3443 "read and written using traditional shell utilities such as B<cat>(1), and "
3444 "B<echo>(1), or from a program by using file I/O library functions or system "
3445 "calls, such as B<open>(2), B<read>(2), B<write>(2), and B<close>(2)."
3446 msgstr ""
3447 "The pseudo-files in each cpuset directory are small text files that may be "
3448 "read and written using traditional shell utilities such as B<cat>(1), and "
3449 "B<echo>(1), or from a program by using file I/O library functions or system "
3450 "calls, such as B<open>(2), B<read>(2), B<write>(2), and B<close>(2)."
3451
3452 #.  ====================== tasks ======================
3453 #. type: Plain text
3454 #: build/C/man7/cpuset.7:167
3455 msgid ""
3456 "The pseudo-files in a cpuset directory represent internal kernel state and "
3457 "do not have any persistent image on disk.  Each of these per-cpuset files is "
3458 "listed and described below."
3459 msgstr ""
3460 "The pseudo-files in a cpuset directory represent internal kernel state and "
3461 "do not have any persistent image on disk.  Each of these per-cpuset files is "
3462 "listed and described below."
3463
3464 #. type: TP
3465 #: build/C/man7/cpuset.7:167
3466 #, no-wrap
3467 msgid "I<tasks>"
3468 msgstr "I<tasks>"
3469
3470 #. type: Plain text
3471 #: build/C/man7/cpuset.7:177
3472 msgid ""
3473 "List of the process IDs (PIDs) of the processes in that cpuset.  The list is "
3474 "formatted as a series of ASCII decimal numbers, each followed by a newline.  "
3475 "A process may be added to a cpuset (automatically removing it from the "
3476 "cpuset that previously contained it) by writing its PID to that cpuset's "
3477 "I<tasks> file (with or without a trailing newline.)"
3478 msgstr ""
3479 "List of the process IDs (PIDs) of the processes in that cpuset.  The list is "
3480 "formatted as a series of ASCII decimal numbers, each followed by a newline.  "
3481 "A process may be added to a cpuset (automatically removing it from the "
3482 "cpuset that previously contained it) by writing its PID to that cpuset's "
3483 "I<tasks> file (with or without a trailing newline.)"
3484
3485 #.  =================== notify_on_release ===================
3486 #. type: Plain text
3487 #: build/C/man7/cpuset.7:185
3488 msgid ""
3489 "B<Warning:> only one PID may be written to the I<tasks> file at a time.  If "
3490 "a string is written that contains more than one PID, only the first one will "
3491 "be used."
3492 msgstr ""
3493 "B<Warning:> only one PID may be written to the I<tasks> file at a time.  If "
3494 "a string is written that contains more than one PID, only the first one will "
3495 "be used."
3496
3497 #. type: TP
3498 #: build/C/man7/cpuset.7:185
3499 #, no-wrap
3500 msgid "I<notify_on_release>"
3501 msgstr "I<notify_on_release>"
3502
3503 #.  ====================== cpus ======================
3504 #. type: Plain text
3505 #: build/C/man7/cpuset.7:194
3506 msgid ""
3507 "Flag (0 or 1).  If set (1), that cpuset will receive special handling after "
3508 "it is released, that is, after all processes cease using it (i.e., terminate "
3509 "or are moved to a different cpuset)  and all child cpuset directories have "
3510 "been removed.  See the B<Notify On Release> section, below."
3511 msgstr ""
3512 "Flag (0 or 1).  If set (1), that cpuset will receive special handling after "
3513 "it is released, that is, after all processes cease using it (i.e., terminate "
3514 "or are moved to a different cpuset)  and all child cpuset directories have "
3515 "been removed.  See the B<Notify On Release> section, below."
3516
3517 #. type: TP
3518 #: build/C/man7/cpuset.7:194
3519 #, no-wrap
3520 msgid "I<cpus>"
3521 msgstr "I<cpus>"
3522
3523 #. type: Plain text
3524 #: build/C/man7/cpuset.7:201
3525 msgid ""
3526 "List of the physical numbers of the CPUs on which processes in that cpuset "
3527 "are allowed to execute.  See B<List Format> below for a description of the "
3528 "format of I<cpus>."
3529 msgstr ""
3530 "List of the physical numbers of the CPUs on which processes in that cpuset "
3531 "are allowed to execute.  See B<List Format> below for a description of the "
3532 "format of I<cpus>."
3533
3534 #.  ==================== cpu_exclusive ====================
3535 #. type: Plain text
3536 #: build/C/man7/cpuset.7:207
3537 msgid ""
3538 "The CPUs allowed to a cpuset may be changed by writing a new list to its "
3539 "I<cpus> file."
3540 msgstr ""
3541 "The CPUs allowed to a cpuset may be changed by writing a new list to its "
3542 "I<cpus> file."
3543
3544 #. type: TP
3545 #: build/C/man7/cpuset.7:207
3546 #, no-wrap
3547 msgid "I<cpu_exclusive>"
3548 msgstr "I<cpu_exclusive>"
3549
3550 #. type: Plain text
3551 #: build/C/man7/cpuset.7:214
3552 msgid ""
3553 "Flag (0 or 1).  If set (1), the cpuset has exclusive use of its CPUs (no "
3554 "sibling or cousin cpuset may overlap CPUs).  By default this is off (0).  "
3555 "Newly created cpusets also initially default this to off (0)."
3556 msgstr ""
3557 "Flag (0 or 1).  If set (1), the cpuset has exclusive use of its CPUs (no "
3558 "sibling or cousin cpuset may overlap CPUs).  By default this is off (0).  "
3559 "Newly created cpusets also initially default this to off (0)."
3560
3561 #.  ====================== mems ======================
3562 #. type: Plain text
3563 #: build/C/man7/cpuset.7:236
3564 msgid ""
3565 "Two cpusets are I<sibling> cpusets if they share the same parent cpuset in "
3566 "the I</dev/cpuset> hierarchy.  Two cpusets are I<cousin> cpusets if neither "
3567 "is the ancestor of the other.  Regardless of the I<cpu_exclusive> setting, "
3568 "if one cpuset is the ancestor of another, and if both of these cpusets have "
3569 "nonempty I<cpus>, then their I<cpus> must overlap, because the I<cpus> of "
3570 "any cpuset are always a subset of the I<cpus> of its parent cpuset."
3571 msgstr ""
3572 "Two cpusets are I<sibling> cpusets if they share the same parent cpuset in "
3573 "the I</dev/cpuset> hierarchy.  Two cpusets are I<cousin> cpusets if neither "
3574 "is the ancestor of the other.  Regardless of the I<cpu_exclusive> setting, "
3575 "if one cpuset is the ancestor of another, and if both of these cpusets have "
3576 "nonempty I<cpus>, then their I<cpus> must overlap, because the I<cpus> of "
3577 "any cpuset are always a subset of the I<cpus> of its parent cpuset."
3578
3579 #. type: TP
3580 #: build/C/man7/cpuset.7:236
3581 #, no-wrap
3582 msgid "I<mems>"
3583 msgstr "I<mems>"
3584
3585 #.  ==================== mem_exclusive ====================
3586 #. type: Plain text
3587 #: build/C/man7/cpuset.7:244
3588 msgid ""
3589 "List of memory nodes on which processes in this cpuset are allowed to "
3590 "allocate memory.  See B<List Format> below for a description of the format "
3591 "of I<mems>."
3592 msgstr ""
3593 "List of memory nodes on which processes in this cpuset are allowed to "
3594 "allocate memory.  See B<List Format> below for a description of the format "
3595 "of I<mems>."
3596
3597 #. type: TP
3598 #: build/C/man7/cpuset.7:244
3599 #, no-wrap
3600 msgid "I<mem_exclusive>"
3601 msgstr "I<mem_exclusive>"
3602
3603 #. type: Plain text
3604 #: build/C/man7/cpuset.7:252
3605 msgid ""
3606 "Flag (0 or 1).  If set (1), the cpuset has exclusive use of its memory nodes "
3607 "(no sibling or cousin may overlap).  Also if set (1), the cpuset is a "
3608 "B<Hardwall> cpuset (see below.)  By default this is off (0).  Newly created "
3609 "cpusets also initially default this to off (0)."
3610 msgstr ""
3611 "Flag (0 or 1).  If set (1), the cpuset has exclusive use of its memory nodes "
3612 "(no sibling or cousin may overlap).  Also if set (1), the cpuset is a "
3613 "B<Hardwall> cpuset (see below.)  By default this is off (0).  Newly created "
3614 "cpusets also initially default this to off (0)."
3615
3616 #.  ==================== mem_hardwall ====================
3617 #. type: Plain text
3618 #: build/C/man7/cpuset.7:260
3619 msgid ""
3620 "Regardless of the I<mem_exclusive> setting, if one cpuset is the ancestor of "
3621 "another, then their memory nodes must overlap, because the memory nodes of "
3622 "any cpuset are always a subset of the memory nodes of that cpuset's parent "
3623 "cpuset."
3624 msgstr ""
3625 "Regardless of the I<mem_exclusive> setting, if one cpuset is the ancestor of "
3626 "another, then their memory nodes must overlap, because the memory nodes of "
3627 "any cpuset are always a subset of the memory nodes of that cpuset's parent "
3628 "cpuset."
3629
3630 #. type: TP
3631 #: build/C/man7/cpuset.7:260
3632 #, no-wrap
3633 msgid "I<mem_hardwall> (since Linux 2.6.26)"
3634 msgstr "I<mem_hardwall> (since Linux 2.6.26)"
3635
3636 #.  ==================== memory_migrate ====================
3637 #. type: Plain text
3638 #: build/C/man7/cpuset.7:271
3639 msgid ""
3640 "Flag (0 or 1).  If set (1), the cpuset is a B<Hardwall> cpuset (see below.)  "
3641 "Unlike B<mem_exclusive>, there is no constraint on whether cpusets marked "
3642 "B<mem_hardwall> may have overlapping memory nodes with sibling or cousin "
3643 "cpusets.  By default this is off (0).  Newly created cpusets also initially "
3644 "default this to off (0)."
3645 msgstr ""
3646 "Flag (0 or 1).  If set (1), the cpuset is a B<Hardwall> cpuset (see below.)  "
3647 "Unlike B<mem_exclusive>, there is no constraint on whether cpusets marked "
3648 "B<mem_hardwall> may have overlapping memory nodes with sibling or cousin "
3649 "cpusets.  By default this is off (0).  Newly created cpusets also initially "
3650 "default this to off (0)."
3651
3652 #. type: TP
3653 #: build/C/man7/cpuset.7:271
3654 #, no-wrap
3655 msgid "I<memory_migrate> (since Linux 2.6.16)"
3656 msgstr "I<memory_migrate> (since Linux 2.6.16)"
3657
3658 #.  ==================== memory_pressure ====================
3659 #. type: Plain text
3660 #: build/C/man7/cpuset.7:278
3661 msgid ""
3662 "Flag (0 or 1).  If set (1), then memory migration is enabled.  By default "
3663 "this is off (0).  See the B<Memory Migration> section, below."
3664 msgstr ""
3665 "Flag (0 or 1).  If set (1), then memory migration is enabled.  By default "
3666 "this is off (0).  See the B<Memory Migration> section, below."
3667
3668 #. type: TP
3669 #: build/C/man7/cpuset.7:278
3670 #, no-wrap
3671 msgid "I<memory_pressure> (since Linux 2.6.16)"
3672 msgstr "I<memory_pressure> (since Linux 2.6.16)"
3673
3674 #.  ================= memory_pressure_enabled =================
3675 #. type: Plain text
3676 #: build/C/man7/cpuset.7:291
3677 msgid ""
3678 "A measure of how much memory pressure the processes in this cpuset are "
3679 "causing.  See the B<Memory Pressure> section, below.  Unless "
3680 "I<memory_pressure_enabled> is enabled, always has value zero (0).  This file "
3681 "is read-only.  See the B<WARNINGS> section, below."
3682 msgstr ""
3683 "A measure of how much memory pressure the processes in this cpuset are "
3684 "causing.  See the B<Memory Pressure> section, below.  Unless "
3685 "I<memory_pressure_enabled> is enabled, always has value zero (0).  This file "
3686 "is read-only.  See the B<WARNINGS> section, below."
3687
3688 #. type: TP
3689 #: build/C/man7/cpuset.7:291
3690 #, no-wrap
3691 msgid "I<memory_pressure_enabled> (since Linux 2.6.16)"
3692 msgstr "I<memory_pressure_enabled> (since Linux 2.6.16)"
3693
3694 #.  ================== memory_spread_page ==================
3695 #. type: Plain text
3696 #: build/C/man7/cpuset.7:303
3697 msgid ""
3698 "Flag (0 or 1).  This file is only present in the root cpuset, normally I</"
3699 "dev/cpuset>.  If set (1), the I<memory_pressure> calculations are enabled "
3700 "for all cpusets in the system.  By default this is off (0).  See the "
3701 "B<Memory Pressure> section, below."
3702 msgstr ""
3703 "Flag (0 or 1).  This file is only present in the root cpuset, normally I</"
3704 "dev/cpuset>.  If set (1), the I<memory_pressure> calculations are enabled "
3705 "for all cpusets in the system.  By default this is off (0).  See the "
3706 "B<Memory Pressure> section, below."
3707
3708 #. type: TP
3709 #: build/C/man7/cpuset.7:303
3710 #, no-wrap
3711 msgid "I<memory_spread_page> (since Linux 2.6.17)"
3712 msgstr "I<memory_spread_page> (since Linux 2.6.17)"
3713
3714 #.  ================== memory_spread_slab ==================
3715 #. type: Plain text
3716 #: build/C/man7/cpuset.7:313
3717 msgid ""
3718 "Flag (0 or 1).  If set (1), pages in the kernel page cache (file-system "
3719 "buffers) are uniformly spread across the cpuset.  By default this is off (0) "
3720 "in the top cpuset, and inherited from the parent cpuset in newly created "
3721 "cpusets.  See the B<Memory Spread> section, below."
3722 msgstr ""
3723 "Flag (0 or 1).  If set (1), pages in the kernel page cache (file-system "
3724 "buffers) are uniformly spread across the cpuset.  By default this is off (0) "
3725 "in the top cpuset, and inherited from the parent cpuset in newly created "
3726 "cpusets.  See the B<Memory Spread> section, below."
3727
3728 #. type: TP
3729 #: build/C/man7/cpuset.7:313
3730 #, no-wrap
3731 msgid "I<memory_spread_slab> (since Linux 2.6.17)"
3732 msgstr "I<memory_spread_slab> (since Linux 2.6.17)"
3733
3734 #.  ================== sched_load_balance ==================
3735 #. type: Plain text
3736 #: build/C/man7/cpuset.7:324
3737 msgid ""
3738 "Flag (0 or 1).  If set (1), the kernel slab caches for file I/O (directory "
3739 "and inode structures) are uniformly spread across the cpuset.  By default "
3740 "this is off (0) in the top cpuset, and inherited from the parent cpuset in "
3741 "newly created cpusets.  See the B<Memory Spread> section, below."
3742 msgstr ""
3743 "Flag (0 or 1).  If set (1), the kernel slab caches for file I/O (directory "
3744 "and inode structures) are uniformly spread across the cpuset.  By default "
3745 "this is off (0) in the top cpuset, and inherited from the parent cpuset in "
3746 "newly created cpusets.  See the B<Memory Spread> section, below."
3747
3748 #. type: TP
3749 #: build/C/man7/cpuset.7:324
3750 #, no-wrap
3751 msgid "I<sched_load_balance> (since Linux 2.6.24)"
3752 msgstr "I<sched_load_balance> (since Linux 2.6.24)"
3753
3754 #.  ================== sched_relax_domain_level ==================
3755 #. type: Plain text
3756 #: build/C/man7/cpuset.7:338
3757 msgid ""
3758 "Flag (0 or 1).  If set (1, the default) the kernel will automatically load "
3759 "balance processes in that cpuset over the allowed CPUs in that cpuset.  If "
3760 "cleared (0) the kernel will avoid load balancing processes in this cpuset, "
3761 "I<unless> some other cpuset with overlapping CPUs has its "
3762 "I<sched_load_balance> flag set.  See B<Scheduler Load Balancing>, below, for "
3763 "further details."
3764 msgstr ""
3765 "Flag (0 or 1).  If set (1, the default) the kernel will automatically load "
3766 "balance processes in that cpuset over the allowed CPUs in that cpuset.  If "
3767 "cleared (0) the kernel will avoid load balancing processes in this cpuset, "
3768 "I<unless> some other cpuset with overlapping CPUs has its "
3769 "I<sched_load_balance> flag set.  See B<Scheduler Load Balancing>, below, for "
3770 "further details."
3771
3772 #. type: TP
3773 #: build/C/man7/cpuset.7:338
3774 #, no-wrap
3775 msgid "I<sched_relax_domain_level> (since Linux 2.6.26)"
3776 msgstr "I<sched_relax_domain_level> (since Linux 2.6.26)"
3777
3778 #.  ================== proc cpuset ==================
3779 #. type: Plain text
3780 #: build/C/man7/cpuset.7:358
3781 msgid ""
3782 "Integer, between -1 and a small positive value.  The "
3783 "I<sched_relax_domain_level> controls the width of the range of CPUs over "
3784 "which the kernel scheduler performs immediate rebalancing of runnable tasks "
3785 "across CPUs.  If I<sched_load_balance> is disabled, then the setting of "
3786 "I<sched_relax_domain_level> does not matter, as no such load balancing is "
3787 "done.  If I<sched_load_balance> is enabled, then the higher the value of the "
3788 "I<sched_relax_domain_level>, the wider the range of CPUs over which "
3789 "immediate load balancing is attempted.  See B<Scheduler Relax Domain Level>, "
3790 "below, for further details."
3791 msgstr ""
3792 "Integer, between -1 and a small positive value.  The "
3793 "I<sched_relax_domain_level> controls the width of the range of CPUs over "
3794 "which the kernel scheduler performs immediate rebalancing of runnable tasks "
3795 "across CPUs.  If I<sched_load_balance> is disabled, then the setting of "
3796 "I<sched_relax_domain_level> does not matter, as no such load balancing is "
3797 "done.  If I<sched_load_balance> is enabled, then the higher the value of the "
3798 "I<sched_relax_domain_level>, the wider the range of CPUs over which "
3799 "immediate load balancing is attempted.  See B<Scheduler Relax Domain Level>, "
3800 "below, for further details."
3801
3802 #.  ================== proc status ==================
3803 #. type: Plain text
3804 #: build/C/man7/cpuset.7:366
3805 msgid ""
3806 "In addition to the above pseudo-files in each directory below I</dev/"
3807 "cpuset>, each process has a pseudo-file, I</proc/E<lt>pidE<gt>/cpuset>, that "
3808 "displays the path of the process's cpuset directory relative to the root of "
3809 "the cpuset file system."
3810 msgstr ""
3811 "In addition to the above pseudo-files in each directory below I</dev/"
3812 "cpuset>, each process has a pseudo-file, I</proc/E<lt>pidE<gt>/cpuset>, that "
3813 "displays the path of the process's cpuset directory relative to the root of "
3814 "the cpuset file system."
3815
3816 #. type: Plain text
3817 #: build/C/man7/cpuset.7:377
3818 msgid ""
3819 "Also the I</proc/E<lt>pidE<gt>/status> file for each process has four added "
3820 "lines, displaying the process's I<Cpus_allowed> (on which CPUs it may be "
3821 "scheduled) and I<Mems_allowed> (on which memory nodes it may obtain memory), "
3822 "in the two formats B<Mask Format> and B<List Format> (see below)  as shown "
3823 "in the following example:"
3824 msgstr ""
3825 "Also the I</proc/E<lt>pidE<gt>/status> file for each process has four added "
3826 "lines, displaying the process's I<Cpus_allowed> (on which CPUs it may be "
3827 "scheduled) and I<Mems_allowed> (on which memory nodes it may obtain memory), "
3828 "in the two formats B<Mask Format> and B<List Format> (see below)  as shown "
3829 "in the following example:"
3830
3831 #. type: Plain text
3832 #: build/C/man7/cpuset.7:384
3833 #, no-wrap
3834 msgid ""
3835 "Cpus_allowed:   ffffffff,ffffffff,ffffffff,ffffffff\n"
3836 "Cpus_allowed_list:     0-127\n"
3837 "Mems_allowed:   ffffffff,ffffffff\n"
3838 "Mems_allowed_list:     0-63\n"
3839 msgstr ""
3840 "Cpus_allowed:   ffffffff,ffffffff,ffffffff,ffffffff\n"
3841 "Cpus_allowed_list:     0-127\n"
3842 "Mems_allowed:   ffffffff,ffffffff\n"
3843 "Mems_allowed_list:     0-63\n"
3844
3845 #.  ================== EXTENDED CAPABILITIES ==================
3846 #. type: Plain text
3847 #: build/C/man7/cpuset.7:390
3848 msgid ""
3849 "The \"allowed\" fields were added in Linux 2.6.24; the \"allowed_list\" "
3850 "fields were added in Linux 2.6.26."
3851 msgstr ""
3852 "The \"allowed\" fields were added in Linux 2.6.24; the \"allowed_list\" "
3853 "fields were added in Linux 2.6.26."
3854
3855 #. type: SH
3856 #: build/C/man7/cpuset.7:390
3857 #, no-wrap
3858 msgid "EXTENDED CAPABILITIES"
3859 msgstr "EXTENDED CAPABILITIES"
3860
3861 #.  ================== Exclusive Cpusets ==================
3862 #. type: Plain text
3863 #: build/C/man7/cpuset.7:398
3864 msgid ""
3865 "In addition to controlling which I<cpus> and I<mems> a process is allowed to "
3866 "use, cpusets provide the following extended capabilities."
3867 msgstr ""
3868 "In addition to controlling which I<cpus> and I<mems> a process is allowed to "
3869 "use, cpusets provide the following extended capabilities."
3870
3871 #. type: SS
3872 #: build/C/man7/cpuset.7:398
3873 #, no-wrap
3874 msgid "Exclusive Cpusets"
3875 msgstr "Exclusive Cpusets"
3876
3877 #. type: Plain text
3878 #: build/C/man7/cpuset.7:405
3879 msgid ""
3880 "If a cpuset is marked I<cpu_exclusive> or I<mem_exclusive>, no other cpuset, "
3881 "other than a direct ancestor or descendant, may share any of the same CPUs "
3882 "or memory nodes."
3883 msgstr ""
3884 "If a cpuset is marked I<cpu_exclusive> or I<mem_exclusive>, no other cpuset, "
3885 "other than a direct ancestor or descendant, may share any of the same CPUs "
3886 "or memory nodes."
3887
3888 #.  ================== Hardwall ==================
3889 #. type: Plain text
3890 #: build/C/man7/cpuset.7:431
3891 msgid ""
3892 "A cpuset that is I<mem_exclusive> restricts kernel allocations for buffer "
3893 "cache pages and other internal kernel data pages commonly shared by the "
3894 "kernel across multiple users.  All cpusets, whether I<mem_exclusive> or not, "
3895 "restrict allocations of memory for user space.  This enables configuring a "
3896 "system so that several independent jobs can share common kernel data, while "
3897 "isolating each job's user allocation in its own cpuset.  To do this, "
3898 "construct a large I<mem_exclusive> cpuset to hold all the jobs, and "
3899 "construct child, non-I<mem_exclusive> cpusets for each individual job.  Only "
3900 "a small amount of kernel memory, such as requests from interrupt handlers, "
3901 "is allowed to be placed on memory nodes outside even a I<mem_exclusive> "
3902 "cpuset."
3903 msgstr ""
3904 "A cpuset that is I<mem_exclusive> restricts kernel allocations for buffer "
3905 "cache pages and other internal kernel data pages commonly shared by the "
3906 "kernel across multiple users.  All cpusets, whether I<mem_exclusive> or not, "
3907 "restrict allocations of memory for user space.  This enables configuring a "
3908 "system so that several independent jobs can share common kernel data, while "
3909 "isolating each job's user allocation in its own cpuset.  To do this, "
3910 "construct a large I<mem_exclusive> cpuset to hold all the jobs, and "
3911 "construct child, non-I<mem_exclusive> cpusets for each individual job.  Only "
3912 "a small amount of kernel memory, such as requests from interrupt handlers, "
3913 "is allowed to be placed on memory nodes outside even a I<mem_exclusive> "
3914 "cpuset."
3915
3916 #. type: SS
3917 #: build/C/man7/cpuset.7:431
3918 #, no-wrap
3919 msgid "Hardwall"
3920 msgstr "Hardwall"
3921
3922 #. type: Plain text
3923 #: build/C/man7/cpuset.7:446
3924 msgid ""
3925 "A cpuset that has I<mem_exclusive> or I<mem_hardwall> set is a I<hardwall> "
3926 "cpuset.  A I<hardwall> cpuset restricts kernel allocations for page, buffer, "
3927 "and other data commonly shared by the kernel across multiple users.  All "
3928 "cpusets, whether I<hardwall> or not, restrict allocations of memory for user "
3929 "space."
3930 msgstr ""
3931 "A cpuset that has I<mem_exclusive> or I<mem_hardwall> set is a I<hardwall> "
3932 "cpuset.  A I<hardwall> cpuset restricts kernel allocations for page, buffer, "
3933 "and other data commonly shared by the kernel across multiple users.  All "
3934 "cpusets, whether I<hardwall> or not, restrict allocations of memory for user "
3935 "space."
3936
3937 #. type: Plain text
3938 #: build/C/man7/cpuset.7:457
3939 msgid ""
3940 "This enables configuring a system so that several independent jobs can share "
3941 "common kernel data, such as file system pages, while isolating each job's "
3942 "user allocation in its own cpuset.  To do this, construct a large "
3943 "I<hardwall> cpuset to hold all the jobs, and construct child cpusets for "
3944 "each individual job which are not I<hardwall> cpusets."
3945 msgstr ""
3946 "This enables configuring a system so that several independent jobs can share "
3947 "common kernel data, such as file system pages, while isolating each job's "
3948 "user allocation in its own cpuset.  To do this, construct a large "
3949 "I<hardwall> cpuset to hold all the jobs, and construct child cpusets for "
3950 "each individual job which are not I<hardwall> cpusets."
3951
3952 #.  ================== Notify On Release ==================
3953 #. type: Plain text
3954 #: build/C/man7/cpuset.7:463
3955 msgid ""
3956 "Only a small amount of kernel memory, such as requests from interrupt "
3957 "handlers, is allowed to be taken outside even a I<hardwall> cpuset."
3958 msgstr ""
3959 "Only a small amount of kernel memory, such as requests from interrupt "
3960 "handlers, is allowed to be taken outside even a I<hardwall> cpuset."
3961
3962 #. type: SS
3963 #: build/C/man7/cpuset.7:463
3964 #, no-wrap
3965 msgid "Notify On Release"
3966 msgstr "Notify On Release"
3967
3968 #. type: Plain text
3969 #: build/C/man7/cpuset.7:475
3970 msgid ""
3971 "If the I<notify_on_release> flag is enabled (1) in a cpuset, then whenever "
3972 "the last process in the cpuset leaves (exits or attaches to some other "
3973 "cpuset)  and the last child cpuset of that cpuset is removed, the kernel "
3974 "will run the command I</sbin/cpuset_release_agent>, supplying the pathname "
3975 "(relative to the mount point of the cpuset file system) of the abandoned "
3976 "cpuset.  This enables automatic removal of abandoned cpusets."
3977 msgstr ""
3978 "If the I<notify_on_release> flag is enabled (1) in a cpuset, then whenever "
3979 "the last process in the cpuset leaves (exits or attaches to some other "
3980 "cpuset)  and the last child cpuset of that cpuset is removed, the kernel "
3981 "will run the command I</sbin/cpuset_release_agent>, supplying the pathname "
3982 "(relative to the mount point of the cpuset file system) of the abandoned "
3983 "cpuset.  This enables automatic removal of abandoned cpusets."
3984
3985 #. type: Plain text
3986 #: build/C/man7/cpuset.7:483
3987 msgid ""
3988 "The default value of I<notify_on_release> in the root cpuset at system boot "
3989 "is disabled (0).  The default value of other cpusets at creation is the "
3990 "current value of their parent's I<notify_on_release> setting."
3991 msgstr ""
3992 "The default value of I<notify_on_release> in the root cpuset at system boot "
3993 "is disabled (0).  The default value of other cpusets at creation is the "
3994 "current value of their parent's I<notify_on_release> setting."
3995
3996 #. type: Plain text
3997 #: build/C/man7/cpuset.7:491
3998 msgid ""
3999 "The command I</sbin/cpuset_release_agent> is invoked, with the name (I</dev/"
4000 "cpuset> relative path)  of the to-be-released cpuset in I<argv[1]>."
4001 msgstr ""
4002 "The command I</sbin/cpuset_release_agent> is invoked, with the name (I</dev/"
4003 "cpuset> relative path)  of the to-be-released cpuset in I<argv[1]>."
4004
4005 #. type: Plain text
4006 #: build/C/man7/cpuset.7:495
4007 msgid ""
4008 "The usual contents of the command I</sbin/cpuset_release_agent> is simply "
4009 "the shell script:"
4010 msgstr ""
4011 "The usual contents of the command I</sbin/cpuset_release_agent> is simply "
4012 "the shell script:"
4013
4014 #. type: Plain text
4015 #: build/C/man7/cpuset.7:500
4016 #, no-wrap
4017 msgid ""
4018 "#!/bin/sh\n"
4019 "rmdir /dev/cpuset/$1\n"
4020 msgstr ""
4021 "#!/bin/sh\n"
4022 "rmdir /dev/cpuset/$1\n"
4023
4024 #.  ================== Memory Pressure ==================
4025 #. type: Plain text
4026 #: build/C/man7/cpuset.7:508
4027 msgid ""
4028 "As with other flag values below, this flag can be changed by writing an "
4029 "ASCII number 0 or 1 (with optional trailing newline)  into the file, to "
4030 "clear or set the flag, respectively."
4031 msgstr ""
4032 "As with other flag values below, this flag can be changed by writing an "
4033 "ASCII number 0 or 1 (with optional trailing newline)  into the file, to "
4034 "clear or set the flag, respectively."
4035
4036 #. type: SS
4037 #: build/C/man7/cpuset.7:508
4038 #, no-wrap
4039 msgid "Memory Pressure"
4040 msgstr "Memory Pressure"
4041
4042 #. type: Plain text
4043 #: build/C/man7/cpuset.7:514
4044 msgid ""
4045 "The I<memory_pressure> of a cpuset provides a simple per-cpuset running "
4046 "average of the rate that the processes in a cpuset are attempting to free up "
4047 "in-use memory on the nodes of the cpuset to satisfy additional memory "
4048 "requests."
4049 msgstr ""
4050 "The I<memory_pressure> of a cpuset provides a simple per-cpuset running "
4051 "average of the rate that the processes in a cpuset are attempting to free up "
4052 "in-use memory on the nodes of the cpuset to satisfy additional memory "
4053 "requests."
4054
4055 #. type: Plain text
4056 #: build/C/man7/cpuset.7:518
4057 msgid ""
4058 "This enables batch managers that are monitoring jobs running in dedicated "
4059 "cpusets to efficiently detect what level of memory pressure that job is "
4060 "causing."
4061 msgstr ""
4062 "This enables batch managers that are monitoring jobs running in dedicated "
4063 "cpusets to efficiently detect what level of memory pressure that job is "
4064 "causing."
4065
4066 #. type: Plain text
4067 #: build/C/man7/cpuset.7:525
4068 msgid ""
4069 "This is useful both on tightly managed systems running a wide mix of "
4070 "submitted jobs, which may choose to terminate or reprioritize jobs that are "
4071 "trying to use more memory than allowed on the nodes assigned them, and with "
4072 "tightly coupled, long-running, massively parallel scientific computing jobs "
4073 "that will dramatically fail to meet required performance goals if they start "
4074 "to use more memory than allowed to them."
4075 msgstr ""
4076 "This is useful both on tightly managed systems running a wide mix of "
4077 "submitted jobs, which may choose to terminate or reprioritize jobs that are "
4078 "trying to use more memory than allowed on the nodes assigned them, and with "
4079 "tightly coupled, long-running, massively parallel scientific computing jobs "
4080 "that will dramatically fail to meet required performance goals if they start "
4081 "to use more memory than allowed to them."
4082
4083 #. type: Plain text
4084 #: build/C/man7/cpuset.7:530
4085 msgid ""
4086 "This mechanism provides a very economical way for the batch manager to "
4087 "monitor a cpuset for signs of memory pressure.  It's up to the batch manager "
4088 "or other user code to decide what action to take if it detects signs of "
4089 "memory pressure."
4090 msgstr ""
4091 "This mechanism provides a very economical way for the batch manager to "
4092 "monitor a cpuset for signs of memory pressure.  It's up to the batch manager "
4093 "or other user code to decide what action to take if it detects signs of "
4094 "memory pressure."
4095
4096 #. type: Plain text
4097 #: build/C/man7/cpuset.7:537
4098 msgid ""
4099 "Unless memory pressure calculation is enabled by setting the pseudo-file I</"
4100 "dev/cpuset/memory_pressure_enabled>, it is not computed for any cpuset, and "
4101 "reads from any I<memory_pressure> always return zero, as represented by the "
4102 "ASCII string \"0\\en\".  See the B<WARNINGS> section, below."
4103 msgstr ""
4104 "Unless memory pressure calculation is enabled by setting the pseudo-file I</"
4105 "dev/cpuset/memory_pressure_enabled>, it is not computed for any cpuset, and "
4106 "reads from any I<memory_pressure> always return zero, as represented by the "
4107 "ASCII string \"0\\en\".  See the B<WARNINGS> section, below."
4108
4109 #. type: Plain text
4110 #: build/C/man7/cpuset.7:539
4111 msgid "A per-cpuset, running average is employed for the following reasons:"
4112 msgstr "A per-cpuset, running average is employed for the following reasons:"
4113
4114 #. type: Plain text
4115 #: build/C/man7/cpuset.7:544
4116 msgid ""
4117 "Because this meter is per-cpuset rather than per-process or per virtual "
4118 "memory region, the system load imposed by a batch scheduler monitoring this "
4119 "metric is sharply reduced on large systems, because a scan of the tasklist "
4120 "can be avoided on each set of queries."
4121 msgstr ""
4122 "Because this meter is per-cpuset rather than per-process or per virtual "
4123 "memory region, the system load imposed by a batch scheduler monitoring this "
4124 "metric is sharply reduced on large systems, because a scan of the tasklist "
4125 "can be avoided on each set of queries."
4126
4127 #. type: Plain text
4128 #: build/C/man7/cpuset.7:549
4129 msgid ""
4130 "Because this meter is a running average rather than an accumulating counter, "
4131 "a batch scheduler can detect memory pressure with a single read, instead of "
4132 "having to read and accumulate results for a period of time."
4133 msgstr ""
4134 "Because this meter is a running average rather than an accumulating counter, "
4135 "a batch scheduler can detect memory pressure with a single read, instead of "
4136 "having to read and accumulate results for a period of time."
4137
4138 #. type: Plain text
4139 #: build/C/man7/cpuset.7:555
4140 msgid ""
4141 "Because this meter is per-cpuset rather than per-process, the batch "
4142 "scheduler can obtain the key information\\(emmemory pressure in a cpuset"
4143 "\\(emwith a single read, rather than having to query and accumulate results "
4144 "over all the (dynamically changing)  set of processes in the cpuset."
4145 msgstr ""
4146 "Because this meter is per-cpuset rather than per-process, the batch "
4147 "scheduler can obtain the key information\\(emmemory pressure in a cpuset"
4148 "\\(emwith a single read, rather than having to query and accumulate results "
4149 "over all the (dynamically changing)  set of processes in the cpuset."
4150
4151 #. type: Plain text
4152 #: build/C/man7/cpuset.7:563
4153 msgid ""
4154 "The I<memory_pressure> of a cpuset is calculated using a per-cpuset simple "
4155 "digital filter that is kept within the kernel.  For each cpuset, this filter "
4156 "tracks the recent rate at which processes attached to that cpuset enter the "
4157 "kernel direct reclaim code."
4158 msgstr ""
4159 "The I<memory_pressure> of a cpuset is calculated using a per-cpuset simple "
4160 "digital filter that is kept within the kernel.  For each cpuset, this filter "
4161 "tracks the recent rate at which processes attached to that cpuset enter the "
4162 "kernel direct reclaim code."
4163
4164 #. type: Plain text
4165 #: build/C/man7/cpuset.7:572
4166 msgid ""
4167 "The kernel direct reclaim code is entered whenever a process has to satisfy "
4168 "a memory page request by first finding some other page to repurpose, due to "
4169 "lack of any readily available already free pages.  Dirty file system pages "
4170 "are repurposed by first writing them to disk.  Unmodified file system buffer "
4171 "pages are repurposed by simply dropping them, though if that page is needed "
4172 "again, it will have to be reread from disk."
4173 msgstr ""
4174 "The kernel direct reclaim code is entered whenever a process has to satisfy "
4175 "a memory page request by first finding some other page to repurpose, due to "
4176 "lack of any readily available already free pages.  Dirty file system pages "
4177 "are repurposed by first writing them to disk.  Unmodified file system buffer "
4178 "pages are repurposed by simply dropping them, though if that page is needed "
4179 "again, it will have to be reread from disk."
4180
4181 #.  ================== Memory Spread ==================
4182 #. type: Plain text
4183 #: build/C/man7/cpuset.7:580
4184 msgid ""
4185 "The I<memory_pressure> file provides an integer number representing the "
4186 "recent (half-life of 10 seconds) rate of entries to the direct reclaim code "
4187 "caused by any process in the cpuset, in units of reclaims attempted per "
4188 "second, times 1000."
4189 msgstr ""
4190 "The I<memory_pressure> file provides an integer number representing the "
4191 "recent (half-life of 10 seconds) rate of entries to the direct reclaim code "
4192 "caused by any process in the cpuset, in units of reclaims attempted per "
4193 "second, times 1000."
4194
4195 #. type: SS
4196 #: build/C/man7/cpuset.7:580
4197 #, no-wrap
4198 msgid "Memory Spread"
4199 msgstr "Memory Spread"
4200
4201 #. type: Plain text
4202 #: build/C/man7/cpuset.7:588
4203 msgid ""
4204 "There are two Boolean flag files per cpuset that control where the kernel "
4205 "allocates pages for the file-system buffers and related in-kernel data "
4206 "structures.  They are called I<memory_spread_page> and I<memory_spread_slab>."
4207 msgstr ""
4208 "There are two Boolean flag files per cpuset that control where the kernel "
4209 "allocates pages for the file-system buffers and related in-kernel data "
4210 "structures.  They are called I<memory_spread_page> and I<memory_spread_slab>."
4211
4212 #. type: Plain text
4213 #: build/C/man7/cpuset.7:595
4214 msgid ""
4215 "If the per-cpuset Boolean flag file I<memory_spread_page> is set, then the "
4216 "kernel will spread the file-system buffers (page cache) evenly over all the "
4217 "nodes that the faulting process is allowed to use, instead of preferring to "
4218 "put those pages on the node where the process is running."
4219 msgstr ""
4220 "If the per-cpuset Boolean flag file I<memory_spread_page> is set, then the "
4221 "kernel will spread the file-system buffers (page cache) evenly over all the "
4222 "nodes that the faulting process is allowed to use, instead of preferring to "
4223 "put those pages on the node where the process is running."
4224
4225 #. type: Plain text
4226 #: build/C/man7/cpuset.7:603
4227 msgid ""
4228 "If the per-cpuset Boolean flag file I<memory_spread_slab> is set, then the "
4229 "kernel will spread some file-system-related slab caches, such as those for "
4230 "inodes and directory entries, evenly over all the nodes that the faulting "
4231 "process is allowed to use, instead of preferring to put those pages on the "
4232 "node where the process is running."
4233 msgstr ""
4234 "If the per-cpuset Boolean flag file I<memory_spread_slab> is set, then the "
4235 "kernel will spread some file-system-related slab caches, such as those for "
4236 "inodes and directory entries, evenly over all the nodes that the faulting "
4237 "process is allowed to use, instead of preferring to put those pages on the "
4238 "node where the process is running."
4239
4240 #. type: Plain text
4241 #: build/C/man7/cpuset.7:608
4242 msgid ""
4243 "The setting of these flags does not affect the data segment (see B<brk>(2))  "
4244 "or stack segment pages of a process."
4245 msgstr ""
4246 "The setting of these flags does not affect the data segment (see B<brk>(2))  "
4247 "or stack segment pages of a process."
4248
4249 #. type: Plain text
4250 #: build/C/man7/cpuset.7:616
4251 msgid ""
4252 "By default, both kinds of memory spreading are off and the kernel prefers to "
4253 "allocate memory pages on the node local to where the requesting process is "
4254 "running.  If that node is not allowed by the process's NUMA memory policy or "
4255 "cpuset configuration or if there are insufficient free memory pages on that "
4256 "node, then the kernel looks for the nearest node that is allowed and has "
4257 "sufficient free memory."
4258 msgstr ""
4259 "By default, both kinds of memory spreading are off and the kernel prefers to "
4260 "allocate memory pages on the node local to where the requesting process is "
4261 "running.  If that node is not allowed by the process's NUMA memory policy or "
4262 "cpuset configuration or if there are insufficient free memory pages on that "
4263 "node, then the kernel looks for the nearest node that is allowed and has "
4264 "sufficient free memory."
4265
4266 #. type: Plain text
4267 #: build/C/man7/cpuset.7:619
4268 msgid ""
4269 "When new cpusets are created, they inherit the memory spread settings of "
4270 "their parent."
4271 msgstr ""
4272 "When new cpusets are created, they inherit the memory spread settings of "
4273 "their parent."
4274
4275 #. type: Plain text
4276 #: build/C/man7/cpuset.7:634
4277 msgid ""
4278 "Setting memory spreading causes allocations for the affected page or slab "
4279 "caches to ignore the process's NUMA memory policy and be spread instead.  "
4280 "However, the effect of these changes in memory placement caused by cpuset-"
4281 "specified memory spreading is hidden from the B<mbind>(2)  or "
4282 "B<set_mempolicy>(2)  calls.  These two NUMA memory policy calls always "
4283 "appear to behave as if no cpuset-specified memory spreading is in effect, "
4284 "even if it is.  If cpuset memory spreading is subsequently turned off, the "
4285 "NUMA memory policy most recently specified by these calls is automatically "
4286 "reapplied."
4287 msgstr ""
4288 "Setting memory spreading causes allocations for the affected page or slab "
4289 "caches to ignore the process's NUMA memory policy and be spread instead.  "
4290 "However, the effect of these changes in memory placement caused by cpuset-"
4291 "specified memory spreading is hidden from the B<mbind>(2)  or "
4292 "B<set_mempolicy>(2)  calls.  These two NUMA memory policy calls always "
4293 "appear to behave as if no cpuset-specified memory spreading is in effect, "
4294 "even if it is.  If cpuset memory spreading is subsequently turned off, the "
4295 "NUMA memory policy most recently specified by these calls is automatically "
4296 "reapplied."
4297
4298 #. type: Plain text
4299 #: build/C/man7/cpuset.7:643
4300 msgid ""
4301 "Both I<memory_spread_page> and I<memory_spread_slab> are Boolean flag "
4302 "files.  By default they contain \"0\", meaning that the feature is off for "
4303 "that cpuset.  If a \"1\" is written to that file, that turns the named "
4304 "feature on."
4305 msgstr ""
4306 "Both I<memory_spread_page> and I<memory_spread_slab> are Boolean flag "
4307 "files.  By default they contain \"0\", meaning that the feature is off for "
4308 "that cpuset.  If a \"1\" is written to that file, that turns the named "
4309 "feature on."
4310
4311 #. type: Plain text
4312 #: build/C/man7/cpuset.7:646
4313 msgid ""
4314 "Cpuset-specified memory spreading behaves similarly to what is known (in "
4315 "other contexts) as round-robin or interleave memory placement."
4316 msgstr ""
4317 "Cpuset-specified memory spreading behaves similarly to what is known (in "
4318 "other contexts) as round-robin or interleave memory placement."
4319
4320 #. type: Plain text
4321 #: build/C/man7/cpuset.7:649
4322 msgid ""
4323 "Cpuset-specified memory spreading can provide substantial performance "
4324 "improvements for jobs that:"
4325 msgstr ""
4326 "Cpuset-specified memory spreading can provide substantial performance "
4327 "improvements for jobs that:"
4328
4329 #. type: IP
4330 #: build/C/man7/cpuset.7:649
4331 #, no-wrap
4332 msgid "a)"
4333 msgstr "a)"
4334
4335 #. type: Plain text
4336 #: build/C/man7/cpuset.7:653
4337 msgid ""
4338 "need to place thread-local data on memory nodes close to the CPUs which are "
4339 "running the threads that most frequently access that data; but also"
4340 msgstr ""
4341 "need to place thread-local data on memory nodes close to the CPUs which are "
4342 "running the threads that most frequently access that data; but also"
4343
4344 #. type: IP
4345 #: build/C/man7/cpuset.7:653
4346 #, no-wrap
4347 msgid "b)"
4348 msgstr "b)"
4349
4350 #. type: Plain text
4351 #: build/C/man7/cpuset.7:656
4352 msgid ""
4353 "need to access large file-system data sets that must to be spread across the "
4354 "several nodes in the job's cpuset in order to fit."
4355 msgstr ""
4356 "need to access large file-system data sets that must to be spread across the "
4357 "several nodes in the job's cpuset in order to fit."
4358
4359 #.  ================== Memory Migration ==================
4360 #. type: Plain text
4361 #: build/C/man7/cpuset.7:663
4362 msgid ""
4363 "Without this policy, the memory allocation across the nodes in the job's "
4364 "cpuset can become very uneven, especially for jobs that might have just a "
4365 "single thread initializing or reading in the data set."
4366 msgstr ""
4367 "Without this policy, the memory allocation across the nodes in the job's "
4368 "cpuset can become very uneven, especially for jobs that might have just a "
4369 "single thread initializing or reading in the data set."
4370
4371 #. type: SS
4372 #: build/C/man7/cpuset.7:663
4373 #, no-wrap
4374 msgid "Memory Migration"
4375 msgstr "Memory Migration"
4376
4377 #. type: Plain text
4378 #: build/C/man7/cpuset.7:672
4379 msgid ""
4380 "Normally, under the default setting (disabled) of I<memory_migrate>, once a "
4381 "page is allocated (given a physical page of main memory) then that page "
4382 "stays on whatever node it was allocated, so long as it remains allocated, "
4383 "even if the cpuset's memory-placement policy I<mems> subsequently changes."
4384 msgstr ""
4385 "Normally, under the default setting (disabled) of I<memory_migrate>, once a "
4386 "page is allocated (given a physical page of main memory) then that page "
4387 "stays on whatever node it was allocated, so long as it remains allocated, "
4388 "even if the cpuset's memory-placement policy I<mems> subsequently changes."
4389
4390 #. type: Plain text
4391 #: build/C/man7/cpuset.7:678
4392 msgid ""
4393 "When memory migration is enabled in a cpuset, if the I<mems> setting of the "
4394 "cpuset is changed, then any memory page in use by any process in the cpuset "
4395 "that is on a memory node that is no longer allowed will be migrated to a "
4396 "memory node that is allowed."
4397 msgstr ""
4398 "When memory migration is enabled in a cpuset, if the I<mems> setting of the "
4399 "cpuset is changed, then any memory page in use by any process in the cpuset "
4400 "that is on a memory node that is no longer allowed will be migrated to a "
4401 "memory node that is allowed."
4402
4403 #. type: Plain text
4404 #: build/C/man7/cpuset.7:684
4405 msgid ""
4406 "Furthermore, if a process is moved into a cpuset with I<memory_migrate> "
4407 "enabled, any memory pages it uses that were on memory nodes allowed in its "
4408 "previous cpuset, but which are not allowed in its new cpuset, will be "
4409 "migrated to a memory node allowed in the new cpuset."
4410 msgstr ""
4411 "Furthermore, if a process is moved into a cpuset with I<memory_migrate> "
4412 "enabled, any memory pages it uses that were on memory nodes allowed in its "
4413 "previous cpuset, but which are not allowed in its new cpuset, will be "
4414 "migrated to a memory node allowed in the new cpuset."
4415
4416 #.  ================== Scheduler Load Balancing ==================
4417 #. type: Plain text
4418 #: build/C/man7/cpuset.7:692
4419 msgid ""
4420 "The relative placement of a migrated page within the cpuset is preserved "
4421 "during these migration operations if possible.  For example, if the page was "
4422 "on the second valid node of the prior cpuset, then the page will be placed "
4423 "on the second valid node of the new cpuset, if possible."
4424 msgstr ""
4425 "The relative placement of a migrated page within the cpuset is preserved "
4426 "during these migration operations if possible.  For example, if the page was "
4427 "on the second valid node of the prior cpuset, then the page will be placed "
4428 "on the second valid node of the new cpuset, if possible."
4429
4430 #. type: SS
4431 #: build/C/man7/cpuset.7:692
4432 #, no-wrap
4433 msgid "Scheduler Load Balancing"
4434 msgstr "Scheduler Load Balancing"
4435
4436 #. type: Plain text
4437 #: build/C/man7/cpuset.7:699
4438 msgid ""
4439 "The kernel scheduler automatically load balances processes.  If one CPU is "
4440 "underutilized, the kernel will look for processes on other more overloaded "
4441 "CPUs and move those processes to the underutilized CPU, within the "
4442 "constraints of such placement mechanisms as cpusets and B<sched_setaffinity>"
4443 "(2)."
4444 msgstr ""
4445 "The kernel scheduler automatically load balances processes.  If one CPU is "
4446 "underutilized, the kernel will look for processes on other more overloaded "
4447 "CPUs and move those processes to the underutilized CPU, within the "
4448 "constraints of such placement mechanisms as cpusets and B<sched_setaffinity>"
4449 "(2)."
4450
4451 #. type: Plain text
4452 #: build/C/man7/cpuset.7:712
4453 msgid ""
4454 "The algorithmic cost of load balancing and its impact on key shared kernel "
4455 "data structures such as the process list increases more than linearly with "
4456 "the number of CPUs being balanced.  For example, it costs more to load "
4457 "balance across one large set of CPUs than it does to balance across two "
4458 "smaller sets of CPUs, each of half the size of the larger set.  (The precise "
4459 "relationship between the number of CPUs being balanced and the cost of load "
4460 "balancing depends on implementation details of the kernel process scheduler, "
4461 "which is subject to change over time, as improved kernel scheduler "
4462 "algorithms are implemented.)"
4463 msgstr ""
4464 "The algorithmic cost of load balancing and its impact on key shared kernel "
4465 "data structures such as the process list increases more than linearly with "
4466 "the number of CPUs being balanced.  For example, it costs more to load "
4467 "balance across one large set of CPUs than it does to balance across two "
4468 "smaller sets of CPUs, each of half the size of the larger set.  (The precise "
4469 "relationship between the number of CPUs being balanced and the cost of load "
4470 "balancing depends on implementation details of the kernel process scheduler, "
4471 "which is subject to change over time, as improved kernel scheduler "
4472 "algorithms are implemented.)"
4473
4474 #. type: Plain text
4475 #: build/C/man7/cpuset.7:718
4476 msgid ""
4477 "The per-cpuset flag I<sched_load_balance> provides a mechanism to suppress "
4478 "this automatic scheduler load balancing in cases where it is not needed and "
4479 "suppressing it would have worthwhile performance benefits."
4480 msgstr ""
4481 "The per-cpuset flag I<sched_load_balance> provides a mechanism to suppress "
4482 "this automatic scheduler load balancing in cases where it is not needed and "
4483 "suppressing it would have worthwhile performance benefits."
4484
4485 #. type: Plain text
4486 #: build/C/man7/cpuset.7:722
4487 msgid ""
4488 "By default, load balancing is done across all CPUs, except those marked "
4489 "isolated using the kernel boot time \"isolcpus=\" argument.  (See "
4490 "B<Scheduler Relax Domain Level>, below, to change this default.)"
4491 msgstr ""
4492 "By default, load balancing is done across all CPUs, except those marked "
4493 "isolated using the kernel boot time \"isolcpus=\" argument.  (See "
4494 "B<Scheduler Relax Domain Level>, below, to change this default.)"
4495
4496 #. type: Plain text
4497 #: build/C/man7/cpuset.7:725
4498 msgid ""
4499 "This default load balancing across all CPUs is not well suited to the "
4500 "following two situations:"
4501 msgstr ""
4502 "This default load balancing across all CPUs is not well suited to the "
4503 "following two situations:"
4504
4505 #. type: Plain text
4506 #: build/C/man7/cpuset.7:729
4507 msgid ""
4508 "On large systems, load balancing across many CPUs is expensive.  If the "
4509 "system is managed using cpusets to place independent jobs on separate sets "
4510 "of CPUs, full load balancing is unnecessary."
4511 msgstr ""
4512 "On large systems, load balancing across many CPUs is expensive.  If the "
4513 "system is managed using cpusets to place independent jobs on separate sets "
4514 "of CPUs, full load balancing is unnecessary."
4515
4516 #. type: Plain text
4517 #: build/C/man7/cpuset.7:733
4518 msgid ""
4519 "Systems supporting real-time on some CPUs need to minimize system overhead "
4520 "on those CPUs, including avoiding process load balancing if that is not "
4521 "needed."
4522 msgstr ""
4523 "Systems supporting real-time on some CPUs need to minimize system overhead "
4524 "on those CPUs, including avoiding process load balancing if that is not "
4525 "needed."
4526
4527 #. type: Plain text
4528 #: build/C/man7/cpuset.7:743
4529 msgid ""
4530 "When the per-cpuset flag I<sched_load_balance> is enabled (the default "
4531 "setting), it requests load balancing across all the CPUs in that cpuset's "
4532 "allowed CPUs, ensuring that load balancing can move a process (not otherwise "
4533 "pinned, as by B<sched_setaffinity>(2))  from any CPU in that cpuset to any "
4534 "other."
4535 msgstr ""
4536 "When the per-cpuset flag I<sched_load_balance> is enabled (the default "
4537 "setting), it requests load balancing across all the CPUs in that cpuset's "
4538 "allowed CPUs, ensuring that load balancing can move a process (not otherwise "
4539 "pinned, as by B<sched_setaffinity>(2))  from any CPU in that cpuset to any "
4540 "other."
4541
4542 #. type: Plain text
4543 #: build/C/man7/cpuset.7:752
4544 msgid ""
4545 "When the per-cpuset flag I<sched_load_balance> is disabled, then the "
4546 "scheduler will avoid load balancing across the CPUs in that cpuset, "
4547 "I<except> in so far as is necessary because some overlapping cpuset has "
4548 "I<sched_load_balance> enabled."
4549 msgstr ""
4550 "When the per-cpuset flag I<sched_load_balance> is disabled, then the "
4551 "scheduler will avoid load balancing across the CPUs in that cpuset, "
4552 "I<except> in so far as is necessary because some overlapping cpuset has "
4553 "I<sched_load_balance> enabled."
4554
4555 #. type: Plain text
4556 #: build/C/man7/cpuset.7:760
4557 msgid ""
4558 "So, for example, if the top cpuset has the flag I<sched_load_balance> "
4559 "enabled, then the scheduler will load balance across all CPUs, and the "
4560 "setting of the I<sched_load_balance> flag in other cpusets has no effect, as "
4561 "we're already fully load balancing."
4562 msgstr ""
4563 "So, for example, if the top cpuset has the flag I<sched_load_balance> "
4564 "enabled, then the scheduler will load balance across all CPUs, and the "
4565 "setting of the I<sched_load_balance> flag in other cpusets has no effect, as "
4566 "we're already fully load balancing."
4567
4568 #. type: Plain text
4569 #: build/C/man7/cpuset.7:765
4570 msgid ""
4571 "Therefore in the above two situations, the flag I<sched_load_balance> should "
4572 "be disabled in the top cpuset, and only some of the smaller, child cpusets "
4573 "would have this flag enabled."
4574 msgstr ""
4575 "Therefore in the above two situations, the flag I<sched_load_balance> should "
4576 "be disabled in the top cpuset, and only some of the smaller, child cpusets "
4577 "would have this flag enabled."
4578
4579 #. type: Plain text
4580 #: build/C/man7/cpuset.7:773
4581 msgid ""
4582 "When doing this, you don't usually want to leave any unpinned processes in "
4583 "the top cpuset that might use nontrivial amounts of CPU, as such processes "
4584 "may be artificially constrained to some subset of CPUs, depending on the "
4585 "particulars of this flag setting in descendant cpusets.  Even if such a "
4586 "process could use spare CPU cycles in some other CPUs, the kernel scheduler "
4587 "might not consider the possibility of load balancing that process to the "
4588 "underused CPU."
4589 msgstr ""
4590 "When doing this, you don't usually want to leave any unpinned processes in "
4591 "the top cpuset that might use nontrivial amounts of CPU, as such processes "
4592 "may be artificially constrained to some subset of CPUs, depending on the "
4593 "particulars of this flag setting in descendant cpusets.  Even if such a "
4594 "process could use spare CPU cycles in some other CPUs, the kernel scheduler "
4595 "might not consider the possibility of load balancing that process to the "
4596 "underused CPU."
4597
4598 #.  ================== Scheduler Relax Domain Level ==================
4599 #. type: Plain text
4600 #: build/C/man7/cpuset.7:779
4601 msgid ""
4602 "Of course, processes pinned to a particular CPU can be left in a cpuset that "
4603 "disables I<sched_load_balance> as those processes aren't going anywhere else "
4604 "anyway."
4605 msgstr ""
4606 "Of course, processes pinned to a particular CPU can be left in a cpuset that "
4607 "disables I<sched_load_balance> as those processes aren't going anywhere else "
4608 "anyway."
4609
4610 #. type: SS
4611 #: build/C/man7/cpuset.7:779
4612 #, no-wrap
4613 msgid "Scheduler Relax Domain Level"
4614 msgstr "Scheduler Relax Domain Level"
4615
4616 #. type: Plain text
4617 #: build/C/man7/cpuset.7:800
4618 msgid ""
4619 "The kernel scheduler performs immediate load balancing whenever a CPU "
4620 "becomes free or another task becomes runnable.  This load balancing works to "
4621 "ensure that as many CPUs as possible are usefully employed running tasks.  "
4622 "The kernel also performs periodic load balancing off the software clock "
4623 "described in I<time>(7).  The setting of I<sched_relax_domain_level> only "
4624 "applies to immediate load balancing.  Regardless of the "
4625 "I<sched_relax_domain_level> setting, periodic load balancing is attempted "
4626 "over all CPUs (unless disabled by turning off I<sched_load_balance>.)  In "
4627 "any case, of course, tasks will only be scheduled to run on CPUs allowed by "
4628 "their cpuset, as modified by B<sched_setaffinity>(2)  system calls."
4629 msgstr ""
4630 "The kernel scheduler performs immediate load balancing whenever a CPU "
4631 "becomes free or another task becomes runnable.  This load balancing works to "
4632 "ensure that as many CPUs as possible are usefully employed running tasks.  "
4633 "The kernel also performs periodic load balancing off the software clock "
4634 "described in I<time>(7).  The setting of I<sched_relax_domain_level> only "
4635 "applies to immediate load balancing.  Regardless of the "
4636 "I<sched_relax_domain_level> setting, periodic load balancing is attempted "
4637 "over all CPUs (unless disabled by turning off I<sched_load_balance>.)  In "
4638 "any case, of course, tasks will only be scheduled to run on CPUs allowed by "
4639 "their cpuset, as modified by B<sched_setaffinity>(2)  system calls."
4640
4641 #. type: Plain text
4642 #: build/C/man7/cpuset.7:808
4643 msgid ""
4644 "On small systems, such as those with just a few CPUs, immediate load "
4645 "balancing is useful to improve system interactivity and to minimize wasteful "
4646 "idle CPU cycles.  But on large systems, attempting immediate load balancing "
4647 "across a large number of CPUs can be more costly than it is worth, depending "
4648 "on the particular performance characteristics of the job mix and the "
4649 "hardware."
4650 msgstr ""
4651 "On small systems, such as those with just a few CPUs, immediate load "
4652 "balancing is useful to improve system interactivity and to minimize wasteful "
4653 "idle CPU cycles.  But on large systems, attempting immediate load balancing "
4654 "across a large number of CPUs can be more costly than it is worth, depending "
4655 "on the particular performance characteristics of the job mix and the "
4656 "hardware."
4657
4658 #. type: Plain text
4659 #: build/C/man7/cpuset.7:816
4660 msgid ""
4661 "The exact meaning of the small integer values of I<sched_relax_domain_level> "
4662 "will depend on internal implementation details of the kernel scheduler code "
4663 "and on the non-uniform architecture of the hardware.  Both of these will "
4664 "evolve over time and vary by system architecture and kernel version."
4665 msgstr ""
4666 "The exact meaning of the small integer values of I<sched_relax_domain_level> "
4667 "will depend on internal implementation details of the kernel scheduler code "
4668 "and on the non-uniform architecture of the hardware.  Both of these will "
4669 "evolve over time and vary by system architecture and kernel version."
4670
4671 #. type: Plain text
4672 #: build/C/man7/cpuset.7:821
4673 msgid ""
4674 "As of this writing, when this capability was introduced in Linux 2.6.26, on "
4675 "certain popular architectures, the positive values of "
4676 "I<sched_relax_domain_level> have the following meanings."
4677 msgstr ""
4678 "As of this writing, when this capability was introduced in Linux 2.6.26, on "
4679 "certain popular architectures, the positive values of "
4680 "I<sched_relax_domain_level> have the following meanings."
4681
4682 #. type: IP
4683 #: build/C/man7/cpuset.7:823
4684 #, no-wrap
4685 msgid "B<(1)>"
4686 msgstr "B<(1)>"
4687
4688 #. type: Plain text
4689 #: build/C/man7/cpuset.7:826
4690 msgid ""
4691 "Perform immediate load balancing across Hyper-Thread siblings on the same "
4692 "core."
4693 msgstr ""
4694 "Perform immediate load balancing across Hyper-Thread siblings on the same "
4695 "core."
4696
4697 #. type: IP
4698 #: build/C/man7/cpuset.7:826
4699 #, no-wrap
4700 msgid "B<(2)>"
4701 msgstr "B<(2)>"
4702
4703 #. type: Plain text
4704 #: build/C/man7/cpuset.7:828
4705 msgid ""
4706 "Perform immediate load balancing across other cores in the same package."
4707 msgstr ""
4708 "Perform immediate load balancing across other cores in the same package."
4709
4710 #. type: IP
4711 #: build/C/man7/cpuset.7:828
4712 #, no-wrap
4713 msgid "B<(3)>"
4714 msgstr "B<(3)>"
4715
4716 #. type: Plain text
4717 #: build/C/man7/cpuset.7:831
4718 msgid ""
4719 "Perform immediate load balancing across other CPUs on the same node or blade."
4720 msgstr ""
4721 "Perform immediate load balancing across other CPUs on the same node or blade."
4722
4723 #. type: IP
4724 #: build/C/man7/cpuset.7:831
4725 #, no-wrap
4726 msgid "B<(4)>"
4727 msgstr "B<(4)>"
4728
4729 #. type: Plain text
4730 #: build/C/man7/cpuset.7:834
4731 msgid ""
4732 "Perform immediate load balancing across over several (implementation detail) "
4733 "nodes [On NUMA systems]."
4734 msgstr ""
4735 "Perform immediate load balancing across over several (implementation detail) "
4736 "nodes [On NUMA systems]."
4737
4738 #. type: IP
4739 #: build/C/man7/cpuset.7:834
4740 #, no-wrap
4741 msgid "B<(5)>"
4742 msgstr "B<(5)>"
4743
4744 #. type: Plain text
4745 #: build/C/man7/cpuset.7:837
4746 msgid ""
4747 "Perform immediate load balancing across over all CPUs in system [On NUMA "
4748 "systems]."
4749 msgstr ""
4750 "Perform immediate load balancing across over all CPUs in system [On NUMA "
4751 "systems]."
4752
4753 #. type: Plain text
4754 #: build/C/man7/cpuset.7:846
4755 msgid ""
4756 "The I<sched_relax_domain_level> value of zero (0) always means don't perform "
4757 "immediate load balancing, hence that load balancing is only done "
4758 "periodically, not immediately when a CPU becomes available or another task "
4759 "becomes runnable."
4760 msgstr ""
4761 "The I<sched_relax_domain_level> value of zero (0) always means don't perform "
4762 "immediate load balancing, hence that load balancing is only done "
4763 "periodically, not immediately when a CPU becomes available or another task "
4764 "becomes runnable."
4765
4766 #. type: Plain text
4767 #: build/C/man7/cpuset.7:854
4768 msgid ""
4769 "The I<sched_relax_domain_level> value of minus one (-1)  always means use "
4770 "the system default value.  The system default value can vary by architecture "
4771 "and kernel version.  This system default value can be changed by kernel boot-"
4772 "time \"relax_domain_level=\" argument."
4773 msgstr ""
4774 "The I<sched_relax_domain_level> value of minus one (-1)  always means use "
4775 "the system default value.  The system default value can vary by architecture "
4776 "and kernel version.  This system default value can be changed by kernel boot-"
4777 "time \"relax_domain_level=\" argument."
4778
4779 #. type: Plain text
4780 #: build/C/man7/cpuset.7:862
4781 msgid ""
4782 "In the case of multiple overlapping cpusets which have conflicting "
4783 "I<sched_relax_domain_level> values, then the highest such value applies to "
4784 "all CPUs in any of the overlapping cpusets.  In such cases, the value "
4785 "B<minus one (-1)> is the lowest value, overridden by any other value, and "
4786 "the value B<zero (0)> is the next lowest value."
4787 msgstr ""
4788 "In the case of multiple overlapping cpusets which have conflicting "
4789 "I<sched_relax_domain_level> values, then the highest such value applies to "
4790 "all CPUs in any of the overlapping cpusets.  In such cases, the value "
4791 "B<minus one (-1)> is the lowest value, overridden by any other value, and "
4792 "the value B<zero (0)> is the next lowest value."
4793
4794 #. type: SH
4795 #: build/C/man7/cpuset.7:862
4796 #, no-wrap
4797 msgid "FORMATS"
4798 msgstr "FORMATS"
4799
4800 #.  ================== Mask Format ==================
4801 #. type: Plain text
4802 #: build/C/man7/cpuset.7:866
4803 msgid ""
4804 "The following formats are used to represent sets of CPUs and memory nodes."
4805 msgstr ""
4806 "The following formats are used to represent sets of CPUs and memory nodes."
4807
4808 #. type: SS
4809 #: build/C/man7/cpuset.7:866
4810 #, no-wrap
4811 msgid "Mask Format"
4812 msgstr "Mask Format"
4813
4814 #. type: Plain text
4815 #: build/C/man7/cpuset.7:871
4816 msgid ""
4817 "The B<Mask Format> is used to represent CPU and memory-node bitmasks in the "
4818 "I</proc/E<lt>pidE<gt>/status> file."
4819 msgstr ""
4820 "The B<Mask Format> is used to represent CPU and memory-node bitmasks in the "
4821 "I</proc/E<lt>pidE<gt>/status> file."
4822
4823 #. type: Plain text
4824 #: build/C/man7/cpuset.7:879
4825 msgid ""
4826 "This format displays each 32-bit word in hexadecimal (using ASCII characters "
4827 "\"0\" - \"9\" and \"a\" - \"f\"); words are filled with leading zeros, if "
4828 "required.  For masks longer than one word, a comma separator is used between "
4829 "words.  Words are displayed in big-endian order, which has the most "
4830 "significant bit first.  The hex digits within a word are also in big-endian "
4831 "order."
4832 msgstr ""
4833 "This format displays each 32-bit word in hexadecimal (using ASCII characters "
4834 "\"0\" - \"9\" and \"a\" - \"f\"); words are filled with leading zeros, if "
4835 "required.  For masks longer than one word, a comma separator is used between "
4836 "words.  Words are displayed in big-endian order, which has the most "
4837 "significant bit first.  The hex digits within a word are also in big-endian "
4838 "order."
4839
4840 #. type: Plain text
4841 #: build/C/man7/cpuset.7:882
4842 msgid ""
4843 "The number of 32-bit words displayed is the minimum number needed to display "
4844 "all bits of the bitmask, based on the size of the bitmask."
4845 msgstr ""
4846 "The number of 32-bit words displayed is the minimum number needed to display "
4847 "all bits of the bitmask, based on the size of the bitmask."
4848
4849 #. type: Plain text
4850 #: build/C/man7/cpuset.7:884
4851 msgid "Examples of the B<Mask Format>:"
4852 msgstr "Examples of the B<Mask Format>:"
4853
4854 #. type: Plain text
4855 #: build/C/man7/cpuset.7:892
4856 #, no-wrap
4857 msgid ""
4858 "00000001                        # just bit 0 set\n"
4859 "40000000,00000000,00000000      # just bit 94 set\n"
4860 "00000001,00000000,00000000      # just bit 64 set\n"
4861 "000000ff,00000000               # bits 32-39 set\n"
4862 "00000000,000E3862               # 1,5,6,11-13,17-19 set\n"
4863 msgstr ""
4864 "00000001                        # just bit 0 set\n"
4865 "40000000,00000000,00000000      # just bit 94 set\n"
4866 "00000001,00000000,00000000      # just bit 64 set\n"
4867 "000000ff,00000000               # bits 32-39 set\n"
4868 "00000000,000E3862               # 1,5,6,11-13,17-19 set\n"
4869
4870 #. type: Plain text
4871 #: build/C/man7/cpuset.7:896
4872 msgid "A mask with bits 0, 1, 2, 4, 8, 16, 32, and 64 set displays as:"
4873 msgstr "A mask with bits 0, 1, 2, 4, 8, 16, 32, and 64 set displays as:"
4874
4875 #. type: Plain text
4876 #: build/C/man7/cpuset.7:900
4877 #, no-wrap
4878 msgid "00000001,00000001,00010117\n"
4879 msgstr "00000001,00000001,00010117\n"
4880
4881 #.  ================== List Format ==================
4882 #. type: Plain text
4883 #: build/C/man7/cpuset.7:907
4884 msgid ""
4885 "The first \"1\" is for bit 64, the second for bit 32, the third for bit 16, "
4886 "the fourth for bit 8, the fifth for bit 4, and the \"7\" is for bits 2, 1, "
4887 "and 0."
4888 msgstr ""
4889 "The first \"1\" is for bit 64, the second for bit 32, the third for bit 16, "
4890 "the fourth for bit 8, the fifth for bit 4, and the \"7\" is for bits 2, 1, "
4891 "and 0."
4892
4893 #. type: SS
4894 #: build/C/man7/cpuset.7:907
4895 #, no-wrap
4896 msgid "List Format"
4897 msgstr "List Format"
4898
4899 #. type: Plain text
4900 #: build/C/man7/cpuset.7:914
4901 msgid ""
4902 "The B<List Format> for I<cpus> and I<mems> is a comma-separated list of CPU "
4903 "or memory-node numbers and ranges of numbers, in ASCII decimal."
4904 msgstr ""
4905 "The B<List Format> for I<cpus> and I<mems> is a comma-separated list of CPU "
4906 "or memory-node numbers and ranges of numbers, in ASCII decimal."
4907
4908 #. type: Plain text
4909 #: build/C/man7/cpuset.7:916
4910 msgid "Examples of the B<List Format>:"
4911 msgstr "Examples of the B<List Format>:"
4912
4913 #. type: Plain text
4914 #: build/C/man7/cpuset.7:921
4915 #, no-wrap
4916 msgid ""
4917 "0-4,9           # bits 0, 1, 2, 3, 4, and 9 set\n"
4918 "0-2,7,12-14     # bits 0, 1, 2, 7, 12, 13, and 14 set\n"
4919 msgstr ""
4920 "0-4,9           # bits 0, 1, 2, 3, 4, and 9 set\n"
4921 "0-2,7,12-14     # bits 0, 1, 2, 7, 12, 13, and 14 set\n"
4922
4923 #.  ================== RULES ==================
4924 #. type: SH
4925 #: build/C/man7/cpuset.7:924
4926 #, no-wrap
4927 msgid "RULES"
4928 msgstr "RULES"
4929
4930 #. type: Plain text
4931 #: build/C/man7/cpuset.7:926
4932 msgid "The following rules apply to each cpuset:"
4933 msgstr "The following rules apply to each cpuset:"
4934
4935 #. type: Plain text
4936 #: build/C/man7/cpuset.7:929
4937 msgid ""
4938 "Its CPUs and memory nodes must be a (possibly equal)  subset of its parent's."
4939 msgstr ""
4940 "Its CPUs and memory nodes must be a (possibly equal)  subset of its parent's."
4941
4942 #. type: Plain text
4943 #: build/C/man7/cpuset.7:933
4944 msgid "It can only be marked I<cpu_exclusive> if its parent is."
4945 msgstr "It can only be marked I<cpu_exclusive> if its parent is."
4946
4947 #. type: Plain text
4948 #: build/C/man7/cpuset.7:937
4949 msgid "It can only be marked I<mem_exclusive> if its parent is."
4950 msgstr "It can only be marked I<mem_exclusive> if its parent is."
4951
4952 #. type: Plain text
4953 #: build/C/man7/cpuset.7:941
4954 msgid "If it is I<cpu_exclusive>, its CPUs may not overlap any sibling."
4955 msgstr "If it is I<cpu_exclusive>, its CPUs may not overlap any sibling."
4956
4957 #.  ================== PERMISSIONS ==================
4958 #. type: Plain text
4959 #: build/C/man7/cpuset.7:946
4960 msgid ""
4961 "If it is I<memory_exclusive>, its memory nodes may not overlap any sibling."
4962 msgstr ""
4963 "If it is I<memory_exclusive>, its memory nodes may not overlap any sibling."
4964
4965 #. type: SH
4966 #: build/C/man7/cpuset.7:946
4967 #, no-wrap
4968 msgid "PERMISSIONS"
4969 msgstr "PERMISSIONS"
4970
4971 #. type: Plain text
4972 #: build/C/man7/cpuset.7:951
4973 msgid ""
4974 "The permissions of a cpuset are determined by the permissions of the "
4975 "directories and pseudo-files in the cpuset file system, normally mounted at "
4976 "I</dev/cpuset>."
4977 msgstr ""
4978 "The permissions of a cpuset are determined by the permissions of the "
4979 "directories and pseudo-files in the cpuset file system, normally mounted at "
4980 "I</dev/cpuset>."
4981
4982 #. type: Plain text
4983 #: build/C/man7/cpuset.7:960
4984 msgid ""
4985 "For instance, a process can put itself in some other cpuset (than its "
4986 "current one) if it can write the I<tasks> file for that cpuset.  This "
4987 "requires execute permission on the encompassing directories and write "
4988 "permission on the I<tasks> file."
4989 msgstr ""
4990 "For instance, a process can put itself in some other cpuset (than its "
4991 "current one) if it can write the I<tasks> file for that cpuset.  This "
4992 "requires execute permission on the encompassing directories and write "
4993 "permission on the I<tasks> file."
4994
4995 #. type: Plain text
4996 #: build/C/man7/cpuset.7:967
4997 msgid ""
4998 "An additional constraint is applied to requests to place some other process "
4999 "in a cpuset.  One process may not attach another to a cpuset unless it would "
5000 "have permission to send that process a signal (see B<kill>(2))."
5001 msgstr ""
5002 "An additional constraint is applied to requests to place some other process "
5003 "in a cpuset.  One process may not attach another to a cpuset unless it would "
5004 "have permission to send that process a signal (see B<kill>(2))."
5005
5006 #. type: Plain text
5007 #: build/C/man7/cpuset.7:978
5008 msgid ""
5009 "A process may create a child cpuset if it can access and write the parent "
5010 "cpuset directory.  It can modify the CPUs or memory nodes in a cpuset if it "
5011 "can access that cpuset's directory (execute permissions on the each of the "
5012 "parent directories) and write the corresponding I<cpus> or I<mems> file."
5013 msgstr ""
5014 "A process may create a child cpuset if it can access and write the parent "
5015 "cpuset directory.  It can modify the CPUs or memory nodes in a cpuset if it "
5016 "can access that cpuset's directory (execute permissions on the each of the "
5017 "parent directories) and write the corresponding I<cpus> or I<mems> file."
5018
5019 #. type: Plain text
5020 #: build/C/man7/cpuset.7:999
5021 msgid ""
5022 "There is one minor difference between the manner in which these permissions "
5023 "are evaluated and the manner in which normal file-system operation "
5024 "permissions are evaluated.  The kernel interprets relative pathnames "
5025 "starting at a process's current working directory.  Even if one is operating "
5026 "on a cpuset file, relative pathnames are interpreted relative to the "
5027 "process's current working directory, not relative to the process's current "
5028 "cpuset.  The only ways that cpuset paths relative to a process's current "
5029 "cpuset can be used are if either the process's current working directory is "
5030 "its cpuset (it first did a B<cd> or B<chdir>(2)  to its cpuset directory "
5031 "beneath I</dev/cpuset>, which is a bit unusual)  or if some user code "
5032 "converts the relative cpuset path to a full file-system path."
5033 msgstr ""
5034 "There is one minor difference between the manner in which these permissions "
5035 "are evaluated and the manner in which normal file-system operation "
5036 "permissions are evaluated.  The kernel interprets relative pathnames "
5037 "starting at a process's current working directory.  Even if one is operating "
5038 "on a cpuset file, relative pathnames are interpreted relative to the "
5039 "process's current working directory, not relative to the process's current "
5040 "cpuset.  The only ways that cpuset paths relative to a process's current "
5041 "cpuset can be used are if either the process's current working directory is "
5042 "its cpuset (it first did a B<cd> or B<chdir>(2)  to its cpuset directory "
5043 "beneath I</dev/cpuset>, which is a bit unusual)  or if some user code "
5044 "converts the relative cpuset path to a full file-system path."
5045
5046 #.  ================== WARNINGS ==================
5047 #. type: Plain text
5048 #: build/C/man7/cpuset.7:1014
5049 msgid ""
5050 "In theory, this means that user code should specify cpusets using absolute "
5051 "pathnames, which requires knowing the mount point of the cpuset file system "
5052 "(usually, but not necessarily, I</dev/cpuset>).  In practice, all user level "
5053 "code that this author is aware of simply assumes that if the cpuset file "
5054 "system is mounted, then it is mounted at I</dev/cpuset>.  Furthermore, it is "
5055 "common practice for carefully written user code to verify the presence of "
5056 "the pseudo-file I</dev/cpuset/tasks> in order to verify that the cpuset "
5057 "pseudo-file system is currently mounted."
5058 msgstr ""
5059 "In theory, this means that user code should specify cpusets using absolute "
5060 "pathnames, which requires knowing the mount point of the cpuset file system "
5061 "(usually, but not necessarily, I</dev/cpuset>).  In practice, all user level "
5062 "code that this author is aware of simply assumes that if the cpuset file "
5063 "system is mounted, then it is mounted at I</dev/cpuset>.  Furthermore, it is "
5064 "common practice for carefully written user code to verify the presence of "
5065 "the pseudo-file I</dev/cpuset/tasks> in order to verify that the cpuset "
5066 "pseudo-file system is currently mounted."
5067
5068 #. type: SH
5069 #: build/C/man7/cpuset.7:1014
5070 #, no-wrap
5071 msgid "WARNINGS"
5072 msgstr "WARNINGS"
5073
5074 #. type: SS
5075 #: build/C/man7/cpuset.7:1015
5076 #, no-wrap
5077 msgid "Enabling memory_pressure"
5078 msgstr "Enabling memory_pressure"
5079
5080 #. type: Plain text
5081 #: build/C/man7/cpuset.7:1024
5082 msgid ""
5083 "By default, the per-cpuset file I<memory_pressure> always contains zero "
5084 "(0).  Unless this feature is enabled by writing \"1\" to the pseudo-file I</"
5085 "dev/cpuset/memory_pressure_enabled>, the kernel does not compute per-cpuset "
5086 "I<memory_pressure>."
5087 msgstr ""
5088 "By default, the per-cpuset file I<memory_pressure> always contains zero "
5089 "(0).  Unless this feature is enabled by writing \"1\" to the pseudo-file I</"
5090 "dev/cpuset/memory_pressure_enabled>, the kernel does not compute per-cpuset "
5091 "I<memory_pressure>."
5092
5093 #. type: SS
5094 #: build/C/man7/cpuset.7:1024
5095 #, no-wrap
5096 msgid "Using the echo command"
5097 msgstr "Using the echo command"
5098
5099 #.  Gack!  csh(1)'s echo does this
5100 #. type: Plain text
5101 #: build/C/man7/cpuset.7:1035
5102 msgid ""
5103 "When using the B<echo> command at the shell prompt to change the values of "
5104 "cpuset files, beware that the built-in B<echo> command in some shells does "
5105 "not display an error message if the B<write>(2)  system call fails.  For "
5106 "example, if the command:"
5107 msgstr ""
5108 "When using the B<echo> command at the shell prompt to change the values of "
5109 "cpuset files, beware that the built-in B<echo> command in some shells does "
5110 "not display an error message if the B<write>(2)  system call fails.  For "
5111 "example, if the command:"
5112
5113 #. type: Plain text
5114 #: build/C/man7/cpuset.7:1039
5115 #, no-wrap
5116 msgid "echo 19 E<gt> mems\n"
5117 msgstr "echo 19 E<gt> mems\n"
5118
5119 #. type: Plain text
5120 #: build/C/man7/cpuset.7:1052
5121 msgid ""
5122 "failed because memory node 19 was not allowed (perhaps the current system "
5123 "does not have a memory node 19), then the B<echo> command might not display "
5124 "any error.  It is better to use the B</bin/echo> external command to change "
5125 "cpuset file settings, as this command will display B<write>(2)  errors, as "
5126 "in the example:"
5127 msgstr ""
5128 "failed because memory node 19 was not allowed (perhaps the current system "
5129 "does not have a memory node 19), then the B<echo> command might not display "
5130 "any error.  It is better to use the B</bin/echo> external command to change "
5131 "cpuset file settings, as this command will display B<write>(2)  errors, as "
5132 "in the example:"
5133
5134 #. type: Plain text
5135 #: build/C/man7/cpuset.7:1057
5136 #, no-wrap
5137 msgid ""
5138 "/bin/echo 19 E<gt> mems\n"
5139 "/bin/echo: write error: Invalid argument\n"
5140 msgstr ""
5141 "/bin/echo 19 E<gt> mems\n"
5142 "/bin/echo: write error: Invalid argument\n"
5143
5144 #.  ================== EXCEPTIONS ==================
5145 #. type: SH
5146 #: build/C/man7/cpuset.7:1060
5147 #, no-wrap
5148 msgid "EXCEPTIONS"
5149 msgstr "EXCEPTIONS"
5150
5151 #. type: SS
5152 #: build/C/man7/cpuset.7:1061
5153 #, no-wrap
5154 msgid "Memory placement"
5155 msgstr "Memory placement"
5156
5157 #. type: Plain text
5158 #: build/C/man7/cpuset.7:1064
5159 msgid ""
5160 "Not all allocations of system memory are constrained by cpusets, for the "
5161 "following reasons."
5162 msgstr ""
5163 "Not all allocations of system memory are constrained by cpusets, for the "
5164 "following reasons."
5165
5166 #. type: Plain text
5167 #: build/C/man7/cpuset.7:1079
5168 msgid ""
5169 "If hot-plug functionality is used to remove all the CPUs that are currently "
5170 "assigned to a cpuset, then the kernel will automatically update the "
5171 "I<cpus_allowed> of all processes attached to CPUs in that cpuset to allow "
5172 "all CPUs.  When memory hot-plug functionality for removing memory nodes is "
5173 "available, a similar exception is expected to apply there as well.  In "
5174 "general, the kernel prefers to violate cpuset placement, rather than "
5175 "starving a process that has had all its allowed CPUs or memory nodes taken "
5176 "offline.  User code should reconfigure cpusets to only refer to online CPUs "
5177 "and memory nodes when using hot-plug to add or remove such resources."
5178 msgstr ""
5179 "If hot-plug functionality is used to remove all the CPUs that are currently "
5180 "assigned to a cpuset, then the kernel will automatically update the "
5181 "I<cpus_allowed> of all processes attached to CPUs in that cpuset to allow "
5182 "all CPUs.  When memory hot-plug functionality for removing memory nodes is "
5183 "available, a similar exception is expected to apply there as well.  In "
5184 "general, the kernel prefers to violate cpuset placement, rather than "
5185 "starving a process that has had all its allowed CPUs or memory nodes taken "
5186 "offline.  User code should reconfigure cpusets to only refer to online CPUs "
5187 "and memory nodes when using hot-plug to add or remove such resources."
5188
5189 #. type: Plain text
5190 #: build/C/man7/cpuset.7:1087
5191 msgid ""
5192 "A few kernel-critical, internal memory-allocation requests, marked "
5193 "GFP_ATOMIC, must be satisfied immediately.  The kernel may drop some request "
5194 "or malfunction if one of these allocations fail.  If such a request cannot "
5195 "be satisfied within the current process's cpuset, then we relax the cpuset, "
5196 "and look for memory anywhere we can find it.  It's better to violate the "
5197 "cpuset than stress the kernel."
5198 msgstr ""
5199 "A few kernel-critical, internal memory-allocation requests, marked "
5200 "GFP_ATOMIC, must be satisfied immediately.  The kernel may drop some request "
5201 "or malfunction if one of these allocations fail.  If such a request cannot "
5202 "be satisfied within the current process's cpuset, then we relax the cpuset, "
5203 "and look for memory anywhere we can find it.  It's better to violate the "
5204 "cpuset than stress the kernel."
5205
5206 #. type: Plain text
5207 #: build/C/man7/cpuset.7:1091
5208 msgid ""
5209 "Allocations of memory requested by kernel drivers while processing an "
5210 "interrupt lack any relevant process context, and are not confined by cpusets."
5211 msgstr ""
5212 "Allocations of memory requested by kernel drivers while processing an "
5213 "interrupt lack any relevant process context, and are not confined by cpusets."
5214
5215 #. type: SS
5216 #: build/C/man7/cpuset.7:1091
5217 #, no-wrap
5218 msgid "Renaming cpusets"
5219 msgstr "Renaming cpusets"
5220
5221 #.  ================== ERRORS ==================
5222 #. type: Plain text
5223 #: build/C/man7/cpuset.7:1099
5224 msgid ""
5225 "You can use the B<rename>(2)  system call to rename cpusets.  Only simple "
5226 "renaming is supported; that is, changing the name of a cpuset directory is "
5227 "permitted, but moving a directory into a different directory is not "
5228 "permitted."
5229 msgstr ""
5230 "You can use the B<rename>(2)  system call to rename cpusets.  Only simple "
5231 "renaming is supported; that is, changing the name of a cpuset directory is "
5232 "permitted, but moving a directory into a different directory is not "
5233 "permitted."
5234
5235 #. type: Plain text
5236 #: build/C/man7/cpuset.7:1103
5237 msgid ""
5238 "The Linux kernel implementation of cpusets sets I<errno> to specify the "
5239 "reason for a failed system call affecting cpusets."
5240 msgstr ""
5241 "The Linux kernel implementation of cpusets sets I<errno> to specify the "
5242 "reason for a failed system call affecting cpusets."
5243
5244 #. type: Plain text
5245 #: build/C/man7/cpuset.7:1108
5246 msgid ""
5247 "The possible I<errno> settings and their meaning when set on a failed cpuset "
5248 "call are as listed below."
5249 msgstr ""
5250 "The possible I<errno> settings and their meaning when set on a failed cpuset "
5251 "call are as listed below."
5252
5253 #. type: TP
5254 #: build/C/man7/cpuset.7:1108
5255 #, no-wrap
5256 msgid "B<E2BIG>"
5257 msgstr "B<E2BIG>"
5258
5259 #. type: Plain text
5260 #: build/C/man7/cpuset.7:1115
5261 msgid ""
5262 "Attempted a B<write>(2)  on a special cpuset file with a length larger than "
5263 "some kernel-determined upper limit on the length of such writes."
5264 msgstr ""
5265 "Attempted a B<write>(2)  on a special cpuset file with a length larger than "
5266 "some kernel-determined upper limit on the length of such writes."
5267
5268 #. type: Plain text
5269 #: build/C/man7/cpuset.7:1122
5270 msgid ""
5271 "Attempted to B<write>(2)  the process ID (PID) of a process to a cpuset "
5272 "I<tasks> file when one lacks permission to move that process."
5273 msgstr ""
5274 "Attempted to B<write>(2)  the process ID (PID) of a process to a cpuset "
5275 "I<tasks> file when one lacks permission to move that process."
5276
5277 #. type: Plain text
5278 #: build/C/man7/cpuset.7:1128
5279 msgid ""
5280 "Attempted to add, using B<write>(2), a CPU or memory node to a cpuset, when "
5281 "that CPU or memory node was not already in its parent."
5282 msgstr ""
5283 "Attempted to add, using B<write>(2), a CPU or memory node to a cpuset, when "
5284 "that CPU or memory node was not already in its parent."
5285
5286 #. type: Plain text
5287 #: build/C/man7/cpuset.7:1136
5288 msgid ""
5289 "Attempted to set, using B<write>(2), I<cpu_exclusive> or I<mem_exclusive> on "
5290 "a cpuset whose parent lacks the same setting."
5291 msgstr ""
5292 "Attempted to set, using B<write>(2), I<cpu_exclusive> or I<mem_exclusive> on "
5293 "a cpuset whose parent lacks the same setting."
5294
5295 #. type: Plain text
5296 #: build/C/man7/cpuset.7:1143
5297 msgid "Attempted to B<write>(2)  a I<memory_pressure> file."
5298 msgstr "Attempted to B<write>(2)  a I<memory_pressure> file."
5299
5300 #. type: Plain text
5301 #: build/C/man7/cpuset.7:1146
5302 msgid "Attempted to create a file in a cpuset directory."
5303 msgstr "Attempted to create a file in a cpuset directory."
5304
5305 #. type: TP
5306 #: build/C/man7/cpuset.7:1146 build/C/man7/cpuset.7:1151
5307 #: build/C/man7/cpuset.7:1156
5308 #, no-wrap
5309 msgid "B<EBUSY>"
5310 msgstr "B<EBUSY>"
5311
5312 #. type: Plain text
5313 #: build/C/man7/cpuset.7:1151
5314 msgid ""
5315 "Attempted to remove, using B<rmdir>(2), a cpuset with attached processes."
5316 msgstr ""
5317 "Attempted to remove, using B<rmdir>(2), a cpuset with attached processes."
5318
5319 #. type: Plain text
5320 #: build/C/man7/cpuset.7:1156
5321 msgid "Attempted to remove, using B<rmdir>(2), a cpuset with child cpusets."
5322 msgstr "Attempted to remove, using B<rmdir>(2), a cpuset with child cpusets."
5323
5324 #. type: Plain text
5325 #: build/C/man7/cpuset.7:1161
5326 msgid ""
5327 "Attempted to remove a CPU or memory node from a cpuset that is also in a "
5328 "child of that cpuset."
5329 msgstr ""
5330 "Attempted to remove a CPU or memory node from a cpuset that is also in a "
5331 "child of that cpuset."
5332
5333 #. type: TP
5334 #: build/C/man7/cpuset.7:1161 build/C/man7/cpuset.7:1166
5335 #, no-wrap
5336 msgid "B<EEXIST>"
5337 msgstr "B<EEXIST>"
5338
5339 #. type: Plain text
5340 #: build/C/man7/cpuset.7:1166
5341 msgid "Attempted to create, using B<mkdir>(2), a cpuset that already exists."
5342 msgstr "Attempted to create, using B<mkdir>(2), a cpuset that already exists."
5343
5344 #. type: Plain text
5345 #: build/C/man7/cpuset.7:1171
5346 msgid "Attempted to B<rename>(2)  a cpuset to a name that already exists."
5347 msgstr "Attempted to B<rename>(2)  a cpuset to a name that already exists."
5348
5349 #. type: Plain text
5350 #: build/C/man7/cpuset.7:1179
5351 msgid ""
5352 "Attempted to B<read>(2)  or B<write>(2)  a cpuset file using a buffer that "
5353 "is outside the writing processes accessible address space."
5354 msgstr ""
5355 "Attempted to B<read>(2)  or B<write>(2)  a cpuset file using a buffer that "
5356 "is outside the writing processes accessible address space."
5357
5358 #. type: Plain text
5359 #: build/C/man7/cpuset.7:1188
5360 msgid ""
5361 "Attempted to change a cpuset, using B<write>(2), in a way that would violate "
5362 "a I<cpu_exclusive> or I<mem_exclusive> attribute of that cpuset or any of "
5363 "its siblings."
5364 msgstr ""
5365 "Attempted to change a cpuset, using B<write>(2), in a way that would violate "
5366 "a I<cpu_exclusive> or I<mem_exclusive> attribute of that cpuset or any of "
5367 "its siblings."
5368
5369 #. type: Plain text
5370 #: build/C/man7/cpuset.7:1197
5371 msgid ""
5372 "Attempted to B<write>(2)  an empty I<cpus> or I<mems> list to a cpuset which "
5373 "has attached processes or child cpusets."
5374 msgstr ""
5375 "Attempted to B<write>(2)  an empty I<cpus> or I<mems> list to a cpuset which "
5376 "has attached processes or child cpusets."
5377
5378 #. type: Plain text
5379 #: build/C/man7/cpuset.7:1207
5380 msgid ""
5381 "Attempted to B<write>(2)  a I<cpus> or I<mems> list which included a range "
5382 "with the second number smaller than the first number."
5383 msgstr ""
5384 "Attempted to B<write>(2)  a I<cpus> or I<mems> list which included a range "
5385 "with the second number smaller than the first number."
5386
5387 #. type: Plain text
5388 #: build/C/man7/cpuset.7:1216
5389 msgid ""
5390 "Attempted to B<write>(2)  a I<cpus> or I<mems> list which included an "
5391 "invalid character in the string."
5392 msgstr ""
5393 "Attempted to B<write>(2)  a I<cpus> or I<mems> list which included an "
5394 "invalid character in the string."
5395
5396 #. type: Plain text
5397 #: build/C/man7/cpuset.7:1223
5398 msgid ""
5399 "Attempted to B<write>(2)  a list to a I<cpus> file that did not include any "
5400 "online CPUs."
5401 msgstr ""
5402 "Attempted to B<write>(2)  a list to a I<cpus> file that did not include any "
5403 "online CPUs."
5404
5405 #. type: Plain text
5406 #: build/C/man7/cpuset.7:1230
5407 msgid ""
5408 "Attempted to B<write>(2)  a list to a I<mems> file that did not include any "
5409 "online memory nodes."
5410 msgstr ""
5411 "Attempted to B<write>(2)  a list to a I<mems> file that did not include any "
5412 "online memory nodes."
5413
5414 #. type: Plain text
5415 #: build/C/man7/cpuset.7:1237
5416 msgid ""
5417 "Attempted to B<write>(2)  a list to a I<mems> file that included a node that "
5418 "held no memory."
5419 msgstr ""
5420 "Attempted to B<write>(2)  a list to a I<mems> file that included a node that "
5421 "held no memory."
5422
5423 #. type: Plain text
5424 #: build/C/man7/cpuset.7:1245
5425 msgid ""
5426 "Attempted to B<write>(2)  a string to a cpuset I<tasks> file that does not "
5427 "begin with an ASCII decimal integer."
5428 msgstr ""
5429 "Attempted to B<write>(2)  a string to a cpuset I<tasks> file that does not "
5430 "begin with an ASCII decimal integer."
5431
5432 #. type: Plain text
5433 #: build/C/man7/cpuset.7:1250
5434 msgid "Attempted to B<rename>(2)  a cpuset into a different directory."
5435 msgstr "Attempted to B<rename>(2)  a cpuset into a different directory."
5436
5437 #. type: Plain text
5438 #: build/C/man7/cpuset.7:1257
5439 msgid ""
5440 "Attempted to B<read>(2)  a I</proc/E<lt>pidE<gt>/cpuset> file for a cpuset "
5441 "path that is longer than the kernel page size."
5442 msgstr ""
5443 "Attempted to B<read>(2)  a I</proc/E<lt>pidE<gt>/cpuset> file for a cpuset "
5444 "path that is longer than the kernel page size."
5445
5446 #. type: Plain text
5447 #: build/C/man7/cpuset.7:1262
5448 msgid ""
5449 "Attempted to create, using B<mkdir>(2), a cpuset whose base directory name "
5450 "is longer than 255 characters."
5451 msgstr ""
5452 "Attempted to create, using B<mkdir>(2), a cpuset whose base directory name "
5453 "is longer than 255 characters."
5454
5455 #. type: Plain text
5456 #: build/C/man7/cpuset.7:1269
5457 msgid ""
5458 "Attempted to create, using B<mkdir>(2), a cpuset whose full pathname, "
5459 "including the mount point (typically \"/dev/cpuset/\") prefix, is longer "
5460 "than 4095 characters."
5461 msgstr ""
5462 "Attempted to create, using B<mkdir>(2), a cpuset whose full pathname, "
5463 "including the mount point (typically \"/dev/cpuset/\") prefix, is longer "
5464 "than 4095 characters."
5465
5466 #. type: TP
5467 #: build/C/man7/cpuset.7:1269
5468 #, no-wrap
5469 msgid "B<ENODEV>"
5470 msgstr "B<ENODEV>"
5471
5472 #. type: Plain text
5473 #: build/C/man7/cpuset.7:1274
5474 msgid ""
5475 "The cpuset was removed by another process at the same time as a B<write>(2)  "
5476 "was attempted on one of the pseudo-files in the cpuset directory."
5477 msgstr ""
5478 "The cpuset was removed by another process at the same time as a B<write>(2)  "
5479 "was attempted on one of the pseudo-files in the cpuset directory."
5480
5481 #. type: Plain text
5482 #: build/C/man7/cpuset.7:1279
5483 msgid ""
5484 "Attempted to create, using B<mkdir>(2), a cpuset in a parent cpuset that "
5485 "doesn't exist."
5486 msgstr ""
5487 "Attempted to create, using B<mkdir>(2), a cpuset in a parent cpuset that "
5488 "doesn't exist."
5489
5490 #. type: Plain text
5491 #: build/C/man7/cpuset.7:1286
5492 msgid ""
5493 "Attempted to B<access>(2)  or B<open>(2)  a nonexistent file in a cpuset "
5494 "directory."
5495 msgstr ""
5496 "Attempted to B<access>(2)  or B<open>(2)  a nonexistent file in a cpuset "
5497 "directory."
5498
5499 #. type: Plain text
5500 #: build/C/man7/cpuset.7:1291
5501 msgid ""
5502 "Insufficient memory is available within the kernel; can occur on a variety "
5503 "of system calls affecting cpusets, but only if the system is extremely short "
5504 "of memory."
5505 msgstr ""
5506 "Insufficient memory is available within the kernel; can occur on a variety "
5507 "of system calls affecting cpusets, but only if the system is extremely short "
5508 "of memory."
5509
5510 #. type: TP
5511 #: build/C/man7/cpuset.7:1291 build/C/man7/cpuset.7:1303
5512 #, no-wrap
5513 msgid "B<ENOSPC>"
5514 msgstr "B<ENOSPC>"
5515
5516 #. type: Plain text
5517 #: build/C/man7/cpuset.7:1303
5518 msgid ""
5519 "Attempted to B<write>(2)  the process ID (PID)  of a process to a cpuset "
5520 "I<tasks> file when the cpuset had an empty I<cpus> or empty I<mems> setting."
5521 msgstr ""
5522 "Attempted to B<write>(2)  the process ID (PID)  of a process to a cpuset "
5523 "I<tasks> file when the cpuset had an empty I<cpus> or empty I<mems> setting."
5524
5525 #. type: Plain text
5526 #: build/C/man7/cpuset.7:1313
5527 msgid ""
5528 "Attempted to B<write>(2)  an empty I<cpus> or I<mems> setting to a cpuset "
5529 "that has tasks attached."
5530 msgstr ""
5531 "Attempted to B<write>(2)  an empty I<cpus> or I<mems> setting to a cpuset "
5532 "that has tasks attached."
5533
5534 #. type: Plain text
5535 #: build/C/man7/cpuset.7:1318
5536 msgid "Attempted to B<rename>(2)  a nonexistent cpuset."
5537 msgstr "Attempted to B<rename>(2)  a nonexistent cpuset."
5538
5539 #. type: Plain text
5540 #: build/C/man7/cpuset.7:1321
5541 msgid "Attempted to remove a file from a cpuset directory."
5542 msgstr "Attempted to remove a file from a cpuset directory."
5543
5544 #. type: TP
5545 #: build/C/man7/cpuset.7:1321
5546 #, no-wrap
5547 msgid "B<ERANGE>"
5548 msgstr "B<ERANGE>"
5549
5550 #. type: Plain text
5551 #: build/C/man7/cpuset.7:1329
5552 msgid ""
5553 "Specified a I<cpus> or I<mems> list to the kernel which included a number "
5554 "too large for the kernel to set in its bitmasks."
5555 msgstr ""
5556 "Specified a I<cpus> or I<mems> list to the kernel which included a number "
5557 "too large for the kernel to set in its bitmasks."
5558
5559 #.  ================== VERSIONS ==================
5560 #. type: Plain text
5561 #: build/C/man7/cpuset.7:1337
5562 msgid ""
5563 "Attempted to B<write>(2)  the process ID (PID) of a nonexistent process to a "
5564 "cpuset I<tasks> file."
5565 msgstr ""
5566 "Attempted to B<write>(2)  the process ID (PID) of a nonexistent process to a "
5567 "cpuset I<tasks> file."
5568
5569 #.  ================== NOTES ==================
5570 #. type: Plain text
5571 #: build/C/man7/cpuset.7:1340
5572 msgid "Cpusets appeared in version 2.6.12 of the Linux kernel."
5573 msgstr "Cpusets appeared in version 2.6.12 of the Linux kernel."
5574
5575 #.  ================== BUGS ==================
5576 #. type: Plain text
5577 #: build/C/man7/cpuset.7:1351
5578 msgid ""
5579 "Despite its name, the I<pid> parameter is actually a thread ID, and each "
5580 "thread in a threaded group can be attached to a different cpuset.  The value "
5581 "returned from a call to B<gettid>(2)  can be passed in the argument I<pid>."
5582 msgstr ""
5583 "Despite its name, the I<pid> parameter is actually a thread ID, and each "
5584 "thread in a threaded group can be attached to a different cpuset.  The value "
5585 "returned from a call to B<gettid>(2)  can be passed in the argument I<pid>."
5586
5587 #. type: SH
5588 #: build/C/man7/cpuset.7:1351 build/C/man2/getrlimit.2:576
5589 #: build/C/man2/ioprio_set.2:308 build/C/man2/setfsgid.2:102
5590 #: build/C/man2/setfsuid.2:102
5591 #, no-wrap
5592 msgid "BUGS"
5593 msgstr "バグ"
5594
5595 #.  ================== EXAMPLE ==================
5596 #. type: Plain text
5597 #: build/C/man7/cpuset.7:1364
5598 msgid ""
5599 "I<memory_pressure> cpuset files can be opened for writing, creation, or "
5600 "truncation, but then the B<write>(2)  fails with I<errno> set to B<EACCES>, "
5601 "and the creation and truncation options on B<open>(2)  have no effect."
5602 msgstr ""
5603 "I<memory_pressure> cpuset files can be opened for writing, creation, or "
5604 "truncation, but then the B<write>(2)  fails with I<errno> set to B<EACCES>, "
5605 "and the creation and truncation options on B<open>(2)  have no effect."
5606
5607 #. type: SH
5608 #: build/C/man7/cpuset.7:1364 build/C/man2/getrlimit.2:520
5609 #, no-wrap
5610 msgid "EXAMPLE"
5611 msgstr "EXAMPLE"
5612
5613 #. type: Plain text
5614 #: build/C/man7/cpuset.7:1367
5615 msgid ""
5616 "The following examples demonstrate querying and setting cpuset options using "
5617 "shell commands."
5618 msgstr ""
5619 "The following examples demonstrate querying and setting cpuset options using "
5620 "shell commands."
5621
5622 #. type: SS
5623 #: build/C/man7/cpuset.7:1367
5624 #, no-wrap
5625 msgid "Creating and attaching to a cpuset."
5626 msgstr "Creating and attaching to a cpuset."
5627
5628 #. type: Plain text
5629 #: build/C/man7/cpuset.7:1370
5630 msgid ""
5631 "To create a new cpuset and attach the current command shell to it, the steps "
5632 "are:"
5633 msgstr ""
5634 "To create a new cpuset and attach the current command shell to it, the steps "
5635 "are:"
5636
5637 #. type: IP
5638 #: build/C/man7/cpuset.7:1372 build/C/man7/cpuset.7:1411
5639 #, no-wrap
5640 msgid "1)"
5641 msgstr "1)"
5642
5643 #. type: Plain text
5644 #: build/C/man7/cpuset.7:1374
5645 msgid "mkdir /dev/cpuset (if not already done)"
5646 msgstr "mkdir /dev/cpuset (if not already done)"
5647
5648 #. type: IP
5649 #: build/C/man7/cpuset.7:1374 build/C/man7/cpuset.7:1417
5650 #, no-wrap
5651 msgid "2)"
5652 msgstr "2)"
5653
5654 #. type: Plain text
5655 #: build/C/man7/cpuset.7:1376
5656 msgid "mount -t cpuset none /dev/cpuset (if not already done)"
5657 msgstr "mount -t cpuset none /dev/cpuset (if not already done)"
5658
5659 #. type: IP
5660 #: build/C/man7/cpuset.7:1376 build/C/man7/cpuset.7:1420
5661 #, no-wrap
5662 msgid "3)"
5663 msgstr "3)"
5664
5665 #. type: Plain text
5666 #: build/C/man7/cpuset.7:1379
5667 msgid "Create the new cpuset using B<mkdir>(1)."
5668 msgstr "Create the new cpuset using B<mkdir>(1)."
5669
5670 #. type: IP
5671 #: build/C/man7/cpuset.7:1379 build/C/man7/cpuset.7:1423
5672 #, no-wrap
5673 msgid "4)"
5674 msgstr "4)"
5675
5676 #. type: Plain text
5677 #: build/C/man7/cpuset.7:1381
5678 msgid "Assign CPUs and memory nodes to the new cpuset."
5679 msgstr "Assign CPUs and memory nodes to the new cpuset."
5680
5681 #. type: IP
5682 #: build/C/man7/cpuset.7:1381 build/C/man7/cpuset.7:1428
5683 #, no-wrap
5684 msgid "5)"
5685 msgstr "5)"
5686
5687 #. type: Plain text
5688 #: build/C/man7/cpuset.7:1383
5689 msgid "Attach the shell to the new cpuset."
5690 msgstr "Attach the shell to the new cpuset."
5691
5692 #. type: Plain text
5693 #: build/C/man7/cpuset.7:1388
5694 msgid ""
5695 "For example, the following sequence of commands will set up a cpuset named "
5696 "\"Charlie\", containing just CPUs 2 and 3, and memory node 1, and then "
5697 "attach the current shell to that cpuset."
5698 msgstr ""
5699 "For example, the following sequence of commands will set up a cpuset named "
5700 "\"Charlie\", containing just CPUs 2 and 3, and memory node 1, and then "
5701 "attach the current shell to that cpuset."
5702
5703 #. type: Plain text
5704 #: build/C/man7/cpuset.7:1402
5705 #, no-wrap
5706 msgid ""
5707 "$B< mkdir /dev/cpuset>\n"
5708 "$B< mount -t cpuset cpuset /dev/cpuset>\n"
5709 "$B< cd /dev/cpuset>\n"
5710 "$B< mkdir Charlie>\n"
5711 "$B< cd Charlie>\n"
5712 "$B< /bin/echo 2-3 E<gt> cpus>\n"
5713 "$B< /bin/echo 1 E<gt> mems>\n"
5714 "$B< /bin/echo $$ E<gt> tasks>\n"
5715 "# The current shell is now running in cpuset Charlie\n"
5716 "# The next line should display '/Charlie'\n"
5717 "$B< cat /proc/self/cpuset>\n"
5718 msgstr ""
5719 "$B< mkdir /dev/cpuset>\n"
5720 "$B< mount -t cpuset cpuset /dev/cpuset>\n"
5721 "$B< cd /dev/cpuset>\n"
5722 "$B< mkdir Charlie>\n"
5723 "$B< cd Charlie>\n"
5724 "$B< /bin/echo 2-3 E<gt> cpus>\n"
5725 "$B< /bin/echo 1 E<gt> mems>\n"
5726 "$B< /bin/echo $$ E<gt> tasks>\n"
5727 "# The current shell is now running in cpuset Charlie\n"
5728 "# The next line should display '/Charlie'\n"
5729 "$B< cat /proc/self/cpuset>\n"
5730
5731 #. type: SS
5732 #: build/C/man7/cpuset.7:1404
5733 #, no-wrap
5734 msgid "Migrating a job to different memory nodes."
5735 msgstr "Migrating a job to different memory nodes."
5736
5737 #. type: Plain text
5738 #: build/C/man7/cpuset.7:1409
5739 msgid ""
5740 "To migrate a job (the set of processes attached to a cpuset)  to different "
5741 "CPUs and memory nodes in the system, including moving the memory pages "
5742 "currently allocated to that job, perform the following steps."
5743 msgstr ""
5744 "To migrate a job (the set of processes attached to a cpuset)  to different "
5745 "CPUs and memory nodes in the system, including moving the memory pages "
5746 "currently allocated to that job, perform the following steps."
5747
5748 #. type: Plain text
5749 #: build/C/man7/cpuset.7:1417
5750 msgid ""
5751 "Let's say we want to move the job in cpuset I<alpha> (CPUs 4-7 and memory "
5752 "nodes 2-3) to a new cpuset I<beta> (CPUs 16-19 and memory nodes 8-9)."
5753 msgstr ""
5754 "Let's say we want to move the job in cpuset I<alpha> (CPUs 4-7 and memory "
5755 "nodes 2-3) to a new cpuset I<beta> (CPUs 16-19 and memory nodes 8-9)."
5756
5757 #. type: Plain text
5758 #: build/C/man7/cpuset.7:1420
5759 msgid "First create the new cpuset I<beta>."
5760 msgstr "First create the new cpuset I<beta>."
5761
5762 #. type: Plain text
5763 #: build/C/man7/cpuset.7:1423
5764 msgid "Then allow CPUs 16-19 and memory nodes 8-9 in I<beta>."
5765 msgstr "Then allow CPUs 16-19 and memory nodes 8-9 in I<beta>."
5766
5767 #. type: Plain text
5768 #: build/C/man7/cpuset.7:1428
5769 msgid "Then enable I<memory_migration> in I<beta>."
5770 msgstr "Then enable I<memory_migration> in I<beta>."
5771
5772 #. type: Plain text
5773 #: build/C/man7/cpuset.7:1433
5774 msgid "Then move each process from I<alpha> to I<beta>."
5775 msgstr "Then move each process from I<alpha> to I<beta>."
5776
5777 #. type: Plain text
5778 #: build/C/man7/cpuset.7:1436
5779 msgid "The following sequence of commands accomplishes this."
5780 msgstr "The following sequence of commands accomplishes this."
5781
5782 #. type: Plain text
5783 #: build/C/man7/cpuset.7:1446
5784 #, no-wrap
5785 msgid ""
5786 "$B< cd /dev/cpuset>\n"
5787 "$B< mkdir beta>\n"
5788 "$B< cd beta>\n"
5789 "$B< /bin/echo 16-19 E<gt> cpus>\n"
5790 "$B< /bin/echo 8-9 E<gt> mems>\n"
5791 "$B< /bin/echo 1 E<gt> memory_migrate>\n"
5792 "$B< while read i; do /bin/echo $i; done E<lt> ../alpha/tasks E<gt> tasks>\n"
5793 msgstr ""
5794 "$B< cd /dev/cpuset>\n"
5795 "$B< mkdir beta>\n"
5796 "$B< cd beta>\n"
5797 "$B< /bin/echo 16-19 E<gt> cpus>\n"
5798 "$B< /bin/echo 8-9 E<gt> mems>\n"
5799 "$B< /bin/echo 1 E<gt> memory_migrate>\n"
5800 "$B< while read i; do /bin/echo $i; done E<lt> ../alpha/tasks E<gt> tasks>\n"
5801
5802 #. type: Plain text
5803 #: build/C/man7/cpuset.7:1455
5804 msgid ""
5805 "The above should move any processes in I<alpha> to I<beta>, and any memory "
5806 "held by these processes on memory nodes 2-3 to memory nodes 8-9, "
5807 "respectively."
5808 msgstr ""
5809 "The above should move any processes in I<alpha> to I<beta>, and any memory "
5810 "held by these processes on memory nodes 2-3 to memory nodes 8-9, "
5811 "respectively."
5812
5813 #. type: Plain text
5814 #: build/C/man7/cpuset.7:1457
5815 msgid "Notice that the last step of the above sequence did not do:"
5816 msgstr "Notice that the last step of the above sequence did not do:"
5817
5818 #. type: Plain text
5819 #: build/C/man7/cpuset.7:1461
5820 #, no-wrap
5821 msgid "$B< cp ../alpha/tasks tasks>\n"
5822 msgstr "$B< cp ../alpha/tasks tasks>\n"
5823
5824 #. type: Plain text
5825 #: build/C/man7/cpuset.7:1472
5826 msgid ""
5827 "The I<while> loop, rather than the seemingly easier use of the B<cp>(1)  "
5828 "command, was necessary because only one process PID at a time may be written "
5829 "to the I<tasks> file."
5830 msgstr ""
5831 "The I<while> loop, rather than the seemingly easier use of the B<cp>(1)  "
5832 "command, was necessary because only one process PID at a time may be written "
5833 "to the I<tasks> file."
5834
5835 #. type: Plain text
5836 #: build/C/man7/cpuset.7:1480
5837 msgid ""
5838 "The same effect (writing one PID at a time) as the I<while> loop can be "
5839 "accomplished more efficiently, in fewer keystrokes and in syntax that works "
5840 "on any shell, but alas more obscurely, by using the B<-u> (unbuffered) "
5841 "option of B<sed>(1):"
5842 msgstr ""
5843 "The same effect (writing one PID at a time) as the I<while> loop can be "
5844 "accomplished more efficiently, in fewer keystrokes and in syntax that works "
5845 "on any shell, but alas more obscurely, by using the B<-u> (unbuffered) "
5846 "option of B<sed>(1):"
5847
5848 #. type: Plain text
5849 #: build/C/man7/cpuset.7:1484
5850 #, no-wrap
5851 msgid "$B< sed -un p E<lt> ../alpha/tasks E<gt> tasks>\n"
5852 msgstr "$B< sed -un p E<lt> ../alpha/tasks E<gt> tasks>\n"
5853
5854 #. type: Plain text
5855 #: build/C/man7/cpuset.7:1501
5856 msgid ""
5857 "B<taskset>(1), B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), "
5858 "B<sched_getaffinity>(2), B<sched_setaffinity>(2), B<sched_setscheduler>(2), "
5859 "B<set_mempolicy>(2), B<CPU_SET>(3), B<proc>(5), B<numa>(7), B<migratepages>"
5860 "(8), B<numactl>(8)"
5861 msgstr ""
5862 "B<taskset>(1), B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), "
5863 "B<sched_getaffinity>(2), B<sched_setaffinity>(2), B<sched_setscheduler>(2), "
5864 "B<set_mempolicy>(2), B<CPU_SET>(3), B<proc>(5), B<numa>(7), B<migratepages>"
5865 "(8), B<numactl>(8)"
5866
5867 #. type: Plain text
5868 #: build/C/man7/cpuset.7:1504
5869 msgid "The kernel source file I<Documentation/cpusets.txt>."
5870 msgstr "The kernel source file I<Documentation/cpusets.txt>."
5871
5872 #. type: TH
5873 #: build/C/man7/credentials.7:25
5874 #, no-wrap
5875 msgid "CREDENTIALS"
5876 msgstr "CREDENTIALS"
5877
5878 #. type: TH
5879 #: build/C/man7/credentials.7:25
5880 #, no-wrap
5881 msgid "2008-06-03"
5882 msgstr "2008-06-03"
5883
5884 #. type: Plain text
5885 #: build/C/man7/credentials.7:28
5886 msgid "credentials - process identifiers"
5887 msgstr "credentials - 認証に用いられるプロセスの識別子"
5888
5889 #. type: SS
5890 #: build/C/man7/credentials.7:29
5891 #, no-wrap
5892 msgid "Process ID (PID)"
5893 msgstr "プロセスID (PID)"
5894
5895 #. type: Plain text
5896 #: build/C/man7/credentials.7:39
5897 msgid ""
5898 "Each process has a unique nonnegative integer identifier that is assigned "
5899 "when the process is created using B<fork>(2).  A process can obtain its PID "
5900 "using B<getpid>(2).  A PID is represented using the type I<pid_t> (defined "
5901 "in I<E<lt>sys/types.hE<gt>>)."
5902 msgstr ""
5903 "各プロセスは、負でない整数の一意な識別子を持つ。 この識別子は B<fork>(2)  を"
5904 "使ってプロセスが生成される際に割り当てられる。 プロセスは B<getpid>(2)  を"
5905 "使って自分の PID を取得できる。 PID は I<pid_t> 型で表現される (I<pid_t> は "
5906 "I<E<lt>sys/types.hE<gt>> で定義されている)。"
5907
5908 #.  .BR sched_rr_get_interval (2),
5909 #.  .BR sched_getaffinity (2),
5910 #.  .BR sched_setaffinity (2),
5911 #.  .BR sched_getparam (2),
5912 #.  .BR sched_setparam (2),
5913 #.  .BR sched_setscheduler (2),
5914 #.  .BR sched_getscheduler (2),
5915 #.  .BR getsid (2),
5916 #.  .BR waitid (2),
5917 #.  .BR wait4 (2),
5918 #. type: Plain text
5919 #: build/C/man7/credentials.7:60
5920 msgid ""
5921 "PIDs are used in a range of system calls to identify the process affected by "
5922 "the call, for example: B<kill>(2), B<ptrace>(2), B<setpriority>(2)  "
5923 "B<setpgid>(2), B<setsid>(2), B<sigqueue>(3), and B<waitpid>(2)."
5924 msgstr ""
5925 "PID は各種のシステムコールでそのシステムコールが作用するプロセスを 特定するた"
5926 "めに使用される。以下に例を挙げる: B<kill>(2), B<ptrace>(2), B<setpriority>"
5927 "(2), B<setpgid>(2), B<setsid>(2), B<sigqueue>(3), B<waitpid>(2)."
5928
5929 #. type: Plain text
5930 #: build/C/man7/credentials.7:63
5931 msgid "A process's PID is preserved across an B<execve>(2)."
5932 msgstr "プロセスの PID は B<execve>(2)  の前後で不変である。"
5933
5934 #. type: SS
5935 #: build/C/man7/credentials.7:63
5936 #, no-wrap
5937 msgid "Parent Process ID (PPID)"
5938 msgstr "親プロセス ID (PPID)"
5939
5940 #. type: Plain text
5941 #: build/C/man7/credentials.7:71
5942 msgid ""
5943 "A process's parent process ID identifies the process that created this "
5944 "process using B<fork>(2).  A process can obtain its PPID using B<getppid>"
5945 "(2).  A PPID is represented using the type I<pid_t>."
5946 msgstr ""
5947 "プロセスの親プロセスの ID は、 B<fork>(2)  を使ってそのプロセスを生成したプロ"
5948 "セスを示す。 プロセスは B<getppid>(2)  を使って自分の PPID を取得できる。 "
5949 "PPID は I<pid_t> 型で表現される。"
5950
5951 #. type: Plain text
5952 #: build/C/man7/credentials.7:74
5953 msgid "A process's PPID is preserved across an B<execve>(2)."
5954 msgstr "プロセスの PPID は B<execve>(2)  の前後で不変である。"
5955
5956 #. type: SS
5957 #: build/C/man7/credentials.7:74
5958 #, no-wrap
5959 msgid "Process Group ID and Session ID"
5960 msgstr "プロセスグループ ID とセッション ID"
5961
5962 #. type: Plain text
5963 #: build/C/man7/credentials.7:82
5964 msgid ""
5965 "Each process has a session ID and a process group ID, both represented using "
5966 "the type I<pid_t>.  A process can obtain its session ID using B<getsid>(2), "
5967 "and its process group ID using B<getpgrp>(2)."
5968 msgstr ""
5969 "各プロセスはセッション ID とプロセスグループ ID を持つ。 これらの ID はどちら"
5970 "も I<pid_t> 型で表現される。 プロセスは、それぞれ B<getsid>(2), B<getpgrp>"
5971 "(2)  を使って自分のセッション ID、プロセスグループ ID を取得できる。"
5972
5973 #. type: Plain text
5974 #: build/C/man7/credentials.7:88
5975 msgid ""
5976 "A child created by B<fork>(2)  inherits its parent's session ID and process "
5977 "group ID.  A process's session ID and process group ID are preserved across "
5978 "an B<execve>(2)."
5979 msgstr ""
5980 "B<fork>(2)  で生成された子プロセスは親プロセスのセッション ID とプロセスグ"
5981 "ループ ID を継承する。プロセスのセッション ID とプロセスグループ ID は "
5982 "B<execve>(2)  の前後で不変である。"
5983
5984 #. type: Plain text
5985 #: build/C/man7/credentials.7:101
5986 msgid ""
5987 "Sessions and process groups are abstractions devised to support shell job "
5988 "control.  A process group (sometimes called a \"job\") is a collection of "
5989 "processes that share the same process group ID; the shell creates a new "
5990 "process group for the process(es) used to execute single command or pipeline "
5991 "(e.g., the two processes created to execute the command \"ls\\ |\\ wc\" are "
5992 "placed in the same process group).  A process's group membership can be set "
5993 "using B<setpgid>(2).  The process whose process ID is the same as its "
5994 "process group ID is the I<process group leader> for that group."
5995 msgstr ""
5996 "セッションとプロセスグループの概念は、シェルのジョブ制御を行うために 考案され"
5997 "たものである。 プロセスグループ (時には「ジョブ」と呼ばれることもある) は、 "
5998 "同じプロセスグループ ID を共有するプロセスの集まりである。 シェルは、一つのコ"
5999 "マンドもしくはパイプラインの実行に使われるプロセス群に 対して一つのプロセスグ"
6000 "ループを生成する (例えば、コマンド \"ls\\ |\\ wc\" を実行するために生成される"
6001 "二つのプロセスは 同じプロセスグループに置かれる)。 所属するプロセスグループ"
6002 "は B<setpgid>(2)  を使って設定できる。 自身のプロセス ID がプロセスグループ "
6003 "ID と同じプロセスは、 そのグループの「プロセスグループ・リーダー」である。"
6004
6005 #. type: Plain text
6006 #: build/C/man7/credentials.7:113
6007 msgid ""
6008 "A session is a collection of processes that share the same session ID.  All "
6009 "of the members of a process group also have the same session ID (i.e., all "
6010 "of the members of a process group always belong to the same session, so that "
6011 "sessions and process groups form a strict two-level hierarchy of "
6012 "processes.)  A new session is created when a process calls B<setsid>(2), "
6013 "which creates a new session whose session ID is the same as the PID of the "
6014 "process that called B<setsid>(2).  The creator of the session is called the "
6015 "I<session leader>."
6016 msgstr ""
6017 "セッションは、同じセッション ID を共有するプロセスの集まりである。 ある一つの"
6018 "プロセスグループの全メンバーは同じセッション ID を持つ (つまり、一つのプロセ"
6019 "スグループのメンバーは全て同じセッションに所属し、 これにより、セッションとプ"
6020 "ロセスグループで二階層のプロセス階層が形成できる)。 新たなセッションの生成は"
6021 "プロセスが B<setsid>(2)  を呼び出すことで行う。 B<setsid>(2)  は、 B<setsid>"
6022 "(2)  を呼び出したプロセスの PID と同じ値のセッション ID を持つ 新たなセッショ"
6023 "ンを生成する。 セッションの生成者は「セッション・リーダー」と呼ばれる。"
6024
6025 #. type: SS
6026 #: build/C/man7/credentials.7:113
6027 #, no-wrap
6028 msgid "User and Group Identifiers"
6029 msgstr "ユーザ ID とグループ ID"
6030
6031 #. type: Plain text
6032 #: build/C/man7/credentials.7:121
6033 msgid ""
6034 "Each process has various associated user and groups IDs.  These IDs are "
6035 "integers, respectively represented using the types I<uid_t> and I<gid_t> "
6036 "(defined in I<E<lt>sys/types.hE<gt>>)."
6037 msgstr ""
6038 "各プロセスは、数種類のユーザ ID とグループ ID を持つ。 ユーザ ID、グループ "
6039 "ID は整数で、それぞれ I<uid_t>, I<gid_t> 型で表現される (これらは I<E<lt>sys/"
6040 "types.hE<gt>> で定義されている)。"
6041
6042 #. type: Plain text
6043 #: build/C/man7/credentials.7:123
6044 msgid "On Linux, each process has the following user and group identifiers:"
6045 msgstr ""
6046 "Linux では、各プロセスは以下のような種類のユーザ ID とグループ ID を持つ。"
6047
6048 #. type: Plain text
6049 #: build/C/man7/credentials.7:129
6050 msgid ""
6051 "Real user ID and real group ID.  These IDs determine who owns the process.  "
6052 "A process can obtain its real user (group) ID using B<getuid>(2)  (B<getgid>"
6053 "(2))."
6054 msgstr ""
6055 "実ユーザ ID と実グループ ID。 これらの ID によりプロセスの所有者が決定され"
6056 "る。 プロセスが自分の実ユーザ ID、実グループ ID を取得するには、それぞれ "
6057 "B<getuid>(2), B<getgid>(2)  を使用する。"
6058
6059 #. type: Plain text
6060 #: build/C/man7/credentials.7:141
6061 msgid ""
6062 "Effective user ID and effective group ID.  These IDs are used by the kernel "
6063 "to determine the permissions that the process will have when accessing "
6064 "shared resources such as message queues, shared memory, and semaphores.  On "
6065 "most UNIX systems, these IDs also determine the permissions when accessing "
6066 "files.  However, Linux uses the file system IDs described below for this "
6067 "task.  A process can obtain its effective user (group) ID using B<geteuid>"
6068 "(2)  (B<getegid>(2))."
6069 msgstr ""
6070 "実効ユーザ ID と実効グループ ID。 これらの ID は、メッセージキュー、共有メモ"
6071 "リ、セマフォなどの 共有リソースにアクセスしようとした際にそのプロセスがアクセ"
6072 "ス許可を 持っているかをカーネルが判定するのに使用される。 ほとんどの UNIX シ"
6073 "ステムでは、これらの ID はファイルへのアクセス時の アクセス許可の判定にも使用"
6074 "される。 しかしながら、Linux ではファイルへのアクセス許可の判定には 後述の"
6075 "ファイルシステム ID が使用される。 プロセスが自分の実効ユーザ ID、実効グルー"
6076 "プ ID を取得するには、それぞれ B<geteuid>(2), B<getegid>(2)  を使用する。"
6077
6078 #. type: Plain text
6079 #: build/C/man7/credentials.7:163
6080 msgid ""
6081 "Saved set-user-ID and saved set-group-ID.  These IDs are used in set-user-ID "
6082 "and set-group-ID programs to save a copy of the corresponding effective IDs "
6083 "that were set when the program was executed (see B<execve>(2)).  A set-user-"
6084 "ID program can assume and drop privileges by switching its effective user ID "
6085 "back and forth between the values in its real user ID and saved set-user-"
6086 "ID.  This switching is done via calls to B<seteuid>(2), B<setreuid>(2), or "
6087 "B<setresuid>(2).  A set-group-ID program performs the analogous tasks using "
6088 "B<setegid>(2), B<setregid>(2), or B<setresgid>(2).  A process can obtain its "
6089 "saved set-user-ID (set-group-ID) using B<getresuid>(2)  (B<getresgid>(2))."
6090 msgstr ""
6091 "保存 (saved) set-user-ID と保存 set-group-ID。 これらの ID は、set-user-ID "
6092 "や set-group-ID されたプログラムにおいて、 プログラムの実行時に設定された実"
6093 "効 ID のコピーを保存するために 使用される (B<execve>(2)  参照)。 set-user-ID "
6094 "プログラムは、実効ユーザ ID を実ユーザID と保存 set-user-ID の間で行ったり来"
6095 "たり切り替えることで、特権を得たり落としたりできる。 この切り替えは "
6096 "B<seteuid>(2), B<setreuid>(2), B<setresuid>(2)  を呼び出すことで実行できる。 "
6097 "set-group-ID プログラムは、 B<setegid>(2), B<setregid>(2), B<setresgid>(2)  "
6098 "を使って同様のことができる。 プロセスが自分の保存 set-user-ID、保存 set-"
6099 "group-ID を取得するには、 B<getresuid(2),> B<getresgids>(2)  をそれぞれ使用す"
6100 "る。"
6101
6102 #. type: Plain text
6103 #: build/C/man7/credentials.7:180
6104 msgid ""
6105 "File system user ID and file system group ID (Linux-specific).  These IDs, "
6106 "in conjunction with the supplementary group IDs described below, are used to "
6107 "determine permissions for accessing files; see B<path_resolution>(7)  for "
6108 "details.  Whenever a process's effective user (group) ID is changed, the "
6109 "kernel also automatically changes the file system user (group) ID to the "
6110 "same value.  Consequently, the file system IDs normally have the same values "
6111 "as the corresponding effective ID, and the semantics for file-permission "
6112 "checks are thus the same on Linux as on other UNIX systems.  The file system "
6113 "IDs can be made to differ from the effective IDs by calling B<setfsuid>(2)  "
6114 "and B<setfsgid>(2)."
6115 msgstr ""
6116 "ファイルシステム・ユーザ ID とファイルシステム・グループ ID (Linux 固有)。 こ"
6117 "れらの ID は、後述の補助グループ ID と組み合わせて使用され、 ファイルへのアク"
6118 "セス権の決定に利用される。詳細は B<path_resolution>(7)  を参照。 プロセスの実"
6119 "効 ID (ユーザ ID や グループ ID) が変更されるたびに、 カーネルは自動的に対応"
6120 "するファイルシステム ID を同じ値に変更する。 その結果、ファイルシステム ID は"
6121 "通常は対応する実効 ID と同じ値となり、 ファイルのアクセス権のチェック方法は "
6122 "Linux と他の UNIX システムで同じである。 ファイルシステム ID は実効 ID とは異"
6123 "なる値にすることができ、 変更は B<setfsuid>(2)  と B<setfsgid>(2)  を呼び出し"
6124 "て行う。"
6125
6126 #.  Since kernel 2.6.4, the limit is visible via the read-only file
6127 #.  /proc/sys/kernel/ngroups_max.
6128 #.  As at 2.6.22-rc2, this file is still read-only.
6129 #. type: Plain text
6130 #: build/C/man7/credentials.7:199
6131 msgid ""
6132 "Supplementary group IDs.  This is a set of additional group IDs that are "
6133 "used for permission checks when accessing files and other shared resources.  "
6134 "On Linux kernels before 2.6.4, a process can be a member of up to 32 "
6135 "supplementary groups; since kernel 2.6.4, a process can be a member of up to "
6136 "65536 supplementary groups.  The call I<sysconf(_SC_NGROUPS_MAX)> can be "
6137 "used to determine the number of supplementary groups of which a process may "
6138 "be a member.  A process can obtain its set of supplementary group IDs using "
6139 "B<getgroups>(2), and can modify the set using B<setgroups>(2)."
6140 msgstr ""
6141 "補助グループ ID。 この ID は、ファイルや他の共有リソースへのアクセス時にアク"
6142 "セス許可の チェックに使用される、追加のグループ ID の集合である。 カーネル "
6143 "2.6.4 より前の Linux では、一つのプロセスあたりの 補助グループのメンバー数は"
6144 "最大で 32 である。 カーネル 2.6.4 以降では、一つのプロセスあたりの 補助グルー"
6145 "プのメンバー数は最大で 65536 である。 I<sysconf(_SC_NGROUPS_MAX)> を呼び出す"
6146 "ことで、あるプロセスがメンバーとなることができる可能性のある 補助グループ数を"
6147 "知ることができる。 プロセスは、自分の補助グループ ID の集合を B<getgroups>"
6148 "(2)  で取得でき、 B<setgroups>(2)  で集合を変更できる。"
6149
6150 #. type: Plain text
6151 #: build/C/man7/credentials.7:209
6152 msgid ""
6153 "A child process created by B<fork>(2)  inherits copies of its parent's user "
6154 "and groups IDs.  During an B<execve>(2), a process's real user and group ID "
6155 "and supplementary group IDs are preserved; the effective and saved set IDs "
6156 "may be changed, as described in B<execve>(2)."
6157 msgstr ""
6158 "B<fork>(2)  で生成された子プロセスは親プロセスのユーザ ID とグループ ID を継"
6159 "承する。 B<execve>(2)  の間、プロセスの実ユーザ/グループ ID と補助グループ "
6160 "ID 集合は不変である。 実効 ID と保存セット ID は変更される可能性がある "
6161 "(B<execve>(2)  で説明されている)。"
6162
6163 #. type: Plain text
6164 #: build/C/man7/credentials.7:212
6165 msgid ""
6166 "Aside from the purposes noted above, a process's user IDs are also employed "
6167 "in a number of other contexts:"
6168 msgstr "上記の目的以外にも、プロセスのユーザ ID は他の様々な場面で利用される。"
6169
6170 #. type: Plain text
6171 #: build/C/man7/credentials.7:215
6172 msgid ""
6173 "when determining the permissions for sending signals\\(emsee B<kill>(2);"
6174 msgstr "シグナルを送る許可の判定時\\(em B<kill>(2)  参照。"
6175
6176 #. type: Plain text
6177 #: build/C/man7/credentials.7:225
6178 msgid ""
6179 "when determining the permissions for setting process-scheduling parameters "
6180 "(nice value, real time scheduling policy and priority, CPU affinity, I/O "
6181 "priority) using B<setpriority>(2), B<sched_setaffinity>(2), "
6182 "B<sched_setscheduler>(2), B<sched_setparam>(2), and B<ioprio_set>(2);"
6183 msgstr ""
6184 "プロセスのスケジューリング関連のパラメータ (nice 値、 リアルタイム・スケ"
6185 "ジューリングポリシーや優先度、CPU affinity、 入出力優先度) の設定許可の判定"
6186 "時。 スケジューリング関連のパラメータ設定には B<setpriority>(2), "
6187 "B<sched_setaffinity>(2), B<sched_setscheduler>(2), B<sched_setparam>(2), "
6188 "B<ioprio_set>(2)  が使用される。"
6189
6190 #. type: Plain text
6191 #: build/C/man7/credentials.7:228
6192 msgid "when checking resource limits; see B<getrlimit>(2);"
6193 msgstr "リソース上限のチェック時。 B<getrlimit>(2)  参照。"
6194
6195 #. type: Plain text
6196 #: build/C/man7/credentials.7:232
6197 msgid ""
6198 "when checking the limit on the number of inotify instances that the process "
6199 "may create; see B<inotify>(7)."
6200 msgstr ""
6201 "プロセスが生成できる inotify インスタンス数の上限のチェック時。 B<inotify>"
6202 "(7)  参照。"
6203
6204 #. type: Plain text
6205 #: build/C/man7/credentials.7:238
6206 msgid ""
6207 "Process IDs, parent process IDs, process group IDs, and session IDs are "
6208 "specified in POSIX.1-2001.  The real, effective, and saved set user and "
6209 "groups IDs, and the supplementary group IDs, are specified in POSIX.1-2001.  "
6210 "The file system user and group IDs are a Linux extension."
6211 msgstr ""
6212 "プロセス ID、親プロセス ID、プロセスグループ ID、セッション ID は "
6213 "POSIX.1-2001 で規定されている。 実 ID、実効 ID、保存セット ID のユーザ ID / "
6214 "グループ ID および 補助グループ ID は POSIX.1-2001 で規定されている。 ファイ"
6215 "ルシステム・ユーザ ID / グループ ID は Linux による拡張である。"
6216
6217 #. type: Plain text
6218 #: build/C/man7/credentials.7:250
6219 msgid ""
6220 "The POSIX threads specification requires that credentials are shared by all "
6221 "of the threads in a process.  However, at the kernel level, Linux maintains "
6222 "separate user and group credentials for each thread.  The NPTL threading "
6223 "implementation does some work to ensure that any change to user or group "
6224 "credentials (e.g., calls to B<setuid>(2), B<setresuid>(2), etc.)  is carried "
6225 "through to all of the POSIX threads in a process."
6226 msgstr ""
6227 "POSIX のスレッド仕様では、これらの識別子がプロセス内の全スレッドで 共有される"
6228 "ことを求めている。 しかしながら、カーネルのレベルでは、Linux はスレッド毎に"
6229 "別々の ユーザとグループに関する識別子を管理している。 NPTL スレッド実装が、"
6230 "(例えば B<setuid>(2), B<setresuid>(2)  などの呼び出しによる) ユーザやグループ"
6231 "に関する識別子に対する変更が プロセス内の全ての POSIX スレッドに対して反映さ"
6232 "れることを保証する ための処理を行っている。"
6233
6234 #. type: Plain text
6235 #: build/C/man7/credentials.7:281
6236 msgid ""
6237 "B<bash>(1), B<csh>(1), B<ps>(1), B<access>(2), B<execve>(2), B<faccessat>"
6238 "(2), B<fork>(2), B<getpgrp>(2), B<getpid>(2), B<getppid>(2), B<getsid>(2), "
6239 "B<kill>(2), B<killpg>(2), B<setegid>(2), B<seteuid>(2), B<setfsgid>(2), "
6240 "B<setfsuid>(2), B<setgid>(2), B<setgroups>(2), B<setresgid>(2), B<setresuid>"
6241 "(2), B<setuid>(2), B<waitpid>(2), B<euidaccess>(3), B<initgroups>(3), "
6242 "B<tcgetpgrp>(3), B<tcsetpgrp>(3), B<capabilities>(7), B<path_resolution>(7), "
6243 "B<unix>(7)"
6244 msgstr ""
6245 "B<bash>(1), B<csh>(1), B<ps>(1), B<access>(2), B<execve>(2), B<faccessat>"
6246 "(2), B<fork>(2), B<getpgrp>(2), B<getpid>(2), B<getppid>(2), B<getsid>(2), "
6247 "B<kill>(2), B<killpg>(2), B<setegid>(2), B<seteuid>(2), B<setfsgid>(2), "
6248 "B<setfsuid>(2), B<setgid>(2), B<setgroups>(2), B<setresgid>(2), B<setresuid>"
6249 "(2), B<setuid>(2), B<waitpid>(2), B<euidaccess>(3), B<initgroups>(3), "
6250 "B<tcgetpgrp>(3), B<tcsetpgrp>(3), B<capabilities>(7), B<path_resolution>(7), "
6251 "B<unix>(7)"
6252
6253 #. type: TH
6254 #: build/C/man2/getgid.2:25
6255 #, no-wrap
6256 msgid "GETGID"
6257 msgstr "GETGID"
6258
6259 #. type: TH
6260 #: build/C/man2/getgid.2:25 build/C/man2/getgroups.2:31
6261 #: build/C/man2/getresuid.2:27 build/C/man2/getuid.2:26
6262 #: build/C/man2/setfsgid.2:29 build/C/man2/setfsuid.2:29
6263 #: build/C/man2/setgid.2:27 build/C/man2/setresuid.2:26
6264 #: build/C/man2/setreuid.2:43 build/C/man2/setuid.2:28
6265 #, fuzzy, no-wrap
6266 #| msgid "2008-11-12"
6267 msgid "2010-11-22"
6268 msgstr "2008-11-12"
6269
6270 #. type: Plain text
6271 #: build/C/man2/getgid.2:28
6272 msgid "getgid, getegid - get group identity"
6273 msgstr "getgid, getegid - グループ ID を得る"
6274
6275 #. type: Plain text
6276 #: build/C/man2/getgid.2:30 build/C/man2/getgroups.2:38
6277 #: build/C/man2/getpid.2:30 build/C/man2/getresuid.2:34
6278 #: build/C/man2/getsid.2:30 build/C/man2/getuid.2:31 build/C/man2/seteuid.2:34
6279 #: build/C/man2/setgid.2:34 build/C/man2/setpgid.2:51
6280 #: build/C/man2/setresuid.2:33 build/C/man2/setreuid.2:50
6281 #: build/C/man2/setsid.2:35 build/C/man2/setuid.2:35
6282 msgid "B<#include E<lt>unistd.hE<gt>>"
6283 msgstr "B<#include E<lt>unistd.hE<gt>>"
6284
6285 #. type: Plain text
6286 #: build/C/man2/getgid.2:32 build/C/man2/getgroups.2:36
6287 #: build/C/man2/getpid.2:28 build/C/man2/getuid.2:33 build/C/man2/seteuid.2:32
6288 #: build/C/man2/setgid.2:32 build/C/man2/setreuid.2:48
6289 #: build/C/man2/setuid.2:33
6290 msgid "B<#include E<lt>sys/types.hE<gt>>"
6291 msgstr "B<#include E<lt>sys/types.hE<gt>>"
6292
6293 #. type: Plain text
6294 #: build/C/man2/getgid.2:34
6295 msgid "B<gid_t getgid(void);>"
6296 msgstr "B<gid_t getgid(void);>"
6297
6298 #. type: Plain text
6299 #: build/C/man2/getgid.2:36
6300 msgid "B<gid_t getegid(void);>"
6301 msgstr "B<gid_t getegid(void);>"
6302
6303 #. type: Plain text
6304 #: build/C/man2/getgid.2:39
6305 msgid "B<getgid>()  returns the real group ID of the calling process."
6306 msgstr "B<getgid>()  は呼び出し元のプロセスの実グループ ID を返す。"
6307
6308 #. type: Plain text
6309 #: build/C/man2/getgid.2:42
6310 msgid "B<getegid>()  returns the effective group ID of the calling process."
6311 msgstr "B<getegid>()  は呼び出し元のプロセスの実効グループ ID を返す。"
6312
6313 #. type: Plain text
6314 #: build/C/man2/getgid.2:44 build/C/man2/getpid.2:44 build/C/man2/getuid.2:45
6315 msgid "These functions are always successful."
6316 msgstr "これらの関数は常に成功する。"
6317
6318 #. type: Plain text
6319 #: build/C/man2/getgid.2:46 build/C/man2/getuid.2:47
6320 msgid "POSIX.1-2001, 4.3BSD."
6321 msgstr "POSIX.1-2001, 4.3BSD."
6322
6323 #. type: Plain text
6324 #: build/C/man2/getgid.2:62
6325 msgid ""
6326 "The original Linux B<getgid>()  and B<getegid>()  system calls supported "
6327 "only 16-bit group IDs.  Subsequently, Linux 2.4 added B<getgid32>()  and "
6328 "B<getegid32>(), supporting 32-bit IDs.  The glibc B<getgid>()  and B<getegid>"
6329 "()  wrapper functions transparently deal with the variations across kernel "
6330 "versions."
6331 msgstr ""
6332
6333 #. type: Plain text
6334 #: build/C/man2/getgid.2:67
6335 msgid "B<getresgid>(2), B<setgid>(2), B<setregid>(2), B<credentials>(7)"
6336 msgstr "B<getresgid>(2), B<setgid>(2), B<setregid>(2), B<credentials>(7)"
6337
6338 #. type: TH
6339 #: build/C/man2/getgroups.2:31
6340 #, no-wrap
6341 msgid "GETGROUPS"
6342 msgstr "GETGROUPS"
6343
6344 #. type: Plain text
6345 #: build/C/man2/getgroups.2:34
6346 msgid "getgroups, setgroups - get/set list of supplementary group IDs"
6347 msgstr "getgroups, setgroups - 補助グループ ID のリストを取得/設定する"
6348
6349 #. type: Plain text
6350 #: build/C/man2/getgroups.2:40
6351 msgid "B<int getgroups(int >I<size>B<, gid_t >I<list>B<[]);>"
6352 msgstr "B<int getgroups(int >I<size>B<, gid_t >I<list>B<[]);>"
6353
6354 #. type: Plain text
6355 #: build/C/man2/getgroups.2:42
6356 msgid "B<#include E<lt>grp.hE<gt>>"
6357 msgstr "B<#include E<lt>grp.hE<gt>>"
6358
6359 #. type: Plain text
6360 #: build/C/man2/getgroups.2:44
6361 msgid "B<int setgroups(size_t >I<size>B<, const gid_t *>I<list>B<);>"
6362 msgstr "B<int setgroups(size_t >I<size>B<, const gid_t *>I<list>B<);>"
6363
6364 #. type: Plain text
6365 #: build/C/man2/getgroups.2:52
6366 msgid "B<setgroups>(): _BSD_SOURCE"
6367 msgstr "B<setgroups>(): _BSD_SOURCE"
6368
6369 #. type: Plain text
6370 #: build/C/man2/getgroups.2:70
6371 msgid ""
6372 "B<getgroups>()  returns the supplementary group IDs of the calling process "
6373 "in I<list>.  The argument I<size> should be set to the maximum number of "
6374 "items that can be stored in the buffer pointed to by I<list>.  If the "
6375 "calling process is a member of more than I<size> supplementary groups, then "
6376 "an error results.  It is unspecified whether the effective group ID of the "
6377 "calling process is included in the returned list.  (Thus, an application "
6378 "should also call B<getegid>(2)  and add or remove the resulting value.)"
6379 msgstr ""
6380 "B<getgroups>()  は呼び出し元プロセスの補助グループ (supplementary group) ID "
6381 "を I<list> に返す。 I<size> 引き数には、 I<list> により参照されるバッファに格"
6382 "納できる要素の最大数を設定すべきである。 呼び出し元プロセスが I<size> 個より"
6383 "多くの補助グループのメンバの場合には、エラーとなる。 この関数を呼び出したプロ"
6384 "セスの実効グループ ID が、 返されるリストに含まれるかどうかは規定されていな"
6385 "い (したがって、アプリケーションは B<getegid>(2)  を呼び出し、その結果の値を"
6386 "追加・削除すべきである)。"
6387
6388 #. type: Plain text
6389 #: build/C/man2/getgroups.2:81
6390 msgid ""
6391 "If I<size> is zero, I<list> is not modified, but the total number of "
6392 "supplementary group IDs for the process is returned.  This allows the caller "
6393 "to determine the size of a dynamically allocated I<list> to be used in a "
6394 "further call to B<getgroups>()."
6395 msgstr ""
6396 "I<size> が 0 ならば、 I<list> は修正されないが、そのプロセスの補助グループ "
6397 "ID の合計数が返される。 これを使うことで、それ以降の B<getgroups>()  の呼び出"
6398 "しで必要となる動的割り当てバッファ I<list> のサイズを、呼び出し元が決定するこ"
6399 "とができる。"
6400
6401 #. type: Plain text
6402 #: build/C/man2/getgroups.2:92
6403 msgid ""
6404 "B<setgroups>()  sets the supplementary group IDs for the calling process.  "
6405 "Appropriate privileges (Linux: the B<CAP_SETGID> capability) are required.  "
6406 "The I<size> argument specifies the number of supplementary group IDs in the "
6407 "buffer pointed to by I<list>."
6408 msgstr ""
6409 "B<setgroups>()  は、呼び出し元プロセスの補助グループ ID を設定する。 適切な特"
6410 "権 (Linux では B<CAP_SETGID> ケーパビリティ (capability)) が必要である。 "
6411 "I<size> 引き数には、 I<list> により参照されるバッファに格納された補助グルー"
6412 "プ ID の数を指定する。"
6413
6414 #. type: Plain text
6415 #: build/C/man2/getgroups.2:99
6416 msgid ""
6417 "On success, B<getgroups>()  returns the number of supplementary group IDs.  "
6418 "On error, -1 is returned, and I<errno> is set appropriately."
6419 msgstr ""
6420 "B<getgroups>()  は、成功すると補助グループ ID の数を返す。 エラーの場合 -1 を"
6421 "返し、 I<errno> を適切に設定する。"
6422
6423 #. type: Plain text
6424 #: build/C/man2/getgroups.2:106
6425 msgid ""
6426 "On success, B<setgroups>()  returns 0.  On error, -1 is returned, and "
6427 "I<errno> is set appropriately."
6428 msgstr ""
6429 "B<setgroups>()  は、成功すると 0 を返す。 エラーの場合 -1 を返し、 I<errno> "
6430 "を適切に設定する。"
6431
6432 #. type: Plain text
6433 #: build/C/man2/getgroups.2:111
6434 msgid "I<list> has an invalid address."
6435 msgstr "I<list> が不正なアドレスである。"
6436
6437 #. type: Plain text
6438 #: build/C/man2/getgroups.2:114
6439 msgid "B<getgroups>()  can additionally fail with the following error:"
6440 msgstr "B<getgroups>()  は、上記に加えて以下のエラーで失敗する可能性がある。"
6441
6442 #. type: Plain text
6443 #: build/C/man2/getgroups.2:118
6444 msgid ""
6445 "I<size> is less than the number of supplementary group IDs, but is not zero."
6446 msgstr "I<size> が補助グループ ID の数より小さいが 0 でない。"
6447
6448 #. type: Plain text
6449 #: build/C/man2/getgroups.2:121
6450 msgid "B<setgroups>()  can additionally fail with the following errors:"
6451 msgstr "B<setgroups>()  は、上記に加えて以下のエラーで失敗する可能性がある。"
6452
6453 #. type: Plain text
6454 #: build/C/man2/getgroups.2:127
6455 msgid ""
6456 "I<size> is greater than B<NGROUPS_MAX> (32 before Linux 2.6.4; 65536 since "
6457 "Linux 2.6.4)."
6458 msgstr ""
6459 "I<size> が B<NGROUPS_MAX> より大きい (B<NGROUPS_MAX> は Linux 2.6.4 より前で"
6460 "は 32、Linux 2.6.4 以降では 65536)。"
6461
6462 #. type: Plain text
6463 #: build/C/man2/getgroups.2:133
6464 msgid "The calling process has insufficient privilege."
6465 msgstr "呼び出し元プロセスが十分な特権を持っていない。"
6466
6467 #. type: Plain text
6468 #: build/C/man2/getgroups.2:141
6469 msgid ""
6470 "SVr4, 4.3BSD.  The B<getgroups>()  function is in POSIX.1-2001.  Since "
6471 "B<setgroups>()  requires privilege, it is not covered by POSIX.1-2001."
6472 msgstr ""
6473 "SVr4, 4.3BSD.  B<getgroups>()  関数は POSIX.1-2001 に準拠している。 "
6474 "B<setgroups>()  は特権を必要とするため、POSIX.1-2001 に従っていない。"
6475
6476 #. type: Plain text
6477 #: build/C/man2/getgroups.2:149
6478 msgid ""
6479 "A process can have up to B<NGROUPS_MAX> supplementary group IDs in addition "
6480 "to the effective group ID.  The set of supplementary group IDs is inherited "
6481 "from the parent process, and preserved across an B<execve>(2)."
6482 msgstr ""
6483 "プロセスは、実効グループ ID に加え、最大 B<NGROUPS_MAX> までの補助グループ "
6484 "ID を持つことができる。 補助グループ ID の集合は親プロセスから継承され、 "
6485 "B<execve>(2)  の前後で保持される。"
6486
6487 #. type: Plain text
6488 #: build/C/man2/getgroups.2:152
6489 msgid ""
6490 "The maximum number of supplementary group IDs can be found using B<sysconf>"
6491 "(3):"
6492 msgstr ""
6493 "補助グループ ID の最大数は B<sysconf>(3)  を使って以下のようにして調べること"
6494 "ができる:"
6495
6496 #. type: Plain text
6497 #: build/C/man2/getgroups.2:156
6498 #, no-wrap
6499 msgid ""
6500 "    long ngroups_max;\n"
6501 "    ngroups_max = sysconf(_SC_NGROUPS_MAX);\n"
6502 msgstr ""
6503 "    long ngroups_max;\n"
6504 "    ngroups_max = sysconf(_SC_NGROUPS_MAX);\n"
6505
6506 #. type: Plain text
6507 #: build/C/man2/getgroups.2:161
6508 msgid ""
6509 "The maximum return value of B<getgroups>()  cannot be larger than one more "
6510 "than this value."
6511 msgstr ""
6512 "B<getgroups>()  の返り値の最大値は、この値より 1 大きい値より大きくなることは"
6513 "ない。"
6514
6515 #. type: Plain text
6516 #: build/C/man2/getgroups.2:171
6517 msgid ""
6518 "The original Linux B<getgroups>()  system call supported only 16-bit group "
6519 "IDs.  Subsequently, Linux 2.4 added B<getgroups32>(), supporting 32-bit "
6520 "IDs.  The glibc B<getgroups>()  wrapper function transparently deals with "
6521 "the variation across kernel versions."
6522 msgstr ""
6523
6524 #. type: Plain text
6525 #: build/C/man2/getgroups.2:178
6526 msgid ""
6527 "B<getgid>(2), B<setgid>(2), B<getgrouplist>(3), B<initgroups>(3), "
6528 "B<capabilities>(7), B<credentials>(7)"
6529 msgstr ""
6530 "B<getgid>(2), B<setgid>(2), B<getgrouplist>(3), B<initgroups>(3), "
6531 "B<capabilities>(7), B<credentials>(7)"
6532
6533 #. type: TH
6534 #: build/C/man2/getpid.2:23
6535 #, no-wrap
6536 msgid "GETPID"
6537 msgstr "GETPID"
6538
6539 #. type: TH
6540 #: build/C/man2/getpid.2:23
6541 #, no-wrap
6542 msgid "2008-09-23"
6543 msgstr "2008-09-23"
6544
6545 #. type: Plain text
6546 #: build/C/man2/getpid.2:26
6547 msgid "getpid, getppid - get process identification"
6548 msgstr "getpid, getppid - プロセス ID を得る"
6549
6550 #. type: Plain text
6551 #: build/C/man2/getpid.2:32
6552 msgid "B<pid_t getpid(void);>"
6553 msgstr "B<pid_t getpid(void);>"
6554
6555 #. type: Plain text
6556 #: build/C/man2/getpid.2:34
6557 msgid "B<pid_t getppid(void);>"
6558 msgstr "B<pid_t getppid(void);>"
6559
6560 #. type: Plain text
6561 #: build/C/man2/getpid.2:39
6562 msgid ""
6563 "B<getpid>()  returns the process ID of the calling process.  (This is often "
6564 "used by routines that generate unique temporary filenames.)"
6565 msgstr ""
6566 "B<getpid>()  は呼び出し元のプロセスのプロセス ID を返す。(テンポラリ用のファ"
6567 "イル名として 他と重ならない名前を生成するルーチンでしばしば使用される。)"
6568
6569 #. type: Plain text
6570 #: build/C/man2/getpid.2:42
6571 msgid ""
6572 "B<getppid>()  returns the process ID of the parent of the calling process."
6573 msgstr "B<getppid>()  は呼び出し元のプロセスの親プロセスのプロセス ID を返す。"
6574
6575 #. type: Plain text
6576 #: build/C/man2/getpid.2:46
6577 msgid "POSIX.1-2001, 4.3BSD, SVr4."
6578 msgstr "POSIX.1-2001, 4.3BSD, SVr4."
6579
6580 #.  The following program demonstrates this "feature":
6581 #.  #define _GNU_SOURCE
6582 #.  #include <sys/syscall.h>
6583 #.  #include <sys/wait.h>
6584 #.  #include <stdio.h>
6585 #.  #include <stdlib.h>
6586 #.  #include <unistd.h>
6587 #.  int
6588 #.  main(int argc, char *argv[])
6589 #.  {
6590 #.     /* The following statement fills the getpid() cache */
6591 #.     printf("parent PID = %ld
6592 #. ", (long) getpid());
6593 #.     if (syscall(SYS_fork) == 0) {
6594 #.         if (getpid() != syscall(SYS_getpid))
6595 #.             printf("child getpid() mismatch: getpid()=%ld; "
6596 #.                     "syscall(SYS_getpid)=%ld
6597 #. ",
6598 #.                     (long) getpid(), (long) syscall(SYS_getpid));
6599 #.         exit(EXIT_SUCCESS);
6600 #.     }
6601 #.     wait(NULL);
6602 #. }
6603 #. type: Plain text
6604 #: build/C/man2/getpid.2:98
6605 msgid ""
6606 "Since glibc version 2.3.4, the glibc wrapper function for B<getpid>()  "
6607 "caches PIDs, so as to avoid additional system calls when a process calls "
6608 "B<getpid>()  repeatedly.  Normally this caching is invisible, but its "
6609 "correct operation relies on support in the wrapper functions for B<fork>(2), "
6610 "B<vfork>(2), and B<clone>(2): if an application bypasses the glibc wrappers "
6611 "for these system calls by using B<syscall>(2), then a call to B<getpid>()  "
6612 "in the child will return the wrong value (to be precise: it will return the "
6613 "PID of the parent process).  See also B<clone>(2)  for discussion of a case "
6614 "where B<getpid>()  may return the wrong value even when invoking B<clone>"
6615 "(2)  via the glibc wrapper function."
6616 msgstr ""
6617 "glibc バージョン 2.3.4 以降では、 glibc の B<getpid>()  のラッパー関数は PID "
6618 "をキャッシュする。 これは、プロセスが繰り返し B<getpid>()  を呼び出した場合に"
6619 "その都度システムコールを呼ぶのを避けるためである。 通常は、このキャッシュ処理"
6620 "が見えることはないが、 キャッシュ処理が正しく働くためには B<fork>(2), "
6621 "B<vfork>(2), B<clone>(2)  のラッパー関数でのサポートが必要である。 アプリケー"
6622 "ションがこれらのシステムコールを呼び出す際に、 glibc のラッパー関数を経由せず"
6623 "に B<syscall>(2)  を使った場合には、子プロセスで B<getpid>()  を呼び出すと間"
6624 "違った値が返ることだろう (正確にいうと、親プロセスの PID が返される)。 "
6625 "B<clone>(2)  を glibc のラッパー関数経由で起動した際にも B<getpid>()  が間"
6626 "違った値を返す場合があり、これに関する議論は B<clone>(2)  も参照してほしい。"
6627
6628 #. type: Plain text
6629 #: build/C/man2/getpid.2:108
6630 msgid ""
6631 "B<clone>(2), B<fork>(2), B<kill>(2), B<exec>(3), B<mkstemp>(3), B<tempnam>"
6632 "(3), B<tmpfile>(3), B<tmpnam>(3), B<credentials>(7)"
6633 msgstr ""
6634 "B<clone>(2), B<fork>(2), B<kill>(2), B<exec>(3), B<mkstemp>(3), B<tempnam>"
6635 "(3), B<tmpfile>(3), B<tmpnam>(3), B<credentials>(7)"
6636
6637 #. type: TH
6638 #: build/C/man2/getpriority.2:46
6639 #, no-wrap
6640 msgid "GETPRIORITY"
6641 msgstr "GETPRIORITY"
6642
6643 #. type: TH
6644 #: build/C/man2/getpriority.2:46
6645 #, no-wrap
6646 msgid "2008-05-29"
6647 msgstr "2008-05-29"
6648
6649 #. type: Plain text
6650 #: build/C/man2/getpriority.2:49
6651 msgid "getpriority, setpriority - get/set program scheduling priority"
6652 msgstr ""
6653 "getpriority, setpriority - プログラムのスケジューリングの優先度を取得/設定す"
6654 "る"
6655
6656 #. type: Plain text
6657 #: build/C/man2/getpriority.2:51 build/C/man2/getrlimit.2:69
6658 #: build/C/man2/getrusage.2:44
6659 msgid "B<#include E<lt>sys/time.hE<gt>>"
6660 msgstr "B<#include E<lt>sys/time.hE<gt>>"
6661
6662 #. type: Plain text
6663 #: build/C/man2/getpriority.2:53 build/C/man2/getrlimit.2:71
6664 #: build/C/man2/getrusage.2:46
6665 msgid "B<#include E<lt>sys/resource.hE<gt>>"
6666 msgstr "B<#include E<lt>sys/resource.hE<gt>>"
6667
6668 #. type: Plain text
6669 #: build/C/man2/getpriority.2:55
6670 msgid "B<int getpriority(int >I<which>B<, int >I<who>B<);>"
6671 msgstr "B<int getpriority(int >I<which>B<, int >I<who>B<);>"
6672
6673 #. type: Plain text
6674 #: build/C/man2/getpriority.2:57
6675 msgid "B<int setpriority(int >I<which>B<, int >I<who>B<, int >I<prio>B<);>"
6676 msgstr "B<int setpriority(int >I<which>B<, int >I<who>B<, int >I<prio>B<);>"
6677
6678 #. type: Plain text
6679 #: build/C/man2/getpriority.2:68
6680 msgid ""
6681 "The scheduling priority of the process, process group, or user, as indicated "
6682 "by I<which> and I<who> is obtained with the B<getpriority>()  call and set "
6683 "with the B<setpriority>()  call."
6684 msgstr ""
6685 "システムコール B<getpriority>()  や B<setpriority>()  は、 I<which> と "
6686 "I<who> で指定されたプロセス、プロセス・グループ、ユーザーの スケジューリング"
6687 "優先度 (scheduling priority) の 取得や設定をそれぞれ行う。"
6688
6689 #. type: Plain text
6690 #: build/C/man2/getpriority.2:95
6691 msgid ""
6692 "The value I<which> is one of B<PRIO_PROCESS>, B<PRIO_PGRP>, or B<PRIO_USER>, "
6693 "and I<who> is interpreted relative to I<which> (a process identifier for "
6694 "B<PRIO_PROCESS>, process group identifier for B<PRIO_PGRP>, and a user ID "
6695 "for B<PRIO_USER>).  A zero value for I<who> denotes (respectively) the "
6696 "calling process, the process group of the calling process, or the real user "
6697 "ID of the calling process.  I<Prio> is a value in the range -20 to 19 (but "
6698 "see the Notes below).  The default priority is 0; lower priorities cause "
6699 "more favorable scheduling."
6700 msgstr ""
6701 "I<which> の値は B<PRIO_PROCESS>, B<PRIO_PGRP>, B<PRIO_USER>, のどれか一つ"
6702 "で、 I<who> は I<which> に応じて解釈される (B<PRIO_PROCESS> だとプロセス識別"
6703 "子、 B<PRIO_PGRP> だとプロセス・グループ識別子、 B<PRIO_USER> だと UID (ユー"
6704 "ザID) と解釈される)。 I<who> がゼロならば、(それぞれ)呼び出したプロセス、 呼"
6705 "び出したプロセスのプロセス・グループ、 呼び出したプロセスの実UID を意味す"
6706 "る。 I<prio> は -20 から 19 の範囲の値で (但し以下の注意の項を参照のこと)、 "
6707 "デフォルトの優先度は 0 である; 小さな数字ほど、有利なスケジューリングとなる。"
6708
6709 #. type: Plain text
6710 #: build/C/man2/getpriority.2:105
6711 msgid ""
6712 "The B<getpriority>()  call returns the highest priority (lowest numerical "
6713 "value)  enjoyed by any of the specified processes.  The B<setpriority>()  "
6714 "call sets the priorities of all of the specified processes to the specified "
6715 "value.  Only the superuser may lower priorities."
6716 msgstr ""
6717 "B<getpriority>()  コールは指定したプロセスの中の最も高い優先度 (数値的には最"
6718 "小の値) を返す。 B<setpriority>()  コールは指定したプロセス全ての優先度を指定"
6719 "した値に設定する。 優先度を今より小さい値に設定できるのはスーパー・ユーザーだ"
6720 "けである。"
6721
6722 #. type: Plain text
6723 #: build/C/man2/getpriority.2:118
6724 msgid ""
6725 "Since B<getpriority>()  can legitimately return the value -1, it is "
6726 "necessary to clear the external variable I<errno> prior to the call, then "
6727 "check it afterward to determine if -1 is an error or a legitimate value.  "
6728 "The B<setpriority>()  call returns 0 if there is no error, or -1 if there is."
6729 msgstr ""
6730 "B<getpriority>()  は成功した場合にも -1 の値を返す可能性があるので、 呼び出し"
6731 "の前に外部変数の I<errno> をクリアし、呼び出しの後に返り値の -1 が正当な値か "
6732 "エラーかを判別する必要がある。 B<setpriority>()  コールはエラーがなければ 0 "
6733 "を返し、エラーがあれば -1 を返す。"
6734
6735 #. type: Plain text
6736 #: build/C/man2/getpriority.2:127
6737 msgid "I<which> was not one of B<PRIO_PROCESS>, B<PRIO_PGRP>, or B<PRIO_USER>."
6738 msgstr ""
6739 "I<which> が B<PRIO_PROCESS>, B<PRIO_PGRP>, B<PRIO_USER> のいずれでもない。"
6740
6741 #. type: Plain text
6742 #: build/C/man2/getpriority.2:134
6743 msgid "No process was located using the I<which> and I<who> values specified."
6744 msgstr "I<which> と I<who> で指定されたプロセスが存在しない。"
6745
6746 #. type: Plain text
6747 #: build/C/man2/getpriority.2:138
6748 msgid ""
6749 "In addition to the errors indicated above, B<setpriority>()  may fail if:"
6750 msgstr "上記のものに加えて B<setpriority>()  では以下のエラーがある:"
6751
6752 #. type: Plain text
6753 #: build/C/man2/getpriority.2:150
6754 msgid ""
6755 "The caller attempted to lower a process priority, but did not have the "
6756 "required privilege (on Linux: did not have the B<CAP_SYS_NICE> capability).  "
6757 "Since Linux 2.6.12, this error only occurs if the caller attempts to set a "
6758 "process priority outside the range of the B<RLIMIT_NICE> soft resource limit "
6759 "of the target process; see B<getrlimit>(2)  for details."
6760 msgstr ""
6761 "呼び出し元がプロセスの優先度を下げようとしたが、必要な特権を 持っていなかっ"
6762 "た (Linux の場合、 B<CAP_SYS_NICE> ケーパビリティがなかった)。 Linux 2.6.12 "
6763 "以降では、呼び出し元が、あるプロセスの優先度を、 変更対象のプロセスのリソー"
6764 "ス B<RLIMIT_NICE> のソフト・リミットの範囲外に設定しようとした場合にのみ、 こ"
6765 "のエラーが発生する。詳細は B<getrlimit>(2)  を参照。"
6766
6767 #. type: Plain text
6768 #: build/C/man2/getpriority.2:158
6769 msgid ""
6770 "A process was located, but its effective user ID did not match either the "
6771 "effective or the real user ID of the caller, and was not privileged (on "
6772 "Linux: did not have the B<CAP_SYS_NICE> capability).  But see NOTES below."
6773 msgstr ""
6774 "プロセスは見つかったが、そのプロセスの実効 (effective) UID が 呼び出し元の実"
6775 "効UID にも実 (real) UID にも一致せず、 呼び出し元が特権も持っていなかった "
6776 "(Linux の場合、 B<CAP_SYS_NICE> ケーパビリティがなかった)。 以下の「注意」も"
6777 "参照のこと。"
6778
6779 #. type: Plain text
6780 #: build/C/man2/getpriority.2:161
6781 msgid ""
6782 "SVr4, 4.4BSD (these function calls first appeared in 4.2BSD), POSIX.1-2001."
6783 msgstr "SVr4, 4.4BSD (これらの関数は 4.2BSD で最初に登場した), POSIX.1-2001."
6784
6785 #. type: Plain text
6786 #: build/C/man2/getpriority.2:167
6787 msgid ""
6788 "A child created by B<fork>(2)  inherits its parent's nice value.  The nice "
6789 "value is preserved across B<execve>(2)."
6790 msgstr ""
6791 "B<fork>(2)  で作成された子プロセスは、 親プロセスの nice 値を継承する。 "
6792 "B<execve>(2)  の前後で nice 値は保存される。"
6793
6794 #. type: Plain text
6795 #: build/C/man2/getpriority.2:178
6796 msgid ""
6797 "The degree to which their relative nice value affects the scheduling of "
6798 "processes varies across UNIX systems, and, on Linux, across kernel "
6799 "versions.  Starting with kernel 2.6.23, Linux adopted an algorithm that "
6800 "causes relative differences in nice values to have a much stronger effect.  "
6801 "This causes very low nice values (+19) to truly provide little CPU to a "
6802 "process whenever there is any other higher priority load on the system, and "
6803 "makes high nice values (-20) deliver most of the CPU to applications that "
6804 "require it (e.g., some audio applications)."
6805 msgstr ""
6806 "相対的な nice 値の違いがプロセス間のスケジューリングにどの程度影響を与えるか "
6807 "は、UNIX システム間で異なり、Linux ではカーネルバージョンにより異なる。 "
6808 "Linux は、カーネル 2.6.23 以降で、nice 値の相対的な違いが、非常に強い影響を "
6809 "与えるアルゴリズムを採用した。このアルゴリズムでは、 他に優先度の高いものがシ"
6810 "ステムに存在する時には、 非常に低い nice 値 (+19) ではプロセスに本当にほとん"
6811 "ど CPU が割り当てられない。 また、高い nice 値 (-20) では CPU を必要とするア"
6812 "プリケーション (例えば オーディオ・アプリケーション) に CPU のほとんどが割り"
6813 "当てられる。"
6814
6815 #. type: Plain text
6816 #: build/C/man2/getpriority.2:193
6817 msgid ""
6818 "The details on the condition for B<EPERM> depend on the system.  The above "
6819 "description is what POSIX.1-2001 says, and seems to be followed on all "
6820 "System V-like systems.  Linux kernels before 2.6.12 required the real or "
6821 "effective user ID of the caller to match the real user of the process I<who> "
6822 "(instead of its effective user ID).  Linux 2.6.12 and later require the "
6823 "effective user ID of the caller to match the real or effective user ID of "
6824 "the process I<who>.  All BSD-like systems (SunOS 4.1.3, Ultrix 4.2, 4.3BSD, "
6825 "FreeBSD 4.3, OpenBSD-2.5, ...) behave in the same manner as Linux 2.6.12 and "
6826 "later."
6827 msgstr ""
6828 "B<EPERM> が発生する条件の詳細はシステムに依存する。 上記の説明は "
6829 "POSIX.1-2001 のものであり、全ての System V 風システムは これに従っているよう"
6830 "である。 2.6.12 より前の Linux カーネルでは、呼び出し元の実 UID または 実効 "
6831 "UID がプロセス I<who> の (実効 UID でなく)  実 UID に一致する必要がある。 "
6832 "Linux 2.6.12 以降では、呼び出し元の実行 UID がプロセス I<who> の実 UID か実"
6833 "効 UID のいずれかと一致する必要がある。 全ての BSD 風システム (SunOS 4.1.3, "
6834 "Ultrix 4.2, 4.3BSD, FreeBSD 4.3, OpenBSD-2.5等) は、 Linux 2.6.12 以降と同じ"
6835 "動作をする。"
6836
6837 #. type: Plain text
6838 #: build/C/man2/getpriority.2:209
6839 msgid ""
6840 "The actual priority range varies between kernel versions.  Linux before "
6841 "1.3.36 had -infinity..15.  Since kernel 1.3.43 Linux has the range -20..19.  "
6842 "Within the kernel, nice values are actually represented using the "
6843 "corresponding range 40..1 (since negative numbers are error codes) and these "
6844 "are the values employed by the B<setpriority>()  and B<getpriority>()  "
6845 "system calls.  The glibc wrapper functions for these system calls handle the "
6846 "translations between the user-land and kernel representations of the nice "
6847 "value according to the formula I<unice\\ =\\ 20\\ -\\ knice>."
6848 msgstr ""
6849 "実際の優先度の値の範囲はカーネルのバージョンによって異なる。 1.3.36 より前の "
6850 "Linux では、優先度の範囲は負の無限大 〜 15 である。 1.3.43 以降の Linux で"
6851 "は、優先度の範囲は -20 〜 19 である。 カーネル内部では、nice 値は実際には 40 "
6852 "〜 1 の範囲を使って 表現されており (負の値はエラーコードとなるため)、こちらの"
6853 "値が システムコール B<setpriority>()  と B<getpriority>()  で使用されてい"
6854 "る。 glibc のこれらのシステムコールのラッパー関数において、nice 値の ユーザ領"
6855 "域 (user-land) とカーネル表現の間の変換が行われる。 変換式は以下の通り: "
6856 "I<unice\\ =\\ 20\\ -\\ knice>"
6857
6858 #. type: Plain text
6859 #: build/C/man2/getpriority.2:211
6860 msgid "On some systems, the range of nice values is -20..20."
6861 msgstr "いくつかのシステムでは、nice 値の範囲は \\20 〜 20 である。"
6862
6863 #. type: Plain text
6864 #: build/C/man2/getpriority.2:223
6865 msgid ""
6866 "Including I<E<lt>sys/time.hE<gt>> is not required these days, but increases "
6867 "portability.  (Indeed, I<E<lt>sys/resource.hE<gt>> defines the I<rusage> "
6868 "structure with fields of type I<struct timeval> defined in I<E<lt>sys/time."
6869 "hE<gt>>.)"
6870 msgstr ""
6871 "現在では I<E<lt>sys/time.hE<gt>> をインクルードする必要はないが、インクルード"
6872 "すれば移植性を高めることができる (実際には I<E<lt>sys/resource.hE<gt>> で "
6873 "I<rusage> 構造体が定義されているが、そのフィールドで使用されている I<struct "
6874 "timeval> 型は I<E<lt>sys/time.hE<gt>> で定義されている)。"
6875
6876 #. type: Plain text
6877 #: build/C/man2/getpriority.2:228
6878 msgid "B<nice>(1), B<renice>(1), B<fork>(2), B<capabilities>(7)"
6879 msgstr "B<nice>(1), B<renice>(1), B<fork>(2), B<capabilities>(7)"
6880
6881 #. type: Plain text
6882 #: build/C/man2/getpriority.2:231
6883 msgid ""
6884 "I<Documentation/scheduler/sched-nice-design.txt> in the kernel source tree "
6885 "(since Linux 2.6.23)."
6886 msgstr ""
6887 "(Linux 2.6.23 以降の) カーネルのソースツリー内の I<Documentation/scheduler/"
6888 "sched-nice-design.txt>"
6889
6890 #. type: TH
6891 #: build/C/man2/getresuid.2:27
6892 #, no-wrap
6893 msgid "GETRESUID"
6894 msgstr "GETRESUID"
6895
6896 #. type: Plain text
6897 #: build/C/man2/getresuid.2:30
6898 msgid "getresuid, getresgid - get real, effective and saved user/group IDs"
6899 msgstr ""
6900 "getresuid, getresgid - 実、実効、保存、ユーザー ID / グループ ID を取得する"
6901
6902 #. type: Plain text
6903 #: build/C/man2/getresuid.2:32 build/C/man2/setresuid.2:31
6904 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
6905 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
6906
6907 #. type: Plain text
6908 #: build/C/man2/getresuid.2:36
6909 msgid ""
6910 "B<int getresuid(uid_t *>I<ruid>B<, uid_t *>I<euid>B<, uid_t *>I<suid>B<);>"
6911 msgstr ""
6912 "B<int getresuid(uid_t *>I<ruid>B<, uid_t *>I<euid>B<, uid_t *>I<suid>B<);>"
6913
6914 #. type: Plain text
6915 #: build/C/man2/getresuid.2:38
6916 msgid ""
6917 "B<int getresgid(gid_t *>I<rgid>B<, gid_t *>I<egid>B<, gid_t *>I<sgid>B<);>"
6918 msgstr ""
6919 "B<int getresgid(gid_t *>I<rgid>B<, gid_t *>I<egid>B<, gid_t *>I<sgid>B<);>"
6920
6921 #. type: Plain text
6922 #: build/C/man2/getresuid.2:49
6923 msgid ""
6924 "B<getresuid>()  returns the real UID, the effective UID, and the saved set-"
6925 "user-ID of the calling process, in the arguments I<ruid>, I<euid>, and "
6926 "I<suid>, respectively.  B<getresgid>()  performs the analogous task for the "
6927 "process's group IDs."
6928 msgstr ""
6929 "B<getresuid>()  は、呼び出したプロセスの実 (real) UID、実効 (effective) "
6930 "UID、 保存 (saved) set-user-ID (B<getresgid> の場合はグループ ID) を、 それぞ"
6931 "れ引き数 I<ruid>, I<euid>, I<suid> に格納して返す。 B<getresgid>()  は、呼び"
6932 "出したプロセスのグループ ID について同様の処理を行う。"
6933
6934 #. type: Plain text
6935 #: build/C/man2/getresuid.2:59
6936 msgid ""
6937 "One of the arguments specified an address outside the calling program's "
6938 "address space."
6939 msgstr ""
6940 "指定した引き数のどれかが、呼び出したプログラムのアドレス空間の外の アドレスで"
6941 "ある。"
6942
6943 #. type: Plain text
6944 #: build/C/man2/getresuid.2:61
6945 msgid "These system calls appeared on Linux starting with kernel 2.1.44."
6946 msgstr "これらのシステムコールはカーネル 2.1.44 から Linux に登場した。"
6947
6948 #. type: Plain text
6949 #: build/C/man2/getresuid.2:66
6950 msgid ""
6951 "The prototypes are given by glibc since version 2.3.2, provided "
6952 "B<_GNU_SOURCE> is defined."
6953 msgstr ""
6954 "プロトタイプ宣言は 2.3.2 以降の glibc では B<_GNU_SOURCE> を定義していると得"
6955 "られる。"
6956
6957 #. type: Plain text
6958 #: build/C/man2/getresuid.2:69 build/C/man2/setresuid.2:86
6959 msgid ""
6960 "These calls are nonstandard; they also appear on HP-UX and some of the BSDs."
6961 msgstr "これらのコールは非標準である。 HP-UX や BSD 系のいくつかにも存在する。"
6962
6963 #. type: Plain text
6964 #: build/C/man2/getresuid.2:85
6965 msgid ""
6966 "The original Linux B<getresuid>()  and B<getresgid>()  system calls "
6967 "supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
6968 "B<getresuid32>()  and B<getresgid32>(), supporting 32-bit IDs.  The glibc "
6969 "B<getresuid>()  and B<getresgid>()  wrapper functions transparently deal "
6970 "with the variations across kernel versions."
6971 msgstr ""
6972
6973 #. type: Plain text
6974 #: build/C/man2/getresuid.2:91
6975 msgid ""
6976 "B<getuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), B<credentials>"
6977 "(7)"
6978 msgstr ""
6979 "B<getuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), B<credentials>"
6980 "(7)"
6981
6982 #. type: TH
6983 #: build/C/man2/getrlimit.2:64
6984 #, no-wrap
6985 msgid "GETRLIMIT"
6986 msgstr "GETRLIMIT"
6987
6988 #. type: TH
6989 #: build/C/man2/getrlimit.2:64
6990 #, fuzzy, no-wrap
6991 #| msgid "2010-09-20"
6992 msgid "2011-09-10"
6993 msgstr "2010-09-20"
6994
6995 #. type: Plain text
6996 #: build/C/man2/getrlimit.2:67
6997 #, fuzzy
6998 #| msgid "getrlimit, setrlimit - get/set resource limits"
6999 msgid "getrlimit, setrlimit, prlimit - get/set resource limits"
7000 msgstr "getrlimit, setrlimit - 資源の制限を取得/設定する"
7001
7002 #. type: Plain text
7003 #: build/C/man2/getrlimit.2:73
7004 msgid "B<int getrlimit(int >I<resource>B<, struct rlimit *>I<rlim>B<);>"
7005 msgstr "B<int getrlimit(int >I<resource>B<, struct rlimit *>I<rlim>B<);>"
7006
7007 #. type: Plain text
7008 #: build/C/man2/getrlimit.2:75
7009 msgid "B<int setrlimit(int >I<resource>B<, const struct rlimit *>I<rlim>B<);>"
7010 msgstr "B<int setrlimit(int >I<resource>B<, const struct rlimit *>I<rlim>B<);>"
7011
7012 #. type: Plain text
7013 #: build/C/man2/getrlimit.2:78
7014 #, fuzzy
7015 #| msgid ""
7016 #| "B<int setrlimit(int >I<resource>B<, const struct rlimit *>I<rlim>B<);>"
7017 msgid ""
7018 "B<int prlimit(pid_t >I<pid>B<, int >I<resource>B<, const struct rlimit "
7019 "*>I<new_limit>B<,>"
7020 msgstr "B<int setrlimit(int >I<resource>B<, const struct rlimit *>I<rlim>B<);>"
7021
7022 #. type: Plain text
7023 #: build/C/man2/getrlimit.2:80
7024 #, fuzzy
7025 #| msgid "B<int getrlimit(int >I<resource>B<, struct rlimit *>I<rlim>B<);>"
7026 msgid "B< struct rlimit *>I<old_limit>B<);>"
7027 msgstr "B<int getrlimit(int >I<resource>B<, struct rlimit *>I<rlim>B<);>"
7028
7029 #. type: Plain text
7030 #: build/C/man2/getrlimit.2:88
7031 msgid "B<prlimit>(): _GNU_SOURCE && _FILE_OFFSET_BITS == 64"
7032 msgstr ""
7033
7034 #. type: Plain text
7035 #: build/C/man2/getrlimit.2:97
7036 #, fuzzy
7037 #| msgid ""
7038 #| "B<getrlimit>()  and B<setrlimit>()  get and set resource limits "
7039 #| "respectively.  Each resource has an associated soft and hard limit, as "
7040 #| "defined by the I<rlimit> structure (the I<rlim> argument to both "
7041 #| "B<getrlimit>()  and B<setrlimit>()):"
7042 msgid ""
7043 "The B<getrlimit>()  and B<setrlimit>()  system calls get and set resource "
7044 "limits respectively.  Each resource has an associated soft and hard limit, "
7045 "as defined by the I<rlimit> structure:"
7046 msgstr ""
7047 "B<getrlimit>()  と B<setrlimit>()  はそれぞれ資源 (resource) の制限 (limit) "
7048 "の設定と取得を行う。 各リソースには、それに対応するソフト・リミットとハード・"
7049 "リミットがある。 リミットは (B<getrlimit>()  と B<setrlimit>()  の I<rlim> 引"
7050 "き数である)  I<rlimit> 構造体で定義される:"
7051
7052 #. type: Plain text
7053 #: build/C/man2/getrlimit.2:104
7054 #, no-wrap
7055 msgid ""
7056 "struct rlimit {\n"
7057 "    rlim_t rlim_cur;  /* Soft limit */\n"
7058 "    rlim_t rlim_max;  /* Hard limit (ceiling for rlim_cur) */\n"
7059 "};\n"
7060 msgstr ""
7061 "struct rlimit {\n"
7062 "    rlim_t rlim_cur;  /* ソフト・リミット */\n"
7063 "    rlim_t rlim_max;  /* ハード・リミット\n"
7064 "                         (rlim_cur より小さくない) */\n"
7065 "};\n"
7066
7067 #. type: Plain text
7068 #: build/C/man2/getrlimit.2:115
7069 msgid ""
7070 "The soft limit is the value that the kernel enforces for the corresponding "
7071 "resource.  The hard limit acts as a ceiling for the soft limit: an "
7072 "unprivileged process may only set its soft limit to a value in the range "
7073 "from 0 up to the hard limit, and (irreversibly) lower its hard limit.  A "
7074 "privileged process (under Linux: one with the B<CAP_SYS_RESOURCE> "
7075 "capability) may make arbitrary changes to either limit value."
7076 msgstr ""
7077 "ソフト・リミットは、カーネルが対応するリソースに対して課す制限値である。 ハー"
7078 "ド・リミットはソフト・リミットの上限として働く。 特権を持たないプロセスは、ソ"
7079 "フト・リミットの値を 0 からハード・リミットの範囲に設定することと、 ハード・"
7080 "リミットを下げることのみができる (一度下げたハードリミットは上げられない)。 "
7081 "特権プロセス (Linux では B<CAP_SYS_RESOURCE> ケーパビリティ (capability) を持"
7082 "つプロセス) は ソフト・リミットとハード・リミットを自由に変更できる。"
7083
7084 #. type: Plain text
7085 #: build/C/man2/getrlimit.2:122
7086 msgid ""
7087 "The value B<RLIM_INFINITY> denotes no limit on a resource (both in the "
7088 "structure returned by B<getrlimit>()  and in the structure passed to "
7089 "B<setrlimit>())."
7090 msgstr ""
7091 "値 B<RLIM_INFINITY> はリソースに制限がないことを表す (この値は B<getrlimit>"
7092 "()  が返す構造体と B<setrlimit>()  に渡す構造体の両方で使用される)。"
7093
7094 #. type: Plain text
7095 #: build/C/man2/getrlimit.2:126
7096 #, fuzzy
7097 #| msgid "I<resource> must be one of:"
7098 msgid "The I<resource> argument must be one of:"
7099 msgstr "I<resource> は次のいずれか 1 つである。"
7100
7101 #. type: TP
7102 #: build/C/man2/getrlimit.2:126
7103 #, no-wrap
7104 msgid "B<RLIMIT_AS>"
7105 msgstr "B<RLIMIT_AS>"
7106
7107 #.  since 2.0.27 / 2.1.12
7108 #. type: Plain text
7109 #: build/C/man2/getrlimit.2:146
7110 msgid ""
7111 "The maximum size of the process's virtual memory (address space) in bytes.  "
7112 "This limit affects calls to B<brk>(2), B<mmap>(2)  and B<mremap>(2), which "
7113 "fail with the error B<ENOMEM> upon exceeding this limit.  Also automatic "
7114 "stack expansion will fail (and generate a B<SIGSEGV> that kills the process "
7115 "if no alternate stack has been made available via B<sigaltstack>(2)).  Since "
7116 "the value is a I<long>, on machines with a 32-bit I<long> either this limit "
7117 "is at most 2 GiB, or this resource is unlimited."
7118 msgstr ""
7119 "プロセスの仮想メモリ (アドレス空間) の最大サイズ (バイト単位)。 この制限は "
7120 "B<brk>(2), B<mmap>(2), B<mremap>(2)  の呼び出しに影響し、この制限を超えた場合"
7121 "は エラー B<ENOMEM> で失敗する。 また自動的なスタック拡張にも失敗する (さら"
7122 "に B<sigaltstack>(2)  を使った代替スタックを利用可能にしていなかった場合に"
7123 "は、 B<SIGSEGV> を生成してそのプロセスを kill する)。 この値は I<long> 型なの"
7124 "で、32 ビットの I<long> 型を持つマシンでは、 この制限は最大で 2 GiB になる"
7125 "か、この資源が無制限になる。"
7126
7127 #. type: TP
7128 #: build/C/man2/getrlimit.2:146
7129 #, no-wrap
7130 msgid "B<RLIMIT_CORE>"
7131 msgstr "B<RLIMIT_CORE>"
7132
7133 #. type: Plain text
7134 #: build/C/man2/getrlimit.2:153
7135 msgid ""
7136 "Maximum size of I<core> file.  When 0 no core dump files are created.  When "
7137 "nonzero, larger dumps are truncated to this size."
7138 msgstr ""
7139 "I<core> ファイルの最大サイズ。 0 の場合、core ファイルは生成されない。 0 以外"
7140 "の場合、このサイズより大きいダンプは切り詰められる。"
7141
7142 #. type: TP
7143 #: build/C/man2/getrlimit.2:153
7144 #, no-wrap
7145 msgid "B<RLIMIT_CPU>"
7146 msgstr "B<RLIMIT_CPU>"
7147
7148 #. type: Plain text
7149 #: build/C/man2/getrlimit.2:173
7150 #, fuzzy
7151 #| msgid ""
7152 #| "CPU time limit in seconds.  When the process reaches the soft limit, it "
7153 #| "is sent a B<SIGXCPU> signal.  The default action for this signal is to "
7154 #| "terminate the process.  However, the signal can be caught, and the "
7155 #| "handler can return control to the main program.  If the process continues "
7156 #| "to consume CPU time, it will be sent B<SIGXCPU> once per second until the "
7157 #| "hard limit is reached, at which time it is sent B<SIGKILL>.  (This latter "
7158 #| "point describes Linux 2.2 through 2.6 behavior.  Implementations vary in "
7159 #| "how they treat processes which continue to consume CPU time after "
7160 #| "reaching the soft limit.  Portable applications that need to catch this "
7161 #| "signal should perform an orderly termination upon first receipt of "
7162 #| "B<SIGXCPU>.)"
7163 msgid ""
7164 "CPU time limit in seconds.  When the process reaches the soft limit, it is "
7165 "sent a B<SIGXCPU> signal.  The default action for this signal is to "
7166 "terminate the process.  However, the signal can be caught, and the handler "
7167 "can return control to the main program.  If the process continues to consume "
7168 "CPU time, it will be sent B<SIGXCPU> once per second until the hard limit is "
7169 "reached, at which time it is sent B<SIGKILL>.  (This latter point describes "
7170 "Linux behavior.  Implementations vary in how they treat processes which "
7171 "continue to consume CPU time after reaching the soft limit.  Portable "
7172 "applications that need to catch this signal should perform an orderly "
7173 "termination upon first receipt of B<SIGXCPU>.)"
7174 msgstr ""
7175 "CPU 時間の上限 (秒数)。 プロセスがソフト・リミットに達した場合に、 "
7176 "B<SIGXCPU> シグナルを送る。 このシグナルに対するデフォルトの動作は、プロセス"
7177 "の終了である。 ただしシグナルをキャッチして、ハンドラがメインプログラムに 制"
7178 "御を返すこともできる。 プロセスが CPU 時間を使い続けた場合は、 ハードリミット"
7179 "に達するまで 1 秒毎にプロセスに B<SIGXCPU> を送り、 ハードリミットに達すると "
7180 "B<SIGKILL> を送る。 ソフト・リミットを超過したときの動作は、 Linux 2.2 から "
7181 "2.6 のものである。 ソフト・リミットを超えて CPU 時間を使い続けるプロセスの 扱"
7182 "い方についての実装は変化してきている。 このシグナルをキャッチする必要のある "
7183 "移植性を考えたアプリケーションでは、 最初に B<SIGXCPU> を受け取った時点で正し"
7184 "く終了すべきである。"
7185
7186 #. type: TP
7187 #: build/C/man2/getrlimit.2:173
7188 #, no-wrap
7189 msgid "B<RLIMIT_DATA>"
7190 msgstr "B<RLIMIT_DATA>"
7191
7192 #. type: Plain text
7193 #: build/C/man2/getrlimit.2:184
7194 msgid ""
7195 "The maximum size of the process's data segment (initialized data, "
7196 "uninitialized data, and heap).  This limit affects calls to B<brk>(2)  and "
7197 "B<sbrk>(2), which fail with the error B<ENOMEM> upon encountering the soft "
7198 "limit of this resource."
7199 msgstr ""
7200 "プロセスのデータセグメント (初期化されたデータ・初期化されていないデータ・"
7201 "ヒープ) の最大値。 このリミットは B<brk>(2)  と B<sbrk>(2)  の呼び出しに影響"
7202 "する。 これらの関数は、このリソースのソフト・リミットに達すると、 エラー "
7203 "B<ENOMEM> で失敗する。"
7204
7205 #. type: TP
7206 #: build/C/man2/getrlimit.2:184
7207 #, no-wrap
7208 msgid "B<RLIMIT_FSIZE>"
7209 msgstr "B<RLIMIT_FSIZE>"
7210
7211 #. type: Plain text
7212 #: build/C/man2/getrlimit.2:196
7213 msgid ""
7214 "The maximum size of files that the process may create.  Attempts to extend a "
7215 "file beyond this limit result in delivery of a B<SIGXFSZ> signal.  By "
7216 "default, this signal terminates a process, but a process can catch this "
7217 "signal instead, in which case the relevant system call (e.g., B<write>(2), "
7218 "B<truncate>(2))  fails with the error B<EFBIG>."
7219 msgstr ""
7220 "プロセスが作成できるファイルサイズの最大値。 このサイズを超えてファイルを拡張"
7221 "すると、 B<SIGXFSZ> シグナルを送る。 デフォルトでは、このシグナルはプロセスを"
7222 "終了する。 プロセスをキャッチすることもできるが、 関連するシステムコール "
7223 "(B<write>(2), B<truncate>(2)  など) はエラー B<EFBIG> で失敗する。"
7224
7225 #. type: TP
7226 #: build/C/man2/getrlimit.2:196
7227 #, no-wrap
7228 msgid "B<RLIMIT_LOCKS> (Early Linux 2.4 only)"
7229 msgstr "B<RLIMIT_LOCKS> (初期の Linux 2.4 のみ)"
7230
7231 #.  to be precise: Linux 2.4.0-test9; no longer in 2.4.25 / 2.5.65
7232 #. type: Plain text
7233 #: build/C/man2/getrlimit.2:204
7234 msgid ""
7235 "A limit on the combined number of B<flock>(2)  locks and B<fcntl>(2)  leases "
7236 "that this process may establish."
7237 msgstr ""
7238 "このプロセスが実行できる B<flock>(2)  ロック数と B<fcntl>(2)  リース数の合計"
7239 "値を制限する。"
7240
7241 #. type: TP
7242 #: build/C/man2/getrlimit.2:204
7243 #, no-wrap
7244 msgid "B<RLIMIT_MEMLOCK>"
7245 msgstr "B<RLIMIT_MEMLOCK>"
7246
7247 #. type: Plain text
7248 #: build/C/man2/getrlimit.2:242
7249 msgid ""
7250 "The maximum number of bytes of memory that may be locked into RAM.  In "
7251 "effect this limit is rounded down to the nearest multiple of the system page "
7252 "size.  This limit affects B<mlock>(2)  and B<mlockall>(2)  and the B<mmap>"
7253 "(2)  B<MAP_LOCKED> operation.  Since Linux 2.6.9 it also affects the "
7254 "B<shmctl>(2)  B<SHM_LOCK> operation, where it sets a maximum on the total "
7255 "bytes in shared memory segments (see B<shmget>(2))  that may be locked by "
7256 "the real user ID of the calling process.  The B<shmctl>(2)  B<SHM_LOCK> "
7257 "locks are accounted for separately from the per-process memory locks "
7258 "established by B<mlock>(2), B<mlockall>(2), and B<mmap>(2)  B<MAP_LOCKED>; a "
7259 "process can lock bytes up to this limit in each of these two categories.  In "
7260 "Linux kernels before 2.6.9, this limit controlled the amount of memory that "
7261 "could be locked by a privileged process.  Since Linux 2.6.9, no limits are "
7262 "placed on the amount of memory that a privileged process may lock, and this "
7263 "limit instead governs the amount of memory that an unprivileged process may "
7264 "lock."
7265 msgstr ""
7266 "RAM 内にロックできるメモリの最大バイト数。 実際には、この制限はシステムページ"
7267 "サイズの最も近い倍数に 切り捨てて丸められる。 この制限は B<mlock>(2), "
7268 "B<mlockall>(2), B<mmap>(2)  の B<MAP_LOCKED> 操作に影響する。 Linux 2.6.9 以"
7269 "降では B<shmctl>(2)  B<SHM_LOCK> 操作にも影響する。 この操作は呼び出し元プロ"
7270 "セスの実 (real) ユーザー ID にロックされる 共有メモリセグメント (B<shmget>"
7271 "(2)  を参照) の合計バイト数の最大値を設定する。 B<shmctl>(2)  B<SHM_LOCK> に"
7272 "よるロックは、 B<mlock>(2), B<mlockall>(2), B<mmap>(2)  の B<MAP_LOCKED> に"
7273 "よって確立されるプロセス毎のメモリロックとは分けて数える。 1 つのプロセスはこ"
7274 "の制限までのバイトをロックできる。 この制限には 2 つの種類がある。 2.6.9 より"
7275 "前の Linux カーネル では、 この制限は特権プロセスによってロックされるメモリの"
7276 "合計を制御していた。 Linux 2.6.9 以降では、特権プロセスがロックするメモリの合"
7277 "計に制限はなく、 代わりにこの制限は非特権プロセスがロックするメモリの合計に "
7278 "適用されるようになった。"
7279
7280 #. type: TP
7281 #: build/C/man2/getrlimit.2:242
7282 #, no-wrap
7283 msgid "B<RLIMIT_MSGQUEUE> (Since Linux 2.6.8)"
7284 msgstr "B<RLIMIT_MSGQUEUE> (Linux 2.6.8 以降)"
7285
7286 #. type: Plain text
7287 #: build/C/man2/getrlimit.2:250
7288 msgid ""
7289 "Specifies the limit on the number of bytes that can be allocated for POSIX "
7290 "message queues for the real user ID of the calling process.  This limit is "
7291 "enforced for B<mq_open>(3).  Each message queue that the user creates counts "
7292 "(until it is removed)  against this limit according to the formula:"
7293 msgstr ""
7294 "呼び出し元プロセスの実ユーザー ID に対して、 POSIX メッセージキューのために確"
7295 "保できるバイト数の制限を指定する。 この制限は B<mq_open>(3)  に対して適用され"
7296 "る。 ユーザが作成した各々のメッセージキューのバイト数は 以下の式により計算さ"
7297 "れ、(そのキューが削除されるまでの間)  この制限の計算対象に含められる。"
7298
7299 #. type: Plain text
7300 #: build/C/man2/getrlimit.2:254
7301 #, no-wrap
7302 msgid ""
7303 "    bytes = attr.mq_maxmsg * sizeof(struct msg_msg *) +\n"
7304 "            attr.mq_maxmsg * attr.mq_msgsize\n"
7305 msgstr ""
7306 "    bytes = attr.mq_maxmsg * sizeof(struct msg_msg *) +\n"
7307 "            attr.mq_maxmsg * attr.mq_msgsize\n"
7308
7309 #. type: Plain text
7310 #: build/C/man2/getrlimit.2:262
7311 msgid ""
7312 "where I<attr> is the I<mq_attr> structure specified as the fourth argument "
7313 "to B<mq_open>(3)."
7314 msgstr ""
7315 "ここで I<attr> は I<mq_attr> 構造体であり、 B<mq_open>(3)  の第 4 引き数とし"
7316 "て指定される。"
7317
7318 #. type: Plain text
7319 #: build/C/man2/getrlimit.2:268
7320 msgid ""
7321 "The first addend in the formula, which includes I<sizeof(struct msg_msg *)> "
7322 "(4 bytes on Linux/i386), ensures that the user cannot create an unlimited "
7323 "number of zero-length messages (such messages nevertheless each consume some "
7324 "system memory for bookkeeping overhead)."
7325 msgstr ""
7326 "I<sizeof(struct msg_msg *)> (Linux/i386 では 4 バイト) を含む最初の加数は、 "
7327 "ユーザーが長さ 0 のメッセージを無制限に作れないこと保証している (このような"
7328 "メッセージであっても、 記録のためのオーバーヘッドでシステムメモリを消費す"
7329 "る)。"
7330
7331 #. type: TP
7332 #: build/C/man2/getrlimit.2:268
7333 #, no-wrap
7334 msgid "B<RLIMIT_NICE> (since Linux 2.6.12, but see BUGS below)"
7335 msgstr "B<RLIMIT_NICE> (Linux 2.6.12 以降, 下記の「バグ」の節も参照)"
7336
7337 #. type: Plain text
7338 #: build/C/man2/getrlimit.2:281
7339 msgid ""
7340 "Specifies a ceiling to which the process's nice value can be raised using "
7341 "B<setpriority>(2)  or B<nice>(2).  The actual ceiling for the nice value is "
7342 "calculated as I<20\\ -\\ rlim_cur>.  (This strangeness occurs because "
7343 "negative numbers cannot be specified as resource limit values, since they "
7344 "typically have special meanings.  For example, B<RLIM_INFINITY> typically is "
7345 "the same as -1.)"
7346 msgstr ""
7347 "B<setpriority>(2)  や B<nice>(2)  を使って引き上げられるプロセスの nice 値の"
7348 "上限を指定する。 nice 値の実際の上限は I<20\\ -\\ rlim_cur> で計算される (こ"
7349 "のような変な状況は、リソース制限値として負の数を指定できないため 発生する。通"
7350 "常、負の値は特別な意味を持っているからである。 例えば、通常は "
7351 "B<RLIM_INFINITY> の値は -1 である)。"
7352
7353 #. type: TP
7354 #: build/C/man2/getrlimit.2:281
7355 #, no-wrap
7356 msgid "B<RLIMIT_NOFILE>"
7357 msgstr "B<RLIMIT_NOFILE>"
7358
7359 #. type: Plain text
7360 #: build/C/man2/getrlimit.2:295
7361 msgid ""
7362 "Specifies a value one greater than the maximum file descriptor number that "
7363 "can be opened by this process.  Attempts (B<open>(2), B<pipe>(2), B<dup>(2), "
7364 "etc.)  to exceed this limit yield the error B<EMFILE>.  (Historically, this "
7365 "limit was named B<RLIMIT_OFILE> on BSD.)"
7366 msgstr ""
7367 "このプロセスがオープンできるファイルディスクリプタ数の最大値より 1 大きい値を"
7368 "指定する。 (B<open>(2), B<pipe>(2), B<dup>(2)  などにより) この上限を超えよう"
7369 "とした場合、エラー B<EMFILE> が発生する (歴史的に、BSD ではこの上限は "
7370 "B<RLIMIT_OFILE> という名前となっている)。"
7371
7372 #. type: TP
7373 #: build/C/man2/getrlimit.2:295
7374 #, no-wrap
7375 msgid "B<RLIMIT_NPROC>"
7376 msgstr "B<RLIMIT_NPROC>"
7377
7378 #. type: Plain text
7379 #: build/C/man2/getrlimit.2:303
7380 msgid ""
7381 "The maximum number of processes (or, more precisely on Linux, threads)  that "
7382 "can be created for the real user ID of the calling process.  Upon "
7383 "encountering this limit, B<fork>(2)  fails with the error B<EAGAIN>."
7384 msgstr ""
7385 "呼び出したプロセスの実ユーザー ID で作成できる最大プロセス数 (より正確には "
7386 "Linux ではスレッド数)。 この上限に達すると、 B<fork>(2)  はエラー B<EAGAIN> "
7387 "で失敗する。"
7388
7389 #. type: TP
7390 #: build/C/man2/getrlimit.2:303
7391 #, no-wrap
7392 msgid "B<RLIMIT_RSS>"
7393 msgstr "B<RLIMIT_RSS>"
7394
7395 #.  As at kernel 2.6.12, this limit still does nothing in 2.6 though
7396 #.  talk of making it do something has surfaced from time to time in LKML
7397 #.        -- MTK, Jul 05
7398 #. type: Plain text
7399 #: build/C/man2/getrlimit.2:315
7400 msgid ""
7401 "Specifies the limit (in pages) of the process's resident set (the number of "
7402 "virtual pages resident in RAM).  This limit only has effect in Linux 2.4.x, "
7403 "x E<lt> 30, and there only affects calls to B<madvise>(2)  specifying "
7404 "B<MADV_WILLNEED>."
7405 msgstr ""
7406 "プロセスの resident set (RAM 上に存在する仮想ページの数) の 上限を (ページ数"
7407 "で) 指定する。 この制限は 2.4.30 より前でしか影響がなく、 B<madvise>(2)  に "
7408 "B<MADV_WILLNEED> を指定した関数コールにしか影響しない。"
7409
7410 #. type: TP
7411 #: build/C/man2/getrlimit.2:315
7412 #, no-wrap
7413 msgid "B<RLIMIT_RTPRIO> (Since Linux 2.6.12, but see BUGS)"
7414 msgstr "B<RLIMIT_RTPRIO> (Linux 2.6.12 以降, バグの節も参照)"
7415
7416 #. type: Plain text
7417 #: build/C/man2/getrlimit.2:322
7418 msgid ""
7419 "Specifies a ceiling on the real-time priority that may be set for this "
7420 "process using B<sched_setscheduler>(2)  and B<sched_setparam>(2)."
7421 msgstr ""
7422 "B<sched_setscheduler>(2)  や B<sched_setparam>(2)  を使って設定できる、そのプ"
7423 "ロセスのリアルタイム優先度の上限を指定する。"
7424
7425 #. type: TP
7426 #: build/C/man2/getrlimit.2:322
7427 #, no-wrap
7428 msgid "B<RLIMIT_RTTIME> (Since Linux 2.6.25)"
7429 msgstr "B<RLIMIT_RTTIME> (Linux 2.6.25 以降)"
7430
7431 #. type: Plain text
7432 #: build/C/man2/getrlimit.2:334
7433 msgid ""
7434 "Specifies a limit (in microseconds)  on the amount of CPU time that a "
7435 "process scheduled under a real-time scheduling policy may consume without "
7436 "making a blocking system call.  For the purpose of this limit, each time a "
7437 "process makes a blocking system call, the count of its consumed CPU time is "
7438 "reset to zero.  The CPU time count is not reset if the process continues "
7439 "trying to use the CPU but is preempted, its time slice expires, or it calls "
7440 "B<sched_yield>(2)."
7441 msgstr ""
7442 "リアルタイム・スケジューリング方針でスケジューリングされるプロセスが ブロッキ"
7443 "ング型のシステムコールを呼び出さずに消費することのできる CPU 時間の合計につい"
7444 "ての上限を (マイクロ秒単位で) 指定する。 この上限の目的のため、プロセスがブ"
7445 "ロッキング型のシステムコールを 呼び出す度に、消費された CPU 時間のカウントは "
7446 "0 にリセットされる。 プロセスが CPU を使い続けようとしたが他のプロセスに置き"
7447 "換えられた (preempted) 場合や、そのプロセスのタイムスライスが満了した場合、 "
7448 "そのプロセスが B<sched_yield>(2)  を呼び出した場合は、CPU 時間のカウントはリ"
7449 "セットされない。"
7450
7451 #. type: Plain text
7452 #: build/C/man2/getrlimit.2:345
7453 msgid ""
7454 "Upon reaching the soft limit, the process is sent a B<SIGXCPU> signal.  If "
7455 "the process catches or ignores this signal and continues consuming CPU time, "
7456 "then B<SIGXCPU> will be generated once each second until the hard limit is "
7457 "reached, at which point the process is sent a B<SIGKILL> signal."
7458 msgstr ""
7459 "ソフト・リミットに達すると、そのプロセスに B<SIGXCPU> シグナルが送られる。そ"
7460 "のプロセスがこのシグナルを捕捉するか 無視して、CPU 時間を消費し続けた場合に"
7461 "は、 ハード・リミットに達するまで 1 秒に 1 回 B<SIGXCPU> が生成され続けること"
7462 "になる。 ハード・リミットに達した時点で、そのプロセスには B<SIGKILL> シグナル"
7463 "が送られる。"
7464
7465 #. type: Plain text
7466 #: build/C/man2/getrlimit.2:348
7467 msgid ""
7468 "The intended use of this limit is to stop a runaway real-time process from "
7469 "locking up the system."
7470 msgstr ""
7471 "この上限を意図的に使用するのは、暴走したリアルタイム・プロセスを 停止して、シ"
7472 "ステムが動かなくなるのを避ける場合である。"
7473
7474 #. type: TP
7475 #: build/C/man2/getrlimit.2:348
7476 #, no-wrap
7477 msgid "B<RLIMIT_SIGPENDING> (Since Linux 2.6.8)"
7478 msgstr "B<RLIMIT_SIGPENDING> (Linux 2.6.8 以降)"
7479
7480 #.  This replaces the /proc/sys/kernel/rtsig-max system-wide limit
7481 #.  that was present in kernels <= 2.6.7.  MTK Dec 04
7482 #. type: Plain text
7483 #: build/C/man2/getrlimit.2:362
7484 #, fuzzy
7485 #| msgid ""
7486 #| "Specifies the limit on the number of signals that may be queued for the "
7487 #| "real user ID of the calling process.  Both standard and real-time signals "
7488 #| "are counted for the purpose of checking this limit.  However, the limit "
7489 #| "is only enforced for B<sigqueue>(2); it is always possible to use B<kill>"
7490 #| "(2)  to queue one instance of any of the signals that are not already "
7491 #| "queued to the process."
7492 msgid ""
7493 "Specifies the limit on the number of signals that may be queued for the real "
7494 "user ID of the calling process.  Both standard and real-time signals are "
7495 "counted for the purpose of checking this limit.  However, the limit is only "
7496 "enforced for B<sigqueue>(3); it is always possible to use B<kill>(2)  to "
7497 "queue one instance of any of the signals that are not already queued to the "
7498 "process."
7499 msgstr ""
7500 "呼び出し元プロセスの実ユーザー ID に対して キューに入れられるシグナルの数の制"
7501 "限を指定する。 この制限をチェックするため、 標準シグナルとリアルタイム・シグ"
7502 "ナルの両方がカウントされる。 しかし、この制限は B<sigqueue>(2)  に対してしか"
7503 "強制されず、 B<kill>(2)  使うことで、そのプロセスに対してまだキューに入れられ"
7504 "ていない シグナルのインスタンスをキューに入れることができる。"
7505
7506 #. type: TP
7507 #: build/C/man2/getrlimit.2:362
7508 #, no-wrap
7509 msgid "B<RLIMIT_STACK>"
7510 msgstr "B<RLIMIT_STACK>"
7511
7512 #. type: Plain text
7513 #: build/C/man2/getrlimit.2:370
7514 msgid ""
7515 "The maximum size of the process stack, in bytes.  Upon reaching this limit, "
7516 "a B<SIGSEGV> signal is generated.  To handle this signal, a process must "
7517 "employ an alternate signal stack (B<sigaltstack>(2))."
7518 msgstr ""
7519 "プロセス・スタックの最大サイズをバイト単位で指定する。 この上限に達すると、 "
7520 "B<SIGSEGV> シグナルが生成される。 このシグナルを扱うためには、 プロセスは代り"
7521 "のシグナルスタック (B<sigaltstack>(2))  を使用しなければならない。"
7522
7523 #. type: Plain text
7524 #: build/C/man2/getrlimit.2:375
7525 msgid ""
7526 "Since Linux 2.6.23, this limit also determines the amount of space used for "
7527 "the process's command-line arguments and environment variables; for details, "
7528 "see B<execve>(2)."
7529 msgstr ""
7530 "Linux 2.6.23 以降では、この制限はプロセスのコマンドライン引き数と環境変数 に"
7531 "使用される空間の合計サイズの上限の決定にも使用される。詳細については "
7532 "B<execve>(2)  を参照。"
7533
7534 #. type: SS
7535 #: build/C/man2/getrlimit.2:375
7536 #, no-wrap
7537 msgid "prlimit()"
7538 msgstr ""
7539
7540 #.  commit c022a0acad534fd5f5d5f17280f6d4d135e74e81
7541 #.  Author: Jiri Slaby <jslaby@suse.cz>
7542 #.  Date:   Tue May 4 18:03:50 2010 +0200
7543 #. type: Plain text
7544 #: build/C/man2/getrlimit.2:386
7545 msgid ""
7546 "The Linux-specific B<prlimit>()  system call combines and extends the "
7547 "functionality of B<setrlimit>()  and B<getrlimit>().  It can be used to both "
7548 "set and get the resource limits of an arbitrary process."
7549 msgstr ""
7550
7551 #. type: Plain text
7552 #: build/C/man2/getrlimit.2:393
7553 msgid ""
7554 "The I<resource> argument has the same meaning as for B<setrlimit>()  and "
7555 "B<getrlimit>()."
7556 msgstr ""
7557
7558 #. type: Plain text
7559 #: build/C/man2/getrlimit.2:411
7560 msgid ""
7561 "If the I<new_limit> argument is a not NULL, then the I<rlimit> structure to "
7562 "which it points is used to set new values for the soft and hard limits for "
7563 "I<resource>.  If the I<old_limit> argument is a not NULL, then a successful "
7564 "call to B<prlimit>()  places the previous soft and hard limits for "
7565 "I<resource> in the I<rlimit> structure pointed to by I<old_limit>."
7566 msgstr ""
7567
7568 #.  FIXME this permission check is strange
7569 #.  Asked about this on LKML, 7 Nov 2010
7570 #.      "Inconsistent credential checking in prlimit() syscall"
7571 #. type: Plain text
7572 #: build/C/man2/getrlimit.2:430
7573 msgid ""
7574 "The I<pid> argument specifies the ID of the process on which the call is to "
7575 "operate.  If I<pid> is 0, then the call applies to the calling process.  To "
7576 "set or get the resources of a process other than itself, the caller must "
7577 "have the B<CAP_SYS_RESOURCE> capability, or the real, effective, and saved "
7578 "set user IDs of the target process must match the real user ID of the caller "
7579 "I<and> the real, effective, and saved set group IDs of the target process "
7580 "must match the real group ID of the caller."
7581 msgstr ""
7582
7583 #. type: Plain text
7584 #: build/C/man2/getrlimit.2:435
7585 #, fuzzy
7586 #| msgid ""
7587 #| "On success, zero is returned.  On error, -1 is returned, and I<errno> is "
7588 #| "set appropriately."
7589 msgid ""
7590 "On success, these system calls return 0.  On error, -1 is returned, and "
7591 "I<errno> is set appropriately."
7592 msgstr ""
7593 "成功した場合は 0 が返される。エラーの場合は -1 が返され、 I<errno> が適切に設"
7594 "定される。"
7595
7596 #. type: Plain text
7597 #: build/C/man2/getrlimit.2:440
7598 #, fuzzy
7599 #| msgid "I<usage> points outside the accessible address space."
7600 msgid ""
7601 "A pointer argument points to a location outside the accessible address space."
7602 msgstr "I<usage> がアクセス可能なアドレス空間の外を指している。"
7603
7604 #. type: Plain text
7605 #: build/C/man2/getrlimit.2:452
7606 #, fuzzy
7607 #| msgid ""
7608 #| "I<resource> is not valid; or, for B<setrlimit>(): I<rlim-E<gt>rlim_cur> "
7609 #| "was greater than I<rlim-E<gt>rlim_max>."
7610 msgid ""
7611 "The value specified in I<resource> is not valid; or, for B<setrlimit>()  or "
7612 "B<prlimit>(): I<rlim-E<gt>rlim_cur> was greater than I<rlim-E<gt>rlim_max>."
7613 msgstr ""
7614 "I<resource> が有効でない。 または、 B<setrlimit>()  で、 I<rlim-"
7615 "E<gt>rlim_cur> が I<rlim-E<gt>rlim_max> よりも大きかった。"
7616
7617 #. type: Plain text
7618 #: build/C/man2/getrlimit.2:464
7619 #, fuzzy
7620 #| msgid ""
7621 #| "An unprivileged process tried to use B<setrlimit>()  to increase a soft "
7622 #| "or hard limit above the current hard limit; the B<CAP_SYS_RESOURCE> "
7623 #| "capability is required to do this.  Or, the process tried to use "
7624 #| "B<setrlimit>()  to increase the soft or hard B<RLIMIT_NOFILE> limit above "
7625 #| "the current kernel maximum (B<NR_OPEN>)."
7626 msgid ""
7627 "An unprivileged process tried to raise the hard limit; the "
7628 "B<CAP_SYS_RESOURCE> capability is required to do this.  Or, the caller tried "
7629 "to increase the hard B<RLIMIT_NOFILE> limit above the current kernel maximum "
7630 "(B<NR_OPEN>).  Or, the calling process did not have permission to set limits "
7631 "for the process specified by I<pid>."
7632 msgstr ""
7633 "特権のないプロセスが B<setrlimit>()  を使用して ソフト・リミットまたはハー"
7634 "ド・リミットを 現在のハード・リミットより大きくしようと試みた。 これを行うた"
7635 "めには B<CAP_SYS_RESOURCE> ケーパビリティが必要である。 または特権のないプロ"
7636 "セスが B<setrlimit>()  を使用して ソフトまたはハード B<RLIMIT_NOFILE> リミッ"
7637 "トを現在のカーネルの最大値 (B<NR_OPEN>)  以上に増加させようとした。"
7638
7639 #. type: Plain text
7640 #: build/C/man2/getrlimit.2:468
7641 msgid "Could not find a process with the ID specified in I<pid>."
7642 msgstr ""
7643
7644 #. type: Plain text
7645 #: build/C/man2/getrlimit.2:473
7646 msgid ""
7647 "The B<prlimit>()  system call is available since Linux 2.6.36.  Library "
7648 "support is available since glibc 2.13."
7649 msgstr ""
7650
7651 #. type: Plain text
7652 #: build/C/man2/getrlimit.2:477
7653 msgid "B<getrlimit>(), B<setrlimit>(): SVr4, 4.3BSD, POSIX.1-2001."
7654 msgstr ""
7655
7656 #. type: Plain text
7657 #: build/C/man2/getrlimit.2:480
7658 msgid "B<prlimit>(): Linux-specific."
7659 msgstr ""
7660
7661 #. type: Plain text
7662 #: build/C/man2/getrlimit.2:496
7663 #, fuzzy
7664 #| msgid ""
7665 #| "SVr4, 4.3BSD, POSIX.1-2001.  B<RLIMIT_MEMLOCK> and B<RLIMIT_NPROC> derive "
7666 #| "from BSD and are not specified in POSIX.1-2001; they are present on the "
7667 #| "BSDs and Linux, but on few other implementations.  B<RLIMIT_RSS> derives "
7668 #| "from BSD and is not specified in POSIX.1-2001; it is nevertheless present "
7669 #| "on most implementations.  B<RLIMIT_MSGQUEUE>, B<RLIMIT_NICE>, "
7670 #| "B<RLIMIT_RTPRIO>, B<RLIMIT_RTTIME>, and B<RLIMIT_SIGPENDING> are Linux-"
7671 #| "specific."
7672 msgid ""
7673 "B<RLIMIT_MEMLOCK> and B<RLIMIT_NPROC> derive from BSD and are not specified "
7674 "in POSIX.1-2001; they are present on the BSDs and Linux, but on few other "
7675 "implementations.  B<RLIMIT_RSS> derives from BSD and is not specified in "
7676 "POSIX.1-2001; it is nevertheless present on most implementations.  "
7677 "B<RLIMIT_MSGQUEUE>, B<RLIMIT_NICE>, B<RLIMIT_RTPRIO>, B<RLIMIT_RTTIME>, and "
7678 "B<RLIMIT_SIGPENDING> are Linux-specific."
7679 msgstr ""
7680 "SVr4, 4.3BSD, POSIX.1-2001.  B<RLIMIT_MEMLOCK> と B<RLIMIT_NPROC> は BSD から"
7681 "派生し、POSIX.1-2001 には指定されていない。 これらは BSD 系と Linux に存在す"
7682 "るが、他の実装は少ない。 B<RLIMIT_RSS> は BSD から派生し、POSIX.1-2001 には指"
7683 "定されていない。 それにも関わらず多くの実装で存在する。 B<RLIMIT_MSGQUEUE>, "
7684 "B<RLIMIT_NICE>, B<RLIMIT_RTPRIO>, B<RLIMIT_RTTIME>, B<RLIMIT_SIGPENDING> は "
7685 "Linux 固有のものである。"
7686
7687 #. type: Plain text
7688 #: build/C/man2/getrlimit.2:502
7689 msgid ""
7690 "A child process created via B<fork>(2)  inherits its parent's resource "
7691 "limits.  Resource limits are preserved across B<execve>(2)."
7692 msgstr ""
7693 "B<fork>(2)  で作成された作成された子プロセスは、 親プロセスのリソース制限を継"
7694 "承する。 B<execve>(2)  の前後でリソース制限は保存される。"
7695
7696 #. type: Plain text
7697 #: build/C/man2/getrlimit.2:511
7698 msgid ""
7699 "One can set the resource limits of the shell using the built-in I<ulimit> "
7700 "command (I<limit> in B<csh>(1)).  The shell's resource limits are inherited "
7701 "by the processes that it creates to execute commands."
7702 msgstr ""
7703 "シェルのリソース制限は、シェルの組み込みコマンドである I<ulimit> (B<csh>(1)  "
7704 "では I<limit )> を使って設定することができる。 このシェルのリソース制限は、コ"
7705 "マンドを実行してシェルが生成するプロセス に引き継がれる。"
7706
7707 #. type: Plain text
7708 #: build/C/man2/getrlimit.2:520
7709 msgid ""
7710 "Ancient systems provided a B<vlimit>()  function with a similar purpose to "
7711 "B<setrlimit>().  For backward compatibility, glibc also provides B<vlimit>"
7712 "().  All new applications should be written using B<setrlimit>()."
7713 msgstr ""
7714 "古いシステムでは、 B<setrlimit>()  と同様の目的を持つ関数 B<vlimit>()  が提供"
7715 "されていた。 後方互換性のため、glibc でも B<vlimit>()  を提供している。 全て"
7716 "の新しいアプリケーションでは、 B<setrlimit>()  を使用すべきである。"
7717
7718 #. type: Plain text
7719 #: build/C/man2/getrlimit.2:523
7720 msgid "The program below demonstrates the use of B<prlimit>()."
7721 msgstr ""
7722
7723 #. type: Plain text
7724 #: build/C/man2/getrlimit.2:532
7725 #, fuzzy, no-wrap
7726 #| msgid ""
7727 #| "B<#include E<lt>sys/types.hE<gt>>\n"
7728 #| "B<#include E<lt>sys/ipc.hE<gt>>\n"
7729 #| "B<#include E<lt>sys/msg.hE<gt>>\n"
7730 #| "B<#include E<lt>sys/sem.hE<gt>>\n"
7731 #| "B<#include E<lt>sys/shm.hE<gt>>\n"
7732 msgid ""
7733 "#define _GNU_SOURCE\n"
7734 "#define _FILE_OFFSET_BITS 64\n"
7735 "#include E<lt>stdio.hE<gt>\n"
7736 "#include E<lt>time.hE<gt>\n"
7737 "#include E<lt>stdlib.hE<gt>\n"
7738 "#include E<lt>unistd.hE<gt>\n"
7739 "#include E<lt>sys/resource.hE<gt>\n"
7740 msgstr ""
7741 "B<#include E<lt>sys/types.hE<gt>>\n"
7742 "B<#include E<lt>sys/ipc.hE<gt>>\n"
7743 "B<#include E<lt>sys/msg.hE<gt>>\n"
7744 "B<#include E<lt>sys/sem.hE<gt>>\n"
7745 "B<#include E<lt>sys/shm.hE<gt>>\n"
7746
7747 #. type: Plain text
7748 #: build/C/man2/getrlimit.2:535
7749 #, no-wrap
7750 msgid ""
7751 "#define errExit(msg) \tdo { perror(msg); exit(EXIT_FAILURE); \\e\n"
7752 "                        } while (0)\n"
7753 msgstr ""
7754
7755 #. type: Plain text
7756 #: build/C/man2/getrlimit.2:542
7757 #, no-wrap
7758 msgid ""
7759 "int\n"
7760 "main(int argc, char *argv[])\n"
7761 "{\n"
7762 "    struct rlimit old, new;\n"
7763 "    struct rlimit *newp;\n"
7764 "    pid_t pid;\n"
7765 msgstr ""
7766
7767 #. type: Plain text
7768 #: build/C/man2/getrlimit.2:548
7769 #, no-wrap
7770 msgid ""
7771 "    if (!(argc == 2 || argc == 4)) {\n"
7772 "        fprintf(stderr, \"Usage: %s E<lt>pidE<gt> [E<lt>new-soft-limitE<gt> \"\n"
7773 "                \"E<lt>new-hard-limitE<gt>]\\en\", argv[0]);\n"
7774 "        exit(EXIT_FAILURE);\n"
7775 "    }\n"
7776 msgstr ""
7777
7778 #. type: Plain text
7779 #: build/C/man2/getrlimit.2:550
7780 #, no-wrap
7781 msgid "    pid = atoi(argv[1]);        /* PID of target process */\n"
7782 msgstr ""
7783
7784 #. type: Plain text
7785 #: build/C/man2/getrlimit.2:557
7786 #, no-wrap
7787 msgid ""
7788 "    newp = NULL;\n"
7789 "    if (argc == 4) {\n"
7790 "        new.rlim_cur = atoi(argv[2]);\n"
7791 "        new.rlim_max = atoi(argv[3]);\n"
7792 "        newp = &new;\n"
7793 "    }\n"
7794 msgstr ""
7795
7796 #. type: Plain text
7797 #: build/C/man2/getrlimit.2:560
7798 #, no-wrap
7799 msgid ""
7800 "    /* Set CPU time limit of target process; retrieve and display\n"
7801 "       previous limit */\n"
7802 msgstr ""
7803
7804 #. type: Plain text
7805 #: build/C/man2/getrlimit.2:565
7806 #, no-wrap
7807 msgid ""
7808 "    if (prlimit(pid, RLIMIT_CPU, newp, &old) == -1)\n"
7809 "        errExit(\"prlimit-1\");\n"
7810 "    printf(\"Previous limits: soft=%lld; hard=%lld\\en\",\n"
7811 "            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
7812 msgstr ""
7813
7814 #. type: Plain text
7815 #: build/C/man2/getrlimit.2:567
7816 #, no-wrap
7817 msgid "    /* Retrieve and display new CPU time limit */\n"
7818 msgstr ""
7819
7820 #. type: Plain text
7821 #: build/C/man2/getrlimit.2:572
7822 #, no-wrap
7823 msgid ""
7824 "    if (prlimit(pid, RLIMIT_CPU, NULL, &old) == -1)\n"
7825 "        errExit(\"prlimit-2\");\n"
7826 "    printf(\"New limits: soft=%lld; hard=%lld\\en\",\n"
7827 "            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
7828 msgstr ""
7829
7830 #. type: Plain text
7831 #: build/C/man2/getrlimit.2:575
7832 #, no-wrap
7833 msgid ""
7834 "    exit(EXIT_FAILURE);\n"
7835 "}\n"
7836 msgstr ""
7837
7838 #.  FIXME prlimit() does not suffer
7839 #.  https://bugzilla.kernel.org/show_bug.cgi?id=5042
7840 #.  http://sources.redhat.com/bugzilla/show_bug.cgi?id=12201
7841 #. type: Plain text
7842 #: build/C/man2/getrlimit.2:588
7843 msgid ""
7844 "In older Linux kernels, the B<SIGXCPU> and B<SIGKILL> signals delivered when "
7845 "a process encountered the soft and hard B<RLIMIT_CPU> limits were delivered "
7846 "one (CPU) second later than they should have been.  This was fixed in kernel "
7847 "2.6.8."
7848 msgstr ""
7849 "以前の Linux カーネルでは、プロセスがソフトまたはハード B<RLIMIT_CPU> リミッ"
7850 "トに達した場合に送られる B<SIGXCPU> と B<SIGKILL> シグナルが、本来送られるべ"
7851 "き時点の 1 (CPU) 秒後に送られてしまう。 これはカーネル 2.6.8 で修正された。"
7852
7853 #.  see http://marc.theaimsgroup.com/?l=linux-kernel&m=114008066530167&w=2
7854 #. type: Plain text
7855 #: build/C/man2/getrlimit.2:596
7856 msgid ""
7857 "In 2.6.x kernels before 2.6.17, a B<RLIMIT_CPU> limit of 0 is wrongly "
7858 "treated as \"no limit\" (like B<RLIM_INFINITY>).  Since Linux 2.6.17, "
7859 "setting a limit of 0 does have an effect, but is actually treated as a limit "
7860 "of 1 second."
7861 msgstr ""
7862 "2.6.17 より前の 2.6.x カーネルでは、 B<RLIMIT_CPU> リミットが 0 の場合、 "
7863 "(B<RLIM_INFINITY> と同じように) 「制限なし」と間違って解釈されていた。 Linux "
7864 "2.6.17 以降では、リミットを 0 に設定した場合にも 効果を持つようになっている"
7865 "が、実際にはリミットの値は 1 秒となる。"
7866
7867 #. type: Plain text
7868 #: build/C/man2/getrlimit.2:600
7869 msgid ""
7870 "A kernel bug means that B<RLIMIT_RTPRIO> does not work in kernel 2.6.12; the "
7871 "problem is fixed in kernel 2.6.13."
7872 msgstr ""
7873 "カーネル 2.6.12 には、 B<RLIMIT_RTPRIO> が動作しないというバグがある。この問"
7874 "題はカーネル 2.6.13 で修正されている。"
7875
7876 #.  see http://marc.theaimsgroup.com/?l=linux-kernel&m=112256338703880&w=2
7877 #. type: Plain text
7878 #: build/C/man2/getrlimit.2:611
7879 #, fuzzy
7880 #| msgid ""
7881 #| "In kernel 2.6.12, there was an off-by-one mismatch between the priority "
7882 #| "ranges returned by B<getpriority>(2)  and B<RLIMIT_NICE>.  This had the "
7883 #| "effect that actual ceiling for the nice value was calculated as I<19\\ -"
7884 #| "\\ rlim_cur>.  This was fixed in kernel 2.6.13."
7885 msgid ""
7886 "In kernel 2.6.12, there was an off-by-one mismatch between the priority "
7887 "ranges returned by B<getpriority>(2)  and B<RLIMIT_NICE>.  This had the "
7888 "effect that the actual ceiling for the nice value was calculated as I<19\\ -"
7889 "\\ rlim_cur>.  This was fixed in kernel 2.6.13."
7890 msgstr ""
7891 "カーネル 2.6.12 では、 B<getpriority>(2)  と B<RLIMIT_NICE> が返す優先度の範"
7892 "囲が一つずれていた。このため、nice 値の実際の上限が I<19\\ -\\ rlim_cur> に"
7893 "なってしまうという影響があった。これはカーネル 2.6.13 で修正された。"
7894
7895 #. type: Plain text
7896 #: build/C/man2/getrlimit.2:620
7897 msgid ""
7898 "Kernels before 2.4.22 did not diagnose the error B<EINVAL> for B<setrlimit>"
7899 "()  when I<rlim-E<gt>rlim_cur> was greater than I<rlim-E<gt>rlim_max>."
7900 msgstr ""
7901 "2.4.22 より前のカーネルでは、 I<rlim-E<gt>rlim_cur> が I<rlim-E<gt>rlim_max> "
7902 "より大きかった場合、 B<setrlimit>()  での B<EINVAL> エラーを検出できない。"
7903
7904 #. type: Plain text
7905 #: build/C/man2/getrlimit.2:637
7906 #, fuzzy
7907 #| msgid ""
7908 #| "B<dup>(2), B<fcntl>(2), B<fork>(2), B<getrusage>(2), B<mlock>(2), B<mmap>"
7909 #| "(2), B<open>(2), B<quotactl>(2), B<sbrk>(2), B<shmctl>(2), B<sigqueue>"
7910 #| "(2), B<malloc>(3), B<ulimit>(3), B<core>(5), B<capabilities>(7), B<signal>"
7911 #| "(7)"
7912 msgid ""
7913 "B<dup>(2), B<fcntl>(2), B<fork>(2), B<getrusage>(2), B<mlock>(2), B<mmap>"
7914 "(2), B<open>(2), B<quotactl>(2), B<sbrk>(2), B<shmctl>(2), B<malloc>(3), "
7915 "B<sigqueue>(3), B<ulimit>(3), B<core>(5), B<capabilities>(7), B<signal>(7)"
7916 msgstr ""
7917 "B<dup>(2), B<fcntl>(2), B<fork>(2), B<getrusage>(2), B<mlock>(2), B<mmap>"
7918 "(2), B<open>(2), B<quotactl>(2), B<sbrk>(2), B<shmctl>(2), B<sigqueue>(2), "
7919 "B<malloc>(3), B<ulimit>(3), B<core>(5), B<capabilities>(7), B<signal>(7)"
7920
7921 #. type: TH
7922 #: build/C/man2/getrusage.2:39
7923 #, no-wrap
7924 msgid "GETRUSAGE"
7925 msgstr "GETRUSAGE"
7926
7927 #. type: TH
7928 #: build/C/man2/getrusage.2:39 build/C/man2/getsid.2:25
7929 #: build/C/man2/setpgid.2:46
7930 #, no-wrap
7931 msgid "2010-09-26"
7932 msgstr "2010-09-26"
7933
7934 #. type: Plain text
7935 #: build/C/man2/getrusage.2:42
7936 msgid "getrusage - get resource usage"
7937 msgstr "getrusage - 資源の使用量を取得する"
7938
7939 #. type: Plain text
7940 #: build/C/man2/getrusage.2:48
7941 msgid "B<int getrusage(int >I<who>B<, struct rusage *>I<usage>B<);>"
7942 msgstr "B<int getrusage(int >I<who>B<, struct rusage *>I<usage>B<);>"
7943
7944 #. type: Plain text
7945 #: build/C/man2/getrusage.2:54
7946 msgid ""
7947 "B<getrusage>()  returns resource usage measures for I<who>, which can be one "
7948 "of the following:"
7949 msgstr ""
7950 "B<getrusage>()  は I<who> の資源 (resource) の使用量を返す。 I<who> には以下"
7951 "のいずれか一つを指定できる。"
7952
7953 #. type: TP
7954 #: build/C/man2/getrusage.2:54
7955 #, no-wrap
7956 msgid "B<RUSAGE_SELF>"
7957 msgstr "B<RUSAGE_SELF>"
7958
7959 #. type: Plain text
7960 #: build/C/man2/getrusage.2:58
7961 msgid ""
7962 "Return resource usage statistics for the calling process, which is the sum "
7963 "of resources used by all threads in the process."
7964 msgstr ""
7965 "呼び出したプロセスの資源使用量、 そのプロセス内の全スレッドが使用している資源"
7966 "の合計を返す。"
7967
7968 #. type: TP
7969 #: build/C/man2/getrusage.2:58
7970 #, no-wrap
7971 msgid "B<RUSAGE_CHILDREN>"
7972 msgstr "B<RUSAGE_CHILDREN>"
7973
7974 #. type: Plain text
7975 #: build/C/man2/getrusage.2:65
7976 msgid ""
7977 "Return resource usage statistics for all children of the calling process "
7978 "that have terminated and been waited for.  These statistics will include the "
7979 "resources used by grandchildren, and further removed descendants, if all of "
7980 "the intervening descendants waited on their terminated children."
7981 msgstr ""
7982 "呼び出したプロセスの子プロセスのうち、 終了して待ち状態にある全プロセスが使用"
7983 "している資源使用量の統計を返す。 これらの統計情報には、孫プロセスやその子孫の"
7984 "プロセスのうち、 削除待ちのものが使用している資源も含まれる。"
7985
7986 #. type: TP
7987 #: build/C/man2/getrusage.2:65
7988 #, no-wrap
7989 msgid "B<RUSAGE_THREAD> (since Linux 2.6.26)"
7990 msgstr "B<RUSAGE_THREAD> (Linux 2.6.26 以降)"
7991
7992 #. type: Plain text
7993 #: build/C/man2/getrusage.2:68
7994 msgid "Return resource usage statistics for the calling thread."
7995 msgstr "呼び出したスレッドに関する資源使用量の統計を返す。"
7996
7997 #. type: Plain text
7998 #: build/C/man2/getrusage.2:72
7999 msgid ""
8000 "The resource usages are returned in the structure pointed to by I<usage>, "
8001 "which has the following form:"
8002 msgstr ""
8003 "資源使用量は I<usage> が指す構造体に格納されて返される。 構造体は以下の形式で"
8004 "ある。"
8005
8006 #. type: Plain text
8007 #: build/C/man2/getrusage.2:93
8008 #, fuzzy, no-wrap
8009 #| msgid ""
8010 #| "struct rusage {\n"
8011 #| "    struct timeval ru_utime; /* user time used */\n"
8012 #| "    struct timeval ru_stime; /* system time used */\n"
8013 #| "    long   ru_maxrss;        /* maximum resident set size */\n"
8014 #| "    long   ru_ixrss;         /* integral shared memory size */\n"
8015 #| "    long   ru_idrss;         /* integral unshared data size */\n"
8016 #| "    long   ru_isrss;         /* integral unshared stack size */\n"
8017 #| "    long   ru_minflt;        /* page reclaims */\n"
8018 #| "    long   ru_majflt;        /* page faults */\n"
8019 #| "    long   ru_nswap;         /* swaps */\n"
8020 #| "    long   ru_inblock;       /* block input operations */\n"
8021 #| "    long   ru_oublock;       /* block output operations */\n"
8022 #| "    long   ru_msgsnd;        /* messages sent */\n"
8023 #| "    long   ru_msgrcv;        /* messages received */\n"
8024 #| "    long   ru_nsignals;      /* signals received */\n"
8025 #| "    long   ru_nvcsw;         /* voluntary context switches */\n"
8026 #| "    long   ru_nivcsw;        /* involuntary context switches */\n"
8027 #| "};\n"
8028 msgid ""
8029 "struct rusage {\n"
8030 "    struct timeval ru_utime; /* user CPU time used */\n"
8031 "    struct timeval ru_stime; /* system CPU time used */\n"
8032 "    long   ru_maxrss;        /* maximum resident set size */\n"
8033 "    long   ru_ixrss;         /* integral shared memory size */\n"
8034 "    long   ru_idrss;         /* integral unshared data size */\n"
8035 "    long   ru_isrss;         /* integral unshared stack size */\n"
8036 "    long   ru_minflt;        /* page reclaims (soft page faults) */\n"
8037 "    long   ru_majflt;        /* page faults (hard page faults) */\n"
8038 "    long   ru_nswap;         /* swaps */\n"
8039 "    long   ru_inblock;       /* block input operations */\n"
8040 "    long   ru_oublock;       /* block output operations */\n"
8041 "    long   ru_msgsnd;        /* IPC messages sent */\n"
8042 "    long   ru_msgrcv;        /* IPC messages received */\n"
8043 "    long   ru_nsignals;      /* signals received */\n"
8044 "    long   ru_nvcsw;         /* voluntary context switches */\n"
8045 "    long   ru_nivcsw;        /* involuntary context switches */\n"
8046 "};\n"
8047 msgstr ""
8048 "struct rusage {\n"
8049 "    struct timeval ru_utime; /* 使用されたユーザー時間 */\n"
8050 "    struct timeval ru_stime; /* 使用されたシステム時間 */\n"
8051 "    long   ru_maxrss;        /* RAM 上に存在する仮想ページのサイズ\n"
8052 "                               (resident set size) の最大値 */\n"
8053 "    long   ru_ixrss;         /* 共有メモリの合計サイズ */\n"
8054 "    long   ru_idrss;         /* 非共有データの合計サイズ */\n"
8055 "    long   ru_isrss;         /* 非共有スタックの合計サイズ */\n"
8056 "    long   ru_minflt;        /* 利用されたページ */\n"
8057 "    long   ru_majflt;        /* ページフォールト */\n"
8058 "    long   ru_nswap;         /* スワップ */\n"
8059 "    long   ru_inblock;       /* ブロック入力操作 */\n"
8060 "    long   ru_oublock;       /* ブロック出力操作 */\n"
8061 "    long   ru_msgsnd;        /* 送信されたメッセージ */\n"
8062 "    long   ru_msgrcv;        /* 受信されたメッセージ */\n"
8063 "    long   ru_nsignals;      /* 受信されたシグナル */\n"
8064 "    long   ru_nvcsw;         /* 意図したコンテキスト切り替え */\n"
8065 "    long   ru_nivcsw;        /* 意図しないコンテキスト切り替え */\n"
8066 "};\n"
8067
8068 #. type: Plain text
8069 #: build/C/man2/getrusage.2:101
8070 msgid ""
8071 "Not all fields are completed; unmaintained fields are set to zero by the "
8072 "kernel.  (The unmaintained fields are provided for compatibility with other "
8073 "systems, and because they may one day be supported on Linux.)  The fields "
8074 "are interpreted as follows:"
8075 msgstr ""
8076
8077 #. type: TP
8078 #: build/C/man2/getrusage.2:101
8079 #, fuzzy, no-wrap
8080 #| msgid "I<msg_stime>"
8081 msgid "I<ru_utime>"
8082 msgstr "I<msg_stime>"
8083
8084 #. type: Plain text
8085 #: build/C/man2/getrusage.2:107
8086 msgid ""
8087 "This is the total amount of time spent executing in user mode, expressed in "
8088 "a I<timeval> structure (seconds plus microseconds)."
8089 msgstr ""
8090
8091 #. type: TP
8092 #: build/C/man2/getrusage.2:107
8093 #, fuzzy, no-wrap
8094 #| msgid "I<msg_stime>"
8095 msgid "I<ru_stime>"
8096 msgstr "I<msg_stime>"
8097
8098 #. type: Plain text
8099 #: build/C/man2/getrusage.2:113
8100 msgid ""
8101 "This is the total amount of time spent executing in kernel mode, expressed "
8102 "in a I<timeval> structure (seconds plus microseconds)."
8103 msgstr ""
8104
8105 #. type: TP
8106 #: build/C/man2/getrusage.2:113
8107 #, fuzzy, no-wrap
8108 #| msgid "I<mem_hardwall> (since Linux 2.6.26)"
8109 msgid "I<ru_maxrss> (since Linux 2.6.32)"
8110 msgstr "I<mem_hardwall> (since Linux 2.6.26)"
8111
8112 #. type: Plain text
8113 #: build/C/man2/getrusage.2:119
8114 msgid ""
8115 "This is the maximum resident set size used (in kilobytes). For "
8116 "B<RUSAGE_CHILDREN>, this is the resident set size of the largest child, not "
8117 "the maximum resident set size of the process tree."
8118 msgstr ""
8119
8120 #. type: TP
8121 #: build/C/man2/getrusage.2:119
8122 #, no-wrap
8123 msgid "I<ru_ixrss> (unmaintained)"
8124 msgstr ""
8125
8126 #.  On some systems, this field records the number of signals received.
8127 #. type: Plain text
8128 #: build/C/man2/getrusage.2:125 build/C/man2/getrusage.2:130
8129 #: build/C/man2/getrusage.2:135 build/C/man2/getrusage.2:147
8130 #: build/C/man2/getrusage.2:159 build/C/man2/getrusage.2:165
8131 #: build/C/man2/getrusage.2:169
8132 msgid "This field is currently unused on Linux."
8133 msgstr ""
8134
8135 #. type: TP
8136 #: build/C/man2/getrusage.2:125
8137 #, no-wrap
8138 msgid "I<ru_idrss> (unmaintained)"
8139 msgstr ""
8140
8141 #. type: TP
8142 #: build/C/man2/getrusage.2:130
8143 #, no-wrap
8144 msgid "I<ru_isrss> (unmaintained)"
8145 msgstr ""
8146
8147 #. type: TP
8148 #: build/C/man2/getrusage.2:135
8149 #, no-wrap
8150 msgid "I<ru_minflt>"
8151 msgstr ""
8152
8153 #. type: Plain text
8154 #: build/C/man2/getrusage.2:140
8155 msgid ""
8156 "The number of page faults serviced without any I/O activity; here I/O "
8157 "activity is avoided by ``reclaiming'' a page frame from the list of pages "
8158 "awaiting reallocation."
8159 msgstr ""
8160
8161 #. type: TP
8162 #: build/C/man2/getrusage.2:140
8163 #, no-wrap
8164 msgid "I<ru_majflt>"
8165 msgstr ""
8166
8167 #. type: Plain text
8168 #: build/C/man2/getrusage.2:143
8169 msgid "The number of page faults serviced that required I/O activity."
8170 msgstr ""
8171
8172 #. type: TP
8173 #: build/C/man2/getrusage.2:143
8174 #, no-wrap
8175 msgid "I<ru_nswap> (unmaintained)"
8176 msgstr ""
8177
8178 #. type: TP
8179 #: build/C/man2/getrusage.2:147
8180 #, fuzzy, no-wrap
8181 #| msgid "I<mem_hardwall> (since Linux 2.6.26)"
8182 msgid "I<ru_inblock> (since Linux 2.6.22)"
8183 msgstr "I<mem_hardwall> (since Linux 2.6.26)"
8184
8185 #. type: Plain text
8186 #: build/C/man2/getrusage.2:150
8187 msgid "The number of times the file system had to perform input."
8188 msgstr ""
8189
8190 #. type: TP
8191 #: build/C/man2/getrusage.2:150
8192 #, fuzzy, no-wrap
8193 #| msgid "I<sched_load_balance> (since Linux 2.6.24)"
8194 msgid "I<ru_oublock> (since Linux 2.6.22)"
8195 msgstr "I<sched_load_balance> (since Linux 2.6.24)"
8196
8197 #. type: Plain text
8198 #: build/C/man2/getrusage.2:153
8199 msgid "The number of times the file system had to perform output."
8200 msgstr ""
8201
8202 #. type: TP
8203 #: build/C/man2/getrusage.2:153
8204 #, no-wrap
8205 msgid "I<ru_msgsnd> (unmaintained)"
8206 msgstr ""
8207
8208 #. type: TP
8209 #: build/C/man2/getrusage.2:159
8210 #, no-wrap
8211 msgid "I<ru_msgrcv> (unmaintained)"
8212 msgstr ""
8213
8214 #. type: TP
8215 #: build/C/man2/getrusage.2:165
8216 #, no-wrap
8217 msgid "I<ru_nsignals> (unmaintained)"
8218 msgstr ""
8219
8220 #. type: TP
8221 #: build/C/man2/getrusage.2:169
8222 #, fuzzy, no-wrap
8223 #| msgid "I<mem_hardwall> (since Linux 2.6.26)"
8224 msgid "I<ru_nvcsw> (since Linux 2.6)"
8225 msgstr "I<mem_hardwall> (since Linux 2.6.26)"
8226
8227 #. type: Plain text
8228 #: build/C/man2/getrusage.2:174
8229 msgid ""
8230 "The number of times a context switch resulted due to a process voluntarily "
8231 "giving up the processor before its time slice was completed (usually to "
8232 "await availability of a resource)."
8233 msgstr ""
8234
8235 #. type: TP
8236 #: build/C/man2/getrusage.2:174
8237 #, fuzzy, no-wrap
8238 #| msgid "I<memory_migrate> (since Linux 2.6.16)"
8239 msgid "I<ru_nivcsw> (since Linux 2.6)"
8240 msgstr "I<memory_migrate> (since Linux 2.6.16)"
8241
8242 #. type: Plain text
8243 #: build/C/man2/getrusage.2:179
8244 msgid ""
8245 "The number of times a context switch resulted due to a higher priority "
8246 "process becoming runnable or because the current process exceeded its time "
8247 "slice."
8248 msgstr ""
8249
8250 #. type: Plain text
8251 #: build/C/man2/getrusage.2:190
8252 msgid "I<usage> points outside the accessible address space."
8253 msgstr "I<usage> がアクセス可能なアドレス空間の外を指している。"
8254
8255 #. type: Plain text
8256 #: build/C/man2/getrusage.2:194
8257 msgid "I<who> is invalid."
8258 msgstr "I<who> が無効である。"
8259
8260 #. type: Plain text
8261 #: build/C/man2/getrusage.2:202
8262 msgid ""
8263 "SVr4, 4.3BSD.  POSIX.1-2001 specifies B<getrusage>(), but only specifies the "
8264 "fields I<ru_utime> and I<ru_stime>."
8265 msgstr ""
8266 "SVr4, 4.3BSD.  POSIX.1-2001 は B<getrusage>()  を規定しているが、規定している"
8267 "フィールドは I<ru_utime> と I<ru_stime> だけである。"
8268
8269 #. type: Plain text
8270 #: build/C/man2/getrusage.2:205
8271 msgid "B<RUSAGE_THREAD> is Linux-specific."
8272 msgstr "B<RUSAGE_THREAD> は Linux 固有である。"
8273
8274 #. type: Plain text
8275 #: build/C/man2/getrusage.2:208
8276 msgid "Resource usage metrics are preserved across an B<execve>(2)."
8277 msgstr "B<execve>(2)  の前後でリソース使用量の指標は保持される。"
8278
8279 #. type: Plain text
8280 #: build/C/man2/getrusage.2:216
8281 msgid ""
8282 "Including I<E<lt>sys/time.hE<gt>> is not required these days, but increases "
8283 "portability.  (Indeed, I<struct timeval> is defined in I<E<lt>sys/time."
8284 "hE<gt>>.)"
8285 msgstr ""
8286 "今日では I<E<lt>sys/time.hE<gt>> をインクルードする必要はないが、 インクルー"
8287 "ドしておけば移植性が増す。 (実際 I<struct timeval> は I<E<lt>sys/time."
8288 "hE<gt>> で定義されている。)"
8289
8290 #.  See the description of getrusage() in XSH.
8291 #.  A similar statement was also in SUSv2.
8292 #. type: Plain text
8293 #: build/C/man2/getrusage.2:228
8294 msgid ""
8295 "In Linux kernel versions before 2.6.9, if the disposition of B<SIGCHLD> is "
8296 "set to B<SIG_IGN> then the resource usages of child processes are "
8297 "automatically included in the value returned by B<RUSAGE_CHILDREN>, although "
8298 "POSIX.1-2001 explicitly prohibits this.  This nonconformance is rectified in "
8299 "Linux 2.6.9 and later."
8300 msgstr ""
8301 "2.6.9 より前のバージョンの Linux カーネルでは、 B<SIGCHLD> の処理が "
8302 "B<SIG_IGN> に設定されていると、 子プロセスのリソース使用量が "
8303 "B<RUSAGE_CHILDREN> で返される値に自動的に含められる。 しかし POSIX.1-2001 で"
8304 "は、これを明確に禁止している。 この準拠していなかった点は、Linux 2.6.9 以降で"
8305 "改正された。"
8306
8307 #. type: Plain text
8308 #: build/C/man2/getrusage.2:231
8309 msgid ""
8310 "The structure definition shown at the start of this page was taken from "
8311 "4.3BSD Reno."
8312 msgstr ""
8313
8314 #. type: Plain text
8315 #: build/C/man2/getrusage.2:240
8316 #, fuzzy
8317 #| msgid ""
8318 #| "Ancient systems provided a B<vlimit>()  function with a similar purpose "
8319 #| "to B<setrlimit>().  For backward compatibility, glibc also provides "
8320 #| "B<vlimit>().  All new applications should be written using B<setrlimit>()."
8321 msgid ""
8322 "Ancient systems provided a B<vtimes>()  function with a similar purpose to "
8323 "B<getrusage>().  For backward compatibility, glibc also provides B<vtimes>"
8324 "().  All new applications should be written using B<getrusage>()."
8325 msgstr ""
8326 "古いシステムでは、 B<setrlimit>()  と同様の目的を持つ関数 B<vlimit>()  が提供"
8327 "されていた。 後方互換性のため、glibc でも B<vlimit>()  を提供している。 全て"
8328 "の新しいアプリケーションでは、 B<setrlimit>()  を使用すべきである。"
8329
8330 #. type: Plain text
8331 #: build/C/man2/getrusage.2:245
8332 msgid "See also the description of I</proc/PID/stat> in B<proc>(5)."
8333 msgstr "B<proc>(5)  にある I</proc/PID/stat> の説明も参照のこと。"
8334
8335 #. type: Plain text
8336 #: build/C/man2/getrusage.2:252
8337 msgid ""
8338 "B<clock_gettime>(2), B<getrlimit>(2), B<times>(2), B<wait>(2), B<wait4>(2), "
8339 "B<clock>(3)"
8340 msgstr ""
8341 "B<clock_gettime>(2), B<getrlimit>(2), B<times>(2), B<wait>(2), B<wait4>(2), "
8342 "B<clock>(3)"
8343
8344 #. type: TH
8345 #: build/C/man2/getsid.2:25
8346 #, no-wrap
8347 msgid "GETSID"
8348 msgstr "GETSID"
8349
8350 #. type: Plain text
8351 #: build/C/man2/getsid.2:28
8352 msgid "getsid - get session ID"
8353 msgstr "getsid - セッション ID を取得する。"
8354
8355 #. type: Plain text
8356 #: build/C/man2/getsid.2:32
8357 msgid "B<pid_t getsid(pid_t>I< pid>B<);>"
8358 msgstr "B<pid_t getsid(pid_t>I< pid>B<);>"
8359
8360 #. type: Plain text
8361 #: build/C/man2/getsid.2:41
8362 msgid "B<getsid>():"
8363 msgstr "B<getsid>():"
8364
8365 #. type: Plain text
8366 #: build/C/man2/getsid.2:44 build/C/man2/setpgid.2:77
8367 msgid ""
8368 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
8369 msgstr ""
8370 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
8371
8372 #. type: Plain text
8373 #: build/C/man2/getsid.2:46 build/C/man2/setpgid.2:79
8374 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
8375 msgstr "|| /* glibc 2.12 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
8376
8377 #. type: Plain text
8378 #: build/C/man2/getsid.2:57
8379 msgid ""
8380 "I<getsid(0)> returns the session ID of the calling process.  I<getsid(p)> "
8381 "returns the session ID of the process with process ID I<p>.  (The session ID "
8382 "of a process is the process group ID of the session leader.)"
8383 msgstr ""
8384 "I<getsid(0)> は呼び出し元のプロセスのセッション ID を返す。 I<getsid(p)> はプ"
8385 "ロセス ID I<p> を持つプロセスのセッション ID を返す (プロセスのセッション ID "
8386 "は セッションリーダーのプロセスグループ ID である)。"
8387
8388 #. type: Plain text
8389 #: build/C/man2/getsid.2:62
8390 msgid ""
8391 "On success, a session ID is returned.  On error, I<(pid_t)\\ -1> will be "
8392 "returned, and I<errno> is set appropriately."
8393 msgstr ""
8394 "成功すると、セッション ID が返される。 エラーの場合、I<(pid_t) -1> が返さ"
8395 "れ、 I<errno> が適切に設定される。"
8396
8397 #. type: Plain text
8398 #: build/C/man2/getsid.2:69
8399 msgid ""
8400 "A process with process ID I<p> exists, but it is not in the same session as "
8401 "the calling process, and the implementation considers this an error."
8402 msgstr ""
8403 "プロセス ID I<p> のプロセスは存在するが、呼び出し元のプロセスと同じセッション"
8404 "ではなく、 さらに実装がこの状態をエラーと判断した場合。"
8405
8406 #. type: Plain text
8407 #: build/C/man2/getsid.2:74
8408 msgid "No process with process ID I<p> was found."
8409 msgstr "プロセス ID が I<p> のプロセスがない。"
8410
8411 #.  Linux has this system call since Linux 1.3.44.
8412 #.  There is libc support since libc 5.2.19.
8413 #. type: Plain text
8414 #: build/C/man2/getsid.2:78
8415 msgid "This system call is available on Linux since version 2.0."
8416 msgstr "このシステムコールは Linux バージョン 2.0 以降で利用可能である。"
8417
8418 #. type: Plain text
8419 #: build/C/man2/getsid.2:80 build/C/man2/setgid.2:76 build/C/man2/setsid.2:66
8420 msgid "SVr4, POSIX.1-2001."
8421 msgstr "SVr4, POSIX.1-2001."
8422
8423 #. type: Plain text
8424 #: build/C/man2/getsid.2:83
8425 msgid "Linux does not return B<EPERM>."
8426 msgstr "Linux は B<EPERM> を返さない。"
8427
8428 #. type: Plain text
8429 #: build/C/man2/getsid.2:87
8430 msgid "B<getpgid>(2), B<setsid>(2), B<credentials>(7)"
8431 msgstr "B<getpgid>(2), B<setsid>(2), B<credentials>(7)"
8432
8433 #. type: TH
8434 #: build/C/man2/getuid.2:26
8435 #, no-wrap
8436 msgid "GETUID"
8437 msgstr "GETUID"
8438
8439 #. type: Plain text
8440 #: build/C/man2/getuid.2:29
8441 msgid "getuid, geteuid - get user identity"
8442 msgstr "getuid, geteuid - ユーザー ID を得る"
8443
8444 #. type: Plain text
8445 #: build/C/man2/getuid.2:35
8446 msgid "B<uid_t getuid(void);>"
8447 msgstr "B<uid_t getuid(void);>"
8448
8449 #. type: Plain text
8450 #: build/C/man2/getuid.2:37
8451 msgid "B<uid_t geteuid(void);>"
8452 msgstr "B<uid_t geteuid(void);>"
8453
8454 #. type: Plain text
8455 #: build/C/man2/getuid.2:40
8456 msgid "B<getuid>()  returns the real user ID of the calling process."
8457 msgstr "B<getuid>()  は呼び出し元のプロセスの実ユーザー ID を返す。"
8458
8459 #. type: Plain text
8460 #: build/C/man2/getuid.2:43
8461 msgid "B<geteuid>()  returns the effective user ID of the calling process."
8462 msgstr "B<geteuid>()  は呼び出し元のプロセスの実効ユーザー ID を返す。"
8463
8464 #. type: SS
8465 #: build/C/man2/getuid.2:48
8466 #, no-wrap
8467 msgid "History"
8468 msgstr "歴史"
8469
8470 #. type: Plain text
8471 #: build/C/man2/getuid.2:57
8472 msgid ""
8473 "In UNIX V6 the B<getuid>()  call returned I<(euid E<lt>E<lt> 8) + uid>.  "
8474 "UNIX V7 introduced separate calls B<getuid>()  and B<geteuid>()."
8475 msgstr ""
8476 "UNIX V6 では B<getuid>()  コールは I<(euid E<lt>E<lt> 8) + uid> を返してい"
8477 "た。 UNIX V7 では B<getuid>()  と B<geteuid>()  という別々のコールが導入され"
8478 "た。"
8479
8480 #. type: Plain text
8481 #: build/C/man2/getuid.2:73
8482 msgid ""
8483 "The original Linux B<getuid>()  and B<geteuid>()  system calls supported "
8484 "only 16-bit user IDs.  Subsequently, Linux 2.4 added B<getuid32>()  and "
8485 "B<geteuid32>(), supporting 32-bit IDs.  The glibc B<getuid>()  and B<geteuid>"
8486 "()  wrapper functions transparently deal with the variations across kernel "
8487 "versions."
8488 msgstr ""
8489
8490 #. type: Plain text
8491 #: build/C/man2/getuid.2:78
8492 msgid "B<getresuid>(2), B<setreuid>(2), B<setuid>(2), B<credentials>(7)"
8493 msgstr "B<getresuid>(2), B<setreuid>(2), B<setuid>(2), B<credentials>(7)"
8494
8495 #. type: TH
8496 #: build/C/man2/iopl.2:33
8497 #, no-wrap
8498 msgid "IOPL"
8499 msgstr "IOPL"
8500
8501 #. type: TH
8502 #: build/C/man2/iopl.2:33
8503 #, no-wrap
8504 msgid "2004-05-27"
8505 msgstr "2004-05-27"
8506
8507 #. type: Plain text
8508 #: build/C/man2/iopl.2:36
8509 msgid "iopl - change I/O privilege level"
8510 msgstr "iopl - I/O 特権レベルを変更する"
8511
8512 #. type: Plain text
8513 #: build/C/man2/iopl.2:38
8514 msgid "B<#include E<lt>sys/io.hE<gt>>"
8515 msgstr "B<#include E<lt>sys/io.hE<gt>>"
8516
8517 #. type: Plain text
8518 #: build/C/man2/iopl.2:40
8519 msgid "B<int iopl(int >I<level>B<);>"
8520 msgstr "B<int iopl(int >I<level>B<);>"
8521
8522 #. type: Plain text
8523 #: build/C/man2/iopl.2:44
8524 msgid ""
8525 "B<iopl>()  changes the I/O privilege level of the calling process, as "
8526 "specified in I<level>."
8527 msgstr ""
8528 "B<iopl>()  は呼び出し元のプロセスの I/O 特権レベルを I<level> で指定した値に"
8529 "変更する。"
8530
8531 #. type: Plain text
8532 #: build/C/man2/iopl.2:50
8533 msgid ""
8534 "This call is necessary to allow 8514-compatible X servers to run under "
8535 "Linux.  Since these X servers require access to all 65536 I/O ports, the "
8536 "B<ioperm>(2)  call is not sufficient."
8537 msgstr ""
8538 "この関数は 8514 互換の X サーバを Linux で動作させるために必要である。 なぜな"
8539 "らこの X サーバは 65536 個の I/O ポート全てへのアクセスを要求するので "
8540 "B<ioperm>(2)  関数では不十分だからである。"
8541
8542 #. type: Plain text
8543 #: build/C/man2/iopl.2:54
8544 msgid ""
8545 "In addition to granting unrestricted I/O port access, running at a higher I/"
8546 "O privilege level also allows the process to disable interrupts.  This will "
8547 "probably crash the system, and is not recommended."
8548 msgstr ""
8549 "より高い I/O 特権レベルでの動作をさせることによって I/O ポートアクセスの制限"
8550 "を解除することに加えて、プロセスが割り込みを 無効にすることもできるようにな"
8551 "る。この機能は時としてシステムの破壊を もたらすので勧められない。"
8552
8553 #. type: Plain text
8554 #: build/C/man2/iopl.2:59
8555 msgid "Permissions are inherited by B<fork>(2)  and B<execve>(2)."
8556 msgstr "B<fork>(2)  や B<exec>(2)  を行った場合、特権は継承される。"
8557
8558 #. type: Plain text
8559 #: build/C/man2/iopl.2:61
8560 msgid "The I/O privilege level for a normal process is 0."
8561 msgstr "通常のプロセスの I/O 特権レベルは 0 である。"
8562
8563 #. type: Plain text
8564 #: build/C/man2/iopl.2:65
8565 msgid ""
8566 "This call is mostly for the i386 architecture.  On many other architectures "
8567 "it does not exist or will always return an error."
8568 msgstr ""
8569 "このシステムコールはほとんど i386 アーキテクチャのためだけのものである。 その"
8570 "他の多くのアーキテクチャでは存在しないか、常にエラーを返す。"
8571
8572 #. type: Plain text
8573 #: build/C/man2/iopl.2:75
8574 msgid "I<level> is greater than 3."
8575 msgstr "引き数 I<level> が 3 より大きい。"
8576
8577 #. type: Plain text
8578 #: build/C/man2/iopl.2:78
8579 msgid "This call is unimplemented."
8580 msgstr "このシステムコールは実装されていない。"
8581
8582 #. type: Plain text
8583 #: build/C/man2/iopl.2:85
8584 msgid ""
8585 "The calling process has insufficient privilege to call B<iopl>(); the "
8586 "B<CAP_SYS_RAWIO> capability is required."
8587 msgstr ""
8588 "呼び出し元プロセスに B<iopl>()  を呼び出すのに十分な権限がなかった。 B<iopl>"
8589 "()  を呼び出すには B<CAP_SYS_RAWIO> ケーパビリティが必要である。"
8590
8591 #. type: Plain text
8592 #: build/C/man2/iopl.2:89
8593 msgid ""
8594 "B<iopl>()  is Linux-specific and should not be used in processes intended to "
8595 "be portable."
8596 msgstr ""
8597 "B<iopl>()  は Linux 特有の関数であり、移植を意図したプログラムで 使用してはな"
8598 "らない。"
8599
8600 #. type: Plain text
8601 #: build/C/man2/iopl.2:98
8602 msgid ""
8603 "Libc5 treats it as a system call and has a prototype in I<E<lt>unistd."
8604 "hE<gt>>.  Glibc1 does not have a prototype.  Glibc2 has a prototype both in "
8605 "I<E<lt>sys/io.hE<gt>> and in I<E<lt>sys/perm.hE<gt>>.  Avoid the latter, it "
8606 "is available on i386 only."
8607 msgstr ""
8608 "libc5 ではシステムコールとして扱い I<E<lt>unistd.hE<gt>> にプロトタイプが存在"
8609 "している。 glibc1 にはプロトタイプは存在していない。 glibc2 は I<E<lt>sys/io."
8610 "hE<gt>> と I<E<lt>sys/perm.hE<gt>> の両方にプロトタイプを持っている。 後者は "
8611 "i386 のみで利用可能なので、使用すべきではない。"
8612
8613 #. type: Plain text
8614 #: build/C/man2/iopl.2:101
8615 msgid "B<ioperm>(2), B<capabilities>(7)"
8616 msgstr "B<ioperm>(2), B<capabilities>(7)"
8617
8618 #. type: TH
8619 #: build/C/man2/ioprio_set.2:25
8620 #, no-wrap
8621 msgid "IOPRIO_SET"
8622 msgstr "IOPRIO_SET"
8623
8624 #. type: TH
8625 #: build/C/man2/ioprio_set.2:25
8626 #, no-wrap
8627 msgid "2008-07-09"
8628 msgstr "2008-07-09"
8629
8630 #. type: Plain text
8631 #: build/C/man2/ioprio_set.2:28
8632 msgid "ioprio_get, ioprio_set - get/set I/O scheduling class and priority"
8633 msgstr "ioprio_get, ioprio_set - I/O スケジューリングクラスと優先度の設定/取得"
8634
8635 #. type: Plain text
8636 #: build/C/man2/ioprio_set.2:32
8637 #, no-wrap
8638 msgid ""
8639 "B<int ioprio_get(int >I<which>B<, int >I<who>B<);>\n"
8640 "B<int ioprio_set(int >I<which>B<, int >I<who>B<, int >I<ioprio>B<);>\n"
8641 msgstr ""
8642 "B<int ioprio_get(int >I<which>B<, int >I<who>B<);>\n"
8643 "B<int ioprio_set(int >I<which>B<, int >I<who>B<, int >I<ioprio>B<);>\n"
8644
8645 #. type: Plain text
8646 #: build/C/man2/ioprio_set.2:40
8647 msgid ""
8648 "The B<ioprio_get>()  and B<ioprio_set>()  system calls respectively get and "
8649 "set the I/O scheduling class and priority of one or more processes."
8650 msgstr ""
8651 "システムコール B<ioprio_get>()  / B<ioprio_set>()  は、(1つ以上の) プロセス"
8652 "の I/O スケジューリングクラスと 優先度の取得/設定を行う。"
8653
8654 #. type: Plain text
8655 #: build/C/man2/ioprio_set.2:52
8656 msgid ""
8657 "The I<which> and I<who> arguments identify the process(es) on which the "
8658 "system calls operate.  The I<which> argument determines how I<who> is "
8659 "interpreted, and has one of the following values:"
8660 msgstr ""
8661 "I<which> と I<who> 引き数でシステムコールの操作対象となるプロセスを指示す"
8662 "る。 I<which> 引き数は、 I<who> をどのように解釈するかを決めるもので、以下の"
8663 "いずれか一つを指定する。"
8664
8665 #. type: TP
8666 #: build/C/man2/ioprio_set.2:52
8667 #, no-wrap
8668 msgid "B<IOPRIO_WHO_PROCESS>"
8669 msgstr "B<IOPRIO_WHO_PROCESS>"
8670
8671 #. type: Plain text
8672 #: build/C/man2/ioprio_set.2:56
8673 msgid "I<who> is a process ID identifying a single process."
8674 msgstr "I<who> はプロセスID であり、指定された 1 プロセスが対象となる。"
8675
8676 #. type: TP
8677 #: build/C/man2/ioprio_set.2:56
8678 #, no-wrap
8679 msgid "B<IOPRIO_WHO_PGRP>"
8680 msgstr "B<IOPRIO_WHO_PGRP>"
8681
8682 #. type: Plain text
8683 #: build/C/man2/ioprio_set.2:60
8684 msgid ""
8685 "I<who> is a process group ID identifying all the members of a process group."
8686 msgstr ""
8687 "I<who> はプロセスグループID であり、プロセスグループの全メンバが対象となる。"
8688
8689 #. type: TP
8690 #: build/C/man2/ioprio_set.2:60
8691 #, no-wrap
8692 msgid "B<IOPRIO_WHO_USER>"
8693 msgstr "B<IOPRIO_WHO_USER>"
8694
8695 #. type: Plain text
8696 #: build/C/man2/ioprio_set.2:65
8697 msgid ""
8698 "I<who> is a user ID identifying all of the processes that have a matching "
8699 "real UID."
8700 msgstr "I<who> はユーザID であり、実 UID に一致する全プロセスが対象となる。"
8701
8702 #. type: Plain text
8703 #: build/C/man2/ioprio_set.2:88
8704 msgid ""
8705 "If I<which> is specified as B<IOPRIO_WHO_PGRP> or B<IOPRIO_WHO_USER> when "
8706 "calling B<ioprio_get>(), and more than one process matches I<who>, then the "
8707 "returned priority will be the highest one found among all of the matching "
8708 "processes.  One priority is said to be higher than another one if it belongs "
8709 "to a higher priority class (B<IOPRIO_CLASS_RT> is the highest priority "
8710 "class; B<IOPRIO_CLASS_IDLE> is the lowest)  or if it belongs to the same "
8711 "priority class as the other process but has a higher priority level (a lower "
8712 "priority number means a higher priority level)."
8713 msgstr ""
8714 "B<ioprio_get>()  の呼び出し時に I<which> に B<IOPRIO_WHO_PGRP> か "
8715 "B<IOPRIO_WHO_USER> が指定され、 I<who> に一致するプロセスが複数あった場合、 "
8716 "一致するプロセス全体の中で最も高い優先度が返される。 優先度が高いとは、より高"
8717 "い優先度クラスに属している (B<IOPRIO_CLASS_RT> が最も高い優先度クラスで、 "
8718 "B<IOPRIO_CLASS_IDLE> が最も低い)、もしくは 同じ優先度クラスに属しているが優先"
8719 "度レベルが高い (優先度番号が小さい方が優先度レベルが高いことを意味する)、 と"
8720 "いうことである。"
8721
8722 #. type: Plain text
8723 #: build/C/man2/ioprio_set.2:98
8724 msgid ""
8725 "The I<ioprio> argument given to B<ioprio_set>()  is a bit mask that "
8726 "specifies both the scheduling class and the priority to be assigned to the "
8727 "target process(es).  The following macros are used for assembling and "
8728 "dissecting I<ioprio> values:"
8729 msgstr ""
8730 "B<ioprio_set>()  に渡す I<ioprio> 引き数は、対象となるプロセスに割り当てるス"
8731 "ケジューリングクラスと 優先度の両方を指定するビットマスクである。 I<ioprio> "
8732 "の値を組み立てたり解釈するのに、以下のマクロが利用できる。"
8733
8734 #. type: TP
8735 #: build/C/man2/ioprio_set.2:98
8736 #, no-wrap
8737 msgid "B<IOPRIO_PRIO_VALUE(>I<class>B<, >I<data>B<)>"
8738 msgstr "B<IOPRIO_PRIO_VALUE(>I<class>B<, >I<data>B<)>"
8739
8740 #. type: Plain text
8741 #: build/C/man2/ioprio_set.2:107
8742 msgid ""
8743 "Given a scheduling I<class> and priority (I<data>), this macro combines the "
8744 "two values to produce an I<ioprio> value, which is returned as the result of "
8745 "the macro."
8746 msgstr ""
8747 "スケジューリングクラス I<class> と優先度 (I<data>)  を与えると、このマクロは "
8748 "2つの値を組み合わせて、 I<ioprio> 値を生成し、マクロの結果として返す。"
8749
8750 #. type: TP
8751 #: build/C/man2/ioprio_set.2:107
8752 #, no-wrap
8753 msgid "B<IOPRIO_PRIO_CLASS(>I<mask>B<)>"
8754 msgstr "B<IOPRIO_PRIO_CLASS(>I<mask>B<)>"
8755
8756 #. type: Plain text
8757 #: build/C/man2/ioprio_set.2:119
8758 msgid ""
8759 "Given I<mask> (an I<ioprio> value), this macro returns its I/O class "
8760 "component, that is, one of the values B<IOPRIO_CLASS_RT>, "
8761 "B<IOPRIO_CLASS_BE>, or B<IOPRIO_CLASS_IDLE>."
8762 msgstr ""
8763 "I<mask> (I<ioprio> 値) を与えると、このマクロは I/O クラス要素、つまり "
8764 "B<IOPRIO_CLASS_RT>, B<IOPRIO_CLASS_BE>, B<IOPRIO_CLASS_IDLE> のいずれか一つの"
8765 "値を返す。"
8766
8767 #. type: TP
8768 #: build/C/man2/ioprio_set.2:119
8769 #, no-wrap
8770 msgid "B<IOPRIO_PRIO_DATA(>I<mask>B<)>"
8771 msgstr "B<IOPRIO_PRIO_DATA(>I<mask>B<)>"
8772
8773 #. type: Plain text
8774 #: build/C/man2/ioprio_set.2:128
8775 msgid ""
8776 "Given I<mask> (an I<ioprio> value), this macro returns its priority "
8777 "(I<data>)  component."
8778 msgstr ""
8779 "I<mask> (I<ioprio> 値) を与えると、このマクロは優先度 (I<data>)  要素を返す。"
8780
8781 #. type: Plain text
8782 #: build/C/man2/ioprio_set.2:131
8783 msgid ""
8784 "See the NOTES section for more information on scheduling classes and "
8785 "priorities."
8786 msgstr ""
8787 "スケジューリングクラスと優先度に関する詳しい情報は、 「備考」の節を参照のこ"
8788 "と。"
8789
8790 #. type: Plain text
8791 #: build/C/man2/ioprio_set.2:139
8792 msgid ""
8793 "I/O priorities are supported for reads and for synchronous (B<O_DIRECT>, "
8794 "B<O_SYNC>)  writes.  I/O priorities are not supported for asynchronous "
8795 "writes because they are issued outside the context of the program dirtying "
8796 "the memory, and thus program-specific priorities do not apply."
8797 msgstr ""
8798 "I/O 優先度は読み出しと同期書き込み (B<O_DIRECT>, B<O_SYNC>)  に対応してい"
8799 "る。 I/O 優先度は非同期書き込みには対応していない。なぜなら、 非同期書き込み"
8800 "はメモリ書き換えを行うプログラムの動作 (context) とは 関係なく発行され、その"
8801 "ためプログラム単位の優先度は適用されないから である。"
8802
8803 #. type: Plain text
8804 #: build/C/man2/ioprio_set.2:152
8805 msgid ""
8806 "On success, B<ioprio_get>()  returns the I<ioprio> value of the process with "
8807 "highest I/O priority of any of the processes that match the criteria "
8808 "specified in I<which> and I<who>.  On error, -1 is returned, and I<errno> is "
8809 "set to indicate the error."
8810 msgstr ""
8811 "成功すると、 B<ioprio_get>()  は、 I<which> と I<who> で指定された基準に合致"
8812 "した全プロセスで最も高い I/O 優先度を持つプロセスの I<ioprio> 値を返す。 エ"
8813 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
8814
8815 #. type: Plain text
8816 #: build/C/man2/ioprio_set.2:159
8817 msgid ""
8818 "On success, B<ioprio_set>()  returns 0.  On error, -1 is returned, and "
8819 "I<errno> is set to indicate the error."
8820 msgstr ""
8821 "成功すると、 B<ioprio_set>()  は 0 を返す。 エラーの場合、-1 を返し、 "
8822 "I<errno> にエラーを示す値を設定する。"
8823
8824 #. type: Plain text
8825 #: build/C/man2/ioprio_set.2:169
8826 msgid ""
8827 "Invalid value for I<which> or I<ioprio>.  Refer to the NOTES section for "
8828 "available scheduler classes and priority levels for I<ioprio>."
8829 msgstr ""
8830 "I<which> か I<ioprio> の値が不正である。 I<ioprio> 用に指定可能なスケジューラ"
8831 "クラスと優先度レベルについては 「備考」を参照のこと。"
8832
8833 #. type: Plain text
8834 #: build/C/man2/ioprio_set.2:177
8835 msgid ""
8836 "The calling process does not have the privilege needed to assign this "
8837 "I<ioprio> to the specified process(es).  See the NOTES section for more "
8838 "information on required privileges for B<ioprio_set>()."
8839 msgstr ""
8840 "呼び出し元プロセスが、指定されたプロセスに I<ioprio> を割り当てるのに必要な権"
8841 "限を持っていない。 B<ioprio_set>()  に必要な権限についての詳しい情報は「備"
8842 "考」の節を参照のこと。"
8843
8844 #. type: Plain text
8845 #: build/C/man2/ioprio_set.2:183
8846 msgid ""
8847 "No process(es) could be found that matched the specification in I<which> and "
8848 "I<who>."
8849 msgstr ""
8850 "I<which> と I<who> で指定された基準に合致するプロセスが見つからなかった。"
8851
8852 #. type: Plain text
8853 #: build/C/man2/ioprio_set.2:186
8854 msgid "These system calls have been available on Linux since kernel 2.6.13."
8855 msgstr ""
8856 "これらのシステムコールはカーネル 2.6.13 以降の Linux で利用可能である。"
8857
8858 #. type: Plain text
8859 #: build/C/man2/ioprio_set.2:191
8860 msgid ""
8861 "Glibc does not provide wrapper for these system calls; call them using "
8862 "B<syscall>(2)."
8863 msgstr ""
8864 "glibc はこれらのシステムコールに対するラッパー関数を提供していない。 "
8865 "B<syscall>(2)  を使って呼び出すこと。"
8866
8867 #. type: Plain text
8868 #: build/C/man2/ioprio_set.2:196
8869 msgid ""
8870 "These system calls only have an effect when used in conjunction with an I/O "
8871 "scheduler that supports I/O priorities.  As at kernel 2.6.17 the only such "
8872 "scheduler is the Completely Fair Queuing (CFQ) I/O scheduler."
8873 msgstr ""
8874 "これらのシステムコールは、I/O 優先度に対応した I/O スケジューラと 組み合わせ"
8875 "て使用された場合にのみ効果を持つ。 カーネル 2.6.17 では、この条件を満たすスケ"
8876 "ジューラは Completely Fair Queuing (CFQ) I/O スケジューラだけである。"
8877
8878 #. type: SS
8879 #: build/C/man2/ioprio_set.2:196
8880 #, no-wrap
8881 msgid "Selecting an I/O Scheduler"
8882 msgstr "I/O スケジューラの選択"
8883
8884 #. type: Plain text
8885 #: build/C/man2/ioprio_set.2:200
8886 msgid ""
8887 "I/O Schedulers are selected on a per-device basis via the special file I</"
8888 "sys/block/E<lt>deviceE<gt>/queue/scheduler>."
8889 msgstr ""
8890 "I/O スケジューラの選択はデバイス単位に行われ、その選択は スペシャルファイル "
8891 "I</sys/block/E<lt>deviceE<gt>/queue/scheduler> 経由で行われる。"
8892
8893 #. type: Plain text
8894 #: build/C/man2/ioprio_set.2:206
8895 msgid ""
8896 "One can view the current I/O scheduler via the I</sys> file system.  For "
8897 "example, the following command displays a list of all schedulers currently "
8898 "loaded in the kernel:"
8899 msgstr ""
8900 "現在の I/O スケジューラは I</sys> ファイルシステム経由で参照できる。例えば、"
8901 "以下のコマンドを実行すると、 現在カーネルでロードされているスケジューラの全リ"
8902 "ストが表示される。"
8903
8904 #. type: Plain text
8905 #: build/C/man2/ioprio_set.2:211
8906 #, no-wrap
8907 msgid ""
8908 "$B< cat /sys/block/hda/queue/scheduler>\n"
8909 "noop anticipatory deadline [cfq]\n"
8910 msgstr ""
8911 "$B< cat /sys/block/hda/queue/scheduler>\n"
8912 "noop anticipatory deadline [cfq]\n"
8913
8914 #. type: Plain text
8915 #: build/C/man2/ioprio_set.2:225
8916 msgid ""
8917 "The scheduler surrounded by brackets is the one actually in use for the "
8918 "device (I<hda> in the example).  Setting another scheduler is done by "
8919 "writing the name of the new scheduler to this file.  For example, the "
8920 "following command will set the scheduler for the I<hda> device to I<cfq>:"
8921 msgstr ""
8922 "括弧で囲まれたスケジューラがそのデバイス (上の例では I<hda>)  について実際に"
8923 "使用されているスケジューラである。 別のスケジューラを設定するには、このファイ"
8924 "ルに新しいスケジューラ名を 書き込めばよい。例えば、以下のコマンドを実行する"
8925 "と、デバイス I<hda> のスケジューラとして I<cfq> が設定される。"
8926
8927 #. type: Plain text
8928 #: build/C/man2/ioprio_set.2:231
8929 #, no-wrap
8930 msgid ""
8931 "$B< su>\n"
8932 "Password:\n"
8933 "#B< echo cfq E<gt> /sys/block/hda/queue/scheduler>\n"
8934 msgstr ""
8935 "$B< su>\n"
8936 "Password:\n"
8937 "#B< echo cfq E<gt> /sys/block/hda/queue/scheduler>\n"
8938
8939 #. type: SS
8940 #: build/C/man2/ioprio_set.2:233
8941 #, no-wrap
8942 msgid "The Completely Fair Queuing (CFQ) I/O Scheduler"
8943 msgstr "Completely Fair Queuing (CFQ) I/O スケジューラ"
8944
8945 #. type: Plain text
8946 #: build/C/man2/ioprio_set.2:239
8947 msgid ""
8948 "Since v3 (aka CFQ Time Sliced) CFQ implements I/O nice levels similar to "
8949 "those of CPU scheduling.  These nice levels are grouped in three scheduling "
8950 "classes each one containing one or more priority levels:"
8951 msgstr ""
8952 "バージョン 3 (別名 CFQ Time Sliced) 以降、 CPU スケジューリングと同様の I/O "
8953 "nice レベルが CFQ に実装されている。 これらの nice レベルは 3つのスケジューリ"
8954 "ングクラスに分類でき、 各スケジューリングクラスにつき 1つ以上の優先度レベルが"
8955 "定義されている。"
8956
8957 #. type: TP
8958 #: build/C/man2/ioprio_set.2:239
8959 #, no-wrap
8960 msgid "B<IOPRIO_CLASS_RT> (1)"
8961 msgstr "B<IOPRIO_CLASS_RT> (1)"
8962
8963 #. type: Plain text
8964 #: build/C/man2/ioprio_set.2:254
8965 msgid ""
8966 "This is the real-time I/O class.  This scheduling class is given higher "
8967 "priority than any other class: processes from this class are given first "
8968 "access to the disk every time.  Thus this I/O class needs to be used with "
8969 "some care: one I/O real-time process can starve the entire system.  Within "
8970 "the real-time class, there are 8 levels of class data (priority) that "
8971 "determine exactly how much time this process needs the disk for on each "
8972 "service.  The highest real-time priority level is 0; the lowest is 7.  In "
8973 "the future this might change to be more directly mappable to performance, by "
8974 "passing in a desired data rate instead."
8975 msgstr ""
8976 "これはリアルタイム I/O クラスである。 このスケジューリングクラスには他のクラ"
8977 "スよりも高い優先度が与えられる。 このクラスのプロセスには、常にディスクへのア"
8978 "クセスが優先して 割り当てられる。そのため、この I/O クラスを使う際には、 たっ"
8979 "た一つの リアルタイム I/O クラスのプロセスにより システム全体のディスクアクセ"
8980 "スができなくなってしまうことがある という点に、注意を払う必要がある。 このク"
8981 "ラスには、8 段階の class data (優先度レベル) がある。 この値は、そのプロセス"
8982 "が 1回のディスクアクセスにどれだけの 時間が必要かを正確に決めるためのものであ"
8983 "る。 最高のリアルタイム優先度レベルは 0 で、最低は 7 である。 将来的には、優"
8984 "先度レベルは、希望するデータレートを渡すなど、 より直接的に性能条件を反映でき"
8985 "るように変更されるかもしれない。"
8986
8987 #. type: TP
8988 #: build/C/man2/ioprio_set.2:254
8989 #, no-wrap
8990 msgid "B<IOPRIO_CLASS_BE> (2)"
8991 msgstr "B<IOPRIO_CLASS_BE> (2)"
8992
8993 #. type: Plain text
8994 #: build/C/man2/ioprio_set.2:267
8995 msgid ""
8996 "This is the best-effort scheduling class, which is the default for any "
8997 "process that hasn't set a specific I/O priority.  The class data (priority) "
8998 "determines how much I/O bandwidth the process will get.  Best-effort "
8999 "priority levels are analogous to CPU nice values (see B<getpriority>(2)).  "
9000 "The priority level determines a priority relative to other processes in the "
9001 "best-effort scheduling class.  Priority levels range from 0 (highest) to 7 "
9002 "(lowest)."
9003 msgstr ""
9004 "これは ベストエフォート・スケジューリングクラスである。 このクラスは、特定の "
9005 "I/O 優先度を設定していないプロセスの デフォルト値である。 class data (優先度"
9006 "レベル) により、そのプロセスがどの程度の I/O 帯域を得られるかが決定される。 "
9007 "ベストエフォート・優先度レベルは、CPU の nice 値 (B<getpriority>(2)  参照) と"
9008 "同様のものである。 優先度レベルは、ベストエフォート・スケジューリングクラスの"
9009 "中で 他のプロセスとの相対的な優先度を決定する。 優先度レベルの値の範囲は 0 "
9010 "(最高) から 7 (最低) である。"
9011
9012 #. type: TP
9013 #: build/C/man2/ioprio_set.2:267
9014 #, no-wrap
9015 msgid "B<IOPRIO_CLASS_IDLE> (3)"
9016 msgstr "B<IOPRIO_CLASS_IDLE> (3)"
9017
9018 #. type: Plain text
9019 #: build/C/man2/ioprio_set.2:276
9020 msgid ""
9021 "This is the idle scheduling class.  Processes running at this level only get "
9022 "I/O time when no-one else needs the disk.  The idle class has no class "
9023 "data.  Attention is required when assigning this priority class to a "
9024 "process, since it may become starved if higher priority processes are "
9025 "constantly accessing the disk."
9026 msgstr ""
9027 "これは idle スケジューリングクラスである。 このレベルで動作するプロセスは他に"
9028 "ディスクアクセスをしようとする プロセスがない場合にのみ I/O 時間を取得する。 "
9029 "idle クラスには class data (優先度) は用意されていない。 プロセスにこの優先度"
9030 "を割り当てる際には注意が必要である。 なぜなら、優先度の高いプロセスが常にディ"
9031 "スクにアクセスしている場合には ディスクにアクセスできなくなる可能性があるから"
9032 "だ。"
9033
9034 #. type: Plain text
9035 #: build/C/man2/ioprio_set.2:280
9036 msgid ""
9037 "Refer to I<Documentation/block/ioprio.txt> for more information on the CFQ I/"
9038 "O Scheduler and an example program."
9039 msgstr ""
9040 "CFQ I/O スケジューラの更なる情報とサンプルプログラムについては "
9041 "I<Documentation/block/ioprio.txt> を参照のこと。"
9042
9043 #. type: SS
9044 #: build/C/man2/ioprio_set.2:280
9045 #, no-wrap
9046 msgid "Required permissions to set I/O priorities"
9047 msgstr "I/O 優先度の設定に必要な許可"
9048
9049 #. type: Plain text
9050 #: build/C/man2/ioprio_set.2:283
9051 msgid ""
9052 "Permission to change a process's priority is granted or denied based on two "
9053 "assertions:"
9054 msgstr ""
9055 "プロセスの優先度を変更する許可が得られるかどうかは 以下の 2つの条件に基いて決"
9056 "定される。"
9057
9058 #. type: TP
9059 #: build/C/man2/ioprio_set.2:283
9060 #, no-wrap
9061 msgid "B<Process ownership>"
9062 msgstr "B<プロセスの所有権>"
9063
9064 #. type: Plain text
9065 #: build/C/man2/ioprio_set.2:291
9066 msgid ""
9067 "An unprivileged process may only set the I/O priority of a process whose "
9068 "real UID matches the real or effective UID of the calling process.  A "
9069 "process which has the B<CAP_SYS_NICE> capability can change the priority of "
9070 "any process."
9071 msgstr ""
9072 "非特権プロセスは、プロセスの実 UID が呼び出し元プロセスの実 UID もしくは 実"
9073 "効 UID と一致するプロセスの I/O 優先度のみを設定できる。 B<CAP_SYS_NICE> ケー"
9074 "パビリティを持つプロセスは、どのプロセスの優先度でも変更できる。"
9075
9076 #. type: TP
9077 #: build/C/man2/ioprio_set.2:291
9078 #, no-wrap
9079 msgid "B<What is the desired priority>"
9080 msgstr "B<どの優先度に設定しようとしているか>"
9081
9082 #. type: Plain text
9083 #: build/C/man2/ioprio_set.2:303
9084 msgid ""
9085 "Attempts to set very high priorities (B<IOPRIO_CLASS_RT>)  require the "
9086 "B<CAP_SYS_ADMIN> capability.  Kernel versions up to 2.6.24 also required "
9087 "B<CAP_SYS_ADMIN> to set a very low priority (B<IOPRIO_CLASS_IDLE>), but "
9088 "since Linux 2.6.25, this is no longer required."
9089 msgstr ""
9090 "非常に高い優先度 (B<IOPRIO_CLASS_RT>)  を設定しようとする場合、 "
9091 "B<CAP_SYS_ADMIN> ケーパビリティが必要である。 カーネル 2.6.24 以前では、非常"
9092 "に低い優先度 (B<IOPRIO_CLASS_IDLE>)  を設定するためにも B<CAP_SYS_ADMIN> ケー"
9093 "パビリティが必要であったが、 Linux 2.6.25 以降ではもはや必要なくなった。"
9094
9095 #. type: Plain text
9096 #: build/C/man2/ioprio_set.2:308
9097 msgid ""
9098 "A call to B<ioprio_set>()  must follow both rules, or the call will fail "
9099 "with the error B<EPERM>."
9100 msgstr ""
9101 "B<ioprio_set>()  はこの両方のルールに従い、条件を満たさない場合、エラー "
9102 "B<EPERM> で失敗する。"
9103
9104 #.  6 May 07: Bug report raised:
9105 #.  http://sources.redhat.com/bugzilla/show_bug.cgi?id=4464
9106 #.  Ulrich Drepper replied that he wasn't going to add these
9107 #.  to glibc.
9108 #. type: Plain text
9109 #: build/C/man2/ioprio_set.2:317
9110 msgid ""
9111 "Glibc does not yet provide a suitable header file defining the function "
9112 "prototypes and macros described on this page.  Suitable definitions can be "
9113 "found in I<linux/ioprio.h>."
9114 msgstr ""
9115 "glibc は、このページに記載された関数プロトタイプやマクロを定義する 適切なヘッ"
9116 "ダファイルをまだ提供していない。 必要な定義については I<linux/ioprio.h> を見"
9117 "ればよい。"
9118
9119 #. type: Plain text
9120 #: build/C/man2/ioprio_set.2:321
9121 msgid "B<getpriority>(2), B<open>(2), B<capabilities>(7)"
9122 msgstr "B<getpriority>(2), B<open>(2), B<capabilities>(7)"
9123
9124 #. type: Plain text
9125 #: build/C/man2/ioprio_set.2:323
9126 msgid "Documentation/block/ioprio.txt in the kernel source tree."
9127 msgstr "カーネル・ソース内の Documentation/block/ioprio.txt"
9128
9129 #. type: TH
9130 #: build/C/man2/ipc.2:26
9131 #, no-wrap
9132 msgid "IPC"
9133 msgstr "IPC"
9134
9135 #. type: TH
9136 #: build/C/man2/ipc.2:26
9137 #, no-wrap
9138 msgid "2007-06-28"
9139 msgstr "2007-06-28"
9140
9141 #. type: Plain text
9142 #: build/C/man2/ipc.2:29
9143 msgid "ipc - System V IPC system calls"
9144 msgstr "ipc - System V IPC システム・コール"
9145
9146 #. type: Plain text
9147 #: build/C/man2/ipc.2:34
9148 #, no-wrap
9149 msgid ""
9150 "B<int ipc(unsigned int >I<call>B<, int >I<first>B<, int >I<second>B<, int >I<third>B<,>\n"
9151 "B<        void *>I<ptr>B<, long >I<fifth>B<);>\n"
9152 msgstr ""
9153 "B<int ipc(unsigned int >I<call>B<, int >I<first>B<, int >I<second>B<, int >I<third>B<,>\n"
9154 "B<        void *>I<ptr>B<, long >I<fifth>B<);>\n"
9155
9156 #. type: Plain text
9157 #: build/C/man2/ipc.2:42
9158 msgid ""
9159 "B<ipc>()  is a common kernel entry point for the System V IPC calls for "
9160 "messages, semaphores, and shared memory.  I<call> determines which IPC "
9161 "function to invoke; the other arguments are passed through to the "
9162 "appropriate call."
9163 msgstr ""
9164 "B<ipc>()  は メッセージ、セマフォー、共有メモリに関する System V IPC コール"
9165 "の 共通のカーネルへのエントリ・ポイントである。 I<call> はどの IPC 関数を呼び"
9166 "出すかを決め; 他の引き数は適切なコールへと渡される。"
9167
9168 #. type: Plain text
9169 #: build/C/man2/ipc.2:46
9170 msgid ""
9171 "User programs should call the appropriate functions by their usual names.  "
9172 "Only standard library implementors and kernel hackers need to know about "
9173 "B<ipc>()."
9174 msgstr ""
9175 "ユーザー・プログラムは通常の名前で適切な関数を呼び出すべきである。 標準ライブ"
9176 "ラリの実装者やカーネル・ハッカーのみが B<ipc>()  について知る必要がある。"
9177
9178 #. type: Plain text
9179 #: build/C/man2/ipc.2:50
9180 msgid ""
9181 "B<ipc>()  is Linux-specific, and should not be used in programs intended to "
9182 "be portable."
9183 msgstr ""
9184 "B<ipc>()  は Linux 特有であり、 移植を意図したプログラムでは 使用してはいけな"
9185 "い。"
9186
9187 #. type: Plain text
9188 #: build/C/man2/ipc.2:58
9189 msgid ""
9190 "On a few architectures, for example ia64, there is no B<ipc>()  system call; "
9191 "instead B<msgctl>(2), B<semctl>(2), B<shmctl>(2), and so on really are "
9192 "implemented as separate system calls."
9193 msgstr ""
9194 "ia64 などのいくつかのアーキテクチャでは、システムコール B<ipc>()  が存在しな"
9195 "い。実際には、その代わりに B<msgctl>(2), B<semctl>(2), B<shmctl>(2)  などが独"
9196 "立したシステムコールとして実装されている。"
9197
9198 #. type: Plain text
9199 #: build/C/man2/ipc.2:71
9200 msgid ""
9201 "B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), "
9202 "B<semget>(2), B<semop>(2), B<semtimedop>(2), B<shmat>(2), B<shmctl>(2), "
9203 "B<shmdt>(2), B<shmget>(2)"
9204 msgstr ""
9205 "B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), "
9206 "B<semget>(2), B<semop>(2), B<shmat>(2), B<shmctl>(2), B<shmdt>(2), B<shmget>"
9207 "(2)"
9208
9209 #. type: TH
9210 #: build/C/man2/seteuid.2:27
9211 #, no-wrap
9212 msgid "SETEUID"
9213 msgstr "SETEUID"
9214
9215 #. type: TH
9216 #: build/C/man2/seteuid.2:27
9217 #, no-wrap
9218 msgid "2009-10-17"
9219 msgstr "2009-10-17"
9220
9221 #. type: Plain text
9222 #: build/C/man2/seteuid.2:30
9223 msgid "seteuid, setegid - set effective user or group ID"
9224 msgstr "seteuid, setegid - 実効ユーザー ID や 実効グループ ID を設定する"
9225
9226 #. type: Plain text
9227 #: build/C/man2/seteuid.2:36
9228 msgid "B<int seteuid(uid_t >I<euid>B<);>"
9229 msgstr "B<int seteuid(uid_t >I<euid>B<);>"
9230
9231 #. type: Plain text
9232 #: build/C/man2/seteuid.2:38
9233 msgid "B<int setegid(gid_t >I<egid>B<);>"
9234 msgstr "B<int setegid(gid_t >I<egid>B<);>"
9235
9236 #. type: Plain text
9237 #: build/C/man2/seteuid.2:47
9238 msgid "B<seteuid>(), B<setegid>():"
9239 msgstr "B<seteuid>(), B<setegid>():"
9240
9241 #. type: Plain text
9242 #: build/C/man2/seteuid.2:49
9243 msgid ""
9244 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
9245 "\\ 600"
9246 msgstr ""
9247 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
9248 "\\ 600"
9249
9250 #. type: Plain text
9251 #: build/C/man2/seteuid.2:56
9252 msgid ""
9253 "B<seteuid>()  sets the effective user ID of the calling process.  "
9254 "Unprivileged user processes may only set the effective user ID to the real "
9255 "user ID, the effective user ID or the saved set-user-ID."
9256 msgstr ""
9257 "B<seteuid>()  は呼び出し元のプロセスの実効ユーザー ID を設定する。 非特権ユー"
9258 "ザーのプロセスの場合、実効ユーザー ID に設定できるのは、 実ユーザー ID・実効"
9259 "ユーザー ID・保存 set-user-ID のいずれかだけである。"
9260
9261 #.  When
9262 #.  .I euid
9263 #.  equals \-1, nothing is changed.
9264 #.  (This is an artifact of the implementation in glibc of seteuid()
9265 #.  using setresuid(2).)
9266 #. type: Plain text
9267 #: build/C/man2/seteuid.2:65
9268 msgid ""
9269 "Precisely the same holds for B<setegid>()  with \"group\" instead of \"user"
9270 "\"."
9271 msgstr ""
9272 "B<setegid>()  は「ユーザー」ではなく「グループ」に対して全く同じことを行う。"
9273
9274 #. type: Plain text
9275 #: build/C/man2/seteuid.2:89
9276 msgid ""
9277 "The calling process is not privileged (Linux: does not have the "
9278 "B<CAP_SETUID> capability in the case of B<seteuid>(), or the B<CAP_SETGID> "
9279 "capability in the case of B<setegid>())  and I<euid> (respectively, "
9280 "I<egid>)  is not the real user (group) ID, the effective user (group) ID, or "
9281 "the saved set-user-ID (saved set-group-ID)."
9282 msgstr ""
9283 "呼び出し元のプロセスに特権がなく、 I<euid> (I<egid>)  が実ユーザー (グルー"
9284 "プ) ID、または実効ユーザー (グループ) ID、 保存 set-user-ID (保存 set-group-"
9285 "ID) のいずれでもではない (Linux においては、 B<seteuid>()  では "
9286 "B<CAP_SETUID> ケーパビリティ (capability) が、 B<setegid>()  では "
9287 "B<CAP_SETGID> ケーパビリティがない場合に、特権がないと判断される)。"
9288
9289 #. type: Plain text
9290 #: build/C/man2/seteuid.2:91
9291 msgid "4.3BSD, POSIX.1-2001."
9292 msgstr "4.3BSD, POSIX.1-2001."
9293
9294 #. type: Plain text
9295 #: build/C/man2/seteuid.2:97
9296 msgid ""
9297 "Setting the effective user (group) ID to the saved set-user-ID (saved set-"
9298 "group-ID) is possible since Linux 1.1.37 (1.1.38).  On an arbitrary system "
9299 "one should check B<_POSIX_SAVED_IDS>."
9300 msgstr ""
9301 "実効ユーザー (グループ) ID を保存 set-user-ID (保存 set-group-ID) に 設定でき"
9302 "るのは、Linux 1.1.37 (1.1.38) 以降である。 全てのシステムにおいて "
9303 "B<_POSIX_SAVED_IDS> をチェックすべきである。"
9304
9305 #. type: Plain text
9306 #: build/C/man2/seteuid.2:108
9307 msgid ""
9308 "Under libc4, libc5 and glibc 2.0 B<seteuid(>I<euid>B<)> is equivalent to "
9309 "B<setreuid(-1,>I< euid>B<)> and hence may change the saved set-user-ID.  "
9310 "Under glibc 2.1 and later it is equivalent to B<setresuid(-1,>I< euid>B<, -1)"
9311 "> and hence does not change the saved set-user-ID.  Similar remarks hold for "
9312 "B<setegid>()."
9313 msgstr ""
9314 "libc4, libc5, glibc 2.0 では、 B<seteuid(>I<euid>B<)> は B<setreuid(-1,>I< "
9315 "euid>B<)> と等価であり、保存 set-user-ID を変更するかもしれない。 glibc 2.1 "
9316 "では、 B<setresuid(-1,>I< euid>B<, -1)> と等価であり、保存 set-user-ID 変更し"
9317 "ない。 同様のことが B<setegid>()  にも言える。"
9318
9319 #. type: Plain text
9320 #: build/C/man2/seteuid.2:117
9321 msgid ""
9322 "According to POSIX.1, B<seteuid>()  (B<setegid>())  need not permit I<euid> "
9323 "(I<egid>)  to be the same value as the current effective user (group) ID, "
9324 "and some implementations do not permit this."
9325 msgstr ""
9326 "POSIX.1 では、 B<seteuid>()  (B<setegid>())  で、 I<euid> (I<egid>)  として現"
9327 "在の実効ユーザ (グループ) ID と同じ値を指定可能である 必要はないとされてお"
9328 "り、いくつかの実装では I<euid> (I<egid>)  として現在の実効ユーザ (グループ) "
9329 "ID と同じ値を 指定することができない。"
9330
9331 #. type: Plain text
9332 #: build/C/man2/seteuid.2:124
9333 msgid ""
9334 "B<geteuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), B<capabilities>"
9335 "(7), B<credentials>(7)"
9336 msgstr ""
9337 "B<geteuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), B<capabilities>"
9338 "(7), B<credentials>(7)"
9339
9340 #. type: TH
9341 #: build/C/man2/setfsgid.2:29
9342 #, no-wrap
9343 msgid "SETFSGID"
9344 msgstr "SETFSGID"
9345
9346 #. type: Plain text
9347 #: build/C/man2/setfsgid.2:32
9348 msgid "setfsgid - set group identity used for file system checks"
9349 msgstr ""
9350 "setfsgid - ファイル・システムのチェックに用いられるグループ ID を設定する"
9351
9352 #. type: Plain text
9353 #: build/C/man2/setfsgid.2:35 build/C/man2/setfsuid.2:35
9354 msgid "B<#include E<lt>unistd.hE<gt>> /* glibc uses E<lt>sys/fsuid.hE<gt> */"
9355 msgstr "B<#include E<lt>unistd.hE<gt>> /* glibc では E<lt>sys/fsuid.hE<gt> */"
9356
9357 #. type: Plain text
9358 #: build/C/man2/setfsgid.2:37
9359 msgid "B<int setfsgid(uid_t >I<fsgid>B<);>"
9360 msgstr "B<int setfsgid(uid_t >I<fsgid>B<);>"
9361
9362 #. type: Plain text
9363 #: build/C/man2/setfsgid.2:49
9364 msgid ""
9365 "The system call B<setfsgid>()  sets the group ID that the Linux kernel uses "
9366 "to check for all accesses to the file system.  Normally, the value of "
9367 "I<fsgid> will shadow the value of the effective group ID.  In fact, whenever "
9368 "the effective group ID is changed, I<fsgid> will also be changed to the new "
9369 "value of the effective group ID."
9370 msgstr ""
9371 "システムコール B<setfsgid>()  は Linux カーネルがファイル・システムに対する "
9372 "全てのアクセスのチェックに使用するグループ IDを設定する。通常は I<fsgid> の値"
9373 "は実効 (effective) グループID と同じになる。実際、 実効グループ ID が変更され"
9374 "る度に I<fsgid> もまた新しい実効グループID の値に変更される。"
9375
9376 #. type: Plain text
9377 #: build/C/man2/setfsgid.2:60
9378 msgid ""
9379 "Explicit calls to B<setfsuid>(2)  and B<setfsgid>()  are usually only used "
9380 "by programs such as the Linux NFS server that need to change what user and "
9381 "group ID is used for file access without a corresponding change in the real "
9382 "and effective user and group IDs.  A change in the normal user IDs for a "
9383 "program such as the NFS server is a security hole that can expose it to "
9384 "unwanted signals.  (But see below.)"
9385 msgstr ""
9386 "通常、 B<setfsuid>()  や B<setfsgid>()  が明示的に呼び出されるのは、Linux "
9387 "NFS サーバー のように、 ファイル・アクセスに用いるユーザID / グループID を変"
9388 "更しなければならないが、 対応する実(real)/実効(effective) ユーザID / グループ"
9389 "ID は変更したくないような プログラムに限られる。 NFS サーバーのようなプログラ"
9390 "ムで、通常のユーザID を変更すると、 プロセスを望まないシグナルにさらす可能性"
9391 "があり、 セキュリティ・ホールになる。(下記参照)"
9392
9393 #. type: Plain text
9394 #: build/C/man2/setfsgid.2:67
9395 msgid ""
9396 "B<setfsgid>()  will only succeed if the caller is the superuser or if "
9397 "I<fsgid> matches either the real group ID, effective group ID, saved set-"
9398 "group-ID, or the current value of I<fsgid>."
9399 msgstr ""
9400 "B<setfsgid>()  は、スーパー・ユーザによって呼び出された場合か、 I<fsgid> が実"
9401 "グループID、実効グループID、 保存セットグループID (saved set-group-ID)、現在"
9402 "の I<fsgid> の値のいずれかに一致する場合にのみ成功する。"
9403
9404 #. type: Plain text
9405 #: build/C/man2/setfsgid.2:74
9406 msgid ""
9407 "On success, the previous value of I<fsgid> is returned.  On error, the "
9408 "current value of I<fsgid> is returned."
9409 msgstr ""
9410 "成功した場合、 I<fsgid> の以前の値を返す。エラーの場合は I<fsgid> の現在の値"
9411 "を返す。"
9412
9413 #.  This system call is present since Linux 1.1.44
9414 #.  and in libc since libc 4.7.6.
9415 #. type: Plain text
9416 #: build/C/man2/setfsgid.2:78 build/C/man2/setfsuid.2:78
9417 msgid "This system call is present in Linux since version 1.2."
9418 msgstr "このシステムコールはバージョン 1.2 以降の Linux に存在する。"
9419
9420 #. type: Plain text
9421 #: build/C/man2/setfsgid.2:82
9422 msgid ""
9423 "B<setfsgid>()  is Linux-specific and should not be used in programs intended "
9424 "to be portable."
9425 msgstr ""
9426 "B<setfsgid>()  は Linux 特有であり、移植を想定したプログラムで使用してはいけ"
9427 "ない。"
9428
9429 #. type: Plain text
9430 #: build/C/man2/setfsgid.2:88
9431 msgid ""
9432 "When glibc determines that the argument is not a valid group ID, it will "
9433 "return -1 and set I<errno> to B<EINVAL> without attempting the system call."
9434 msgstr ""
9435 "glibc が引き数がグループID として不正だと判断した場合は、 システム・コールを"
9436 "行わず I<errno> に B<EINVAL> を設定して -1 が返される。"
9437
9438 #. type: Plain text
9439 #: build/C/man2/setfsgid.2:92 build/C/man2/setfsuid.2:92
9440 msgid ""
9441 "Note that at the time this system call was introduced, a process could send "
9442 "a signal to a process with the same effective user ID.  Today signal "
9443 "permission handling is slightly different."
9444 msgstr ""
9445 "このシステムコールが導入された当時、プロセスは 同じ実効ユーザIDのプロセスへシ"
9446 "グナルを送ることができた。 今日では、シグナル送信権限の扱いはかなり違うものに"
9447 "なっている。"
9448
9449 #. type: Plain text
9450 #: build/C/man2/setfsgid.2:102
9451 msgid ""
9452 "The original Linux B<setfsgid>()  system call supported only 16-bit group "
9453 "IDs.  Subsequently, Linux 2.4 added B<setfsgid32>()  supporting 32-bit IDs.  "
9454 "The glibc B<setfsgid>()  wrapper function transparently deals with the "
9455 "variation across kernel versions."
9456 msgstr ""
9457
9458 #. type: Plain text
9459 #: build/C/man2/setfsgid.2:110
9460 msgid ""
9461 "No error messages of any kind are returned to the caller.  At the very "
9462 "least, B<EPERM> should be returned when the call fails (because the caller "
9463 "lacks the B<CAP_SETGID> capability)."
9464 msgstr ""
9465 "いかなる種類のエラー・メッセージも返さない。 失敗した場合は (呼び出し元には "
9466 "B<CAP_SETGID> ケーパビリティがなかったのだから) 最低でも B<EPERM> くらいは返"
9467 "すべきである。"
9468
9469 #. type: Plain text
9470 #: build/C/man2/setfsgid.2:115
9471 msgid "B<kill>(2), B<setfsuid>(2), B<capabilities>(7), B<credentials>(7)"
9472 msgstr "B<kill>(2), B<setfsuid>(2), B<capabilities>(7), B<credentials>(7)"
9473
9474 #. type: TH
9475 #: build/C/man2/setfsuid.2:29
9476 #, no-wrap
9477 msgid "SETFSUID"
9478 msgstr "SETFSUID"
9479
9480 #. type: Plain text
9481 #: build/C/man2/setfsuid.2:32
9482 msgid "setfsuid - set user identity used for file system checks"
9483 msgstr ""
9484 "setfsuid - ファイル・システムのチェックに用いられるユーザ ID を設定する"
9485
9486 #. type: Plain text
9487 #: build/C/man2/setfsuid.2:37
9488 msgid "B<int setfsuid(uid_t >I<fsuid>B<);>"
9489 msgstr "B<int setfsuid(uid_t >I<fsuid>B<);>"
9490
9491 #. type: Plain text
9492 #: build/C/man2/setfsuid.2:49
9493 msgid ""
9494 "The system call B<setfsuid>()  sets the user ID that the Linux kernel uses "
9495 "to check for all accesses to the file system.  Normally, the value of "
9496 "I<fsuid> will shadow the value of the effective user ID.  In fact, whenever "
9497 "the effective user ID is changed, I<fsuid> will also be changed to the new "
9498 "value of the effective user ID."
9499 msgstr ""
9500 "B<setfsuid>()  は Linux カーネルがファイル・システムに対する 全てのアクセスの"
9501 "チェックに使用するユーザID を設定する。通常は I<fsuid> の値は実効 "
9502 "(effective) ユーザID と同じになる。実際、 実効ユーザID が変更される度に "
9503 "I<fsuid> もまた新しい実効ユーザID の値に変更される。"
9504
9505 #. type: Plain text
9506 #: build/C/man2/setfsuid.2:60
9507 msgid ""
9508 "Explicit calls to B<setfsuid>()  and B<setfsgid>(2)  are usually only used "
9509 "by programs such as the Linux NFS server that need to change what user and "
9510 "group ID is used for file access without a corresponding change in the real "
9511 "and effective user and group IDs.  A change in the normal user IDs for a "
9512 "program such as the NFS server is a security hole that can expose it to "
9513 "unwanted signals.  (But see below.)"
9514 msgstr ""
9515 "通常、 B<setfsuid>()  や B<setfsgid>()  が明示的に呼び出されるのは、Linux "
9516 "NFS サーバー のように、 ファイル・アクセスに用いるユーザID / グループID を変"
9517 "更しなければならないが、 対応する実(real)/実効(effective) ユーザID / グループ"
9518 "ID は変更したくないような プログラムに限られる。 NFS サーバーのようなプログラ"
9519 "ムで、通常のユーザID を変更すると、 プロセスを望まないシグナルにさらす可能性"
9520 "があり、 セキュリティ・ホールになる。(下記参照)"
9521
9522 #. type: Plain text
9523 #: build/C/man2/setfsuid.2:67
9524 msgid ""
9525 "B<setfsuid>()  will only succeed if the caller is the superuser or if "
9526 "I<fsuid> matches either the real user ID, effective user ID, saved set-user-"
9527 "ID, or the current value of I<fsuid>."
9528 msgstr ""
9529 "B<setfsuid>()  は、スーパー・ユーザによって呼び出された場合か、 I<fsuid> が実"
9530 "ユーザID、実効ユーザID、 保存セットユーザID (saved set-user-ID)、現在の "
9531 "I<fsuid> の値のいずれかに一致する場合にのみ成功する。"
9532
9533 #. type: Plain text
9534 #: build/C/man2/setfsuid.2:74
9535 msgid ""
9536 "On success, the previous value of I<fsuid> is returned.  On error, the "
9537 "current value of I<fsuid> is returned."
9538 msgstr ""
9539 "成功した場合、 I<fsuid> の以前の値を返す。エラーの場合は I<fsuid> の現在の値"
9540 "を返す。"
9541
9542 #. type: Plain text
9543 #: build/C/man2/setfsuid.2:82
9544 msgid ""
9545 "B<setfsuid>()  is Linux-specific and should not be used in programs intended "
9546 "to be portable."
9547 msgstr ""
9548 "B<setfsuid>()  は Linux 特有であり、移植を想定したプログラムで使用してはいけ"
9549 "ない。"
9550
9551 #. type: Plain text
9552 #: build/C/man2/setfsuid.2:88
9553 msgid ""
9554 "When glibc determines that the argument is not a valid user ID, it will "
9555 "return -1 and set I<errno> to B<EINVAL> without attempting the system call."
9556 msgstr ""
9557 "glibc が引き数がユーザID として不正だと判断した場合は、 システム・コールを行"
9558 "わず I<errno> に B<EINVAL> を設定して -1 が返される。"
9559
9560 #. type: Plain text
9561 #: build/C/man2/setfsuid.2:102
9562 msgid ""
9563 "The original Linux B<setfsuid>()  system call supported only 16-bit user "
9564 "IDs.  Subsequently, Linux 2.4 added B<setfsuid32>()  supporting 32-bit IDs.  "
9565 "The glibc B<setfsuid>()  wrapper function transparently deals with the "
9566 "variation across kernel versions."
9567 msgstr ""
9568
9569 #. type: Plain text
9570 #: build/C/man2/setfsuid.2:110
9571 msgid ""
9572 "No error messages of any kind are returned to the caller.  At the very "
9573 "least, B<EPERM> should be returned when the call fails (because the caller "
9574 "lacks the B<CAP_SETUID> capability)."
9575 msgstr ""
9576 "いかなる種類のエラー・メッセージも呼び出し元に返さない。 失敗した場合は (呼び"
9577 "出し元には B<CAP_SETUID> ケーパビリティがなかったのだから) 最低でも B<EPERM> "
9578 "くらいは返すべきである。"
9579
9580 #. type: Plain text
9581 #: build/C/man2/setfsuid.2:115
9582 msgid "B<kill>(2), B<setfsgid>(2), B<capabilities>(7), B<credentials>(7)"
9583 msgstr "B<kill>(2), B<setfsgid>(2), B<capabilities>(7), B<credentials>(7)"
9584
9585 #. type: TH
9586 #: build/C/man2/setgid.2:27
9587 #, no-wrap
9588 msgid "SETGID"
9589 msgstr "SETGID"
9590
9591 #. type: Plain text
9592 #: build/C/man2/setgid.2:30
9593 msgid "setgid - set group identity"
9594 msgstr "setgid - グループ識別(identity)を設定する"
9595
9596 #. type: Plain text
9597 #: build/C/man2/setgid.2:36
9598 msgid "B<int setgid(gid_t >I<gid>B<);>"
9599 msgstr "B<int setgid(gid_t >I<gid>B<);>"
9600
9601 #. type: Plain text
9602 #: build/C/man2/setgid.2:41
9603 msgid ""
9604 "B<setgid>()  sets the effective group ID of the calling process.  If the "
9605 "caller is the superuser, the real GID and saved set-group-ID are also set."
9606 msgstr ""
9607 "B<setgid>()  は呼び出し元のプロセスの実効 (effective) グループID を設定す"
9608 "る。 もしスーパー・ユーザーによって呼び出された場合は、 実 (real) グループID "
9609 "と保存 (saved) set-group-ID も設定される。"
9610
9611 #. type: Plain text
9612 #: build/C/man2/setgid.2:51
9613 msgid ""
9614 "Under Linux, B<setgid>()  is implemented like the POSIX version with the "
9615 "B<_POSIX_SAVED_IDS> feature.  This allows a set-group-ID program that is not "
9616 "set-user-ID-root to drop all of its group privileges, do some un-privileged "
9617 "work, and then reengage the original effective group ID in a secure manner."
9618 msgstr ""
9619 "Linux において、 B<setgid>()  は B<_POSIX_SAVED_IDS> をもった POSIX 版のよう"
9620 "に実装されている。 これは set-user-ID-root でない set-group-ID プログラムにそ"
9621 "のグループの 特権の全て落とし、特権の必要ない仕事をし、本来の実効グループID "
9622 "に 安全な方法で再び戻すことを許す。"
9623
9624 #. type: Plain text
9625 #: build/C/man2/setgid.2:64
9626 msgid ""
9627 "The calling process is not privileged (does not have the B<CAP_SETGID> "
9628 "capability), and I<gid> does not match the real group ID or saved set-group-"
9629 "ID of the calling process."
9630 msgstr ""
9631 "呼び出し元のプロセスに権限がなく (B<CAP_SETGID> ケーパビリティがなく)、かつ "
9632 "I<gid> が呼び出し元のプロセスの実グループID と保存セットグループID のどちらと"
9633 "も一致しない。"
9634
9635 #. type: Plain text
9636 #: build/C/man2/setgid.2:74
9637 msgid ""
9638 "The original Linux B<setgid>()  system call supported only 16-bit group "
9639 "IDs.  Subsequently, Linux 2.4 added B<setgid32>()  supporting 32-bit IDs.  "
9640 "The glibc B<setgid>()  wrapper function transparently deals with the "
9641 "variation across kernel versions."
9642 msgstr ""
9643
9644 #. type: Plain text
9645 #: build/C/man2/setgid.2:82
9646 msgid ""
9647 "B<getgid>(2), B<setegid>(2), B<setregid>(2), B<capabilities>(7), "
9648 "B<credentials>(7)"
9649 msgstr ""
9650 "B<getgid>(2), B<setegid>(2), B<setregid>(2), B<capabilities>(7), "
9651 "B<credentials>(7)"
9652
9653 #. type: TH
9654 #: build/C/man2/setpgid.2:46
9655 #, no-wrap
9656 msgid "SETPGID"
9657 msgstr "SETPGID"
9658
9659 #. type: Plain text
9660 #: build/C/man2/setpgid.2:49
9661 msgid "setpgid, getpgid, setpgrp, getpgrp - set/get process group"
9662 msgstr "setpgid, getpgid, setpgrp, getpgrp - プロセスグループの設定/取得を行う"
9663
9664 #. type: Plain text
9665 #: build/C/man2/setpgid.2:53
9666 msgid "B<int setpgid(pid_t >I<pid>B<, pid_t >I<pgid>B<);>"
9667 msgstr "B<int setpgid(pid_t >I<pid>B<, pid_t >I<pgid>B<);>"
9668
9669 #. type: Plain text
9670 #: build/C/man2/setpgid.2:55
9671 msgid "B<pid_t getpgid(pid_t >I<pid>B<);>"
9672 msgstr "B<pid_t getpgid(pid_t >I<pid>B<);>"
9673
9674 #. type: Plain text
9675 #: build/C/man2/setpgid.2:57
9676 msgid "B<pid_t getpgrp(void);> /* POSIX.1 version */"
9677 msgstr "B<pid_t getpgrp(void);> /* POSIX.1 version */"
9678
9679 #. type: Plain text
9680 #: build/C/man2/setpgid.2:60
9681 msgid ""
9682 "B<pid_t getpgrp(pid_t >I<pid>B<);\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ > /* BSD "
9683 "version */"
9684 msgstr ""
9685 "B<pid_t getpgrp(pid_t >I<pid>B<);\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ > /* BSD "
9686 "version */"
9687
9688 #. type: Plain text
9689 #: build/C/man2/setpgid.2:62
9690 msgid "B<int setpgrp(void);> /* System V version */"
9691 msgstr "B<int setpgrp(void);> /* System V version */"
9692
9693 #. type: Plain text
9694 #: build/C/man2/setpgid.2:65
9695 msgid "B<int setpgrp(pid_t >I<pid>B<, pid_t >I<pgid>B<);\\ > /* BSD version */"
9696 msgstr ""
9697 "B<int setpgrp(pid_t >I<pid>B<, pid_t >I<pgid>B<);\\ > /* BSD version */"
9698
9699 #. type: Plain text
9700 #: build/C/man2/setpgid.2:74
9701 msgid "B<getpgid>():"
9702 msgstr "B<getpgid>():"
9703
9704 #. type: Plain text
9705 #: build/C/man2/setpgid.2:82
9706 msgid "B<setpgrp>() (POSIX.1):"
9707 msgstr "B<setpgrp>() (POSIX.1):"
9708
9709 #. type: Plain text
9710 #: build/C/man2/setpgid.2:85
9711 #, no-wrap
9712 msgid ""
9713 "    _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
9714 "    _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED\n"
9715 msgstr ""
9716 "    _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
9717 "    _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED\n"
9718
9719 #. type: Plain text
9720 #: build/C/man2/setpgid.2:89
9721 msgid "B<setpgrp>()\\ (BSD), B<getpgrp>()\\ (BSD):"
9722 msgstr "B<setpgrp>()\\ (BSD), B<getpgrp>()\\ (BSD):"
9723
9724 #. type: Plain text
9725 #: build/C/man2/setpgid.2:93
9726 #, no-wrap
9727 msgid ""
9728 "    _BSD_SOURCE &&\n"
9729 "        !\\ (_POSIX_SOURCE || _POSIX_C_SOURCE || _XOPEN_SOURCE ||\n"
9730 "           _XOPEN_SOURCE_EXTENDED || _GNU_SOURCE || _SVID_SOURCE)\n"
9731 msgstr ""
9732 "    _BSD_SOURCE &&\n"
9733 "        !\\ (_POSIX_SOURCE || _POSIX_C_SOURCE || _XOPEN_SOURCE ||\n"
9734 "           _XOPEN_SOURCE_EXTENDED || _GNU_SOURCE || _SVID_SOURCE)\n"
9735
9736 #. type: Plain text
9737 #: build/C/man2/setpgid.2:105
9738 msgid ""
9739 "All of these interfaces are available on Linux, and are used for getting and "
9740 "setting the process group ID (PGID) of a process.  The preferred, POSIX.1-"
9741 "specified ways of doing this are: B<getpgrp>(void), for retrieving the "
9742 "calling process's PGID; and B<setpgid>(), for setting a process's PGID."
9743 msgstr ""
9744 "これらのインタフェースすべてが Linux で利用可能で、 これらを使ってプロセスの"
9745 "プロセスグループ ID (PGID) の 取得や設定ができる。 推奨の、POSIX.1 で規定され"
9746 "た方法では、 B<getpgrp>(void)  で呼び出し元プロセスの PGID を取得し、 "
9747 "B<setpgid>()  で設定する。"
9748
9749 #. type: Plain text
9750 #: build/C/man2/setpgid.2:130
9751 msgid ""
9752 "B<setpgid>()  sets the PGID of the process specified by I<pid> to I<pgid>.  "
9753 "If I<pid> is zero, then the process ID of the calling process is used.  If "
9754 "I<pgid> is zero, then the PGID of the process specified by I<pid> is made "
9755 "the same as its process ID.  If B<setpgid>()  is used to move a process from "
9756 "one process group to another (as is done by some shells when creating "
9757 "pipelines), both process groups must be part of the same session (see "
9758 "B<setsid>(2)  and B<credentials>(7)).  In this case, the I<pgid> specifies "
9759 "an existing process group to be joined and the session ID of that group must "
9760 "match the session ID of the joining process."
9761 msgstr ""
9762 "B<setpgid>()  は I<pid> で指定したプロセスの PGID に I<pgid> を設定する。 "
9763 "I<pid> がゼロならば、呼び出し元プロセスのプロセス ID が pid として使用され"
9764 "る。 I<pgid> がゼロならば、 I<pid> で指定されたプロセスの PGID がそのプロセス"
9765 "のプロセス ID と 同じに設定される。 B<setpgid>()  をプロセスをあるプロセスグ"
9766 "ループから別のグループへ 移動するために使用する場合は (一部のシェルはパイプラ"
9767 "インを生成 する時にこれを行う)、両方のプロセスグループは同じセッションの 一部"
9768 "でなければならない (B<setsid>(2)  と B<credentials>(7)  参照)。この場合は "
9769 "I<pgid> は参加すべき既存の プロセスグループを指定し、そのセッション ID は参加"
9770 "するプロセスの セッション ID に一致しなければならない。"
9771
9772 #. type: Plain text
9773 #: build/C/man2/setpgid.2:135
9774 msgid ""
9775 "The POSIX.1 version of B<getpgrp>(), which takes no arguments, returns the "
9776 "PGID of the calling process."
9777 msgstr ""
9778 "POSIX.1 バージョンの B<getpgrp>()  は引き数を一つもとらず、 呼び出し元プロセ"
9779 "スの PGID を返す。"
9780
9781 #. type: Plain text
9782 #: build/C/man2/setpgid.2:146
9783 msgid ""
9784 "B<getpgid>()  returns the PGID of the process specified by I<pid>.  If "
9785 "I<pid> is zero, the process ID of the calling process is used.  (Retrieving "
9786 "the PGID of a process other than the caller is rarely necessary, and the "
9787 "POSIX.1 B<getpgrp>()  is preferred for that task.)"
9788 msgstr ""
9789 "B<getpgid>()  は I<pid> で指定されたプロセスの PGID を返す。 I<pid> がゼロな"
9790 "らば、呼び出し元プロセスのプロセス ID が pid として使用される。 (呼び出し元プ"
9791 "ロセス以外のプロセスの PGID の取得が必要になることは めったになく、呼び出し元"
9792 "プロセスの PGID を取得するには POSIX.1 バージョンの B<getpgrp>()  を使うのが"
9793 "望ましい。)"
9794
9795 #. type: Plain text
9796 #: build/C/man2/setpgid.2:151
9797 msgid ""
9798 "The System V-style B<setpgrp>(), which takes no arguments, is equivalent to "
9799 "I<setpgid(0,\\ 0)>."
9800 msgstr ""
9801 "System V バージョンの B<setpgrp>()  は引き数を一つもとらず、 I<setpgid(0,\\ "
9802 "0)> と等価である。"
9803
9804 #.  The true BSD setpgrp() system call differs in allowing the PGID
9805 #.  to be set to arbitrary values, rather than being restricted to
9806 #.  PGIDs in the same session.
9807 #. type: Plain text
9808 #: build/C/man2/setpgid.2:163
9809 msgid ""
9810 "The BSD-specific B<setpgrp>()  call, which takes arguments I<pid> and "
9811 "I<pgid>, is equivalent to I<setpgid(pid, pgid)>."
9812 msgstr ""
9813 "BSD 仕様の B<setpgrp>()  は I<pid> と I<pgid> を引き数にとり、 I<setpgid"
9814 "(pid, pgid)> と等価である。"
9815
9816 #. type: Plain text
9817 #: build/C/man2/setpgid.2:170
9818 msgid ""
9819 "The BSD-specific B<getpgrp>()  call, which takes a single I<pid> argument, "
9820 "is equivalent to I<getpgid(pid)>."
9821 msgstr ""
9822 "BSD 仕様の B<getpgrp>()  は I<pid> だけを引き数にとり、 I<getpgid(pid)> と等"
9823 "価である。"
9824
9825 #. type: Plain text
9826 #: build/C/man2/setpgid.2:179
9827 msgid ""
9828 "On success, B<setpgid>()  and B<setpgrp>()  return zero.  On error, -1 is "
9829 "returned, and I<errno> is set appropriately."
9830 msgstr ""
9831 "B<setpgid>()  と B<setpgrp>()  は成功した場合、ゼロを返す。エラーの場合は -1 "
9832 "を返し、 I<errno> が適切に設定される。"
9833
9834 #. type: Plain text
9835 #: build/C/man2/setpgid.2:183
9836 msgid "The POSIX.1 B<getpgrp>()  always returns the PGID of the caller."
9837 msgstr ""
9838 "POSIX.1 バージョンの B<getpgrp>()  は常に呼び出しプロセスの PGID を返す。"
9839
9840 #. type: Plain text
9841 #: build/C/man2/setpgid.2:191
9842 msgid ""
9843 "B<getpgid>(), and the BSD-specific B<getpgrp>()  return a process group on "
9844 "success.  On error, -1 is returned, and I<errno> is set appropriately."
9845 msgstr ""
9846 "B<getpgid>()  と BSD 仕様の B<getpgrp>()  は成功した場合プロセスグループを返"
9847 "す。 エラーの場合は -1 を返し、 I<errno> が適切に設定される。"
9848
9849 #. type: Plain text
9850 #: build/C/man2/setpgid.2:200
9851 msgid ""
9852 "An attempt was made to change the process group ID of one of the children of "
9853 "the calling process and the child had already performed an B<execve>(2)  "
9854 "(B<setpgid>(), B<setpgrp>())."
9855 msgstr ""
9856 "呼び出し元プロセスの子プロセスのプロセスグループ ID を変更しようとしたが、 す"
9857 "でにその子プロセスは B<execve>(2)  を実行していた。 (B<setpgid>(), B<setpgrp>"
9858 "())"
9859
9860 #. type: Plain text
9861 #: build/C/man2/setpgid.2:206
9862 msgid "I<pgid> is less than 0 (B<setpgid>(), B<setpgrp>())."
9863 msgstr "I<pgid> が 0 より小さい。 (B<setpgid>(), B<setpgrp>())"
9864
9865 #. type: Plain text
9866 #: build/C/man2/setpgid.2:215
9867 msgid ""
9868 "An attempt was made to move a process into a process group in a different "
9869 "session, or to change the process group ID of one of the children of the "
9870 "calling process and the child was in a different session, or to change the "
9871 "process group ID of a session leader (B<setpgid>(), B<setpgrp>())."
9872 msgstr ""
9873 "プロセスを異なるセッションのプロセスグループに移動させようとした。 または呼び"
9874 "出し元プロセスの子プロセスのプロセスグループ ID を変更しようと したが、その子"
9875 "プロセスは別のセッションだった。 またはセッションリーダーのプロセスグループ "
9876 "ID を変更しようとした。 (B<setpgid>(), B<setpgrp>())"
9877
9878 #. type: Plain text
9879 #: build/C/man2/setpgid.2:225
9880 msgid ""
9881 "For B<getpgid>(): I<pid> does not match any process.  For B<setpgid>(): "
9882 "I<pid> is not the calling process and not a child of the calling process."
9883 msgstr ""
9884 "B<getpgid>()  の場合: I<pid> がどのプロセスにも一致しない。 B<setpgid>()  の"
9885 "場合: I<pid> が呼び出し元のプロセスではなく、呼び出し元のプロセスの子プロセス"
9886 "でもない。"
9887
9888 #. type: Plain text
9889 #: build/C/man2/setpgid.2:231
9890 msgid ""
9891 "B<setpgid>()  and the version of B<getpgrp>()  with no arguments conform to "
9892 "POSIX.1-2001."
9893 msgstr ""
9894 "B<setpgid>()  と、引き数なしバージョンの B<getpgrp>()  は POSIX.1-2001 に準拠"
9895 "している。"
9896
9897 #. type: Plain text
9898 #: build/C/man2/setpgid.2:240
9899 msgid ""
9900 "POSIX.1-2001 also specifies B<getpgid>()  and the version of B<setpgrp>()  "
9901 "that takes no arguments.  (POSIX.1-2008 marks this B<setpgrp>()  "
9902 "specification as obsolete.)"
9903 msgstr ""
9904 "POSIX.1-2001 は、 B<getpgid>()  と、引き数なしバージョンの B<setpgrp>()  も規"
9905 "定している。 POSIX.1-2008 は、この B<setpgrp>()  の仕様を廃止予定としている。"
9906
9907 #. type: Plain text
9908 #: build/C/man2/setpgid.2:247
9909 msgid ""
9910 "The version of B<getpgrp>()  with one argument and the version of B<setpgrp>"
9911 "()  that takes two arguments derive from 4.2BSD, and are not specified by "
9912 "POSIX.1."
9913 msgstr ""
9914 "引き数 1 個バージョンの B<getpgrp>()  と引き数 2 個バージョンの B<setpgrp>"
9915 "()  は 4.2BSD に由来し、 POSIX.1 では規定されていない。"
9916
9917 #. type: Plain text
9918 #: build/C/man2/setpgid.2:253
9919 msgid ""
9920 "A child created via B<fork>(2)  inherits its parent's process group ID.  The "
9921 "PGID is preserved across an B<execve>(2)."
9922 msgstr ""
9923 "B<fork>(2)  で作成された子プロセスは、親プロセスの PGID を継承する。 "
9924 "B<execve>(2)  の前後で PGID は保存される。"
9925
9926 #. type: Plain text
9927 #: build/C/man2/setpgid.2:256
9928 msgid ""
9929 "Each process group is a member of a session and each process is a member of "
9930 "the session of which its process group is a member."
9931 msgstr ""
9932 "各プロセスグループはセッションのメンバーであり、各プロセスは そのプロセスグ"
9933 "ループが所属しているセッションのメンバーである。"
9934
9935 #. type: Plain text
9936 #: build/C/man2/setpgid.2:283
9937 msgid ""
9938 "A session can have a controlling terminal.  At any time, one (and only one) "
9939 "of the process groups in the session can be the foreground process group for "
9940 "the terminal; the remaining process groups are in the background.  If a "
9941 "signal is generated from the terminal (e.g., typing the interrupt key to "
9942 "generate B<SIGINT>), that signal is sent to the foreground process group.  "
9943 "(See B<termios>(3)  for a description of the characters that generate "
9944 "signals.)  Only the foreground process group may B<read>(2)  from the "
9945 "terminal; if a background process group tries to B<read>(2)  from the "
9946 "terminal, then the group is sent a B<SIGTSTP> signal, which suspends it.  "
9947 "The B<tcgetpgrp>(3)  and B<tcsetpgrp>(3)  functions are used to get/set the "
9948 "foreground process group of the controlling terminal."
9949 msgstr ""
9950 "セッションは制御端末 (controlling terminal) を持つことができる。 いつでも、"
9951 "セッションに所属するプロセスグループの一つ (だけ) が 端末のフォアグランドのプ"
9952 "ロセスグループになることができ、 残りのプロセスグループはバックグラウンドにな"
9953 "る。 端末からシグナルが生成された場合 (例えば、中断キーを叩いて B<SIGINT> が"
9954 "生成されるなど)、そのシグナルはフォアグラウンドのプロセスグループ に送られる "
9955 "(シグナルを生成する文字の説明は B<termios>(3)  を参照)。 フォアグラウンドのプ"
9956 "ロセスグループだけが端末からの B<read>(2)  ができる。 バックグラウンドのプロ"
9957 "セスグループが端末からの B<read>(2)  を行おうとした場合、そのプロセスグループ"
9958 "にはシグナル B<SIGTSTP> が送られ、そのプロセスグループは一時停止 (suspend) す"
9959 "る。 関数 B<tcgetpgrp>(3)  と B<tcsetpgrp>(3)  を使うと、制御端末のフォアグラ"
9960 "ウンドのプロセスグループを 取得/設定できる。"
9961
9962 #. type: Plain text
9963 #: build/C/man2/setpgid.2:291
9964 msgid ""
9965 "The B<setpgid>()  and B<getpgrp>()  calls are used by programs such as "
9966 "B<bash>(1)  to create process groups in order to implement shell job control."
9967 msgstr ""
9968 "B<setpgid>()  と B<getpgrp>()  は、 B<bash>(1)  のようなプログラムで、シェル"
9969 "のジョブ制御 (job control) の実装のための プロセスグループを作成するのに使わ"
9970 "れる。"
9971
9972 #. type: Plain text
9973 #: build/C/man2/setpgid.2:301
9974 msgid ""
9975 "If a session has a controlling terminal, and the B<CLOCAL> flag for that "
9976 "terminal is not set, and a terminal hangup occurs, then the session leader "
9977 "is sent a B<SIGHUP>.  If the session leader exits, then a B<SIGHUP> signal "
9978 "will also be sent to each process in the foreground process group of the "
9979 "controlling terminal."
9980 msgstr ""
9981 "セッションが制御端末を持っていて、その端末に対して B<CLOCAL> フラグが設定され"
9982 "ておらず、端末のハングアップが起きた場合、 セッション・リーダーに B<SIGHUP> "
9983 "が送られる。 セッション・リーダーが終了した場合には、その制御端末の フォアグ"
9984 "ランドのプロセスグループに所属する各プロセスにも B<SIGHUP> シグナルが送られ"
9985 "る。"
9986
9987 #.  exit.3 refers to the following text:
9988 #. type: Plain text
9989 #: build/C/man2/setpgid.2:315
9990 msgid ""
9991 "If the exit of the process causes a process group to become orphaned, and if "
9992 "any member of the newly orphaned process group is stopped, then a B<SIGHUP> "
9993 "signal followed by a B<SIGCONT> signal will be sent to each process in the "
9994 "newly orphaned process group.  An orphaned process group is one in which the "
9995 "parent of every member of process group is either itself also a member of "
9996 "the process group or is a member of a process group in a different session "
9997 "(see also B<credentials>(7))."
9998 msgstr ""
9999 "プロセスの終了によってプロセスグループが孤児 (orphaned) になった際に、 その新"
10000 "たに孤児になったプロセスグループに停止しているメンバーがいれば、 その孤児に"
10001 "なったプロセスグループに属す全てのプロセスに B<SIGHUP> シグナルに続けて "
10002 "B<SIGCONT> シグナルが送られる。 孤児になった (orphaned) プロセスグループと"
10003 "は、 そのプロセスグループの全てのメンバーについて、メンバーの親プロセスが、 "
10004 "親プロセス自身もそのプロセスグループのメンバーか、 別のセッションに属すプロセ"
10005 "スグループのメンバーのいずれかであるような、 プロセスグループのことである。"
10006
10007 #. type: Plain text
10008 #: build/C/man2/setpgid.2:322
10009 msgid ""
10010 "B<getuid>(2), B<setsid>(2), B<tcgetpgrp>(3), B<tcsetpgrp>(3), B<termios>(3), "
10011 "B<credentials>(7)"
10012 msgstr ""
10013 "B<getuid>(2), B<setsid>(2), B<tcgetpgrp>(3), B<tcsetpgrp>(3), B<termios>(3), "
10014 "B<credentials>(7)"
10015
10016 #. type: TH
10017 #: build/C/man2/setresuid.2:26
10018 #, no-wrap
10019 msgid "SETRESUID"
10020 msgstr "SETRESUID"
10021
10022 #. type: Plain text
10023 #: build/C/man2/setresuid.2:29
10024 msgid "setresuid, setresgid - set real, effective and saved user or group ID"
10025 msgstr "setresuid, setresgid - ユーザやグループの 実、実効、保存 ID を設定する"
10026
10027 #. type: Plain text
10028 #: build/C/man2/setresuid.2:35
10029 msgid "B<int setresuid(uid_t >I<ruid>B<, uid_t >I<euid>B<, uid_t >I<suid>B<);>"
10030 msgstr ""
10031 "B<int setresuid(uid_t >I<ruid>B<, uid_t >I<euid>B<, uid_t >I<suid>B<);>"
10032
10033 #. type: Plain text
10034 #: build/C/man2/setresuid.2:37
10035 msgid "B<int setresgid(gid_t >I<rgid>B<, gid_t >I<egid>B<, gid_t >I<sgid>B<);>"
10036 msgstr ""
10037 "B<int setresgid(gid_t >I<rgid>B<, gid_t >I<egid>B<, gid_t >I<sgid>B<);>"
10038
10039 #. type: Plain text
10040 #: build/C/man2/setresuid.2:41
10041 msgid ""
10042 "B<setresuid>()  sets the real user ID, the effective user ID, and the saved "
10043 "set-user-ID of the calling process."
10044 msgstr ""
10045 "B<setresuid>()  は呼び出し元のプロセスの実 (real) ユーザーID、実効 "
10046 "(effective) ユーザーID、 保存 set-user-ID を設定する。"
10047
10048 #. type: Plain text
10049 #: build/C/man2/setresuid.2:47
10050 msgid ""
10051 "Unprivileged user processes may change the real UID, effective UID, and "
10052 "saved set-user-ID, each to one of: the current real UID, the current "
10053 "effective UID or the current saved set-user-ID."
10054 msgstr ""
10055 "非特権ユーザーのプロセスは、その実 UID、実効 UID、保存 set-user-ID を、 現在"
10056 "の実 UID、現在の実効 UID、現在の保存 set-user-ID のどれかに変更することができ"
10057 "る:"
10058
10059 #. type: Plain text
10060 #: build/C/man2/setresuid.2:51
10061 msgid ""
10062 "Privileged processes (on Linux, those having the B<CAP_SETUID> capability)  "
10063 "may set the real UID, effective UID, and saved set-user-ID to arbitrary "
10064 "values."
10065 msgstr ""
10066 "特権プロセス (Linux では B<CAP_SETUID> ケーパビリティ (capability) を持つ プ"
10067 "ロセス) は、実 UID、実効 UID、保存 set-user-ID を任意の値に設定できる。"
10068
10069 #. type: Plain text
10070 #: build/C/man2/setresuid.2:53
10071 msgid ""
10072 "If one of the arguments equals -1, the corresponding value is not changed."
10073 msgstr "引き数のどれかが -1 の場合はその値は変更されずに残される。"
10074
10075 #. type: Plain text
10076 #: build/C/man2/setresuid.2:57
10077 msgid ""
10078 "Regardless of what changes are made to the real UID, effective UID, and "
10079 "saved set-user-ID, the file system UID is always set to the same value as "
10080 "the (possibly new) effective UID."
10081 msgstr ""
10082 "実 UID、実効 UID、保存 set-user-ID にどんな変更が行われたかに関わらず、 ファ"
10083 "イルシステム UID は常に実効 UID (可能であれば変更後の新しい実効 UID)  と同じ"
10084 "値に設定される。"
10085
10086 #. type: Plain text
10087 #: build/C/man2/setresuid.2:64
10088 msgid ""
10089 "Completely analogously, B<setresgid>()  sets the real GID, effective GID, "
10090 "and saved set-group-ID of the calling process (and always modifies the file "
10091 "system GID to be the same as the effective GID), with the same restrictions "
10092 "for unprivileged processes."
10093 msgstr ""
10094 "全く同じように、 B<setresgid>()  は呼び出し元のプロセスの実 GID、実効 GID、保"
10095 "存 set-group-ID を設定する (さらにファイルシステム GID を実効 GID と同じ値に"
10096 "修正する)。 非特権プロセスは同様の制限を受ける。"
10097
10098 #. type: TP
10099 #: build/C/man2/setresuid.2:70 build/C/man2/setuid.2:74
10100 #, no-wrap
10101 msgid "B<EAGAIN>"
10102 msgstr "B<EAGAIN>"
10103
10104 #. type: Plain text
10105 #: build/C/man2/setresuid.2:77
10106 msgid ""
10107 "I<uid> does not match the current UID and this call would bring that user ID "
10108 "over its B<RLIMIT_NPROC> resource limit."
10109 msgstr ""
10110 "I<uid> が現在のユーザー ID と違う値で、 この呼び出しにより ユーザー ID が リ"
10111 "ソース上限 B<RLIMIT_NPROC> を超えてしまう。"
10112
10113 #. type: Plain text
10114 #: build/C/man2/setresuid.2:81
10115 msgid ""
10116 "The calling process is not privileged (did not have the B<CAP_SETUID> "
10117 "capability) and tried to change the IDs to values that are not permitted."
10118 msgstr ""
10119 "呼び出したプロセスが特権を持たないのに (B<CAP_SETUID> ケーパビリティを持たな"
10120 "いのに)、 ID を許されていない値に変更しようとした。"
10121
10122 #. type: Plain text
10123 #: build/C/man2/setresuid.2:83
10124 msgid "These calls are available under Linux since Linux 2.1.44."
10125 msgstr "Linux ではバージョン 2.1.44 より利用可能になった。"
10126
10127 #. type: Plain text
10128 #: build/C/man2/setresuid.2:90
10129 #, fuzzy
10130 #| msgid ""
10131 #| "Under HP-UX and FreeBSD the prototype is found in I<E<lt>unistd.hE<gt>>.  "
10132 #| "Under Linux the prototype is provided by glibc since version 2.3.2."
10133 msgid ""
10134 "Under HP-UX and FreeBSD, the prototype is found in I<E<lt>unistd.hE<gt>>.  "
10135 "Under Linux the prototype is provided by glibc since version 2.3.2."
10136 msgstr ""
10137 "HP-UX や FreeBSD では I<E<lt>unistd.hE<gt>> にプロトタイプが存在する。 Linux "
10138 "では、glibc 2.3.2 以降で プロトタイプが提供されている。"
10139
10140 #. type: Plain text
10141 #: build/C/man2/setresuid.2:106
10142 msgid ""
10143 "The original Linux B<setresuid>()  and B<setresgid>()  system calls "
10144 "supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
10145 "B<setresuid32>()  and B<setresgid32>(), supporting 32-bit IDs.  The glibc "
10146 "B<setresuid>()  and B<setresgid>()  wrapper functions transparently deal "
10147 "with the variations across kernel versions."
10148 msgstr ""
10149
10150 #. type: Plain text
10151 #: build/C/man2/setresuid.2:115
10152 msgid ""
10153 "B<getresuid>(2), B<getuid>(2), B<setfsgid>(2), B<setfsuid>(2), B<setreuid>"
10154 "(2), B<setuid>(2), B<capabilities>(7), B<credentials>(7)"
10155 msgstr ""
10156 "B<getresuid>(2), B<getuid>(2), B<setfsgid>(2), B<setfsuid>(2), B<setreuid>"
10157 "(2), B<setuid>(2), B<capabilities>(7), B<credentials>(7)"
10158
10159 #. type: TH
10160 #: build/C/man2/setreuid.2:43
10161 #, no-wrap
10162 msgid "SETREUID"
10163 msgstr "SETREUID"
10164
10165 #. type: Plain text
10166 #: build/C/man2/setreuid.2:46
10167 msgid "setreuid, setregid - set real and/or effective user or group ID"
10168 msgstr ""
10169 "setreuid, setregid - 実 (real) と実効 (effective) ユーザー (グループ) ID を設"
10170 "定する"
10171
10172 #. type: Plain text
10173 #: build/C/man2/setreuid.2:52
10174 msgid "B<int setreuid(uid_t >I<ruid>B<, uid_t >I<euid>B<);>"
10175 msgstr "B<int setreuid(uid_t >I<ruid>B<, uid_t >I<euid>B<);>"
10176
10177 #. type: Plain text
10178 #: build/C/man2/setreuid.2:54
10179 msgid "B<int setregid(gid_t >I<rgid>B<, gid_t >I<egid>B<);>"
10180 msgstr "B<int setregid(gid_t >I<rgid>B<, gid_t >I<egid>B<);>"
10181
10182 #. type: Plain text
10183 #: build/C/man2/setreuid.2:62
10184 msgid "B<setreuid>(), B<setregid>():"
10185 msgstr "B<setreuid>(), B<setregid>():"
10186
10187 #. type: Plain text
10188 #: build/C/man2/setreuid.2:66
10189 msgid ""
10190 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
10191 "_XOPEN_SOURCE_EXTENDED"
10192 msgstr ""
10193 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
10194 "_XOPEN_SOURCE_EXTENDED"
10195
10196 #. type: Plain text
10197 #: build/C/man2/setreuid.2:71
10198 msgid "B<setreuid>()  sets real and effective user IDs of the calling process."
10199 msgstr ""
10200 "B<setreuid>()  は呼び出し元のプロセスの実 (real) ユーザー ID と 実効 "
10201 "(effective) ユーザー ID を設定する。"
10202
10203 #. type: Plain text
10204 #: build/C/man2/setreuid.2:74
10205 msgid ""
10206 "Supplying a value of -1 for either the real or effective user ID forces the "
10207 "system to leave that ID unchanged."
10208 msgstr ""
10209 "実ユーザー ID や実効ユーザー ID に -1 を与えた場合、 システムはその ID を変更"
10210 "しない。"
10211
10212 #. type: Plain text
10213 #: build/C/man2/setreuid.2:77
10214 msgid ""
10215 "Unprivileged processes may only set the effective user ID to the real user "
10216 "ID, the effective user ID, or the saved set-user-ID."
10217 msgstr ""
10218 "非特権プロセスは実効ユーザー ID を実ユーザー ID または実効ユーザー ID または "
10219 "保存 set-user-ID にしか設定できない。"
10220
10221 #. type: Plain text
10222 #: build/C/man2/setreuid.2:80
10223 msgid ""
10224 "Unprivileged users may only set the real user ID to the real user ID or the "
10225 "effective user ID."
10226 msgstr ""
10227 "非特権ユーザーは、実ユーザー ID を実ユーザー ID または 実効ユーザー ID にしか"
10228 "設定できない。"
10229
10230 #. type: Plain text
10231 #: build/C/man2/setreuid.2:84
10232 msgid ""
10233 "If the real user ID is set or the effective user ID is set to a value not "
10234 "equal to the previous real user ID, the saved set-user-ID will be set to the "
10235 "new effective user ID."
10236 msgstr ""
10237 "実ユーザーID が設定されたり、実効ユーザーID が前の実ユーザーID と 異った値に"
10238 "設定された場合、保存 set-user-ID には新しい実効ユーザーID の値が設定される。"
10239
10240 #. type: Plain text
10241 #: build/C/man2/setreuid.2:89
10242 msgid ""
10243 "Completely analogously, B<setregid>()  sets real and effective group ID's of "
10244 "the calling process, and all of the above holds with \"group\" instead of "
10245 "\"user\"."
10246 msgstr ""
10247 "これと全く同様に、 B<setregid>()  は呼び出し元のプロセスの実グループ ID と実"
10248 "効グループ ID を設定し、 上記の説明で「ユーザー」を「グループ」に読み替えたこ"
10249 "とが成り立つ。"
10250
10251 #. type: Plain text
10252 #: build/C/man2/setreuid.2:111
10253 msgid ""
10254 "The calling process is not privileged (Linux: does not have the "
10255 "B<CAP_SETUID> capability in the case of B<setreuid>(), or the B<CAP_SETGID> "
10256 "capability in the case of B<setregid>())  and a change other than (i)  "
10257 "swapping the effective user (group) ID with the real user (group) ID, or "
10258 "(ii) setting one to the value of the other or (iii) setting the effective "
10259 "user (group) ID to the value of the saved set-user-ID (saved set-group-ID) "
10260 "was specified."
10261 msgstr ""
10262 "呼び出し元のプロセスに特権がなく (Linux では B<setreuid>()  の場合に "
10263 "B<CAP_SETUID> ケーパビリティ (capability) がなく、 B<setregid>()  の場合に "
10264 "B<CAP_SETGID> ケーパビリティがない)、 以下のいずれでもない変更が指定された: "
10265 "(i) 実効ユーザー (グループ) ID と実ユーザー (グループ) ID を入れ換える。 "
10266 "(ii) 片方の値を他方に設定する。 (iii) 実効ユーザー (グループ) ID に保存 set-"
10267 "user-ID (保存 set-group-ID)  の値を設定する。"
10268
10269 #. type: Plain text
10270 #: build/C/man2/setreuid.2:117
10271 msgid ""
10272 "POSIX.1-2001, 4.3BSD (the B<setreuid>()  and B<setregid>()  function calls "
10273 "first appeared in 4.2BSD)."
10274 msgstr ""
10275 "POSIX.1-2001, 4.3BSD (B<setreuid>()  と B<setregid>()  関数コールは 4.2BSD で"
10276 "登場した)。"
10277
10278 #. type: Plain text
10279 #: build/C/man2/setreuid.2:121
10280 msgid ""
10281 "Setting the effective user (group) ID to the saved set-user-ID (saved set-"
10282 "group-ID) is possible since Linux 1.1.37 (1.1.38)."
10283 msgstr ""
10284 "実効ユーザー (グループ) ID を保存ユーザー (グループ) ID に 設定することが、"
10285 "Linux 1.1.37 (1.1.38) から可能になった。"
10286
10287 #. type: Plain text
10288 #: build/C/man2/setreuid.2:138
10289 msgid ""
10290 "POSIX.1 does not specify all of possible ID changes that are permitted on "
10291 "Linux for an unprivileged process.  For B<setreuid>(), the effective user ID "
10292 "can be made the same as the real user ID or the save set-user-ID, and it is "
10293 "unspecified whether unprivileged processes may set the real user ID to the "
10294 "real user ID, the effective user ID, or the saved set-user-ID.  For "
10295 "B<setregid>(), the real group ID can be changed to the value of the saved "
10296 "set-group-ID, and the effective group ID can be changed to the value of the "
10297 "real group ID or the saved set-group-ID.  The precise details of what ID "
10298 "changes are permitted vary across implementations."
10299 msgstr ""
10300 "POSIX.1 では、非特権プロセスに対して Linux 上で認められている ID の変更の 全"
10301 "パターンを規定しているわけではない。 B<setreuid>()  では、実効ユーザ ID を実"
10302 "ユーザ ID もしくは保存 set-user-ID と 同じ値にすることができるが、 非特権プロ"
10303 "セスが実ユーザ ID を実ユーザ ID、実効ユーザ ID、 保存 set-user-ID のどの値に"
10304 "も設定できるかは規定されていない。 B<setregid>()  では、実グループ ID を保存 "
10305 "set-group-ID と同じ値に変更でき、 実効グループ ID を実グループ ID や保存 set-"
10306 "group-ID と同じ値に変更できる。 どのような ID の変更が認められているかの正確"
10307 "な詳細は 実装ごとに異なる。"
10308
10309 #. type: Plain text
10310 #: build/C/man2/setreuid.2:141
10311 msgid ""
10312 "POSIX.1 makes no specification about the effect of these calls on the saved "
10313 "set-user-ID and saved set-group-ID."
10314 msgstr ""
10315 "POSIX.1 では、これらのシステムコールが保存 set-user-ID や 保存 set-group-ID "
10316 "に与える影響については規定していない。"
10317
10318 #. type: Plain text
10319 #: build/C/man2/setreuid.2:157
10320 msgid ""
10321 "The original Linux B<setreuid>()  and B<setregid>()  system calls supported "
10322 "only 16-bit user and group IDs.  Subsequently, Linux 2.4 added B<setreuid32>"
10323 "()  and B<setregid32>(), supporting 32-bit IDs.  The glibc B<setreuid>()  "
10324 "and B<setregid>()  wrapper functions transparently deal with the variations "
10325 "across kernel versions."
10326 msgstr ""
10327
10328 #. type: Plain text
10329 #: build/C/man2/setreuid.2:165
10330 msgid ""
10331 "B<getgid>(2), B<getuid>(2), B<seteuid>(2), B<setgid>(2), B<setresuid>(2), "
10332 "B<setuid>(2), B<capabilities>(7)"
10333 msgstr ""
10334 "B<getgid>(2), B<getuid>(2), B<seteuid>(2), B<setgid>(2), B<setresuid>(2), "
10335 "B<setuid>(2), B<capabilities>(7)"
10336
10337 #. type: TH
10338 #: build/C/man2/setsid.2:29
10339 #, no-wrap
10340 msgid "SETSID"
10341 msgstr "SETSID"
10342
10343 #. type: TH
10344 #: build/C/man2/setsid.2:29
10345 #, no-wrap
10346 msgid "2008-12-03"
10347 msgstr "2008-12-03"
10348
10349 #. type: Plain text
10350 #: build/C/man2/setsid.2:32
10351 msgid "setsid - creates a session and sets the process group ID"
10352 msgstr ""
10353 "setsid - セッション (session) を作成し、プロセス・グループ ID を設定する"
10354
10355 #. type: Plain text
10356 #: build/C/man2/setsid.2:37
10357 msgid "B<pid_t setsid(void);>"
10358 msgstr "B<pid_t setsid(void);>"
10359
10360 #. type: Plain text
10361 #: build/C/man2/setsid.2:50
10362 msgid ""
10363 "B<setsid>()  creates a new session if the calling process is not a process "
10364 "group leader.  The calling process is the leader of the new session, the "
10365 "process group leader of the new process group, and has no controlling tty.  "
10366 "The process group ID and session ID of the calling process are set to the "
10367 "PID of the calling process.  The calling process will be the only process in "
10368 "this new process group and in this new session."
10369 msgstr ""
10370 "B<setsid>()  は呼び出したプロセスがプロセス・グループ・リーダー (process "
10371 "group leader) でなければ、新しいセッションを作成する。 呼び出したプロセスは新"
10372 "しいセッションのリーダー、新しいプロセス・グループの プロセス・グループ・リー"
10373 "ダーとなり、tty の制御を持たない。 呼び出したプロセスのプロセス・グループ ID "
10374 "とセッション ID には、 呼び出したプロセスの PID が設定される。呼び出したプロ"
10375 "セスはこの 新しいプロセス・グループ、この新しいセッションの唯一のプロセスとな"
10376 "る。"
10377
10378 #. type: Plain text
10379 #: build/C/man2/setsid.2:57
10380 msgid ""
10381 "On success, the (new) session ID of the calling process is returned.  On "
10382 "error, I<(pid_t)\\ -1> is returned, and I<errno> is set to indicate the "
10383 "error."
10384 msgstr ""
10385 "成功すると、呼び出したプロセスの (新しい) セッション ID が返される。 エラーの"
10386 "場合は、 I<(pid_t)\\ -1> が返され、 I<error> にエラーを示す値が設定される。"
10387
10388 #. type: Plain text
10389 #: build/C/man2/setsid.2:64
10390 msgid ""
10391 "The process group ID of any process equals the PID of the calling process.  "
10392 "Thus, in particular, B<setsid>()  fails if the calling process is already a "
10393 "process group leader."
10394 msgstr ""
10395 "いずれかのプロセスのプロセス・グループ ID が、 呼び出したプロセスの PID と等"
10396 "しい。 これは、呼び出したプロセスが既にプロセス・リーダーの場合には B<setsid>"
10397 "()  は失敗することを意味する。"
10398
10399 #. type: Plain text
10400 #: build/C/man2/setsid.2:72
10401 msgid ""
10402 "A child created via B<fork>(2)  inherits its parent's session ID.  The "
10403 "session ID is preserved across an B<execve>(2)."
10404 msgstr ""
10405 "B<fork>(2)  で作成された子プロセスは、親プロセスのセッション ID を継承する。 "
10406 "B<execve>(2)  の前後でセッション ID は保存される。"
10407
10408 #. type: Plain text
10409 #: build/C/man2/setsid.2:83
10410 msgid ""
10411 "A process group leader is a process with process group ID equal to its PID.  "
10412 "In order to be sure that B<setsid>()  will succeed, B<fork>(2)  and B<_exit>"
10413 "(2), and have the child do B<setsid>()."
10414 msgstr ""
10415 "プロセス・グループ・リーダーとは、そのプロセスのプロセス・グループ ID が そ"
10416 "の PID に等しいプロセスである。 B<setsid>()  を確実に成功させるためには、 "
10417 "B<fork>(2)  して B<exit>(2)  し、子プロセスで B<setsid>()  を行なえば良い。"
10418
10419 #. type: Plain text
10420 #: build/C/man2/setsid.2:89
10421 msgid ""
10422 "B<getsid>(2), B<setpgid>(2), B<setpgrp>(2), B<tcgetsid>(3), B<credentials>(7)"
10423 msgstr ""
10424 "B<getsid>(2), B<setpgid>(2), B<setpgrp>(2), B<tcgetsid>(3), B<credentials>(7)"
10425
10426 #. type: TH
10427 #: build/C/man2/setuid.2:28
10428 #, no-wrap
10429 msgid "SETUID"
10430 msgstr "SETUID"
10431
10432 #. type: Plain text
10433 #: build/C/man2/setuid.2:31
10434 msgid "setuid - set user identity"
10435 msgstr "setuid - ユーザー識別 (identity) を設定する"
10436
10437 #. type: Plain text
10438 #: build/C/man2/setuid.2:37
10439 msgid "B<int setuid(uid_t >I<uid>B<);>"
10440 msgstr "B<int setuid(uid_t >I<uid>B<);>"
10441
10442 #. type: Plain text
10443 #: build/C/man2/setuid.2:42
10444 msgid ""
10445 "B<setuid>()  sets the effective user ID of the calling process.  If the "
10446 "effective UID of the caller is root, the real UID and saved set-user-ID are "
10447 "also set."
10448 msgstr ""
10449 "B<setuid>()  は呼び出し元のプロセスの実効 (effective) ユーザー ID を設定す"
10450 "る。 もし呼び出し元プロセスの実効 UID が root ならば、 実 (real) UID と保存 "
10451 "(saved) set-user-ID も設定される。"
10452
10453 #. type: Plain text
10454 #: build/C/man2/setuid.2:51
10455 msgid ""
10456 "Under Linux, B<setuid>()  is implemented like the POSIX version with the "
10457 "B<_POSIX_SAVED_IDS> feature.  This allows a set-user-ID (other than root) "
10458 "program to drop all of its user privileges, do some un-privileged work, and "
10459 "then reengage the original effective user ID in a secure manner."
10460 msgstr ""
10461 "Linux では、 B<setuid>()  は B<_POSIX_SAVED_IDS> をもった POSIX 版のように実"
10462 "装されている。 これは (ルート以外の) set-user-ID プログラムにそのユーザーの特"
10463 "権を 全て与え、特権の必要ない仕事をし、本来の実効ユーザー ID に 安全な方法で"
10464 "再び戻すことを許す。"
10465
10466 #. type: Plain text
10467 #: build/C/man2/setuid.2:61
10468 msgid ""
10469 "If the user is root or the program is set-user-ID-root, special care must be "
10470 "taken.  The B<setuid>()  function checks the effective user ID of the caller "
10471 "and if it is the superuser, all process-related user ID's are set to "
10472 "I<uid>.  After this has occurred, it is impossible for the program to regain "
10473 "root privileges."
10474 msgstr ""
10475 "ユーザーが root またはプログラムが root に set-user-ID されているならば、 特"
10476 "別の注意が払われる。 B<setuid>()  関数は呼び出し者の実効ユーザー ID をチェッ"
10477 "クし、 それがスーパー・ユーザーならば、 プロセスに関連する全てのユーザー ID "
10478 "に I<uid> を設定する。 これが行なわれた後にはプログラムが再びルートの特権を得"
10479 "ることはできない。"
10480
10481 #. type: Plain text
10482 #: build/C/man2/setuid.2:68
10483 msgid ""
10484 "Thus, a set-user-ID-root program wishing to temporarily drop root "
10485 "privileges, assume the identity of an unprivileged user, and then regain "
10486 "root privileges afterward cannot use B<setuid>().  You can accomplish this "
10487 "with B<seteuid>(2)."
10488 msgstr ""
10489 "したがって、set-user-ID-root プログラムで、一時的にルート特権を解除し、 非特"
10490 "権ユーザであるかのように振舞い、後でルート権限をもう一度得ようと する場合に"
10491 "は、 B<setuid>()  を使うことができない。その場合には、 B<seteuid>(2)  を使う"
10492 "必要がある。"
10493
10494 #. type: Plain text
10495 #: build/C/man2/setuid.2:83
10496 msgid ""
10497 "The I<uid> does not match the current uid and I<uid> brings process over its "
10498 "B<RLIMIT_NPROC> resource limit."
10499 msgstr ""
10500 "I<uid> が現在のユーザー ID とマッチせず、この I<uid> によってプロセスがリソー"
10501 "ス上限 B<RLIMIT_NPROC> を超えた。"
10502
10503 #. type: Plain text
10504 #: build/C/man2/setuid.2:90
10505 msgid ""
10506 "The user is not privileged (Linux: does not have the B<CAP_SETUID> "
10507 "capability) and I<uid> does not match the real UID or saved set-user-ID of "
10508 "the calling process."
10509 msgstr ""
10510 "ユーザーが特権を持たず (Linux では B<CAP_SETUID> ケーパビリティ (capability) "
10511 "を持たず)、 I<uid> が呼び出し元プロセスの実 UID または保存 set-user-ID と一致"
10512 "しない。"
10513
10514 #.  SVr4 documents an additional EINVAL error condition.
10515 #. type: Plain text
10516 #: build/C/man2/setuid.2:95
10517 msgid ""
10518 "SVr4, POSIX.1-2001.  Not quite compatible with the 4.4BSD call, which sets "
10519 "all of the real, saved, and effective user IDs."
10520 msgstr ""
10521 "SVr4, POSIX.1-2001.  4.4BSD のコールとは完全な互換性はない、 BSD のコールは"
10522 "実 (real)、保存 (saved)、実効 (effective) ID の全てを設定する。"
10523
10524 #. type: Plain text
10525 #: build/C/man2/setuid.2:103
10526 #, fuzzy
10527 #| msgid ""
10528 #| "Linux has the concept of file system user ID, normally equal to the "
10529 #| "effective user ID.  The B<setuid>()  call also sets the file system user "
10530 #| "ID of the calling process.  See B<setfsuid>(2)."
10531 msgid ""
10532 "Linux has the concept of the file system user ID, normally equal to the "
10533 "effective user ID.  The B<setuid>()  call also sets the file system user ID "
10534 "of the calling process.  See B<setfsuid>(2)."
10535 msgstr ""
10536 "Linux はファイル・システム・ユーザー ID の概念を持つ。 通常、これは実効ユー"
10537 "ザー ID に等しい。 B<setuid>()  コールは呼び出し元のプロセスのファイル・シス"
10538 "テム・ユーザー ID も設定する。 B<setfsuid>(2)  も参照すること。"
10539
10540 #. type: Plain text
10541 #: build/C/man2/setuid.2:108
10542 #, fuzzy
10543 #| msgid ""
10544 #| "If I<uid> is different from the old effective uid, the process will be "
10545 #| "forbidden from leaving core dumps."
10546 msgid ""
10547 "If I<uid> is different from the old effective UID, the process will be "
10548 "forbidden from leaving core dumps."
10549 msgstr ""
10550 "I<uid> が昔の実効 uid と異っていた場合、プロセスはコア・ダンプすることを 禁止"
10551 "される。"
10552
10553 #. type: Plain text
10554 #: build/C/man2/setuid.2:118
10555 msgid ""
10556 "The original Linux B<setuid>()  system call supported only 16-bit user IDs.  "
10557 "Subsequently, Linux 2.4 added B<setuid32>()  supporting 32-bit IDs.  The "
10558 "glibc B<setuid>()  wrapper function transparently deals with the variation "
10559 "across kernel versions."
10560 msgstr ""
10561
10562 #. type: Plain text
10563 #: build/C/man2/setuid.2:125
10564 msgid ""
10565 "B<getuid>(2), B<seteuid>(2), B<setfsuid>(2), B<setreuid>(2), B<capabilities>"
10566 "(7), B<credentials>(7)"
10567 msgstr ""
10568 "B<getuid>(2), B<seteuid>(2), B<setfsuid>(2), B<setreuid>(2), B<capabilities>"
10569 "(7), B<credentials>(7)"
10570
10571 #. type: TH
10572 #: build/C/man7/svipc.7:25
10573 #, no-wrap
10574 msgid "SVIPC"
10575 msgstr "SVIPC"
10576
10577 #. type: TH
10578 #: build/C/man7/svipc.7:25
10579 #, no-wrap
10580 msgid "2009-01-26"
10581 msgstr "2009-01-26"
10582
10583 #. type: Plain text
10584 #: build/C/man7/svipc.7:28
10585 msgid "svipc - System V interprocess communication mechanisms"
10586 msgstr "svipc - System V プロセス間通信機構"
10587
10588 #. type: Plain text
10589 #: build/C/man7/svipc.7:35
10590 #, no-wrap
10591 msgid ""
10592 "B<#include E<lt>sys/types.hE<gt>>\n"
10593 "B<#include E<lt>sys/ipc.hE<gt>>\n"
10594 "B<#include E<lt>sys/msg.hE<gt>>\n"
10595 "B<#include E<lt>sys/sem.hE<gt>>\n"
10596 "B<#include E<lt>sys/shm.hE<gt>>\n"
10597 msgstr ""
10598 "B<#include E<lt>sys/types.hE<gt>>\n"
10599 "B<#include E<lt>sys/ipc.hE<gt>>\n"
10600 "B<#include E<lt>sys/msg.hE<gt>>\n"
10601 "B<#include E<lt>sys/sem.hE<gt>>\n"
10602 "B<#include E<lt>sys/shm.hE<gt>>\n"
10603
10604 #. type: Plain text
10605 #: build/C/man7/svipc.7:43
10606 msgid ""
10607 "This manual page refers to the Linux implementation of the System V "
10608 "interprocess communication (IPC) mechanisms: message queues, semaphore sets, "
10609 "and shared memory segments.  In the following, the word I<resource> means an "
10610 "instantiation of one among such mechanisms."
10611 msgstr ""
10612 "このマニュアル・ページは System V プロセス間通信 (interprocess "
10613 "communication; IPC) 機構の Linux に おける実装を説明する。 このプロセス間通信"
10614 "機構には、 メッセージ・キュー (message queue)、セマフォー集合 (semaphore "
10615 "set)、 共有メモリ・セグメント (shared memory segment) などがある。以下で I<資"
10616 "源 (resource)> という用語を使用した場合にはこれらの機構のどれかを意味する。"
10617
10618 #. type: SS
10619 #: build/C/man7/svipc.7:43
10620 #, no-wrap
10621 msgid "Resource Access Permissions"
10622 msgstr "資源へのアクセス許可"
10623
10624 #. type: Plain text
10625 #: build/C/man7/svipc.7:53
10626 msgid ""
10627 "For each resource, the system uses a common structure of type I<struct "
10628 "ipc_perm> to store information needed in determining permissions to perform "
10629 "an IPC operation.  The I<ipc_perm> structure, defined by the I<E<lt>sys/ipc."
10630 "hE<gt>> system header file, includes the following members:"
10631 msgstr ""
10632 "システムのそれぞれの資源は、IPC への操作を許可するかどうかを決定する ための情"
10633 "報を共通の構造体 I<struct ipc_perm> に格納して使用する。 I<ipc_perm> 構造体"
10634 "は、ヘッダーファイルの I<E<lt>sys/ipc.hE<gt>> に定義されており、以下のメン"
10635 "バーが含まれている:"
10636
10637 #. type: Plain text
10638 #: build/C/man7/svipc.7:63
10639 #, no-wrap
10640 msgid ""
10641 "struct ipc_perm {\n"
10642 "    uid_t          cuid;   /* creator user ID */\n"
10643 "    gid_t          cgid;   /* creator group ID */\n"
10644 "    uid_t          uid;    /* owner user ID */\n"
10645 "    gid_t          gid;    /* owner group ID */\n"
10646 "    unsigned short mode;   /* r/w permissions */\n"
10647 "};\n"
10648 msgstr ""
10649 "struct ipc_perm {\n"
10650 "    uid_t          cuid;   /* 作成者のユーザーID */\n"
10651 "    gid_t          cgid;   /* 作成者のグループID */\n"
10652 "    uid_t          uid;    /* 所有者のユーザーID */\n"
10653 "    gid_t          gid;    /* 所有者のグループID */\n"
10654 "    unsigned short mode;   /* 読み書きの許可 */\n"
10655 "};\n"
10656
10657 #. type: Plain text
10658 #: build/C/man7/svipc.7:73
10659 msgid ""
10660 "The I<mode> member of the I<ipc_perm> structure defines, with its lower 9 "
10661 "bits, the access permissions to the resource for a process executing an IPC "
10662 "system call.  The permissions are interpreted as follows:"
10663 msgstr ""
10664 "I<ipc_perm> 構造体の I<mode> メンバーは以下の 9 ビットで、プロセスの IPC シス"
10665 "テム・コール による資源へのアクセス許可を定義する。 許可は以下のように解釈さ"
10666 "れる:"
10667
10668 #. type: Plain text
10669 #: build/C/man7/svipc.7:77
10670 #, no-wrap
10671 msgid ""
10672 "    0400    Read by user.\n"
10673 "    0200    Write by user.\n"
10674 msgstr ""
10675 "    0400    ユーザーによる読み込み。\n"
10676 "    0200    ユーザーによる書き込み。\n"
10677
10678 #. type: Plain text
10679 #: build/C/man7/svipc.7:80
10680 #, no-wrap
10681 msgid ""
10682 "    0040    Read by group.\n"
10683 "    0020    Write by group.\n"
10684 msgstr ""
10685 "    0040    グループによる読み込み。\n"
10686 "    0020    グループによる書き込み。\n"
10687
10688 #. type: Plain text
10689 #: build/C/man7/svipc.7:83
10690 #, no-wrap
10691 msgid ""
10692 "    0004    Read by others.\n"
10693 "    0002    Write by others.\n"
10694 msgstr ""
10695 "    0004    他人による読み込み。\n"
10696 "    0002    他人による書き込み。\n"
10697
10698 #. type: Plain text
10699 #: build/C/man7/svipc.7:91
10700 msgid ""
10701 "Bits 0100, 0010, and 0001 (the execute bits) are unused by the system.  "
10702 "Furthermore, \"write\" effectively means \"alter\" for a semaphore set."
10703 msgstr ""
10704 "システムはビット 0100, 0010, 0001 (実行ビット) は使用しない。 さらに、セマ"
10705 "フォーの場合には \"書き込み(write)\" は実際には \"変更(alter)\" を意味する。"
10706
10707 #. type: Plain text
10708 #: build/C/man7/svipc.7:94
10709 msgid ""
10710 "The same system header file also defines the following symbolic constants:"
10711 msgstr "同じヘッダーファイルには以下のシンボルの定義が含まれている:"
10712
10713 #. type: TP
10714 #: build/C/man7/svipc.7:94
10715 #, no-wrap
10716 msgid "B<IPC_CREAT>"
10717 msgstr "B<IPC_CREAT>"
10718
10719 #. type: Plain text
10720 #: build/C/man7/svipc.7:97
10721 msgid "Create entry if key doesn't exist."
10722 msgstr "キー(key)が存在しない場合には新たなエントリを作成する。"
10723
10724 #. type: TP
10725 #: build/C/man7/svipc.7:97
10726 #, no-wrap
10727 msgid "B<IPC_EXCL>"
10728 msgstr "B<IPC_EXCL>"
10729
10730 #. type: Plain text
10731 #: build/C/man7/svipc.7:100
10732 msgid "Fail if key exists."
10733 msgstr "キー(key)が存在する場合には失敗する。"
10734
10735 #. type: TP
10736 #: build/C/man7/svipc.7:100
10737 #, no-wrap
10738 msgid "B<IPC_NOWAIT>"
10739 msgstr "B<IPC_NOWAIT>"
10740
10741 #. type: Plain text
10742 #: build/C/man7/svipc.7:103
10743 msgid "Error if request must wait."
10744 msgstr "要求が待たされる場合にはエラーになる。"
10745
10746 #. type: TP
10747 #: build/C/man7/svipc.7:103
10748 #, no-wrap
10749 msgid "B<IPC_PRIVATE>"
10750 msgstr "B<IPC_PRIVATE>"
10751
10752 #. type: Plain text
10753 #: build/C/man7/svipc.7:106
10754 msgid "Private key."
10755 msgstr "プライベート・キー。"
10756
10757 #. type: TP
10758 #: build/C/man7/svipc.7:106
10759 #, no-wrap
10760 msgid "B<IPC_RMID>"
10761 msgstr "B<IPC_RMID>"
10762
10763 #. type: Plain text
10764 #: build/C/man7/svipc.7:109
10765 msgid "Remove resource."
10766 msgstr "資源を削除する。"
10767
10768 #. type: TP
10769 #: build/C/man7/svipc.7:109
10770 #, no-wrap
10771 msgid "B<IPC_SET>"
10772 msgstr "B<IPC_SET>"
10773
10774 #. type: Plain text
10775 #: build/C/man7/svipc.7:112
10776 msgid "Set resource options."
10777 msgstr "資源にオプションを設定する。"
10778
10779 #. type: TP
10780 #: build/C/man7/svipc.7:112
10781 #, no-wrap
10782 msgid "B<IPC_STAT>"
10783 msgstr "B<IPC_STAT>"
10784
10785 #. type: Plain text
10786 #: build/C/man7/svipc.7:115
10787 msgid "Get resource options."
10788 msgstr "資源のオプションを取得する。"
10789
10790 #. type: Plain text
10791 #: build/C/man7/svipc.7:124
10792 msgid ""
10793 "Note that B<IPC_PRIVATE> is a I<key_t> type, while all the other symbolic "
10794 "constants are flag fields and can be OR'ed into an I<int> type variable."
10795 msgstr ""
10796 "B<IPC_PRIVATE> は I<key_t> 型である。その他の全てのシンボルはフラグ・フィール"
10797 "ドとして I<int> 変数に OR 演算で格納することができる。"
10798
10799 #. type: SS
10800 #: build/C/man7/svipc.7:124
10801 #, no-wrap
10802 msgid "Message Queues"
10803 msgstr "メッセージ・キュー"
10804
10805 #. type: Plain text
10806 #: build/C/man7/svipc.7:132
10807 msgid ""
10808 "A message queue is uniquely identified by a positive integer (its I<msqid>)  "
10809 "and has an associated data structure of type I<struct msqid_ds>, defined in "
10810 "I<E<lt>sys/msg.hE<gt>>, containing the following members:"
10811 msgstr ""
10812 "メッセージ・キューは正の整数 (I<msqid>)  によって識別され、 I<E<lt>sys/msg."
10813 "hE<gt>> に定義されている構造体 I<struct msqid_ds> に結びつけられている。 この"
10814 "構造体は以下のメンバーを含んでいる:"
10815
10816 #. type: Plain text
10817 #: build/C/man7/svipc.7:145
10818 #, no-wrap
10819 msgid ""
10820 "struct msqid_ds {\n"
10821 "    struct ipc_perm msg_perm;\n"
10822 "    msgqnum_t       msg_qnum;    /* no of messages on queue */\n"
10823 "    msglen_t        msg_qbytes;  /* bytes max on a queue */\n"
10824 "    pid_t           msg_lspid;   /* PID of last msgsnd(2) call */\n"
10825 "    pid_t           msg_lrpid;   /* PID of last msgrcv(2) call */\n"
10826 "    time_t          msg_stime;   /* last msgsnd(2) time */\n"
10827 "    time_t          msg_rtime;   /* last msgrcv(2) time */\n"
10828 "    time_t          msg_ctime;   /* last change time */\n"
10829 "};\n"
10830 msgstr ""
10831 "struct msqid_ds {\n"
10832 "    struct ipc_perm msg_perm;\n"
10833 "    msgqnum_t       msg_qnum;    /* キューにあるメッセージの数 */\n"
10834 "    msglen_t        msg_qbytes;  /* キューの最大バイト数 */\n"
10835 "    pid_t           msg_lspid;   /* 最後に msgsnd(2) をした PID */\n"
10836 "    pid_t           msg_lrpid;   /* 最後に msgrcv(2) をした PID */\n"
10837 "    time_t          msg_stime;   /* 最後に msgsnd(2) をした時間 */\n"
10838 "    time_t          msg_rtime;   /* 最後に msgrcv(2) をした時間 */\n"
10839 "    time_t          msg_ctime;   /* 最後に変更された時間 */\n"
10840 "};\n"
10841
10842 #. type: TP
10843 #: build/C/man7/svipc.7:147
10844 #, no-wrap
10845 msgid "I<msg_perm>"
10846 msgstr "I<msg_perm>"
10847
10848 #. type: Plain text
10849 #: build/C/man7/svipc.7:152
10850 msgid ""
10851 "I<ipc_perm> structure that specifies the access permissions on the message "
10852 "queue."
10853 msgstr "メッセージ・キューへのアクセス許可を指定する I<ipc_perm> 構造体。"
10854
10855 #. type: TP
10856 #: build/C/man7/svipc.7:152
10857 #, no-wrap
10858 msgid "I<msg_qnum>"
10859 msgstr "I<msg_qnum>"
10860
10861 #. type: Plain text
10862 #: build/C/man7/svipc.7:155
10863 msgid "Number of messages currently on the message queue."
10864 msgstr "現在、このメッセージ・キューにあるメッセージの数。"
10865
10866 #. type: TP
10867 #: build/C/man7/svipc.7:155
10868 #, no-wrap
10869 msgid "I<msg_qbytes>"
10870 msgstr "I<msg_qbytes>"
10871
10872 #. type: Plain text
10873 #: build/C/man7/svipc.7:159
10874 msgid "Maximum number of bytes of message text allowed on the message queue."
10875 msgstr "メッセージ・キューに入れることができるメッセージの最大バイト数。"
10876
10877 #. type: TP
10878 #: build/C/man7/svipc.7:159
10879 #, no-wrap
10880 msgid "I<msg_lspid>"
10881 msgstr "I<msg_lspid>"
10882
10883 #. type: Plain text
10884 #: build/C/man7/svipc.7:164
10885 msgid "ID of the process that performed the last B<msgsnd>(2)  system call."
10886 msgstr "最後に B<msgsnd>(2)  システム・コールを行なったプロセスの ID。"
10887
10888 #. type: TP
10889 #: build/C/man7/svipc.7:164
10890 #, no-wrap
10891 msgid "I<msg_lrpid>"
10892 msgstr "I<msg_lrpid>"
10893
10894 #. type: Plain text
10895 #: build/C/man7/svipc.7:169
10896 msgid "ID of the process that performed the last B<msgrcv>(2)  system call."
10897 msgstr "最後に B<msgrcv>(2)  システム・コールを行なったプロセスの ID。"
10898
10899 #. type: TP
10900 #: build/C/man7/svipc.7:169
10901 #, no-wrap
10902 msgid "I<msg_stime>"
10903 msgstr "I<msg_stime>"
10904
10905 #. type: Plain text
10906 #: build/C/man7/svipc.7:174
10907 msgid "Time of the last B<msgsnd>(2)  system call."
10908 msgstr "最後に B<msgsnd>(2)  システム・コールを行なった時間。"
10909
10910 #. type: TP
10911 #: build/C/man7/svipc.7:174
10912 #, no-wrap
10913 msgid "I<msg_rtime>"
10914 msgstr "I<msg_rtime>"
10915
10916 #. type: Plain text
10917 #: build/C/man7/svipc.7:179
10918 msgid "Time of the last B<msgrcv>(2)  system call."
10919 msgstr "最後に B<msgrcv>(2)  を行なった時間。"
10920
10921 #. type: TP
10922 #: build/C/man7/svipc.7:179
10923 #, no-wrap
10924 msgid "I<msg_ctime>"
10925 msgstr "I<msg_ctime>"
10926
10927 #. type: Plain text
10928 #: build/C/man7/svipc.7:185
10929 msgid ""
10930 "Time of the last system call that changed a member of the I<msqid_ds> "
10931 "structure."
10932 msgstr "最後に I<msqid_ds> 構造体のメンバーが変更された時間。"
10933
10934 #. type: SS
10935 #: build/C/man7/svipc.7:185
10936 #, no-wrap
10937 msgid "Semaphore Sets"
10938 msgstr "セマフォー集合"
10939
10940 #. type: Plain text
10941 #: build/C/man7/svipc.7:193
10942 msgid ""
10943 "A semaphore set is uniquely identified by a positive integer (its I<semid>)  "
10944 "and has an associated data structure of type I<struct semid_ds>, defined in "
10945 "I<E<lt>sys/sem.hE<gt>>, containing the following members:"
10946 msgstr ""
10947 "セマフォー集合は正の整数 (I<semid>)  によって識別され、 I<E<lt>sys/sem."
10948 "hE<gt>> に定義されている構造体 I<struct semid_ds> に結びつけられている。 この"
10949 "構造体は以下のメンバーを含んでいる:"
10950
10951 #. type: Plain text
10952 #: build/C/man7/svipc.7:202
10953 #, no-wrap
10954 msgid ""
10955 "struct semid_ds {\n"
10956 "    struct ipc_perm sem_perm;\n"
10957 "    time_t          sem_otime;   /* last operation time */\n"
10958 "    time_t          sem_ctime;   /* last change time */\n"
10959 "    unsigned long   sem_nsems;   /* count of sems in set */\n"
10960 "};\n"
10961 msgstr ""
10962 "struct semid_ds {\n"
10963 "    struct ipc_perm sem_perm;\n"
10964 "    time_t          sem_otime;   /* 最後に操作した時間 */\n"
10965 "    time_t          sem_ctime;   /* 最後に変更した時間 */\n"
10966 "    unsigned long   sem_nsems;   /* 集合の中にあるセマフォー数 */\n"
10967 "};\n"
10968
10969 #. type: TP
10970 #: build/C/man7/svipc.7:204
10971 #, no-wrap
10972 msgid "I<sem_perm>"
10973 msgstr "I<sem_perm>"
10974
10975 #. type: Plain text
10976 #: build/C/man7/svipc.7:209
10977 msgid ""
10978 "I<ipc_perm> structure that specifies the access permissions on the semaphore "
10979 "set."
10980 msgstr "セマフォー集合へのアクセス許可を指定する I<ipc_perm> 構造体。"
10981
10982 #. type: TP
10983 #: build/C/man7/svipc.7:209
10984 #, no-wrap
10985 msgid "I<sem_otime>"
10986 msgstr "I<sem_otime>"
10987
10988 #. type: Plain text
10989 #: build/C/man7/svipc.7:214
10990 msgid "Time of last B<semop>(2)  system call."
10991 msgstr "最後に B<semop>(2)  システム・コールを行なった時間。"
10992
10993 #. type: TP
10994 #: build/C/man7/svipc.7:214
10995 #, no-wrap
10996 msgid "I<sem_ctime>"
10997 msgstr "I<sem_ctime>"
10998
10999 #. type: Plain text
11000 #: build/C/man7/svipc.7:220
11001 msgid ""
11002 "Time of last B<semctl>(2)  system call that changed a member of the above "
11003 "structure or of one semaphore belonging to the set."
11004 msgstr ""
11005 "最後に B<semctl>(2)  を行なって上記の構造体のメンバーを変更するか、セマフォー"
11006 "集合に属する セマフォーを変更した時間。"
11007
11008 #. type: TP
11009 #: build/C/man7/svipc.7:220
11010 #, no-wrap
11011 msgid "I<sem_nsems>"
11012 msgstr "I<sem_nsems>"
11013
11014 #. type: Plain text
11015 #: build/C/man7/svipc.7:228
11016 msgid ""
11017 "Number of semaphores in the set.  Each semaphore of the set is referenced by "
11018 "a nonnegative integer ranging from B<0> to I<sem_nsems-1>."
11019 msgstr ""
11020 "セマフォー集合の中にあるセマフォーの数。 集合の中にあるそれぞれのセマフォーは"
11021 "負でない整数によって参照され、 B<0> から I<sem_nsems-1> までの番号を持つ。"
11022
11023 #. type: Plain text
11024 #: build/C/man7/svipc.7:232
11025 msgid ""
11026 "A semaphore is a data structure of type I<struct sem> containing the "
11027 "following members:"
11028 msgstr ""
11029 "セマフォーは I<struct sem> 型のデータ構造体であり、以下のメンバーを含んでい"
11030 "る:"
11031
11032 #.     unsigned short semncnt; /* nr awaiting semval to increase */
11033 #.     unsigned short semzcnt; /* nr awaiting semval = 0 */
11034 #. type: Plain text
11035 #: build/C/man7/svipc.7:241
11036 #, no-wrap
11037 msgid ""
11038 "struct sem {\n"
11039 "    int semval;  /* semaphore value */\n"
11040 "    int sempid;  /* PID for last operation */\n"
11041 "};\n"
11042 msgstr ""
11043 "struct sem {\n"
11044 "    int semval;  /* セマフォーの値 */\n"
11045 "    int sempid;  /* 最後に操作したプロセス ID */\n"
11046 "};\n"
11047
11048 #. type: TP
11049 #: build/C/man7/svipc.7:243
11050 #, no-wrap
11051 msgid "I<semval>"
11052 msgstr "I<semval>"
11053
11054 #. type: Plain text
11055 #: build/C/man7/svipc.7:246
11056 msgid "Semaphore value: a nonnegative integer."
11057 msgstr "セマフォー値: 負でない整数。"
11058
11059 #. type: TP
11060 #: build/C/man7/svipc.7:246
11061 #, no-wrap
11062 msgid "I<sempid>"
11063 msgstr "I<sempid>"
11064
11065 #. .TP
11066 #. .I semncnt
11067 #. Number of processes suspended awaiting for
11068 #. .I semval
11069 #. to increase.
11070 #. .TP
11071 #. .I semznt
11072 #. Number of processes suspended awaiting for
11073 #. .I semval
11074 #. to become zero.
11075 #. type: Plain text
11076 #: build/C/man7/svipc.7:260
11077 msgid ""
11078 "ID of the last process that performed a semaphore operation on this "
11079 "semaphore."
11080 msgstr "このセマフォーを最後に操作したプロセスの ID。"
11081
11082 #. type: SS
11083 #: build/C/man7/svipc.7:260
11084 #, no-wrap
11085 msgid "Shared Memory Segments"
11086 msgstr "共有メモリ・セグメント"
11087
11088 #. type: Plain text
11089 #: build/C/man7/svipc.7:268
11090 msgid ""
11091 "A shared memory segment is uniquely identified by a positive integer (its "
11092 "I<shmid>)  and has an associated data structure of type I<struct shmid_ds>, "
11093 "defined in I<E<lt>sys/shm.hE<gt>>, containing the following members:"
11094 msgstr ""
11095 "共有メモリ・セグメトは正の整数 (I<shmid>)  によって識別され、 I<E<lt>sys/shm."
11096 "hE<gt>> に定義されている I<struct shmid_ds> 構造体に結びつけられている。 この"
11097 "構造体は以下のメンバーを含んでいる:"
11098
11099 #. type: Plain text
11100 #: build/C/man7/svipc.7:281
11101 #, no-wrap
11102 msgid ""
11103 "struct shmid_ds {\n"
11104 "    struct ipc_perm shm_perm;\n"
11105 "    size_t          shm_segsz;   /* size of segment */\n"
11106 "    pid_t           shm_cpid;    /* PID of creator */\n"
11107 "    pid_t           shm_lpid;    /* PID, last operation */\n"
11108 "    shmatt_t        shm_nattch;  /* no. of current attaches */\n"
11109 "    time_t          shm_atime;   /* time of last attach */\n"
11110 "    time_t          shm_dtime;   /* time of last detach */\n"
11111 "    time_t          shm_ctime;   /* time of last change */\n"
11112 "};\n"
11113 msgstr ""
11114 "struct shmid_ds {\n"
11115 "    struct ipc_perm shm_perm;\n"
11116 "    size_t          shm_segsz;   /* セグメントのサイズ */\n"
11117 "    pid_t           shm_cpid;    /* 作成者のプロセス ID */\n"
11118 "    pid_t           shm_lpid;    /* 最後に操作したプロセス ID */\n"
11119 "    shmatt_t        shm_nattch;  /* 現在、付加している数 */\n"
11120 "    time_t          shm_atime;   /* 最後に付加した時間 */\n"
11121 "    time_t          shm_dtime;   /* 最後に分離した時間 */\n"
11122 "    time_t          shm_ctime;   /* 最後に変更した時間 */\n"
11123 "};\n"
11124
11125 #. type: TP
11126 #: build/C/man7/svipc.7:283
11127 #, no-wrap
11128 msgid "I<shm_perm>"
11129 msgstr "I<shm_perm>"
11130
11131 #. type: Plain text
11132 #: build/C/man7/svipc.7:288
11133 msgid ""
11134 "I<ipc_perm> structure that specifies the access permissions on the shared "
11135 "memory segment."
11136 msgstr "共有メモリ・セグメントへのアクセス許可を指定した I<ipc_perm> 構造体。"
11137
11138 #. type: TP
11139 #: build/C/man7/svipc.7:288
11140 #, no-wrap
11141 msgid "I<shm_segsz>"
11142 msgstr "I<shm_segsz>"
11143
11144 #. type: Plain text
11145 #: build/C/man7/svipc.7:291
11146 msgid "Size in bytes of the shared memory segment."
11147 msgstr "共有メモリ・セグメントのバイト数。"
11148
11149 #. type: TP
11150 #: build/C/man7/svipc.7:291
11151 #, no-wrap
11152 msgid "I<shm_cpid>"
11153 msgstr "I<shm_cpid>"
11154
11155 #. type: Plain text
11156 #: build/C/man7/svipc.7:294
11157 msgid "ID of the process that created the shared memory segment."
11158 msgstr "共有メモリ・セグメントを作成したプロセスの ID。"
11159
11160 #. type: TP
11161 #: build/C/man7/svipc.7:294
11162 #, no-wrap
11163 msgid "I<shm_lpid>"
11164 msgstr "I<shm_lpid>"
11165
11166 #. type: Plain text
11167 #: build/C/man7/svipc.7:301
11168 msgid ""
11169 "ID of the last process that executed a B<shmat>(2)  or B<shmdt>(2)  system "
11170 "call."
11171 msgstr ""
11172 "最後に B<shmat>(2)  または B<shmdt>(2)  システム・コールを実行したプロセスの "
11173 "ID。"
11174
11175 #. type: TP
11176 #: build/C/man7/svipc.7:301
11177 #, no-wrap
11178 msgid "I<shm_nattch>"
11179 msgstr "I<shm_nattch>"
11180
11181 #. type: Plain text
11182 #: build/C/man7/svipc.7:304
11183 msgid "Number of current alive attaches for this shared memory segment."
11184 msgstr ""
11185 "この共有メモリ・セグメントをメモリに付加 (attach) しているプロセスの数。"
11186
11187 #. type: TP
11188 #: build/C/man7/svipc.7:304
11189 #, no-wrap
11190 msgid "I<shm_atime>"
11191 msgstr "I<shm_atime>"
11192
11193 #. type: Plain text
11194 #: build/C/man7/svipc.7:309
11195 msgid "Time of the last B<shmat>(2)  system call."
11196 msgstr "最後に B<shmat>(2)  システム・コールを行なった時間。"
11197
11198 #. type: TP
11199 #: build/C/man7/svipc.7:309
11200 #, no-wrap
11201 msgid "I<shm_dtime>"
11202 msgstr "I<shm_dtime>"
11203
11204 #. type: Plain text
11205 #: build/C/man7/svipc.7:314
11206 msgid "Time of the last B<shmdt>(2)  system call."
11207 msgstr "最後に B<shmdt>(2)  システム・コールを行なった時間。"
11208
11209 #. type: TP
11210 #: build/C/man7/svipc.7:314
11211 #, no-wrap
11212 msgid "I<shm_ctime>"
11213 msgstr "I<shm_ctime>"
11214
11215 #. type: Plain text
11216 #: build/C/man7/svipc.7:320
11217 msgid "Time of the last B<shmctl>(2)  system call that changed I<shmid_ds>."
11218 msgstr ""
11219 "最後に B<shmctl>(2)  システム・コールを行なって、 I<shmid_ds> 構造体を変更し"
11220 "た時間。"
11221
11222 #. type: Plain text
11223 #: build/C/man7/svipc.7:334
11224 msgid ""
11225 "B<ipc>(2), B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>"
11226 "(2), B<semget>(2), B<semop>(2), B<shmat>(2), B<shmctl>(2), B<shmdt>(2), "
11227 "B<shmget>(2), B<ftok>(3)"
11228 msgstr ""
11229 "B<ipc>(2), B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>"
11230 "(2), B<semget>(2), B<semop>(2), B<shmat>(2), B<shmctl>(2), B<shmdt>(2), "
11231 "B<shmget>(2), B<ftok>(3)"
11232
11233 #. type: TH
11234 #: build/C/man3/ulimit.3:27
11235 #, no-wrap
11236 msgid "ULIMIT"
11237 msgstr "ULIMIT"
11238
11239 #. type: TH
11240 #: build/C/man3/ulimit.3:27
11241 #, no-wrap
11242 msgid "2008-08-06"
11243 msgstr "2008-08-06"
11244
11245 #. type: Plain text
11246 #: build/C/man3/ulimit.3:30
11247 msgid "ulimit - get and set user limits"
11248 msgstr "ulimit - ユーザー制限を取得・設定する"
11249
11250 #. type: Plain text
11251 #: build/C/man3/ulimit.3:32
11252 msgid "B<#include E<lt>ulimit.hE<gt>>"
11253 msgstr "B<#include E<lt>ulimit.hE<gt>>"
11254
11255 #. type: Plain text
11256 #: build/C/man3/ulimit.3:34
11257 msgid "B<long ulimit(int >I<cmd>B<, long >I<newlimit>B<);>"
11258 msgstr "B<long ulimit(int >I<cmd>B<, long >I<newlimit>B<);>"
11259
11260 #. type: Plain text
11261 #: build/C/man3/ulimit.3:46
11262 msgid ""
11263 "Warning: This routine is obsolete.  Use B<getrlimit>(2), B<setrlimit>(2), "
11264 "and B<sysconf>(3)  instead.  For the shell command B<ulimit>(), see B<bash>"
11265 "(1)."
11266 msgstr ""
11267 "注意: このルーチンは古い。 代わりに B<getrlimit>(2), B<setrlimit>(2), "
11268 "B<sysconf>(3)  などを用いること。 シェルコマンドとしての B<ulimit>()  につい"
11269 "ては、 B<bash>(1)  を見ること。"
11270
11271 #. type: Plain text
11272 #: build/C/man3/ulimit.3:53
11273 msgid ""
11274 "The B<ulimit>()  call will get or set some limit for the calling process.  "
11275 "The I<cmd> argument can have one of the following values."
11276 msgstr ""
11277 "B<ulimit>()  は呼び出し元のプロセスに関する制限のいくつかを取得・設定する。 "
11278 "I<cmd> 引き数には、以下の値のうちのどれか一つを与えることができる。"
11279
11280 #. type: TP
11281 #: build/C/man3/ulimit.3:53
11282 #, no-wrap
11283 msgid "B<UL_GETFSIZE>"
11284 msgstr "B<UL_GETFSIZE>"
11285
11286 #. type: Plain text
11287 #: build/C/man3/ulimit.3:56
11288 msgid "Return the limit on the size of a file, in units of 512 bytes."
11289 msgstr "ファイルサイズに関する制限を返す。単位は 512 バイト。"
11290
11291 #. type: TP
11292 #: build/C/man3/ulimit.3:56
11293 #, no-wrap
11294 msgid "B<UL_SETFSIZE>"
11295 msgstr "B<UL_SETFSIZE>"
11296
11297 #. type: Plain text
11298 #: build/C/man3/ulimit.3:59
11299 msgid "Set the limit on the size of a file."
11300 msgstr "ファイルサイズに関する制限を設定する。"
11301
11302 #. type: TP
11303 #: build/C/man3/ulimit.3:59
11304 #, no-wrap
11305 msgid "B<3>"
11306 msgstr "B<3>"
11307
11308 #. type: Plain text
11309 #: build/C/man3/ulimit.3:63
11310 msgid ""
11311 "(Not implemented for Linux.)  Return the maximum possible address of the "
11312 "data segment."
11313 msgstr ""
11314 "(Linux では実装されていない)  データセグメントで指定できるアドレスの最大値を"
11315 "返す。"
11316
11317 #. type: TP
11318 #: build/C/man3/ulimit.3:63
11319 #, no-wrap
11320 msgid "B<4>"
11321 msgstr "B<4>"
11322
11323 #. type: Plain text
11324 #: build/C/man3/ulimit.3:67
11325 msgid ""
11326 "(Implemented but no symbolic constant provided.)  Return the maximum number "
11327 "of files that the calling process can open."
11328 msgstr ""
11329 "(実装されているが、対応するシンボリックな定数は存在しない)  プロセスがオープ"
11330 "ンできるファイル数の最大値を返す。"
11331
11332 #. type: Plain text
11333 #: build/C/man3/ulimit.3:74
11334 msgid ""
11335 "On success, B<ulimit>()  returns a nonnegative value.  On error, -1 is "
11336 "returned, and I<errno> is set appropriately."
11337 msgstr ""
11338 "成功すると B<ulimit>()  は 0 または正の値を返す。 エラーが生じると -1 を返"
11339 "し、 I<errno> を適切な値に設定する。"
11340
11341 #. type: Plain text
11342 #: build/C/man3/ulimit.3:78
11343 msgid "A unprivileged process tried to increase a limit."
11344 msgstr "非特権プロセスが制限値を増加させようとした。"
11345
11346 #. type: Plain text
11347 #: build/C/man3/ulimit.3:83
11348 msgid "SVr4, POSIX.1-2001.  POSIX.1-2008 marks B<ulimit>()  as obsolete."
11349 msgstr ""
11350 "SVr4, POSIX.1-2001.  POSIX.1-2008 は B<ulimit>()  を廃止予定としている。"
11351
11352 #. type: Plain text
11353 #: build/C/man3/ulimit.3:88
11354 msgid "B<bash>(1), B<getrlimit>(2), B<setrlimit>(2), B<sysconf>(3)"
11355 msgstr "B<bash>(1), B<getrlimit>(2), B<setrlimit>(2), B<sysconf>(3)"
11356
11357 #, fuzzy
11358 #~| msgid "2010-09-20"
11359 #~ msgid "2011-10-04"
11360 #~ msgstr "2010-09-20"
11361
11362 #~ msgid ""
11363 #~ "Perform various network-related operations (e.g., setting privileged "
11364 #~ "socket options, enabling multicasting, interface configuration, modifying "
11365 #~ "routing tables)."
11366 #~ msgstr ""
11367 #~ "各種のネットワーク関連の操作を実行する。 (例えば、特権が必要なソケットオプ"
11368 #~ "ションを設定する、マルチキャストを有効にする、 インターフェースを設定す"
11369 #~ "る、ルーティングテーブルを変更するなど)"
11370
11371 #~ msgid "Use B<vhangup>(2)."
11372 #~ msgstr "B<vhangup>(2)  を呼び出す。"
11373
11374 #~ msgid "2010-06-19"
11375 #~ msgstr "2010-06-19"
11376
11377 #~ msgid "1993-07-23"
11378 #~ msgstr "1993-07-23"
11379
11380 #~ msgid "2007-12-28"
11381 #~ msgstr "2007-12-28"
11382
11383 #~ msgid "I<rlim> points outside the accessible address space."
11384 #~ msgstr "I<rlim> がアクセス可能なアドレス空間の外を指している。"
11385
11386 #~ msgid "2009-08-25"
11387 #~ msgstr "2009-08-25"
11388
11389 #~ msgid ""
11390 #~ "The structure definition shown at the start of this page was taken from "
11391 #~ "4.3BSD Reno.  Not all fields are meaningful under Linux.  In Linux 2.4 "
11392 #~ "only the fields I<ru_utime>, I<ru_stime>, I<ru_minflt>, and I<ru_majflt> "
11393 #~ "are maintained.  Since Linux 2.6, I<ru_nvcsw> and I<ru_nivcsw> are also "
11394 #~ "maintained.  Since Linux 2.6.22, I<ru_inblock> and I<ru_oublock> are also "
11395 #~ "maintained."
11396 #~ msgstr ""
11397 #~ "このページの最初で示した構造体の定義は 4.3BSD Reno のものを採用した。 "
11398 #~ "Linux では全てのフィールドが意味を持つというわけではない。 Linux 2.4 で"
11399 #~ "は、フィールド I<ru_utime>, I<ru_stime>, I<ru_minflt>, I<ru_majflt> のみが"
11400 #~ "メンテナンスされている。 Linux 2.6 以降では I<ru_nvcsw>, I<ru_nivcsw> もメ"
11401 #~ "ンテナンスされている。 Linux 2.6.22 以降では I<ru_inblock>, I<ru_oublock> "
11402 #~ "もメンテナンスされている。"
11403
11404 #~ msgid "2008-12-05"
11405 #~ msgstr "2008-12-05"
11406
11407 #~ msgid "2007-07-26"
11408 #~ msgstr "2007-07-26"
11409
11410 #~ msgid "2010-02-21"
11411 #~ msgstr "2010-02-21"
11412
11413 #~ msgid "Linux Notes"
11414 #~ msgstr "Linux での注意"