OSDN Git Service

(split) LDP: Update POT and ja.po to LDP v3.37.
[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-22 00:37+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
533 #. type: TH
534 #: build/C/man5/acct.5:23
535 #, no-wrap
536 msgid "2008-06-15"
537 msgstr "2008-06-15"
538
539 #. type: Plain text
540 #: build/C/man5/acct.5:26
541 msgid "acct - process accounting file"
542 msgstr "acct - プロセス・アカウンティング・ファイル"
543
544 #. type: Plain text
545 #: build/C/man5/acct.5:28
546 msgid "B<#include E<lt>sys/acct.hE<gt>>"
547 msgstr "B<#include E<lt>sys/acct.hE<gt>>"
548
549 #. type: Plain text
550 #: build/C/man5/acct.5:34
551 msgid ""
552 "If the kernel is built with the process accounting option enabled "
553 "(B<CONFIG_BSD_PROCESS_ACCT>), then calling B<acct>(2)  starts process "
554 "accounting, for example:"
555 msgstr ""
556 "カーネルがプロセス・アカウンティングのオプション "
557 "(B<CONFIG_BSD_PROCESS_ACCT>)  を有効にして作成されていると、以下のように "
558 "B<acct>(2)  を呼び出すとプロセス・アカウンティングが開始される。"
559
560 #. type: Plain text
561 #: build/C/man5/acct.5:37
562 msgid "acct(\"/var/log/pacct\");"
563 msgstr " acct(\"/var/log/pacct\");\n"
564
565 #. type: Plain text
566 #: build/C/man5/acct.5:45
567 msgid ""
568 "When process accounting is enabled, the kernel writes a record to the "
569 "accounting file as each process on the system terminates.  This record "
570 "contains information about the terminated process, and is defined in "
571 "I<E<lt>sys/acct.hE<gt>> as follows:"
572 msgstr ""
573 "プロセス・アカウンティングが有効になっていると、カーネルは システム上の各プロ"
574 "セスが終了するたびにアカウンティングファイルに レコードを書き込む。 このレ"
575 "コードは、終了したプロセスに関する情報を保持するもので、 I<E<lt>sys/acct."
576 "hE<gt>> で以下のように定義されている。"
577
578 #. type: Plain text
579 #: build/C/man5/acct.5:49
580 #, no-wrap
581 msgid "#define ACCT_COMM 16\n"
582 msgstr "#define ACCT_COMM 16\n"
583
584 #. type: Plain text
585 #: build/C/man5/acct.5:51
586 #, no-wrap
587 msgid "typedef u_int16_t comp_t;\n"
588 msgstr "typedef u_int16_t comp_t;\n"
589
590 #. type: Plain text
591 #: build/C/man5/acct.5:75
592 #, no-wrap
593 msgid ""
594 "struct acct {\n"
595 "    char ac_flag;           /* Accounting flags */\n"
596 "    u_int16_t ac_uid;       /* Accounting user ID */\n"
597 "    u_int16_t ac_gid;       /* Accounting group ID */\n"
598 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
599 "    u_int32_t ac_btime;     /* Process creation time\n"
600 "                               (seconds since the Epoch) */\n"
601 "    comp_t    ac_utime;     /* User CPU time */\n"
602 "    comp_t    ac_stime;     /* System CPU time */\n"
603 "    comp_t    ac_etime;     /* Elapsed time */\n"
604 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
605 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
606 "    comp_t    ac_rw;        /* Blocks read or written (unused) */\n"
607 "    comp_t    ac_minflt;    /* Minor page faults */\n"
608 "    comp_t    ac_majflt;    /* Major page faults */\n"
609 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
610 "    u_int32_t ac_exitcode;  /* Process termination status\n"
611 "                               (see wait(2)) */\n"
612 "    char      ac_comm[ACCT_COMM+1];\n"
613 "                            /* Command name (basename of last\n"
614 "                               executed command; null-terminated) */\n"
615 "    char      ac_pad[I<X>];    /* padding bytes */\n"
616 "};\n"
617 msgstr ""
618 "struct acct {\n"
619 "    char ac_flag;           /* Accounting flags */\n"
620 "    u_int16_t ac_uid;       /* Accounting user ID */\n"
621 "    u_int16_t ac_gid;       /* Accounting group ID */\n"
622 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
623 "    u_int32_t ac_btime;     /* Process creation time\n"
624 "                               (seconds since the Epoch) */\n"
625 "    comp_t    ac_utime;     /* User CPU time */\n"
626 "    comp_t    ac_stime;     /* System CPU time */\n"
627 "    comp_t    ac_etime;     /* Elapsed time */\n"
628 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
629 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
630 "    comp_t    ac_rw;        /* Blocks read or written (unused) */\n"
631 "    comp_t    ac_minflt;    /* Minor page faults */\n"
632 "    comp_t    ac_majflt;    /* Major page faults */\n"
633 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
634 "    u_int32_t ac_exitcode;  /* Process termination status\n"
635 "                               (see wait(2)) */\n"
636 "    char      ac_comm[ACCT_COMM+1];\n"
637 "                            /* Command name (basename of last\n"
638 "                               executed command; null-terminated) */\n"
639 "    char      ac_pad[I<X>];    /* padding bytes */\n"
640 "};\n"
641
642 #. type: Plain text
643 #: build/C/man5/acct.5:82
644 #, no-wrap
645 msgid ""
646 "enum {          /* Bits that may be set in ac_flag field */\n"
647 "    AFORK = 0x01,           /* Has executed fork, but no exec */\n"
648 "    ASU   = 0x02,           /* Used superuser privileges */\n"
649 "    ACORE = 0x08,           /* Dumped core */\n"
650 "    AXSIG = 0x10            /* Killed by a signal */\n"
651 "};\n"
652 msgstr ""
653 "enum {          /* Bits that may be set in ac_flag field */\n"
654 "    AFORK = 0x01,           /* Has executed fork, but no exec */\n"
655 "    ASU   = 0x02,           /* Used superuser privileges */\n"
656 "    ACORE = 0x08,           /* Dumped core */\n"
657 "    AXSIG = 0x10            /* Killed by a signal */\n"
658 "};\n"
659
660 #. type: Plain text
661 #: build/C/man5/acct.5:92
662 msgid ""
663 "The I<comp_t> data type is a floating-point value consisting of a 3-bit, "
664 "base-8 exponent, and a 13-bit mantissa.  A value, I<c>, of this type can be "
665 "converted to a (long) integer as follows:"
666 msgstr ""
667 "データ型 I<comp_t> は浮動小数点値で、3 ビット幅の基数が 8 の指数部と 13 ビッ"
668 "ト幅の仮数部から 構成される。 I<comp_t> 型の値 I<c> は以下のようにして (long "
669 "型の) 整数に変換できる。"
670
671 #. type: Plain text
672 #: build/C/man5/acct.5:95
673 #, no-wrap
674 msgid "    v = (c & 0x1fff) E<lt>E<lt> (((c E<gt>E<gt> 13) & 0x7) * 3);\n"
675 msgstr "    v = (c & 0x1fff) E<lt>E<lt> (((c E<gt>E<gt> 13) & 0x7) * 3);\n"
676
677 #. type: Plain text
678 #: build/C/man5/acct.5:105
679 msgid ""
680 "The I<ac_utime>, I<ac_stime>, and I<ac_etime> fields measure time in \"clock "
681 "ticks\"; divide these values by I<sysconf(_SC_CLK_TCK)> to convert them to "
682 "seconds."
683 msgstr ""
684 "フィールド I<ac_utime>, I<ac_stime>, I<ac_etime> は \"clock ticks\" 単位で計"
685 "測した時間である。 これらの値を I<sysconf(_SC_CLK_TCK)> で割ると、秒に変換で"
686 "きる。"
687
688 #. type: SS
689 #: build/C/man5/acct.5:105
690 #, no-wrap
691 msgid "Version 3 Accounting File Format"
692 msgstr "バージョン 3 のアカウンティングファイルのフォーマット"
693
694 #. type: Plain text
695 #: build/C/man5/acct.5:120
696 msgid ""
697 "Since kernel 2.6.8, an optional alternative version of the accounting file "
698 "can be produced if the B<CONFIG_BSD_PROCESS_ACCT_V3> option is set when "
699 "building the kernel.  With this option is set, the records written to the "
700 "accounting file contain additional fields, and the width of I<c_uid> and "
701 "I<ac_gid> fields is widened from 16 to 32 bits (in line with the increased "
702 "size of UID and GIDs in Linux 2.4 and later).  The records are defined as "
703 "follows:"
704 msgstr ""
705 "カーネル 2.6.8 以降では、 別のバージョンのアカウンティングファイルを生成する"
706 "ことができ、 これを使うにはカーネル構築時に B<CONFIG_BSD_PROCESS_ACCT_V3> オ"
707 "プションが有効になっている必要がある。 このオプションが設定されると、アカウン"
708 "ティングファイルに書き込まれる レコードにフィールドが追加される。 また、"
709 "フィールド I<c_uid> と I<ac_gid> の幅が 16 ビットから 32 ビットに拡張される "
710 "(これは Linux 2.4 以降で UID と GID のサイズが増えているのに 対応したものであ"
711 "る)。 このレコードは以下のように定義されている。"
712
713 #. type: Plain text
714 #: build/C/man5/acct.5:145
715 #, no-wrap
716 msgid ""
717 "struct acct_v3 {\n"
718 "    char      ac_flag;      /* Flags */\n"
719 "    char      ac_version;   /* Always set to ACCT_VERSION (3) */\n"
720 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
721 "    u_int32_t ac_exitcode;  /* Process termination status */\n"
722 "    u_int32_t ac_uid;       /* Real user ID */\n"
723 "    u_int32_t ac_gid;       /* Real group ID */\n"
724 "    u_int32_t ac_pid;       /* Process ID */\n"
725 "    u_int32_t ac_ppid;      /* Parent process ID */\n"
726 "    u_int32_t ac_btime;     /* Process creation time */\n"
727 "    float     ac_etime;     /* Elapsed time */\n"
728 "    comp_t    ac_utime;     /* User CPU time */\n"
729 "    comp_t    ac_stime;     /* System time */\n"
730 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
731 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
732 "    comp_t    ac_rw;        /* Blocks read or written\n"
733 "                               (unused) */\n"
734 "    comp_t    ac_minflt;    /* Minor page faults */\n"
735 "    comp_t    ac_majflt;    /* Major page faults */\n"
736 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
737 "    char      ac_comm[ACCT_COMM]; /* Command name */\n"
738 "};\n"
739 msgstr ""
740 "struct acct_v3 {\n"
741 "    char      ac_flag;      /* Flags */\n"
742 "    char      ac_version;   /* Always set to ACCT_VERSION (3) */\n"
743 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
744 "    u_int32_t ac_exitcode;  /* Process termination status */\n"
745 "    u_int32_t ac_uid;       /* Real user ID */\n"
746 "    u_int32_t ac_gid;       /* Real group ID */\n"
747 "    u_int32_t ac_pid;       /* Process ID */\n"
748 "    u_int32_t ac_ppid;      /* Parent process ID */\n"
749 "    u_int32_t ac_btime;     /* Process creation time */\n"
750 "    float     ac_etime;     /* Elapsed time */\n"
751 "    comp_t    ac_utime;     /* User CPU time */\n"
752 "    comp_t    ac_stime;     /* System time */\n"
753 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
754 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
755 "    comp_t    ac_rw;        /* Blocks read or written\n"
756 "                               (unused) */\n"
757 "    comp_t    ac_minflt;    /* Minor page faults */\n"
758 "    comp_t    ac_majflt;    /* Major page faults */\n"
759 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
760 "    char      ac_comm[ACCT_COMM]; /* Command name */\n"
761 "};\n"
762
763 #. type: SH
764 #: build/C/man5/acct.5:148 build/C/man7/cpuset.7:1337
765 #: build/C/man2/getresuid.2:59 build/C/man2/getrlimit.2:468
766 #: build/C/man2/getsid.2:74 build/C/man2/ioprio_set.2:183
767 #: build/C/man2/setfsgid.2:74 build/C/man2/setfsuid.2:74
768 #: build/C/man2/setresuid.2:81
769 #, no-wrap
770 msgid "VERSIONS"
771 msgstr "バージョン"
772
773 #. type: Plain text
774 #: build/C/man5/acct.5:152
775 msgid "The I<acct_v3> structure is defined in glibc since version 2.6."
776 msgstr "I<acct_v3> 構造体はバージョン 2.6 以降の glibc で定義されている。"
777
778 #. type: Plain text
779 #: build/C/man5/acct.5:156
780 msgid ""
781 "Process accounting originated on BSD.  Although it is present on most "
782 "systems, it is not standardized, and the details vary somewhat between "
783 "systems."
784 msgstr ""
785 "プロセスアカウンティングは BSD 由来である。 この機能はほとんどのシステムに存"
786 "在するが、標準化されておらず、 その詳細はシステムによりいくらか異なる。"
787
788 #. type: Plain text
789 #: build/C/man5/acct.5:159
790 msgid ""
791 "Records in the accounting file are ordered by termination time of the "
792 "process."
793 msgstr "アカウンティングファイルのレコードは、プロセスの終了時刻の順序となる。"
794
795 #. type: Plain text
796 #: build/C/man5/acct.5:166
797 msgid ""
798 "In kernels up to and including 2.6.9, a separate accounting record is "
799 "written for each thread created using the NPTL threading library; since "
800 "Linux 2.6.10, a single accounting record is written for the entire process "
801 "on termination of the last thread in the process."
802 msgstr ""
803 "バージョン 2.6.9 以前のカーネルでは、 NPTL スレッドライブラリを使って作成され"
804 "たスレッドでは スレッド毎に別々のアカウンティングレコードが書き込まれてい"
805 "た。 Linux 2.6.10 以降では、プロセス内の最後のスレッドが終了すると、 プロセス"
806 "全体についてのアカウンティングレコードが一つだけ書き込まれる。"
807
808 #. type: Plain text
809 #: build/C/man5/acct.5:173
810 msgid ""
811 "The I<proc/sys/kernel/acct> file, described in B<proc>(5), defines settings "
812 "that control the behavior of process accounting when disk space runs low."
813 msgstr ""
814 "I<proc/sys/kernel/acct> ファイル (B<proc>(5)  で説明されている) は、ディスク"
815 "容量の残りが少なくなった際の プロセス・アカウンティングの動作を制御する設定を"
816 "保持している。"
817
818 #. type: Plain text
819 #: build/C/man5/acct.5:178
820 msgid "B<lastcomm>(1), B<acct>(2), B<accton>(8), B<sa>(8)"
821 msgstr "B<lastcomm>(1), B<acct>(2), B<accton>(8), B<sa>(8)"
822
823 #. type: TH
824 #: build/C/man7/capabilities.7:46
825 #, no-wrap
826 msgid "CAPABILITIES"
827 msgstr "CAPABILITIES"
828
829 #. type: TH
830 #: build/C/man7/capabilities.7:46
831 #, fuzzy, no-wrap
832 #| msgid "2008-12-03"
833 msgid "2012-03-05"
834 msgstr "2008-12-03"
835
836 #. type: Plain text
837 #: build/C/man7/capabilities.7:49
838 msgid "capabilities - overview of Linux capabilities"
839 msgstr "capabilities - Linux のケーパビリティ (capability) の概要"
840
841 #. type: Plain text
842 #: build/C/man7/capabilities.7:61
843 msgid ""
844 "For the purpose of performing permission checks, traditional UNIX "
845 "implementations distinguish two categories of processes: I<privileged> "
846 "processes (whose effective user ID is 0, referred to as superuser or root), "
847 "and I<unprivileged> processes (whose effective UID is nonzero).  Privileged "
848 "processes bypass all kernel permission checks, while unprivileged processes "
849 "are subject to full permission checking based on the process's credentials "
850 "(usually: effective UID, effective GID, and supplementary group list)."
851 msgstr ""
852 "権限のチェックを行う観点から見ると、伝統的な UNIX の実装では プロセスは二つの"
853 "カテゴリに分類できる: I<特権> プロセス (実効ユーザID が 0 のプロセス。ユーザ"
854 "ID 0 は スーパーユーザや root と呼ばれる) と I<非特権> プロセス (実効ユーザ"
855 "ID が 0 以外のプロセス) である。 非特権プロセスでは、プロセスの資格情報 (通常"
856 "は、実効UID 、実効GID と追加のグループリスト) に基づく権限チェックが行われる"
857 "のに対し、 特権プロセスでは全てのカーネルの権限チェックがバイパスされる。"
858
859 #. type: Plain text
860 #: build/C/man7/capabilities.7:68
861 msgid ""
862 "Starting with kernel 2.2, Linux divides the privileges traditionally "
863 "associated with superuser into distinct units, known as I<capabilities>, "
864 "which can be independently enabled and disabled.  Capabilities are a per-"
865 "thread attribute."
866 msgstr ""
867 "バージョン 2.2 以降の Linux では、 これまでスーパーユーザに結び付けられてきた"
868 "権限を、 いくつかのグループに分割している。これらのグループは I<ケーパビリ"
869 "ティ>(capability)  と呼ばれ、グループ毎に独立に有効、無効を設定できる。 ケー"
870 "パビリティはスレッド単位の属性である。"
871
872 #. type: SS
873 #: build/C/man7/capabilities.7:68
874 #, no-wrap
875 msgid "Capabilities List"
876 msgstr "ケーパビリティのリスト"
877
878 #. type: Plain text
879 #: build/C/man7/capabilities.7:71
880 msgid ""
881 "The following list shows the capabilities implemented on Linux, and the "
882 "operations or behaviors that each capability permits:"
883 msgstr ""
884 "以下のリストは、 Linux で実装されているケーパビリティと 各ケーパビリティが許"
885 "可する操作と動作をまとめたものである。"
886
887 #. type: TP
888 #: build/C/man7/capabilities.7:71
889 #, no-wrap
890 msgid "B<CAP_AUDIT_CONTROL> (since Linux 2.6.11)"
891 msgstr "B<CAP_AUDIT_CONTROL> (Linux 2.6.11 以降)"
892
893 #. type: Plain text
894 #: build/C/man7/capabilities.7:75
895 msgid ""
896 "Enable and disable kernel auditing; change auditing filter rules; retrieve "
897 "auditing status and filtering rules."
898 msgstr ""
899 "カーネル監査 (audit) の有効無効の切り替え、 監査のフィルタ・ルールの変更、 監"
900 "査の状況やフィルタ・ルールの取得ができる。"
901
902 #. type: TP
903 #: build/C/man7/capabilities.7:75
904 #, no-wrap
905 msgid "B<CAP_AUDIT_WRITE> (since Linux 2.6.11)"
906 msgstr "B<CAP_AUDIT_WRITE> (Linux 2.6.11 以降)"
907
908 #. type: Plain text
909 #: build/C/man7/capabilities.7:78
910 msgid "Write records to kernel auditing log."
911 msgstr "カーネル監査のログにレコードを書き込む。"
912
913 #. type: TP
914 #: build/C/man7/capabilities.7:78
915 #, no-wrap
916 msgid "B<CAP_CHOWN>"
917 msgstr "B<CAP_CHOWN>"
918
919 #. type: Plain text
920 #: build/C/man7/capabilities.7:82
921 msgid "Make arbitrary changes to file UIDs and GIDs (see B<chown>(2))."
922 msgstr "ファイルの UID とGID を任意に変更する (B<chown>(2)  参照)。"
923
924 #. type: TP
925 #: build/C/man7/capabilities.7:82
926 #, no-wrap
927 msgid "B<CAP_DAC_OVERRIDE>"
928 msgstr "B<CAP_DAC_OVERRIDE>"
929
930 #. type: Plain text
931 #: build/C/man7/capabilities.7:86
932 msgid ""
933 "Bypass file read, write, and execute permission checks.  (DAC is an "
934 "abbreviation of \"discretionary access control\".)"
935 msgstr ""
936 "ファイルの読み出し、書き込み、実行の権限チェックをバイパスする (DAC は "
937 "\"discretionary access control (任意のアクセス制御)\" の略である)。"
938
939 #. type: TP
940 #: build/C/man7/capabilities.7:86
941 #, no-wrap
942 msgid "B<CAP_DAC_READ_SEARCH>"
943 msgstr "B<CAP_DAC_READ_SEARCH>"
944
945 #. type: Plain text
946 #: build/C/man7/capabilities.7:90
947 msgid ""
948 "Bypass file read permission checks and directory read and execute permission "
949 "checks."
950 msgstr ""
951 "ファイルの読み出し権限のチェックとディレクトリの読み出しと実行 の権限チェック"
952 "をバイパスする。"
953
954 #. type: TP
955 #: build/C/man7/capabilities.7:90
956 #, no-wrap
957 msgid "B<CAP_FOWNER>"
958 msgstr "B<CAP_FOWNER>"
959
960 #. type: IP
961 #: build/C/man7/capabilities.7:94 build/C/man7/capabilities.7:104
962 #: build/C/man7/capabilities.7:108 build/C/man7/capabilities.7:110
963 #: build/C/man7/capabilities.7:112 build/C/man7/capabilities.7:182
964 #: build/C/man7/capabilities.7:184 build/C/man7/capabilities.7:186
965 #: build/C/man7/capabilities.7:188 build/C/man7/capabilities.7:190
966 #: build/C/man7/capabilities.7:192 build/C/man7/capabilities.7:194
967 #: build/C/man7/capabilities.7:196 build/C/man7/capabilities.7:198
968 #: build/C/man7/capabilities.7:222 build/C/man7/capabilities.7:224
969 #: build/C/man7/capabilities.7:270 build/C/man7/capabilities.7:280
970 #: build/C/man7/capabilities.7:286 build/C/man7/capabilities.7:291
971 #: build/C/man7/capabilities.7:297 build/C/man7/capabilities.7:304
972 #: build/C/man7/capabilities.7:307 build/C/man7/capabilities.7:315
973 #: build/C/man7/capabilities.7:317 build/C/man7/capabilities.7:326
974 #: build/C/man7/capabilities.7:333 build/C/man7/capabilities.7:336
975 #: build/C/man7/capabilities.7:338 build/C/man7/capabilities.7:343
976 #: build/C/man7/capabilities.7:346 build/C/man7/capabilities.7:353
977 #: build/C/man7/capabilities.7:358 build/C/man7/capabilities.7:364
978 #: build/C/man7/capabilities.7:368 build/C/man7/capabilities.7:372
979 #: build/C/man7/capabilities.7:376 build/C/man7/capabilities.7:380
980 #: build/C/man7/capabilities.7:407 build/C/man7/capabilities.7:412
981 #: build/C/man7/capabilities.7:417 build/C/man7/capabilities.7:420
982 #: build/C/man7/capabilities.7:423 build/C/man7/capabilities.7:432
983 #: build/C/man7/capabilities.7:436 build/C/man7/capabilities.7:472
984 #: build/C/man7/capabilities.7:474 build/C/man7/capabilities.7:478
985 #: build/C/man7/capabilities.7:480 build/C/man7/capabilities.7:483
986 #: build/C/man7/capabilities.7:487 build/C/man7/capabilities.7:489
987 #: build/C/man7/capabilities.7:491 build/C/man7/capabilities.7:493
988 #: build/C/man7/capabilities.7:502 build/C/man7/capabilities.7:509
989 #: build/C/man7/capabilities.7:514 build/C/man7/capabilities.7:724
990 #: build/C/man7/capabilities.7:732 build/C/man7/capabilities.7:1039
991 #: build/C/man7/capabilities.7:1044 build/C/man7/cpuset.7:539
992 #: build/C/man7/cpuset.7:544 build/C/man7/cpuset.7:549
993 #: build/C/man7/cpuset.7:725 build/C/man7/cpuset.7:729
994 #: build/C/man7/cpuset.7:926 build/C/man7/cpuset.7:929
995 #: build/C/man7/cpuset.7:933 build/C/man7/cpuset.7:937
996 #: build/C/man7/cpuset.7:941 build/C/man7/credentials.7:123
997 #: build/C/man7/credentials.7:129 build/C/man7/credentials.7:141
998 #: build/C/man7/credentials.7:163 build/C/man7/credentials.7:180
999 #: build/C/man7/credentials.7:212 build/C/man7/credentials.7:215
1000 #: build/C/man7/credentials.7:225 build/C/man7/credentials.7:228
1001 #, no-wrap
1002 msgid "*"
1003 msgstr "*"
1004
1005 #. type: Plain text
1006 #: build/C/man7/capabilities.7:104
1007 msgid ""
1008 "Bypass permission checks on operations that normally require the file system "
1009 "UID of the process to match the UID of the file (e.g., B<chmod>(2), B<utime>"
1010 "(2)), excluding those operations covered by B<CAP_DAC_OVERRIDE> and "
1011 "B<CAP_DAC_READ_SEARCH>;"
1012 msgstr ""
1013 "通常、プロセスのファイルシステム UID がファイルの UID に一致することが 要求さ"
1014 "れる操作 (例えば B<chmod>(2), B<utime>(2))  における権限チェックをバイパスす"
1015 "る。 但し、 B<CAP_DAC_OVERRIDE> か B<CAP_DAC_READ_SEARCH> によりチェックが行"
1016 "われる操作は除く。"
1017
1018 #. type: Plain text
1019 #: build/C/man7/capabilities.7:108
1020 msgid "set extended file attributes (see B<chattr>(1))  on arbitrary files;"
1021 msgstr ""
1022 "任意のファイルに対して拡張ファイル属性を設定する (B<chattr>(1)  参照)。"
1023
1024 #. type: Plain text
1025 #: build/C/man7/capabilities.7:110
1026 msgid "set Access Control Lists (ACLs) on arbitrary files;"
1027 msgstr "任意のファイルに対してアクセス制御リスト (ACL) を設定する。"
1028
1029 #. type: Plain text
1030 #: build/C/man7/capabilities.7:112
1031 msgid "ignore directory sticky bit on file deletion;"
1032 msgstr "ファイルの削除の際にディレクトリのスティッキービットを無視する。"
1033
1034 #. type: Plain text
1035 #: build/C/man7/capabilities.7:119
1036 msgid ""
1037 "specify B<O_NOATIME> for arbitrary files in B<open>(2)  and B<fcntl>(2)."
1038 msgstr ""
1039 "B<open>(2)  や B<fcntl>(2)  で任意のファイルに対して B<O_NOATIME> を指定す"
1040 "る。"
1041
1042 #. type: TP
1043 #: build/C/man7/capabilities.7:121
1044 #, no-wrap
1045 msgid "B<CAP_FSETID>"
1046 msgstr "B<CAP_FSETID>"
1047
1048 #. type: Plain text
1049 #: build/C/man7/capabilities.7:127
1050 msgid ""
1051 "Don't clear set-user-ID and set-group-ID permission bits when a file is "
1052 "modified; set the set-group-ID bit for a file whose GID does not match the "
1053 "file system or any of the supplementary GIDs of the calling process."
1054 msgstr ""
1055 "ファイルが変更されたときに set-user-ID とset-group-ID の許可ビットをクリア し"
1056 "ない。呼び出し元プロセスのファイルシステム GID と追加の GID のいずれとも GID "
1057 "が一致しないファイルに対して set-group-ID ビットを設定する。"
1058
1059 #. type: TP
1060 #: build/C/man7/capabilities.7:127
1061 #, no-wrap
1062 msgid "B<CAP_IPC_LOCK>"
1063 msgstr "B<CAP_IPC_LOCK>"
1064
1065 #.  FIXME As at Linux 3.2, there are some strange uses of this capability
1066 #.  in other places; they probably should be replaced with something else.
1067 #. type: Plain text
1068 #: build/C/man7/capabilities.7:136
1069 msgid "Lock memory (B<mlock>(2), B<mlockall>(2), B<mmap>(2), B<shmctl>(2))."
1070 msgstr ""
1071 "メモリーのロック (B<mlock>(2), B<mlockall>(2), B<mmap>(2), B<shmctl>(2))  を"
1072 "行う。"
1073
1074 #. type: TP
1075 #: build/C/man7/capabilities.7:136
1076 #, no-wrap
1077 msgid "B<CAP_IPC_OWNER>"
1078 msgstr "B<CAP_IPC_OWNER>"
1079
1080 #. type: Plain text
1081 #: build/C/man7/capabilities.7:139
1082 msgid "Bypass permission checks for operations on System V IPC objects."
1083 msgstr ""
1084 "System V IPC オブジェクトに対する操作に関して権限チェックをバイパスする。"
1085
1086 #. type: TP
1087 #: build/C/man7/capabilities.7:139
1088 #, no-wrap
1089 msgid "B<CAP_KILL>"
1090 msgstr "B<CAP_KILL>"
1091
1092 #.  FIXME CAP_KILL also has an effect for threads + setting child
1093 #.        termination signal to other than SIGCHLD: without this
1094 #.        capability, the termination signal reverts to SIGCHLD
1095 #.        if the child does an exec().  What is the rationale
1096 #.        for this?
1097 #. type: Plain text
1098 #: build/C/man7/capabilities.7:152
1099 msgid ""
1100 "Bypass permission checks for sending signals (see B<kill>(2)).  This "
1101 "includes use of the B<ioctl>(2)  B<KDSIGACCEPT> operation."
1102 msgstr ""
1103 "シグナルを送信する際に権限チェックをバイパスする (B<kill>(2)  参照)。これに"
1104 "は B<ioctl>(2)  の B<KDSIGACCEPT> 操作の使用も含まれる。"
1105
1106 #. type: TP
1107 #: build/C/man7/capabilities.7:152
1108 #, no-wrap
1109 msgid "B<CAP_LEASE> (since Linux 2.4)"
1110 msgstr "B<CAP_LEASE> (Linux 2.4 以降)"
1111
1112 #. type: Plain text
1113 #: build/C/man7/capabilities.7:156
1114 msgid "Establish leases on arbitrary files (see B<fcntl>(2))."
1115 msgstr "任意のファイルに対して ファイルリースを設定する (B<fcntl>(2)  参照)。"
1116
1117 #. type: TP
1118 #: build/C/man7/capabilities.7:156
1119 #, no-wrap
1120 msgid "B<CAP_LINUX_IMMUTABLE>"
1121 msgstr "B<CAP_LINUX_IMMUTABLE>"
1122
1123 #.  These attributes are now available on ext2, ext3, Reiserfs, XFS, JFS
1124 #. type: Plain text
1125 #: build/C/man7/capabilities.7:165
1126 msgid ""
1127 "Set the B<FS_APPEND_FL> and B<FS_IMMUTABLE_FL> i-node flags (see B<chattr>"
1128 "(1))."
1129 msgstr ""
1130 "拡張ファイル属性 B<FS_APPEND_FL> と B<FS_IMMUTABLE_FL> を設定する (B<chattr>"
1131 "(1)  参照)。"
1132
1133 #. type: TP
1134 #: build/C/man7/capabilities.7:165
1135 #, no-wrap
1136 msgid "B<CAP_MAC_ADMIN> (since Linux 2.6.25)"
1137 msgstr "B<CAP_MAC_ADMIN> (Linux 2.6.25 以降)"
1138
1139 #. type: Plain text
1140 #: build/C/man7/capabilities.7:169
1141 msgid ""
1142 "Override Mandatory Access Control (MAC).  Implemented for the Smack Linux "
1143 "Security Module (LSM)."
1144 msgstr ""
1145 "強制アクセス制御 (MAC) を上書きする。 Smack Linux Security Module (LSM) 用に"
1146 "実装されている。"
1147
1148 #. type: TP
1149 #: build/C/man7/capabilities.7:169
1150 #, no-wrap
1151 msgid "B<CAP_MAC_OVERRIDE> (since Linux 2.6.25)"
1152 msgstr "B<CAP_MAC_OVERRIDE> (Linux 2.6.25 以降)"
1153
1154 #. type: Plain text
1155 #: build/C/man7/capabilities.7:173
1156 msgid ""
1157 "Allow MAC configuration or state changes.  Implemented for the Smack LSM."
1158 msgstr "MAC の設定や状態を変更する。 Smack LSM 用に実装されている。"
1159
1160 #. type: TP
1161 #: build/C/man7/capabilities.7:173
1162 #, no-wrap
1163 msgid "B<CAP_MKNOD> (since Linux 2.4)"
1164 msgstr "B<CAP_MKNOD> (Linux 2.4 以降)"
1165
1166 #. type: Plain text
1167 #: build/C/man7/capabilities.7:177
1168 msgid "Create special files using B<mknod>(2)."
1169 msgstr ""
1170 "(Linux 2.4 以降)  B<mknod>(2)  を使用してスペシャル・ファイルを作成する。"
1171
1172 #. type: TP
1173 #: build/C/man7/capabilities.7:177
1174 #, no-wrap
1175 msgid "B<CAP_NET_ADMIN>"
1176 msgstr "B<CAP_NET_ADMIN>"
1177
1178 #. type: Plain text
1179 #: build/C/man7/capabilities.7:180
1180 msgid "Perform various network-related operations:"
1181 msgstr ""
1182
1183 #. type: Plain text
1184 #: build/C/man7/capabilities.7:184
1185 msgid "interface configuration;"
1186 msgstr ""
1187
1188 #. type: Plain text
1189 #: build/C/man7/capabilities.7:186
1190 msgid "administration of IP firewall, masquerading, and accounting"
1191 msgstr ""
1192
1193 #. type: Plain text
1194 #: build/C/man7/capabilities.7:188
1195 msgid "modify routing tables;"
1196 msgstr ""
1197
1198 #. type: Plain text
1199 #: build/C/man7/capabilities.7:190
1200 msgid "bind to any address for transparent proxying;"
1201 msgstr ""
1202
1203 #. type: Plain text
1204 #: build/C/man7/capabilities.7:192
1205 msgid "set type-of-service (TOS)"
1206 msgstr ""
1207
1208 #. type: Plain text
1209 #: build/C/man7/capabilities.7:194
1210 msgid "clear driver statistics;"
1211 msgstr ""
1212
1213 #. type: Plain text
1214 #: build/C/man7/capabilities.7:196
1215 msgid "set promiscuous mode;"
1216 msgstr ""
1217
1218 #. type: Plain text
1219 #: build/C/man7/capabilities.7:198
1220 msgid "enabling multicasting;"
1221 msgstr ""
1222
1223 #. type: Plain text
1224 #: build/C/man7/capabilities.7:209
1225 msgid ""
1226 "use B<setsockopt>(2)  to set the following socket options: B<SO_DEBUG>, "
1227 "B<SO_MARK>, B<SO_PRIORITY> (for a priority outside the range 0 to 6), "
1228 "B<SO_RCVBUFFORCE>, and B<SO_SNDBUFFORCE>."
1229 msgstr ""
1230
1231 #. type: TP
1232 #: build/C/man7/capabilities.7:211
1233 #, no-wrap
1234 msgid "B<CAP_NET_BIND_SERVICE>"
1235 msgstr "B<CAP_NET_BIND_SERVICE>"
1236
1237 #. type: Plain text
1238 #: build/C/man7/capabilities.7:215
1239 msgid ""
1240 "Bind a socket to Internet domain privileged ports (port numbers less than "
1241 "1024)."
1242 msgstr ""
1243 "インターネットドメインの特権ポート (ポート番号が 1024 番未満)  をバインドでき"
1244 "る。"
1245
1246 #. type: TP
1247 #: build/C/man7/capabilities.7:215
1248 #, no-wrap
1249 msgid "B<CAP_NET_BROADCAST>"
1250 msgstr "B<CAP_NET_BROADCAST>"
1251
1252 #. type: Plain text
1253 #: build/C/man7/capabilities.7:218
1254 msgid "(Unused)  Make socket broadcasts, and listen to multicasts."
1255 msgstr ""
1256 "(未使用) ソケットのブロードキャストと、マルチキャストの待ち受けを行う。"
1257
1258 #. type: TP
1259 #: build/C/man7/capabilities.7:218
1260 #, no-wrap
1261 msgid "B<CAP_NET_RAW>"
1262 msgstr "B<CAP_NET_RAW>"
1263
1264 #. type: Plain text
1265 #: build/C/man7/capabilities.7:224
1266 #, fuzzy
1267 #| msgid "Use RAW and PACKET sockets."
1268 msgid "use RAW and PACKET sockets;"
1269 msgstr "RAW ソケットと PACKET ソケットを使用する。"
1270
1271 #. type: Plain text
1272 #: build/C/man7/capabilities.7:226
1273 msgid "bind to any address for transparent proxying."
1274 msgstr ""
1275
1276 #. type: TP
1277 #: build/C/man7/capabilities.7:229
1278 #, no-wrap
1279 msgid "B<CAP_SETGID>"
1280 msgstr "B<CAP_SETGID>"
1281
1282 #. type: Plain text
1283 #: build/C/man7/capabilities.7:233
1284 msgid ""
1285 "Make arbitrary manipulations of process GIDs and supplementary GID list; "
1286 "forge GID when passing socket credentials via UNIX domain sockets."
1287 msgstr ""
1288 "プロセスの GID と追加の GID リストに対する任意の操作を行う。 UNIX ドメインソ"
1289 "ケット経由でソケットの資格情報 (credential) を渡す際に 偽の GID を渡すことが"
1290 "できる。"
1291
1292 #. type: TP
1293 #: build/C/man7/capabilities.7:233
1294 #, no-wrap
1295 msgid "B<CAP_SETFCAP> (since Linux 2.6.24)"
1296 msgstr "B<CAP_SETFCAP> (Linux 2.6.24 以降)"
1297
1298 #. type: Plain text
1299 #: build/C/man7/capabilities.7:236
1300 msgid "Set file capabilities."
1301 msgstr "ファイルケーパビリティを設定する。"
1302
1303 #. type: TP
1304 #: build/C/man7/capabilities.7:236
1305 #, no-wrap
1306 msgid "B<CAP_SETPCAP>"
1307 msgstr "B<CAP_SETPCAP>"
1308
1309 #. type: Plain text
1310 #: build/C/man7/capabilities.7:247
1311 msgid ""
1312 "If file capabilities are not supported: grant or remove any capability in "
1313 "the caller's permitted capability set to or from any other process.  (This "
1314 "property of B<CAP_SETPCAP> is not available when the kernel is configured to "
1315 "support file capabilities, since B<CAP_SETPCAP> has entirely different "
1316 "semantics for such kernels.)"
1317 msgstr ""
1318 "ファイルケーパビリティがサポートされていない場合: 呼び出し元が許可されている"
1319 "ケーパビリティセットに含まれる任意のケーパビリティを、 他のプロセスに付与した"
1320 "り、削除したりできる。 (カーネルがファイルケーパビリティをサポートしている場"
1321 "合、 B<CAP_SETPCAP> はこの役割を持たない。 なぜなら、ファイルケーパビリティを"
1322 "サポートしているカーネルでは B<CAP_SETPCAP> は全く別の意味を持つからである。)"
1323
1324 #. type: Plain text
1325 #: build/C/man7/capabilities.7:257
1326 msgid ""
1327 "If file capabilities are supported: add any capability from the calling "
1328 "thread's bounding set to its inheritable set; drop capabilities from the "
1329 "bounding set (via B<prctl>(2)  B<PR_CAPBSET_DROP>); make changes to the "
1330 "I<securebits> flags."
1331 msgstr ""
1332 "ファイルケーパビリティがサポートされている場合: 呼び出し元スレッドのバウン"
1333 "ディングセットの任意のケーパビリティを 自身の継承可能ケーパビリティセットに追"
1334 "加できる。 (B<prctl>(2)  B<PR_CAPBSET_DROP> を使って)  バウンディングセットか"
1335 "らケーパビリティを削除できる。 I<securebits> フラグを変更できる。"
1336
1337 #. type: TP
1338 #: build/C/man7/capabilities.7:257
1339 #, no-wrap
1340 msgid "B<CAP_SETUID>"
1341 msgstr "B<CAP_SETUID>"
1342
1343 #.  FIXME CAP_SETUID also an effect in exec(); document this.
1344 #. type: Plain text
1345 #: build/C/man7/capabilities.7:266
1346 msgid ""
1347 "Make arbitrary manipulations of process UIDs (B<setuid>(2), B<setreuid>(2), "
1348 "B<setresuid>(2), B<setfsuid>(2)); make forged UID when passing socket "
1349 "credentials via UNIX domain sockets."
1350 msgstr ""
1351 "プロセスの UID に対する任意の操作 (B<setuid>(2), B<setreuid>(2), B<setresuid>"
1352 "(2), B<setfsuid>(2))  を行う。 UNIX ドメインソケット経由でソケットの資格情報 "
1353 "(credential) を渡す際に 偽の UID を渡すことができる。"
1354
1355 #. type: TP
1356 #: build/C/man7/capabilities.7:266
1357 #, no-wrap
1358 msgid "B<CAP_SYS_ADMIN>"
1359 msgstr "B<CAP_SYS_ADMIN>"
1360
1361 #. type: Plain text
1362 #: build/C/man7/capabilities.7:280
1363 msgid ""
1364 "Perform a range of system administration operations including: B<quotactl>"
1365 "(2), B<mount>(2), B<umount>(2), B<swapon>(2), B<swapoff>(2), B<sethostname>"
1366 "(2), and B<setdomainname>(2);"
1367 msgstr ""
1368 "以下のシステム管理用の操作を実行する: B<quotactl>(2), B<mount>(2), B<umount>"
1369 "(2), B<swapon>(2), B<swapoff>(2), B<sethostname>(2), B<setdomainname>(2)."
1370
1371 #. type: Plain text
1372 #: build/C/man7/capabilities.7:286
1373 msgid ""
1374 "perform privileged B<syslog>(2)  operations (since Linux 2.6.37, "
1375 "B<CAP_SYSLOG> should be used to permit such operations);"
1376 msgstr ""
1377
1378 #. type: Plain text
1379 #: build/C/man7/capabilities.7:291
1380 msgid "perform B<VM86_REQUEST_IRQ> B<vm86>(2)  command;"
1381 msgstr ""
1382
1383 #. type: Plain text
1384 #: build/C/man7/capabilities.7:297
1385 msgid ""
1386 "perform B<IPC_SET> and B<IPC_RMID> operations on arbitrary System V IPC "
1387 "objects;"
1388 msgstr ""
1389 "任意の System V IPC オブジェクトに対する B<IPC_SET> と B<IPC_RMID> 操作を実行"
1390 "する。"
1391
1392 #. type: Plain text
1393 #: build/C/man7/capabilities.7:304
1394 msgid ""
1395 "perform operations on I<trusted> and I<security> Extended Attributes (see "
1396 "B<attr>(5));"
1397 msgstr ""
1398 "拡張属性 I<trusted> と I<security> に対する操作を実行する (B<attr>(5)  参"
1399 "照)。"
1400
1401 #. type: Plain text
1402 #: build/C/man7/capabilities.7:307
1403 msgid "use B<lookup_dcookie>(2);"
1404 msgstr "B<lookup_dcookie>(2)  を呼び出す。"
1405
1406 #. type: Plain text
1407 #: build/C/man7/capabilities.7:315
1408 msgid ""
1409 "use B<ioprio_set>(2)  to assign B<IOPRIO_CLASS_RT> and (before Linux "
1410 "2.6.25)  B<IOPRIO_CLASS_IDLE> I/O scheduling classes;"
1411 msgstr ""
1412 "B<ioprio_set>(2)  を使って I/O スケジューリングクラス B<IOPRIO_CLASS_RT>, "
1413 "B<IOPRIO_CLASS_IDLE> を割り当てる (B<IOPRIO_CLASS_IDLE> は Linux 2.6.25 より"
1414 "前のバージョンのみ)。"
1415
1416 #. type: Plain text
1417 #: build/C/man7/capabilities.7:317
1418 msgid "forge UID when passing socket credentials;"
1419 msgstr "ソケットの資格情報 (credential) を渡す際に偽の UID を渡す。"
1420
1421 #. type: Plain text
1422 #: build/C/man7/capabilities.7:326
1423 msgid ""
1424 "exceed I</proc/sys/fs/file-max>, the system-wide limit on the number of open "
1425 "files, in system calls that open files (e.g., B<accept>(2), B<execve>(2), "
1426 "B<open>(2), B<pipe>(2));"
1427 msgstr ""
1428 "ファイルをオープンするシステムコール (例えば B<accept>(2), B<execve>(2), "
1429 "B<open>(2), B<pipe>(2))  でシステム全体でオープンできるファイル数の上限 I</"
1430 "proc/sys/fs/file-max> を超過する。"
1431
1432 #. type: Plain text
1433 #: build/C/man7/capabilities.7:333
1434 #, fuzzy
1435 #| msgid "employ B<CLONE_NEWNS> flag with B<clone>(2)  and B<unshare>(2);"
1436 msgid ""
1437 "employ B<CLONE_*> flags that create new namespaces with B<clone>(2)  and "
1438 "B<unshare>(2);"
1439 msgstr "B<clone>(2)  と B<unshare>(2)  で B<CLONE_NEWNS> フラグを利用する。"
1440
1441 #. type: Plain text
1442 #: build/C/man7/capabilities.7:336
1443 msgid "call B<perf_event_open>(2);"
1444 msgstr ""
1445
1446 #. type: Plain text
1447 #: build/C/man7/capabilities.7:338
1448 msgid "call"
1449 msgstr ""
1450
1451 #. type: Plain text
1452 #: build/C/man7/capabilities.7:343
1453 msgid "access privileged I<perf> event information; B<setns>(2);"
1454 msgstr ""
1455
1456 #. type: Plain text
1457 #: build/C/man7/capabilities.7:346
1458 msgid "call B<fanotify_init>(2);"
1459 msgstr ""
1460
1461 #. type: Plain text
1462 #: build/C/man7/capabilities.7:353
1463 msgid "perform B<KEYCTL_CHOWN> and B<KEYCTL_SETPERM> B<keyctl>(2)  operations;"
1464 msgstr "B<keyctl>(2)  の B<KEYCTL_CHOWN> と B<KEYCTL_SETPERM> 操作を実行する。"
1465
1466 #. type: Plain text
1467 #: build/C/man7/capabilities.7:358
1468 #, fuzzy
1469 #| msgid "perform B<madvise>(2)  B<MADV_HWPOISON> operation."
1470 msgid "perform B<madvise>(2)  B<MADV_HWPOISON> operation;"
1471 msgstr "B<madvise>(2)  の B<MADV_HWPOISON> 操作を実行する。"
1472
1473 #. type: Plain text
1474 #: build/C/man7/capabilities.7:364
1475 msgid ""
1476 "employ the B<TIOCSTI> B<ioctl>(2)  to insert characters into the input queue "
1477 "of a terminal other than the caller's controlling terminal."
1478 msgstr ""
1479
1480 #. type: Plain text
1481 #: build/C/man7/capabilities.7:368
1482 #, fuzzy
1483 #| msgid "Time of the last B<msgrcv>(2)  system call."
1484 msgid "employ the obsolete B<nfsservctl>(2); system call;"
1485 msgstr "最後に B<msgrcv>(2)  を行なった時間。"
1486
1487 #. type: Plain text
1488 #: build/C/man7/capabilities.7:372
1489 #, fuzzy
1490 #| msgid "Time of the last B<shmat>(2)  system call."
1491 msgid "employ the obsolete B<bdflush>(2)  system call;"
1492 msgstr "最後に B<shmat>(2)  システム・コールを行なった時間。"
1493
1494 #. type: Plain text
1495 #: build/C/man7/capabilities.7:376
1496 msgid "perform various privileged block-device B<ioctl>(2)  operations;"
1497 msgstr ""
1498
1499 #. type: Plain text
1500 #: build/C/man7/capabilities.7:380
1501 msgid "perform various privileged file-system B<ioctl>(2)  operations;"
1502 msgstr ""
1503
1504 #. type: Plain text
1505 #: build/C/man7/capabilities.7:382
1506 msgid "perform administrative operations on many device drivers."
1507 msgstr ""
1508
1509 #. type: TP
1510 #: build/C/man7/capabilities.7:384
1511 #, no-wrap
1512 msgid "B<CAP_SYS_BOOT>"
1513 msgstr "B<CAP_SYS_BOOT>"
1514
1515 #. type: Plain text
1516 #: build/C/man7/capabilities.7:390
1517 msgid "Use B<reboot>(2)  and B<kexec_load>(2)."
1518 msgstr "B<reboot>(2)  と B<kexec_load>(2)  を呼び出す。"
1519
1520 #. type: TP
1521 #: build/C/man7/capabilities.7:390
1522 #, no-wrap
1523 msgid "B<CAP_SYS_CHROOT>"
1524 msgstr "B<CAP_SYS_CHROOT>"
1525
1526 #. type: Plain text
1527 #: build/C/man7/capabilities.7:394
1528 msgid "Use B<chroot>(2)."
1529 msgstr "B<chroot>(2).  を呼び出す。"
1530
1531 #. type: TP
1532 #: build/C/man7/capabilities.7:394
1533 #, no-wrap
1534 msgid "B<CAP_SYS_MODULE>"
1535 msgstr "B<CAP_SYS_MODULE>"
1536
1537 #. type: Plain text
1538 #: build/C/man7/capabilities.7:403
1539 msgid ""
1540 "Load and unload kernel modules (see B<init_module>(2)  and B<delete_module>"
1541 "(2)); in kernels before 2.6.25: drop capabilities from the system-wide "
1542 "capability bounding set."
1543 msgstr ""
1544 "カーネルモジュールのロード、アンロードを行う (B<init_module>(2)  と "
1545 "B<delete_module>(2)  を参照のこと)。 バージョン 2.6.25 より前のカーネルで、 "
1546 "システム全体のケーパビリティバウンディングセット (capability bounding set)  "
1547 "からケーパビリティを外す。"
1548
1549 #. type: TP
1550 #: build/C/man7/capabilities.7:403
1551 #, no-wrap
1552 msgid "B<CAP_SYS_NICE>"
1553 msgstr "B<CAP_SYS_NICE>"
1554
1555 #. type: Plain text
1556 #: build/C/man7/capabilities.7:412
1557 msgid ""
1558 "Raise process nice value (B<nice>(2), B<setpriority>(2))  and change the "
1559 "nice value for arbitrary processes;"
1560 msgstr ""
1561 "プロセスの nice 値の引き上げ (B<nice>(2), B<setpriority>(2))  や、任意のプロ"
1562 "セスの nice 値の変更を行う。"
1563
1564 #. type: Plain text
1565 #: build/C/man7/capabilities.7:417
1566 msgid ""
1567 "set real-time scheduling policies for calling process, and set scheduling "
1568 "policies and priorities for arbitrary processes (B<sched_setscheduler>(2), "
1569 "B<sched_setparam>(2));"
1570 msgstr ""
1571 "呼び出し元プロセスに対するリアルタイム・スケジューリングポリシーと、 任意のプ"
1572 "ロセスに対するスケジューリングポリシーと優先度を設定する "
1573 "(B<sched_setscheduler>(2), B<sched_setparam>(2))。"
1574
1575 #. type: Plain text
1576 #: build/C/man7/capabilities.7:420
1577 msgid "set CPU affinity for arbitrary processes (B<sched_setaffinity>(2));"
1578 msgstr ""
1579 "任意のプロセスに対する CPU affinity を設定できる (B<sched_setaffinity>(2))。"
1580
1581 #. type: Plain text
1582 #: build/C/man7/capabilities.7:423
1583 msgid ""
1584 "set I/O scheduling class and priority for arbitrary processes (B<ioprio_set>"
1585 "(2));"
1586 msgstr ""
1587 "任意のプロセスに対して I/O スケジューリングクラスと優先度を設定できる "
1588 "(B<ioprio_set>(2))。"
1589
1590 #.  FIXME CAP_SYS_NICE also has the following effect for
1591 #.  migrate_pages(2):
1592 #.      do_migrate_pages(mm, &old, &new,
1593 #.          capable(CAP_SYS_NICE) ? MPOL_MF_MOVE_ALL : MPOL_MF_MOVE);
1594 #. type: Plain text
1595 #: build/C/man7/capabilities.7:432
1596 msgid ""
1597 "apply B<migrate_pages>(2)  to arbitrary processes and allow processes to be "
1598 "migrated to arbitrary nodes;"
1599 msgstr ""
1600 "B<migrate_pages>(2)  を任意のプロセスに適用し、プロセスを任意のノードに移動す"
1601 "る。"
1602
1603 #. type: Plain text
1604 #: build/C/man7/capabilities.7:436
1605 msgid "apply B<move_pages>(2)  to arbitrary processes;"
1606 msgstr "B<move_pages>(2)  を任意のプロセスに対して行う。"
1607
1608 #. type: Plain text
1609 #: build/C/man7/capabilities.7:443
1610 msgid ""
1611 "use the B<MPOL_MF_MOVE_ALL> flag with B<mbind>(2)  and B<move_pages>(2)."
1612 msgstr ""
1613 "B<mbind>(2)  と B<move_pages>(2)  で B<MPOL_MF_MOVE_ALL> フラグを使用する。"
1614
1615 #. type: TP
1616 #: build/C/man7/capabilities.7:445
1617 #, no-wrap
1618 msgid "B<CAP_SYS_PACCT>"
1619 msgstr "B<CAP_SYS_PACCT>"
1620
1621 #. type: Plain text
1622 #: build/C/man7/capabilities.7:449
1623 msgid "Use B<acct>(2)."
1624 msgstr "B<acct>(2)  を呼び出す。"
1625
1626 #. type: TP
1627 #: build/C/man7/capabilities.7:449
1628 #, no-wrap
1629 msgid "B<CAP_SYS_PTRACE>"
1630 msgstr "B<CAP_SYS_PTRACE>"
1631
1632 #. type: Plain text
1633 #: build/C/man7/capabilities.7:456
1634 msgid ""
1635 "Trace arbitrary processes using B<ptrace>(2); apply B<get_robust_list>(2)  "
1636 "to arbitrary processes."
1637 msgstr ""
1638 "B<ptrace>(2)  を使って任意のプロセスをトレースする。 任意のプロセスに "
1639 "B<get_robust_list>(2)  を適用する。"
1640
1641 #. type: TP
1642 #: build/C/man7/capabilities.7:456
1643 #, no-wrap
1644 msgid "B<CAP_SYS_RAWIO>"
1645 msgstr "B<CAP_SYS_RAWIO>"
1646
1647 #. type: Plain text
1648 #: build/C/man7/capabilities.7:468
1649 #, fuzzy
1650 #| msgid ""
1651 #| "Perform I/O port operations (B<iopl>(2)  and B<ioperm>(2)); access I</"
1652 #| "proc/kcore>."
1653 msgid ""
1654 "Perform I/O port operations (B<iopl>(2)  and B<ioperm>(2)); access I</proc/"
1655 "kcore>; employ the B<FIBMAP> B<ioctl>(2)  operation."
1656 msgstr ""
1657 "I/O ポート操作を実行する (B<iopl>(2)  、 B<ioperm>(2))。 I</proc/kcore> にア"
1658 "クセスできる。"
1659
1660 #. type: TP
1661 #: build/C/man7/capabilities.7:468
1662 #, no-wrap
1663 msgid "B<CAP_SYS_RESOURCE>"
1664 msgstr "B<CAP_SYS_RESOURCE>"
1665
1666 #. type: Plain text
1667 #: build/C/man7/capabilities.7:474
1668 msgid "Use reserved space on ext2 file systems;"
1669 msgstr "ext2 ファイルシステム上の予約されている領域を使用する。"
1670
1671 #. type: Plain text
1672 #: build/C/man7/capabilities.7:478
1673 msgid "make B<ioctl>(2)  calls controlling ext3 journaling;"
1674 msgstr "ext3 のジャーナル機能を制御する B<ioctl>(2)  を使用する。"
1675
1676 #. type: Plain text
1677 #: build/C/man7/capabilities.7:480
1678 msgid "override disk quota limits;"
1679 msgstr "ディスク quota の上限を上書きする。"
1680
1681 #. type: Plain text
1682 #: build/C/man7/capabilities.7:483
1683 msgid "increase resource limits (see B<setrlimit>(2));"
1684 msgstr "リソース上限を増やす (B<setrlimit>(2))。"
1685
1686 #. type: Plain text
1687 #: build/C/man7/capabilities.7:487
1688 msgid "override B<RLIMIT_NPROC> resource limit;"
1689 msgstr "B<RLIMIT_NPROC> リソース制限を上書きする。"
1690
1691 #. type: Plain text
1692 #: build/C/man7/capabilities.7:489
1693 msgid "override maximum number of consoles on console allocation;"
1694 msgstr ""
1695
1696 #. type: Plain text
1697 #: build/C/man7/capabilities.7:491
1698 msgid "override maximum number of keymaps;"
1699 msgstr ""
1700
1701 #. type: Plain text
1702 #: build/C/man7/capabilities.7:493
1703 msgid "allow more than 64hz interrupts from the real-time clock;"
1704 msgstr ""
1705
1706 #. type: Plain text
1707 #: build/C/man7/capabilities.7:502
1708 #, fuzzy
1709 #| msgid ""
1710 #| "raise I<msg_qbytes> limit for a System V message queue above the limit in "
1711 #| "I</proc/sys/kernel/msgmnb> (see B<msgop>(2)  and B<msgctl>(2))."
1712 msgid ""
1713 "raise I<msg_qbytes> limit for a System V message queue above the limit in I</"
1714 "proc/sys/kernel/msgmnb> (see B<msgop>(2)  and B<msgctl>(2));"
1715 msgstr ""
1716 "メッセージキューに関する上限 I<msg_qbytes> を I</proc/sys/kernel/msgmnb> に指"
1717 "定されている上限よりも大きく設定する (B<msgop>(2)  と B<msgctl>(2)  参照)。"
1718
1719 #. type: Plain text
1720 #: build/C/man7/capabilities.7:509
1721 msgid ""
1722 "override the I</proc/sys/fs/pipe-size-max> limit when setting the capacity "
1723 "of a pipe using the B<F_SETPIPE_SZ> B<fcntl>(2)  command."
1724 msgstr ""
1725
1726 #. type: Plain text
1727 #: build/C/man7/capabilities.7:514
1728 #, fuzzy
1729 #| msgid ""
1730 #| "use B<F_SETPIPE_SZ> to increase the capacity of a pipe above the limit "
1731 #| "specified by I</proc/sys/fs/pipe-max-size>."
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 msgstr ""
1736 "I</proc/sys/fs/pipe-max-size> に指定されている上限を超えてパイプの容量を増や"
1737 "すのに B<F_SETPIPE_SZ> を使用する。"
1738
1739 #. type: Plain text
1740 #: build/C/man7/capabilities.7:519
1741 msgid ""
1742 "override I</proc/sys/fs/mqueue/queues_max> limit when creating POSIX message "
1743 "queues (see B<mq_overview>(7))."
1744 msgstr ""
1745
1746 #. type: TP
1747 #: build/C/man7/capabilities.7:521
1748 #, no-wrap
1749 msgid "B<CAP_SYS_TIME>"
1750 msgstr "B<CAP_SYS_TIME>"
1751
1752 #. type: Plain text
1753 #: build/C/man7/capabilities.7:528
1754 msgid ""
1755 "Set system clock (B<settimeofday>(2), B<stime>(2), B<adjtimex>(2)); set real-"
1756 "time (hardware) clock."
1757 msgstr ""
1758 "システムクロックを変更する (B<settimeofday>(2), B<stime>(2), B<adjtimex>"
1759 "(2))。 リアルタイム (ハードウェア) クロックを変更する。"
1760
1761 #. type: TP
1762 #: build/C/man7/capabilities.7:528
1763 #, no-wrap
1764 msgid "B<CAP_SYS_TTY_CONFIG>"
1765 msgstr "B<CAP_SYS_TTY_CONFIG>"
1766
1767 #. type: Plain text
1768 #: build/C/man7/capabilities.7:535
1769 msgid ""
1770 "Use B<vhangup>(2); employ various privileged B<ioctl>(2)  operations on "
1771 "virtual terminals."
1772 msgstr ""
1773
1774 #. type: TP
1775 #: build/C/man7/capabilities.7:535
1776 #, fuzzy, no-wrap
1777 #| msgid "B<CAP_SETFCAP> (since Linux 2.6.24)"
1778 msgid "B<CAP_SYSLOG> (since Linux 2.6.37)"
1779 msgstr "B<CAP_SETFCAP> (Linux 2.6.24 以降)"
1780
1781 #. type: Plain text
1782 #: build/C/man7/capabilities.7:543
1783 msgid ""
1784 "Perform privileged B<syslog>(2)  operations.  See B<syslog>(2)  for "
1785 "information on which operations require privilege."
1786 msgstr ""
1787
1788 #. type: TP
1789 #: build/C/man7/capabilities.7:543
1790 #, fuzzy, no-wrap
1791 #| msgid "B<CAP_LEASE> (since Linux 2.4)"
1792 msgid "B<CAP_WAKE_ALARM> (since Linux 3.0)"
1793 msgstr "B<CAP_LEASE> (Linux 2.4 以降)"
1794
1795 #. type: Plain text
1796 #: build/C/man7/capabilities.7:551
1797 msgid ""
1798 "Trigger something that will wake up the system (set B<CLOCK_REALTIME_ALARM> "
1799 "and B<CLOCK_BOOTTIME_ALARM> timers)."
1800 msgstr ""
1801
1802 #. type: SS
1803 #: build/C/man7/capabilities.7:551
1804 #, no-wrap
1805 msgid "Past and Current Implementation"
1806 msgstr "過去と現在の実装"
1807
1808 #. type: Plain text
1809 #: build/C/man7/capabilities.7:553
1810 msgid "A full implementation of capabilities requires that:"
1811 msgstr "完全な形のケーパビリティを実装するには、以下の要件を満たす必要がある:"
1812
1813 #. type: IP
1814 #: build/C/man7/capabilities.7:553 build/C/man7/capabilities.7:696
1815 #: build/C/man7/capabilities.7:843 build/C/man7/capabilities.7:896
1816 #, no-wrap
1817 msgid "1."
1818 msgstr "1."
1819
1820 #. type: Plain text
1821 #: build/C/man7/capabilities.7:557
1822 msgid ""
1823 "For all privileged operations, the kernel must check whether the thread has "
1824 "the required capability in its effective set."
1825 msgstr ""
1826 "全ての特権操作について、カーネルはそのスレッドの実効ケーパビリティセットに 必"
1827 "要なケーパビリティがあるかを確認する。"
1828
1829 #. type: IP
1830 #: build/C/man7/capabilities.7:557 build/C/man7/capabilities.7:701
1831 #: build/C/man7/capabilities.7:849 build/C/man7/capabilities.7:902
1832 #, no-wrap
1833 msgid "2."
1834 msgstr "2."
1835
1836 #. type: Plain text
1837 #: build/C/man7/capabilities.7:560
1838 msgid ""
1839 "The kernel must provide system calls allowing a thread's capability sets to "
1840 "be changed and retrieved."
1841 msgstr ""
1842 "カーネルで、あるスレッドのケーパビリティセットを変更したり、 取得したりできる"
1843 "システムコールが提供される。"
1844
1845 #. type: IP
1846 #: build/C/man7/capabilities.7:560 build/C/man7/capabilities.7:852
1847 #: build/C/man7/capabilities.7:906
1848 #, no-wrap
1849 msgid "3."
1850 msgstr "3."
1851
1852 #. type: Plain text
1853 #: build/C/man7/capabilities.7:563
1854 msgid ""
1855 "The file system must support attaching capabilities to an executable file, "
1856 "so that a process gains those capabilities when the file is executed."
1857 msgstr ""
1858 "ファイルシステムが、実行可能ファイルにケーパビリティを付与でき、ファイル 実行"
1859 "時にそのケーパビリティをプロセスが取得できるような機能をサポートする。"
1860
1861 #. type: Plain text
1862 #: build/C/man7/capabilities.7:567
1863 msgid ""
1864 "Before kernel 2.6.24, only the first two of these requirements are met; "
1865 "since kernel 2.6.24, all three requirements are met."
1866 msgstr ""
1867 "カーネル 2.6.24 より前では、最初の 2つの要件のみが満たされている。 カーネル "
1868 "2.6.24 以降では、3つの要件すべてが満たされている。"
1869
1870 #. type: SS
1871 #: build/C/man7/capabilities.7:567
1872 #, no-wrap
1873 msgid "Thread Capability Sets"
1874 msgstr "スレッドケーパビリティセット"
1875
1876 #. type: Plain text
1877 #: build/C/man7/capabilities.7:570
1878 msgid ""
1879 "Each thread has three capability sets containing zero or more of the above "
1880 "capabilities:"
1881 msgstr ""
1882 "各スレッドは以下の 3種類のケーパビリティセットを持つ。各々のケーパビリティ"
1883 "セットは 上記のケーパビリティの組み合わせである (全てのケーパビリティが無効で"
1884 "もよい)。"
1885
1886 #. type: TP
1887 #: build/C/man7/capabilities.7:570
1888 #, no-wrap
1889 msgid "I<Permitted>:"
1890 msgstr "I<許可 (permitted)>:"
1891
1892 #. type: Plain text
1893 #: build/C/man7/capabilities.7:578
1894 msgid ""
1895 "This is a limiting superset for the effective capabilities that the thread "
1896 "may assume.  It is also a limiting superset for the capabilities that may be "
1897 "added to the inheritable set by a thread that does not have the "
1898 "B<CAP_SETPCAP> capability in its effective set."
1899 msgstr ""
1900 "そのスレッドが持つことになっている実効ケーパビリティの 限定的なスーパーセット"
1901 "である。 これは、実効ケーパビリティセットに B<CAP_SETPCAP> ケーパビリティを"
1902 "持っていないスレッドが継承可能ケーパビリティセットに 追加可能なケーパビリティ"
1903 "の限定的なスーパーセットでもある。"
1904
1905 #. type: Plain text
1906 #: build/C/man7/capabilities.7:584
1907 msgid ""
1908 "If a thread drops a capability from its permitted set, it can never "
1909 "reacquire that capability (unless it B<execve>(2)s either a set-user-ID-root "
1910 "program, or a program whose associated file capabilities grant that "
1911 "capability)."
1912 msgstr ""
1913 "許可ケーパビリティセットから削除してしまったケーパビリティは、 (set-user-ID-"
1914 "root プログラムか、 そのケーパビリティをファイルケーパビリティで許可している"
1915 "プログラムを B<execve>(2)  しない限りは) もう一度獲得することはできない。"
1916
1917 #. type: TP
1918 #: build/C/man7/capabilities.7:584
1919 #, no-wrap
1920 msgid "I<Inheritable>:"
1921 msgstr "I<継承可能 (inheritable)>:"
1922
1923 #. type: Plain text
1924 #: build/C/man7/capabilities.7:591
1925 msgid ""
1926 "This is a set of capabilities preserved across an B<execve>(2).  It provides "
1927 "a mechanism for a process to assign capabilities to the permitted set of the "
1928 "new program during an B<execve>(2)."
1929 msgstr ""
1930 "B<execve>(2)  を前後で保持されるケーパビリティセットである。 この仕組みを使う"
1931 "ことで、あるプロセスが B<execve>(2)  を行う際に新しいプログラムの許可ケーパビ"
1932 "リティセットとして 割り当てるケーパビリティを指定することができる。"
1933
1934 #. type: TP
1935 #: build/C/man7/capabilities.7:591 build/C/man7/capabilities.7:633
1936 #, no-wrap
1937 msgid "I<Effective>:"
1938 msgstr "I<実効 (effective)>:"
1939
1940 #. type: Plain text
1941 #: build/C/man7/capabilities.7:595
1942 msgid ""
1943 "This is the set of capabilities used by the kernel to perform permission "
1944 "checks for the thread."
1945 msgstr ""
1946 "カーネルがスレッドの権限 (permission) をチェックするときに 使用するケーパビリ"
1947 "ティセットである。"
1948
1949 #. type: Plain text
1950 #: build/C/man7/capabilities.7:601
1951 msgid ""
1952 "A child created via B<fork>(2)  inherits copies of its parent's capability "
1953 "sets.  See below for a discussion of the treatment of capabilities during "
1954 "B<execve>(2)."
1955 msgstr ""
1956 "B<fork>(2)  で作成される子プロセスは、親のケーパビリティセットのコピーを継承"
1957 "する。 B<execve>(2)  中のケーパビリティの扱いについては下記を参照のこと。"
1958
1959 #. type: Plain text
1960 #: build/C/man7/capabilities.7:606
1961 msgid ""
1962 "Using B<capset>(2), a thread may manipulate its own capability sets (see "
1963 "below)."
1964 msgstr ""
1965 "B<capset>(2)  を使うと、プロセスは自分自身のケーパビリティセット を操作するこ"
1966 "とができる (下記参照)。"
1967
1968 #. type: SS
1969 #: build/C/man7/capabilities.7:606
1970 #, no-wrap
1971 msgid "File Capabilities"
1972 msgstr "ファイルケーパビリティ"
1973
1974 #. type: Plain text
1975 #: build/C/man7/capabilities.7:621
1976 msgid ""
1977 "Since kernel 2.6.24, the kernel supports associating capability sets with an "
1978 "executable file using B<setcap>(8).  The file capability sets are stored in "
1979 "an extended attribute (see B<setxattr>(2))  named I<security.capability>.  "
1980 "Writing to this extended attribute requires the B<CAP_SETFCAP> capability.  "
1981 "The file capability sets, in conjunction with the capability sets of the "
1982 "thread, determine the capabilities of a thread after an B<execve>(2)."
1983 msgstr ""
1984 "カーネル 2.6.24 以降では、 B<setcap>(8)  を使って実行ファイルにケーパビリティ"
1985 "セットを対応付けることができる。 ファイルケーパビリティセットは I<security."
1986 "capability> という名前の拡張属性に保存される (B<setxattr>(2)  参照)。この拡張"
1987 "属性への書き込みには B<CAP_SETFCAP> ケーパビリティが必要である。 ファイルケー"
1988 "パビリティセットとスレッドのケーパビリティセットの両方が 考慮され、 B<execve>"
1989 "(2)  後のスレッドのケーパビリティセットが決定される。"
1990
1991 #. type: Plain text
1992 #: build/C/man7/capabilities.7:623
1993 msgid "The three file capability sets are:"
1994 msgstr "3 つのファイルケーパビリティセットが定義されている。"
1995
1996 #. type: TP
1997 #: build/C/man7/capabilities.7:623
1998 #, no-wrap
1999 msgid "I<Permitted> (formerly known as I<forced>):"
2000 msgstr "I<許可 (Permitted)> (以前のI<強制 (Forced)>):"
2001
2002 #. type: Plain text
2003 #: build/C/man7/capabilities.7:627
2004 msgid ""
2005 "These capabilities are automatically permitted to the thread, regardless of "
2006 "the thread's inheritable capabilities."
2007 msgstr ""
2008 "スレッドの継承可能ケーパビリティに関わらず、そのスレッドに自動的に 認められる"
2009 "ケーパビリティ。"
2010
2011 #. type: TP
2012 #: build/C/man7/capabilities.7:627
2013 #, no-wrap
2014 msgid "I<Inheritable> (formerly known as I<allowed>):"
2015 msgstr "I<継承可能 (Inheritable)> (以前の I<許容 (Allowed)>):"
2016
2017 #. type: Plain text
2018 #: build/C/man7/capabilities.7:633
2019 msgid ""
2020 "This set is ANDed with the thread's inheritable set to determine which "
2021 "inheritable capabilities are enabled in the permitted set of the thread "
2022 "after the B<execve>(2)."
2023 msgstr ""
2024 "このセットと、スレッドの継承可能ケーパビリティセットとの 論理積 (AND) がとら"
2025 "れ、 B<execve>(2)  の後にそのスレッドの許可ケーパビリティセットで有効となる "
2026 "継承可能ケーパビリティが決定される。"
2027
2028 #. type: Plain text
2029 #: build/C/man7/capabilities.7:643
2030 msgid ""
2031 "This is not a set, but rather just a single bit.  If this bit is set, then "
2032 "during an B<execve>(2)  all of the new permitted capabilities for the thread "
2033 "are also raised in the effective set.  If this bit is not set, then after an "
2034 "B<execve>(2), none of the new permitted capabilities is in the new effective "
2035 "set."
2036 msgstr ""
2037 "これは集合ではなく、1 ビットの情報である。 このビットがセットされていると、 "
2038 "B<execve>(2)  実行中に、そのスレッドの新しい許可ケーパビリティが全て 実効ケー"
2039 "パビリティ集合においてもセットされる。 このビットがセットされていない場合、 "
2040 "B<execve>(2)  後には新しい許可ケーパビリティのどれも新しい実効ケーパビリティ"
2041 "集合 にセットされない。"
2042
2043 #. type: Plain text
2044 #: build/C/man7/capabilities.7:659
2045 msgid ""
2046 "Enabling the file effective capability bit implies that any file permitted "
2047 "or inheritable capability that causes a thread to acquire the corresponding "
2048 "permitted capability during an B<execve>(2)  (see the transformation rules "
2049 "described below) will also acquire that capability in its effective set.  "
2050 "Therefore, when assigning capabilities to a file (B<setcap>(8), "
2051 "B<cap_set_file>(3), B<cap_set_fd>(3)), if we specify the effective flag as "
2052 "being enabled for any capability, then the effective flag must also be "
2053 "specified as enabled for all other capabilities for which the corresponding "
2054 "permitted or inheritable flags is enabled."
2055 msgstr ""
2056 "ファイルの実効ケーパビリティビットを有効にするというのは、 B<execve>(2)  実行"
2057 "時に、ファイルの許可ケーパビリティと継承ケーパビリティに対応するものが スレッ"
2058 "ドの許可ケーパビリティセットとしてセットされるが、 これが実効ケーパビリティ"
2059 "セットにもセットされるということである (ケーパビリティの変換ルールは下記参"
2060 "照)。 したがって、ファイルにケーパビリティを割り当てる際 (B<setcap>(8), "
2061 "B<cap_set_file>(3), B<cap_set_fd>(3))、 いずれかのケーパビリティに対して実効"
2062 "フラグを有効と指定する場合、 許可フラグや継承可能フラグを有効にした他の全ての"
2063 "ケーパビリティ についても実効フラグを有効と指定しなければならない。"
2064
2065 #. type: SS
2066 #: build/C/man7/capabilities.7:659
2067 #, no-wrap
2068 msgid "Transformation of Capabilities During execve()"
2069 msgstr "execve() 中のケーパビリティの変換"
2070
2071 #. type: Plain text
2072 #: build/C/man7/capabilities.7:665
2073 msgid ""
2074 "During an B<execve>(2), the kernel calculates the new capabilities of the "
2075 "process using the following algorithm:"
2076 msgstr ""
2077 "B<execve>(2)  実行時に、カーネルはプロセスの新しいケーパビリティを次の アルゴ"
2078 "リズムを用いて計算する:"
2079
2080 #. type: Plain text
2081 #: build/C/man7/capabilities.7:670
2082 #, no-wrap
2083 msgid ""
2084 "P'(permitted) = (P(inheritable) & F(inheritable)) |\n"
2085 "                (F(permitted) & cap_bset)\n"
2086 msgstr ""
2087 "P'(permitted) = (P(inheritable) & F(inheritable)) |\n"
2088 "                (F(permitted) & cap_bset)\n"
2089
2090 #. type: Plain text
2091 #: build/C/man7/capabilities.7:672
2092 #, no-wrap
2093 msgid "P'(effective) = F(effective) ? P'(permitted) : 0\n"
2094 msgstr "P'(effective) = F(effective) ? P'(permitted) : 0\n"
2095
2096 #. type: Plain text
2097 #: build/C/man7/capabilities.7:674
2098 #, no-wrap
2099 msgid "P'(inheritable) = P(inheritable)    [i.e., unchanged]\n"
2100 msgstr "P'(inheritable) = P(inheritable)    [つまり、変更されない]\n"
2101
2102 #. type: Plain text
2103 #: build/C/man7/capabilities.7:678
2104 msgid "where:"
2105 msgstr "各変数の意味は以下の通り:"
2106
2107 #. type: IP
2108 #: build/C/man7/capabilities.7:679
2109 #, no-wrap
2110 msgid "P"
2111 msgstr "P"
2112
2113 #. type: Plain text
2114 #: build/C/man7/capabilities.7:682
2115 msgid "denotes the value of a thread capability set before the B<execve>(2)"
2116 msgstr "B<execve>(2)  前のスレッドのケーパビリティセットの値"
2117
2118 #. type: IP
2119 #: build/C/man7/capabilities.7:682
2120 #, no-wrap
2121 msgid "P'"
2122 msgstr "P'"
2123
2124 #. type: Plain text
2125 #: build/C/man7/capabilities.7:685
2126 msgid "denotes the value of a capability set after the B<execve>(2)"
2127 msgstr "B<execve>(2)  後のスレッドのケーパビリティセットの値"
2128
2129 #. type: IP
2130 #: build/C/man7/capabilities.7:685
2131 #, no-wrap
2132 msgid "F"
2133 msgstr "F"
2134
2135 #. type: Plain text
2136 #: build/C/man7/capabilities.7:687
2137 msgid "denotes a file capability set"
2138 msgstr "ファイルケーパビリティセットの値"
2139
2140 #. type: IP
2141 #: build/C/man7/capabilities.7:687
2142 #, no-wrap
2143 msgid "cap_bset"
2144 msgstr "cap_bset"
2145
2146 #. type: Plain text
2147 #: build/C/man7/capabilities.7:689
2148 msgid "is the value of the capability bounding set (described below)."
2149 msgstr "ケーパビリティバウンディングセットの値 (下記参照)"
2150
2151 #. type: SS
2152 #: build/C/man7/capabilities.7:691
2153 #, no-wrap
2154 msgid "Capabilities and execution of programs by root"
2155 msgstr "ケーパビリティと、ルートによるプログラムの実行"
2156
2157 #. type: Plain text
2158 #: build/C/man7/capabilities.7:696
2159 msgid ""
2160 "In order to provide an all-powerful I<root> using capability sets, during an "
2161 "B<execve>(2):"
2162 msgstr ""
2163 "B<execve>(2)  時に、ケーパビリティセットを使って、全ての権限を持った I<root> "
2164 "を実現するには、以下のようにする。"
2165
2166 #. type: Plain text
2167 #: build/C/man7/capabilities.7:701
2168 msgid ""
2169 "If a set-user-ID-root program is being executed, or the real user ID of the "
2170 "process is 0 (root)  then the file inheritable and permitted sets are "
2171 "defined to be all ones (i.e., all capabilities enabled)."
2172 msgstr ""
2173 "set-user-ID-root プログラムが実行される場合、 またはプロセスの実ユーザ ID が "
2174 "0 (root) の場合、 ファイルの継承可能セットと許可セットを全て 1 (全てのケーパ"
2175 "ビリティが有効) に定義する。"
2176
2177 #. type: Plain text
2178 #: build/C/man7/capabilities.7:704
2179 msgid ""
2180 "If a set-user-ID-root program is being executed, then the file effective bit "
2181 "is defined to be one (enabled)."
2182 msgstr ""
2183 "set-user-ID-root プログラムが実行される場合、 ファイルの実効ケーパビリティ"
2184 "ビットを 1 (enabled) に定義する。"
2185
2186 #.  If a process with real UID 0, and nonzero effective UID does an
2187 #.  exec(), then it gets all capabilities in its
2188 #.  permitted set, and no effective capabilities
2189 #. type: Plain text
2190 #: build/C/man7/capabilities.7:719
2191 msgid ""
2192 "The upshot of the above rules, combined with the capabilities "
2193 "transformations described above, is that when a process B<execve>(2)s a set-"
2194 "user-ID-root program, or when a process with an effective UID of 0 B<execve>"
2195 "(2)s a program, it gains all capabilities in its permitted and effective "
2196 "capability sets, except those masked out by the capability bounding set.  "
2197 "This provides semantics that are the same as those provided by traditional "
2198 "UNIX systems."
2199 msgstr ""
2200 "上記のルールにケーパビリティ変換を適用した結果をまとめると、 プロセスが set-"
2201 "user-ID-root プログラムを B<execve>(2)  する場合、または実効 UID が 0 のプロ"
2202 "セスがプログラムを B<execve>(2)  する場合、許可と実効のケーパビリティセットの"
2203 "全ケーパビリティ (正確には、ケーパビリティバウンディングセットによるマスクで"
2204 "除外されるもの 以外の全てのケーパビリティ) を取得するということである。 これ"
2205 "により、伝統的な UNIX システムと同じ振る舞いができるようになっている。"
2206
2207 #. type: SS
2208 #: build/C/man7/capabilities.7:719
2209 #, no-wrap
2210 msgid "Capability bounding set"
2211 msgstr "ケーパビリティ・バウンディングセット"
2212
2213 #. type: Plain text
2214 #: build/C/man7/capabilities.7:724
2215 msgid ""
2216 "The capability bounding set is a security mechanism that can be used to "
2217 "limit the capabilities that can be gained during an B<execve>(2).  The "
2218 "bounding set is used in the following ways:"
2219 msgstr ""
2220 "ケーパビリティ・バウンディングセット (capability bounding set) は、 B<execve>"
2221 "(2)  時に獲得できるケーパビリティを制限するために使われる セキュリティ機構で"
2222 "ある。 バウンディングセットは以下のように使用される。"
2223
2224 #. type: Plain text
2225 #: build/C/man7/capabilities.7:732
2226 msgid ""
2227 "During an B<execve>(2), the capability bounding set is ANDed with the file "
2228 "permitted capability set, and the result of this operation is assigned to "
2229 "the thread's permitted capability set.  The capability bounding set thus "
2230 "places a limit on the permitted capabilities that may be granted by an "
2231 "executable file."
2232 msgstr ""
2233 "B<execve>(2)  実行時に、ケーパビリティ・バウンディングセットと ファイルの許可"
2234 "ケーパビリティセットの論理和 (AND) を取ったものが、 そのスレッドの許可ケーパ"
2235 "ビリティセットに割り当てられる。 つまり、ケーパビリティ・バウンディングセット"
2236 "は、 実行ファイルが認めている許可ケーパビリティに対して 制限を課す働きをす"
2237 "る。"
2238
2239 #. type: Plain text
2240 #: build/C/man7/capabilities.7:744
2241 msgid ""
2242 "(Since Linux 2.6.25)  The capability bounding set acts as a limiting "
2243 "superset for the capabilities that a thread can add to its inheritable set "
2244 "using B<capset>(2).  This means that if a capability is not in the bounding "
2245 "set, then a thread can't add this capability to its inheritable set, even if "
2246 "it was in its permitted capabilities, and thereby cannot have this "
2247 "capability preserved in its permitted set when it B<execve>(2)s a file that "
2248 "has the capability in its inheritable set."
2249 msgstr ""
2250 "(Linux 2.6.25 以降)  ケーパビリティ・バウンディングセットは、スレッドが "
2251 "B<capset>(2)  により自身の継承可能セットに追加可能なケーパビリティの母集団を "
2252 "制限する役割を持つ。 スレッドに許可されたケーパビリティであっても、バウンディ"
2253 "ングセットに 含まれていなければ、スレッドはそのケーパビリティは自身の継承可能"
2254 "セットに 追加できず、その結果、継承可能セットにそのケーパビリティを含むファイ"
2255 "ルを B<execve>(2)  する場合、そのケーパビリティを許可セットに持ち続けることが"
2256 "できない、 ということである。"
2257
2258 #. type: Plain text
2259 #: build/C/man7/capabilities.7:751
2260 msgid ""
2261 "Note that the bounding set masks the file permitted capabilities, but not "
2262 "the inherited capabilities.  If a thread maintains a capability in its "
2263 "inherited set that is not in its bounding set, then it can still gain that "
2264 "capability in its permitted set by executing a file that has the capability "
2265 "in its inherited set."
2266 msgstr ""
2267 "バウンディングセットがマスクを行うのは、継承可能ケーパビリティではなく、 ファ"
2268 "イルの許可ケーパビリティのマスクを行う点に注意すること。 あるスレッドの継承可"
2269 "能セットにそのスレッドのバウンディングセットに 存在しないケーパビリティが含ま"
2270 "れている場合、そのスレッドは、 継承可能セットに含まれるケーパビリティを持つ"
2271 "ファイルを実行することにより、 許可セットに含まれるケーパビリティも獲得できる"
2272 "ということである。"
2273
2274 #. type: Plain text
2275 #: build/C/man7/capabilities.7:754
2276 msgid ""
2277 "Depending on the kernel version, the capability bounding set is either a "
2278 "system-wide attribute, or a per-process attribute."
2279 msgstr ""
2280 "カーネルのバージョンにより、ケーパビリティ・バウンディングセットは システム共"
2281 "通の属性の場合と、プロセス単位の属性の場合がある。"
2282
2283 #. type: Plain text
2284 #: build/C/man7/capabilities.7:756
2285 msgid "B<Capability bounding set prior to Linux 2.6.25>"
2286 msgstr "B<Linux 2.6.25 より前のケーパビリティ・バウンディングセット>"
2287
2288 #. type: Plain text
2289 #: build/C/man7/capabilities.7:764
2290 msgid ""
2291 "In kernels before 2.6.25, the capability bounding set is a system-wide "
2292 "attribute that affects all threads on the system.  The bounding set is "
2293 "accessible via the file I</proc/sys/kernel/cap-bound>.  (Confusingly, this "
2294 "bit mask parameter is expressed as a signed decimal number in I</proc/sys/"
2295 "kernel/cap-bound>.)"
2296 msgstr ""
2297 "2.6.25 より前のカーネルでは、ケーパビリティ・バウンディングセットは システム"
2298 "共通の属性で、システム上の全てのスレッドに適用される。 バウンディングセット"
2299 "は I</proc/sys/kernel/cap-bound> ファイル経由で参照できる。 (間違えやすいが、"
2300 "このビットマスク形式のパラメータは、 I</proc/sys/kernel/cap-bound> では符号付"
2301 "きの十進数で表現される。)"
2302
2303 #. type: Plain text
2304 #: build/C/man7/capabilities.7:771
2305 msgid ""
2306 "Only the B<init> process may set capabilities in the capability bounding "
2307 "set; other than that, the superuser (more precisely: programs with the "
2308 "B<CAP_SYS_MODULE> capability) may only clear capabilities from this set."
2309 msgstr ""
2310 "B<init> プロセスだけがケーパビリティ・バウンディングセットで ケーパビリティを"
2311 "セットすることができる。 それ以外では、スーパーユーザ (より正確には、 "
2312 "B<CAP_SYS_MODULE> ケーパビリティを持ったプログラム) が、 ケーパビリティ・バウ"
2313 "ンディングセットのケーパビリティのクリアが できるだけである。"
2314
2315 #. type: Plain text
2316 #: build/C/man7/capabilities.7:780
2317 msgid ""
2318 "On a standard system the capability bounding set always masks out the "
2319 "B<CAP_SETPCAP> capability.  To remove this restriction (dangerous!), modify "
2320 "the definition of B<CAP_INIT_EFF_SET> in I<include/linux/capability.h> and "
2321 "rebuild the kernel."
2322 msgstr ""
2323 "通常のシステムでは、ケーパビリティ・バウンディングセットは、 B<CAP_SETPCAP> "
2324 "が無効になっている。 この制限を取り去るには (取り去るのは危険!)、 I<include/"
2325 "linux/capability.h> 内の B<CAP_INIT_EFF_SET> の定義を修正し、カーネルを再構築"
2326 "する必要がある。"
2327
2328 #. type: Plain text
2329 #: build/C/man7/capabilities.7:784
2330 msgid ""
2331 "The system-wide capability bounding set feature was added to Linux starting "
2332 "with kernel version 2.2.11."
2333 msgstr ""
2334 "システム共通のケーパビリティ・バウンディングセット機能は、 カーネル 2.2.11 以"
2335 "降で Linux に追加された。"
2336
2337 #. type: Plain text
2338 #: build/C/man7/capabilities.7:786
2339 msgid "B<Capability bounding set from Linux 2.6.25 onward>"
2340 msgstr "B<Linux 2.6.25 以降のケーパビリティ・バウンディングセット>"
2341
2342 #. type: Plain text
2343 #: build/C/man7/capabilities.7:791
2344 msgid ""
2345 "From Linux 2.6.25, the I<capability bounding set> is a per-thread "
2346 "attribute.  (There is no longer a system-wide capability bounding set.)"
2347 msgstr ""
2348 "Linux 2.6.25 以降では、 「ケーパビリティ・バウンディングセット」はスレッド単"
2349 "位の属性である (システム共通のケーパビリティ・バウンディングセットはもはや存"
2350 "在しない)。"
2351
2352 #. type: Plain text
2353 #: build/C/man7/capabilities.7:796
2354 msgid ""
2355 "The bounding set is inherited at B<fork>(2)  from the thread's parent, and "
2356 "is preserved across an B<execve>(2)."
2357 msgstr ""
2358 "バウンディングセットは B<fork>(2)  時にはスレッドの親プロセスから継承され、 "
2359 "B<execve>(2)  の前後では保持される。"
2360
2361 #. type: Plain text
2362 #: build/C/man7/capabilities.7:809
2363 msgid ""
2364 "A thread may remove capabilities from its capability bounding set using the "
2365 "B<prctl>(2)  B<PR_CAPBSET_DROP> operation, provided it has the "
2366 "B<CAP_SETPCAP> capability.  Once a capability has been dropped from the "
2367 "bounding set, it cannot be restored to that set.  A thread can determine if "
2368 "a capability is in its bounding set using the B<prctl>(2)  "
2369 "B<PR_CAPBSET_READ> operation."
2370 msgstr ""
2371 "スレッドが B<CAP_SETPCAP> ケーパビリティを持っている場合、そのスレッドは "
2372 "B<prctl>(2)  の B<PR_CAPBSET_DROP> 操作を使って自身のケーパビリティ・バウン"
2373 "ディングセットから ケーパビリティを削除することができる。 いったんケーパビリ"
2374 "ティをバウンディングセットから削除してしまうと、 スレッドはそのケーパビリティ"
2375 "を再度セットすることはできない。 B<prctl>(2)  の B<PR_CAPBSET_READ> 操作を使"
2376 "うことで、スレッドがあるケーパビリティが自身のバウンディングセット に含まれて"
2377 "いるかを知ることができる。"
2378
2379 #. type: Plain text
2380 #: build/C/man7/capabilities.7:827
2381 #, fuzzy
2382 #| msgid ""
2383 #| "Removing capabilities from the bounding set is only supported if file "
2384 #| "capabilities are compiled into the kernel "
2385 #| "(CONFIG_SECURITY_FILE_CAPABILITIES).  In that case, the B<init> process "
2386 #| "(the ancestor of all processes) begins with a full bounding set.  If file "
2387 #| "capabilities are not compiled into the kernel, then B<init> begins with a "
2388 #| "full bounding set minus B<CAP_SETPCAP>, because this capability has a "
2389 #| "different meaning when there are no file capabilities."
2390 msgid ""
2391 "Removing capabilities from the bounding set is only supported if file "
2392 "capabilities are compiled into the kernel.  In kernels before Linux 2.6.33, "
2393 "file capabilities were an optional feature configurable via the "
2394 "CONFIG_SECURITY_FILE_CAPABILITIES option.  Since Linux 2.6.33, the "
2395 "configuration option has been removed and file capabilities are always part "
2396 "of the kernel.  When file capabilities are compiled into the kernel, the "
2397 "B<init> process (the ancestor of all processes) begins with a full bounding "
2398 "set.  If file capabilities are not compiled into the kernel, then B<init> "
2399 "begins with a full bounding set minus B<CAP_SETPCAP>, because this "
2400 "capability has a different meaning when there are no file capabilities."
2401 msgstr ""
2402 "バウンディングセットからのケーパビリティの削除がサポートされるのは、 カーネル"
2403 "のコンパイル時にファイルケーパビリティが有効になっている場合 "
2404 "(CONFIG_SECURITY_FILE_CAPABILITIES) だけである。 この場合には、 (全てのプロセ"
2405 "スの先祖である)  I<init> プロセスはバウンディングセットで全てのケーパビリティ"
2406 "が セットされた状態で開始する。 ファイルケーパビリティが有効になっていない場"
2407 "合には、 I<init> はバウンディングセットで B<CAP_SETPCAP> 以外の全てのケーパビ"
2408 "リティがセットされた状態で開始する。 このようになっているのは、 "
2409 "B<CAP_SETPCAP> ケーパビリティがファイルケーパビリティがサポートされていない場"
2410 "合には 違った意味を持つからである。"
2411
2412 #. type: Plain text
2413 #: build/C/man7/capabilities.7:834
2414 msgid ""
2415 "Removing a capability from the bounding set does not remove it from the "
2416 "thread's inherited set.  However it does prevent the capability from being "
2417 "added back into the thread's inherited set in the future."
2418 msgstr ""
2419 "バウンディングセットからケーパビリティを削除しても、 スレッドの継承可能セット"
2420 "からはそのケーパビリティは削除されない。 しかしながら、バウンディングセットか"
2421 "らの削除により、 この先そのケーパビリティをスレッドの継承可能セットに追加する"
2422 "こと はできなくなる。"
2423
2424 #. type: SS
2425 #: build/C/man7/capabilities.7:834
2426 #, no-wrap
2427 msgid "Effect of User ID Changes on Capabilities"
2428 msgstr "ユーザ ID 変更のケーパビリティへの影響"
2429
2430 #. type: Plain text
2431 #: build/C/man7/capabilities.7:843
2432 msgid ""
2433 "To preserve the traditional semantics for transitions between 0 and nonzero "
2434 "user IDs, the kernel makes the following changes to a thread's capability "
2435 "sets on changes to the thread's real, effective, saved set, and file system "
2436 "user IDs (using B<setuid>(2), B<setresuid>(2), or similar):"
2437 msgstr ""
2438 "ユーザ ID が 0 と 0 以外の間で変化する際の振る舞いを従来と同じにするため、 ス"
2439 "レッドの実 UID、実効 UID、保存 set-user-ID、ファイルシステム UID が "
2440 "(B<setuid>(2), B<setresuid>(2)  などを使って) 変更された際に、カーネルはその"
2441 "スレッドのケーパビリティセットに 以下の変更を行う:"
2442
2443 #. type: Plain text
2444 #: build/C/man7/capabilities.7:849
2445 msgid ""
2446 "If one or more of the real, effective or saved set user IDs was previously "
2447 "0, and as a result of the UID changes all of these IDs have a nonzero value, "
2448 "then all capabilities are cleared from the permitted and effective "
2449 "capability sets."
2450 msgstr ""
2451 "UID の変更前には実 UID、実効 UID、保存 set-user-ID のうち 少なくとも一つが 0 "
2452 "で、変更後に実 UID、実効 UID、保存 set-user-ID が すべて 0 以外の値になった場"
2453 "合、許可と実効のケーパビリティセットの 全ケーパビリティをクリアする。"
2454
2455 #. type: Plain text
2456 #: build/C/man7/capabilities.7:852
2457 msgid ""
2458 "If the effective user ID is changed from 0 to nonzero, then all capabilities "
2459 "are cleared from the effective set."
2460 msgstr ""
2461 "実効 UID が 0 から 0 以外に変更された場合、 実効ケーパビリティセットの全ケー"
2462 "パビリティをクリアする。"
2463
2464 #. type: Plain text
2465 #: build/C/man7/capabilities.7:855
2466 msgid ""
2467 "If the effective user ID is changed from nonzero to 0, then the permitted "
2468 "set is copied to the effective set."
2469 msgstr ""
2470 "実効 UID が 0 以外から 0 に変更された場合、 許可ケーパビリティセットの内容を"
2471 "実効ケーパビリティセットにコピーする。"
2472
2473 #. type: IP
2474 #: build/C/man7/capabilities.7:855 build/C/man7/capabilities.7:910
2475 #, no-wrap
2476 msgid "4."
2477 msgstr "4."
2478
2479 #. type: Plain text
2480 #: build/C/man7/capabilities.7:873
2481 msgid ""
2482 "If the file system user ID is changed from 0 to nonzero (see B<setfsuid>"
2483 "(2))  then the following capabilities are cleared from the effective set: "
2484 "B<CAP_CHOWN>, B<CAP_DAC_OVERRIDE>, B<CAP_DAC_READ_SEARCH>, B<CAP_FOWNER>, "
2485 "B<CAP_FSETID>, B<CAP_LINUX_IMMUTABLE> (since Linux 2.2.30), "
2486 "B<CAP_MAC_OVERRIDE>, and B<CAP_MKNOD> (since Linux 2.2.30).  If the file "
2487 "system UID is changed from nonzero to 0, then any of these capabilities that "
2488 "are enabled in the permitted set are enabled in the effective set."
2489 msgstr ""
2490 "ファイルシステム UID が 0 から 0 以外に変更された場合 (B<setfsuid>(2)  参"
2491 "照)、実効ケーパビリティセットの以下のケーパビリティがクリアされる: "
2492 "B<CAP_CHOWN>, B<CAP_DAC_OVERRIDE>, B<CAP_DAC_READ_SEARCH>, B<CAP_FOWNER>, "
2493 "B<CAP_FSETID>, B<CAP_LINUX_IMMUTABLE> (Linux 2.2.30 以降), "
2494 "B<CAP_MAC_OVERRIDE>, B<CAP_MKNOD> (Linux 2.2.30 以降)。 ファイルシステム UID "
2495 "が 0 以外から 0 に変更された場合、 上記のケーパビリティのうち許可ケーパビリ"
2496 "ティセットで有効になっているものが 実効ケーパビリティセットで有効にされる。"
2497
2498 #. type: Plain text
2499 #: build/C/man7/capabilities.7:881
2500 msgid ""
2501 "If a thread that has a 0 value for one or more of its user IDs wants to "
2502 "prevent its permitted capability set being cleared when it resets all of its "
2503 "user IDs to nonzero values, it can do so using the B<prctl>(2)  "
2504 "B<PR_SET_KEEPCAPS> operation."
2505 msgstr ""
2506 "各種 UID のうち少なくとも一つが 0 であるスレッドが、 その UID の全てが 0 以外"
2507 "になったときに許可ケーパビリティセットが クリアされないようにしたい場合に"
2508 "は、 B<prctl>(2)  の B<PR_SET_KEEPCAPS> 操作を使えばよい。"
2509
2510 #. type: SS
2511 #: build/C/man7/capabilities.7:881
2512 #, no-wrap
2513 msgid "Programmatically adjusting capability sets"
2514 msgstr "プログラムでケーパビリティセットを調整する"
2515
2516 #. type: Plain text
2517 #: build/C/man7/capabilities.7:896
2518 msgid ""
2519 "A thread can retrieve and change its capability sets using the B<capget>(2)  "
2520 "and B<capset>(2)  system calls.  However, the use of B<cap_get_proc>(3)  and "
2521 "B<cap_set_proc>(3), both provided in the I<libcap> package, is preferred for "
2522 "this purpose.  The following rules govern changes to the thread capability "
2523 "sets:"
2524 msgstr ""
2525 "各スレッドは、 B<capget>(2)  や B<capset>(2)  を使って、自身のケーパビリティ"
2526 "セットを取得したり変更したりできる。 ただし、これを行うには、 I<libcap> パッ"
2527 "ケージで提供されている B<cap_get_proc>(3)  や B<cap_set_proc>(3)  を使うのが"
2528 "望ましい。 スレッドのケーパビリティセットの変更には以下のルールが適用される。"
2529
2530 #. type: Plain text
2531 #: build/C/man7/capabilities.7:902
2532 msgid ""
2533 "If the caller does not have the B<CAP_SETPCAP> capability, the new "
2534 "inheritable set must be a subset of the combination of the existing "
2535 "inheritable and permitted sets."
2536 msgstr ""
2537 "呼び出し側が B<CAP_SETPCAP> ケーパビリティを持っていない場合、新しい継承可能"
2538 "セットは、 既存の継承可能セットと許可セットの積集合 (AND) の部分集合で なけれ"
2539 "ばならない。"
2540
2541 #. type: Plain text
2542 #: build/C/man7/capabilities.7:906
2543 msgid ""
2544 "(Since kernel 2.6.25)  The new inheritable set must be a subset of the "
2545 "combination of the existing inheritable set and the capability bounding set."
2546 msgstr ""
2547 "(カーネル 2.6.25 以降)  新しい継承可能セットは、既存の継承可能セットとケーパ"
2548 "ビリティ・ バウンディングセットの積集合 (AND) の部分集合でなければならない。"
2549
2550 #. type: Plain text
2551 #: build/C/man7/capabilities.7:910
2552 msgid ""
2553 "The new permitted set must be a subset of the existing permitted set (i.e., "
2554 "it is not possible to acquire permitted capabilities that the thread does "
2555 "not currently have)."
2556 msgstr ""
2557 "新しい許可セットは、既存の許可セットの部分集合でなければならない (つまり、そ"
2558 "のスレッドが現在持っていない許可ケーパビリティを 獲得することはできない)。"
2559
2560 #. type: Plain text
2561 #: build/C/man7/capabilities.7:912
2562 msgid "The new effective set must be a subset of the new permitted set."
2563 msgstr ""
2564 "新しい実効ケーパビリティセットは新しい許可ケーパビリティセットの 部分集合に"
2565 "なっていなければならない。"
2566
2567 #. type: SS
2568 #: build/C/man7/capabilities.7:912
2569 #, no-wrap
2570 msgid "The \"securebits\" flags: establishing a capabilities-only environment"
2571 msgstr "securebits フラグ: ケーパビリティだけの環境を構築する"
2572
2573 #.  For some background:
2574 #.        see http://lwn.net/Articles/280279/ and
2575 #.        http://article.gmane.org/gmane.linux.kernel.lsm/5476/
2576 #. type: Plain text
2577 #: build/C/man7/capabilities.7:923
2578 msgid ""
2579 "Starting with kernel 2.6.26, and with a kernel in which file capabilities "
2580 "are enabled, Linux implements a set of per-thread I<securebits> flags that "
2581 "can be used to disable special handling of capabilities for UID 0 "
2582 "(I<root>).  These flags are as follows:"
2583 msgstr ""
2584 "カーネル 2.6.26 以降で、 ファイルケーパビリティが有効になったカーネルでは、 "
2585 "スレッド単位の I<securebits> フラグが実装されており、このフラグを使うと UID "
2586 "0 (I<root>)  に対するケーパビリティの特別扱いを無効することができる。 以下の"
2587 "ようなフラグがある。"
2588
2589 #. type: TP
2590 #: build/C/man7/capabilities.7:923
2591 #, no-wrap
2592 msgid "B<SECBIT_KEEP_CAPS>"
2593 msgstr "B<SECBIT_KEEP_CAPS>"
2594
2595 #. type: Plain text
2596 #: build/C/man7/capabilities.7:935
2597 msgid ""
2598 "Setting this flag allows a thread that has one or more 0 UIDs to retain its "
2599 "capabilities when it switches all of its UIDs to a nonzero value.  If this "
2600 "flag is not set, then such a UID switch causes the thread to lose all "
2601 "capabilities.  This flag is always cleared on an B<execve>(2).  (This flag "
2602 "provides the same functionality as the older B<prctl>(2)  B<PR_SET_KEEPCAPS> "
2603 "operation.)"
2604 msgstr ""
2605 "このフラグをセットされている場合、UID が 0 のスレッドの UID が 0 以外の値に "
2606 "切り替わる際に、そのスレッドはケーパビリティを維持することができる。 このフラ"
2607 "グがセットされていない場合には、UID が 0 から 0 以外の値に 切り替わると、その"
2608 "スレッドは全てのケーパビリティを失う。 このフラグは B<execve>(2)  時には全て"
2609 "クリアされる (このフラグは、以前の B<prctl>(2)  の B<PR_SET_KEEPCAPS> 操作と"
2610 "同じ機能を提供するものである)。"
2611
2612 #. type: TP
2613 #: build/C/man7/capabilities.7:935
2614 #, no-wrap
2615 msgid "B<SECBIT_NO_SETUID_FIXUP>"
2616 msgstr "B<SECBIT_NO_SETUID_FIXUP>"
2617
2618 #. type: Plain text
2619 #: build/C/man7/capabilities.7:942
2620 msgid ""
2621 "Setting this flag stops the kernel from adjusting capability sets when the "
2622 "threads's effective and file system UIDs are switched between zero and "
2623 "nonzero values.  (See the subsection I<Effect of User ID Changes on "
2624 "Capabilities>.)"
2625 msgstr ""
2626 "このフラグをセットすると、スレッドの実効 UID とファイルシステム UID が 0 と "
2627 "0 以外の間で切り替わった場合に、 カーネルはケーパビリティセットの調整を行わな"
2628 "くなる (「ユーザ ID 変更のケーパビリティへの影響」の節を参照)。"
2629
2630 #. type: TP
2631 #: build/C/man7/capabilities.7:942
2632 #, no-wrap
2633 msgid "B<SECBIT_NOROOT>"
2634 msgstr "B<SECBIT_NOROOT>"
2635
2636 #. type: Plain text
2637 #: build/C/man7/capabilities.7:950
2638 msgid ""
2639 "If this bit is set, then the kernel does not grant capabilities when a set-"
2640 "user-ID-root program is executed, or when a process with an effective or "
2641 "real UID of 0 calls B<execve>(2).  (See the subsection I<Capabilities and "
2642 "execution of programs by root>.)"
2643 msgstr ""
2644 "このビットがセットされている場合、 set-user-ID-root プログラムの実行時や、 実"
2645 "効 UID か 実 UID が 0 のプロセスが B<execve>(2)  を呼び出した時に、カーネルは"
2646 "ケーパビリティを許可しない (「ケーパビリティと、ルートによるプログラムの実"
2647 "行」の節を参照)。"
2648
2649 #. type: Plain text
2650 #: build/C/man7/capabilities.7:960
2651 msgid ""
2652 "Each of the above \"base\" flags has a companion \"locked\" flag.  Setting "
2653 "any of the \"locked\" flags is irreversible, and has the effect of "
2654 "preventing further changes to the corresponding \"base\" flag.  The locked "
2655 "flags are: B<SECBIT_KEEP_CAPS_LOCKED>, B<SECBIT_NO_SETUID_FIXUP_LOCKED>, and "
2656 "B<SECBIT_NOROOT_LOCKED>."
2657 msgstr ""
2658 "上記の \"base\" フラグの各々には対応する \"locked\" フラグが存在する。 いずれ"
2659 "の \"locked\" フラグも一度セットされると戻すことはできず、 それ以降は対応す"
2660 "る \"base\" フラグを変更することができなくなる。 \"locked\" フラグは "
2661 "B<SECBIT_KEEP_CAPS_LOCKED>, B<SECBIT_NO_SETUID_FIXUP_LOCKED>, "
2662 "B<SECBIT_NOROOT_LOCKED> という名前である。"
2663
2664 #. type: Plain text
2665 #: build/C/man7/capabilities.7:972
2666 msgid ""
2667 "The I<securebits> flags can be modified and retrieved using the B<prctl>(2)  "
2668 "B<PR_SET_SECUREBITS> and B<PR_GET_SECUREBITS> operations.  The "
2669 "B<CAP_SETPCAP> capability is required to modify the flags."
2670 msgstr ""
2671 "I<securebits> フラグは、 B<prctl>(2)  の操作 B<PR_SET_SECUREBITS> や "
2672 "B<PR_GET_SECUREBITS> を使うことで変更したり取得したりできる。 フラグを変更す"
2673 "るには B<CAP_SETPCAP> ケーパビリティが必要である。"
2674
2675 #. type: Plain text
2676 #: build/C/man7/capabilities.7:981
2677 #, fuzzy
2678 #| msgid ""
2679 #| "The I<securebits> flags are inherited by child processes.  During an "
2680 #| "B<execve>(2), all of the flags are preserved, except B<SECURE_KEEP_CAPS> "
2681 #| "which is always cleared."
2682 msgid ""
2683 "The I<securebits> flags are inherited by child processes.  During an "
2684 "B<execve>(2), all of the flags are preserved, except B<SECBIT_KEEP_CAPS> "
2685 "which is always cleared."
2686 msgstr ""
2687 "I<securebits> フラグは子プロセスに継承される。 B<execve>(2)  においては、 "
2688 "B<SECURE_KEEP_CAPS> が常にクリアされる以外は、全てのフラグが保持される。"
2689
2690 #. type: Plain text
2691 #: build/C/man7/capabilities.7:986
2692 msgid ""
2693 "An application can use the following call to lock itself, and all of its "
2694 "descendants, into an environment where the only way of gaining capabilities "
2695 "is by executing a program with associated file capabilities:"
2696 msgstr ""
2697 "アプリケーションは、以下の呼び出しを行うことにより、 自分自身および子孫となる"
2698 "プロセス全てに対して、 必要なファイルケーパビリティを持ったプログラムを実行し"
2699 "ない限り、 対応するケーパビリティを獲得できないような状況に閉じこめることがで"
2700 "きる。"
2701
2702 #. type: Plain text
2703 #: build/C/man7/capabilities.7:995
2704 #, no-wrap
2705 msgid ""
2706 "prctl(PR_SET_SECUREBITS,\n"
2707 "        SECBIT_KEEP_CAPS_LOCKED |\n"
2708 "        SECBIT_NO_SETUID_FIXUP |\n"
2709 "        SECBIT_NO_SETUID_FIXUP_LOCKED |\n"
2710 "        SECBIT_NOROOT |\n"
2711 "        SECBIT_NOROOT_LOCKED);\n"
2712 msgstr ""
2713 "prctl(PR_SET_SECUREBITS,\n"
2714 "        SECBIT_KEEP_CAPS_LOCKED |\n"
2715 "        SECBIT_NO_SETUID_FIXUP |\n"
2716 "        SECBIT_NO_SETUID_FIXUP_LOCKED |\n"
2717 "        SECBIT_NOROOT |\n"
2718 "        SECBIT_NOROOT_LOCKED);\n"
2719
2720 #. type: Plain text
2721 #: build/C/man7/capabilities.7:1002
2722 msgid ""
2723 "No standards govern capabilities, but the Linux capability implementation is "
2724 "based on the withdrawn POSIX.1e draft standard; see I<http://wt.xpilot.org/"
2725 "publications/posix.1e/>."
2726 msgstr ""
2727 "ケーパビリティに関する標準はないが、 Linux のケーパビリティは廃案になった "
2728 "POSIX.1e 草案に基づいて実装されている。 I<http://wt.xpilot.org/publications/"
2729 "posix.1e/> を参照。"
2730
2731 #. type: Plain text
2732 #: build/C/man7/capabilities.7:1006
2733 msgid ""
2734 "Since kernel 2.5.27, capabilities are an optional kernel component, and can "
2735 "be enabled/disabled via the CONFIG_SECURITY_CAPABILITIES kernel "
2736 "configuration option."
2737 msgstr ""
2738 "カーネル 2.5.27 以降、ケーパビリティは選択式のカーネルコンポーネント となって"
2739 "おり、カーネル設定オプション CONFIG_SECURITY_CAPABILITIES により有効/無効を切"
2740 "り替えることができる。"
2741
2742 #. type: Plain text
2743 #: build/C/man7/capabilities.7:1013
2744 msgid ""
2745 "The I</proc/PID/task/TID/status> file can be used to view the capability "
2746 "sets of a thread.  The I</proc/PID/status> file shows the capability sets of "
2747 "a process's main thread."
2748 msgstr ""
2749 "I</proc/PID/task/TID/status> ファイルを使うと、スレッドのケーパビリティセット"
2750 "を見ることができる。 I</proc/PID/status> ファイルには、プロセスのメインスレッ"
2751 "ドのケーパビリティセットが表示される。"
2752
2753 #. type: Plain text
2754 #: build/C/man7/capabilities.7:1028
2755 msgid ""
2756 "The I<libcap> package provides a suite of routines for setting and getting "
2757 "capabilities that is more comfortable and less likely to change than the "
2758 "interface provided by B<capset>(2)  and B<capget>(2).  This package also "
2759 "provides the B<setcap>(8)  and B<getcap>(8)  programs.  It can be found at"
2760 msgstr ""
2761 "I<libcap> パッケージは、ケーパビリティを設定・取得するための ルーチン群を提供"
2762 "している。これらのインタフェースは、 B<capset>(2)  と B<capget>(2)  が提供す"
2763 "るインターフェースと比べて、より使いやすく、変更される可能性が少ない。 この"
2764 "パッケージでは、 B<setcap>(8), B<getcap>(8)  というプログラムも提供されてい"
2765 "る。 パッケージは以下で入手できる。"
2766
2767 #. type: Plain text
2768 #: build/C/man7/capabilities.7:1030
2769 msgid "I<http://www.kernel.org/pub/linux/libs/security/linux-privs>."
2770 msgstr "I<http://www.kernel.org/pub/linux/libs/security/linux-privs>"
2771
2772 #. type: Plain text
2773 #: build/C/man7/capabilities.7:1039
2774 msgid ""
2775 "Before kernel 2.6.24, and since kernel 2.6.24 if file capabilities are not "
2776 "enabled, a thread with the B<CAP_SETPCAP> capability can manipulate the "
2777 "capabilities of threads other than itself.  However, this is only "
2778 "theoretically possible, since no thread ever has B<CAP_SETPCAP> in either of "
2779 "these cases:"
2780 msgstr ""
2781 "バージョン 2.6.24 より前、およびファイルケーパビリティが 有効になっていない"
2782 "2.6.24 以降のカーネルでは、 B<CAP_SETPCAP> ケーパビリティを持ったスレッドは自"
2783 "分以外のスレッドの ケーパビリティを操作できる。 しかしながら、これは理論的に"
2784 "可能というだけである。 以下のいずれかの場合においても、どのスレッドも "
2785 "B<CAP_SETPCAP> ケーパビリティを持つことはないからである。"
2786
2787 #. type: Plain text
2788 #: build/C/man7/capabilities.7:1044
2789 msgid ""
2790 "In the pre-2.6.25 implementation the system-wide capability bounding set, I</"
2791 "proc/sys/kernel/cap-bound>, always masks out this capability, and this can "
2792 "not be changed without modifying the kernel source and rebuilding."
2793 msgstr ""
2794 "2.6.25 より前の実装では、システム共通のケーパビリティ・バウンディングセット "
2795 "I</proc/sys/kernel/cap-bound> ではこのケーパビリティは常に無効になっており、 "
2796 "ソースを変更してカーネルを再コンパイルしない限り、 これを変更することはできな"
2797 "い。"
2798
2799 #. type: Plain text
2800 #: build/C/man7/capabilities.7:1050
2801 msgid ""
2802 "If file capabilities are disabled in the current implementation, then "
2803 "B<init> starts out with this capability removed from its per-process "
2804 "bounding set, and that bounding set is inherited by all other processes "
2805 "created on the system."
2806 msgstr ""
2807 "現在の実装ではファイルケーパビリティが無効になっている場合、 プロセス毎のバウ"
2808 "ンディングセットからこのケーパビリティを抜いて B<init> は開始され、 システム"
2809 "上で生成される他の全てのプロセスでこのバウンディングセットが 継承される。"
2810
2811 #. type: Plain text
2812 #: build/C/man7/capabilities.7:1067
2813 #, fuzzy
2814 #| msgid ""
2815 #| "B<capget>(2), B<prctl>(2), B<setfsuid>(2), B<cap_clear>(3), "
2816 #| "B<cap_copy_ext>(3), B<cap_from_text>(3), B<cap_get_file>(3), "
2817 #| "B<cap_get_proc>(3), B<cap_init>(3), B<capgetp>(3), B<capsetp>(3), "
2818 #| "B<credentials>(7), B<pthreads>(7), B<getcap>(8), B<setcap>(8)"
2819 msgid ""
2820 "B<capget>(2), B<prctl>(2), B<setfsuid>(2), B<cap_clear>(3), B<cap_copy_ext>"
2821 "(3), B<cap_from_text>(3), B<cap_get_file>(3), B<cap_get_proc>(3), B<cap_init>"
2822 "(3), B<capgetp>(3), B<capsetp>(3), B<libcap>(3), B<credentials>(7), "
2823 "B<pthreads>(7), B<getcap>(8), B<setcap>(8)"
2824 msgstr ""
2825 "B<capget>(2), B<prctl>(2), B<setfsuid>(2), B<cap_clear>(3), B<cap_copy_ext>"
2826 "(3), B<cap_from_text>(3), B<cap_get_file>(3), B<cap_get_proc>(3), B<cap_init>"
2827 "(3), B<capgetp>(3), B<capsetp>(3), B<credentials>(7), B<pthreads>(7), "
2828 "B<getcap>(8), B<setcap>(8)"
2829
2830 #. type: Plain text
2831 #: build/C/man7/capabilities.7:1071
2832 #, fuzzy
2833 #| msgid "I<include/linux/capability.h> in the kernel source"
2834 msgid ""
2835 "Comments on the purposes of various capabilities in I<include/linux/"
2836 "capability.h> in the kernel source"
2837 msgstr "カーネルソース内の I<include/linux/capability.h>"
2838
2839 #. type: TH
2840 #: build/C/man2/capget.2:11
2841 #, no-wrap
2842 msgid "CAPGET"
2843 msgstr "CAPGET"
2844
2845 #. type: TH
2846 #: build/C/man2/capget.2:11
2847 #, no-wrap
2848 msgid "2010-09-20"
2849 msgstr "2010-09-20"
2850
2851 #. type: Plain text
2852 #: build/C/man2/capget.2:14
2853 msgid "capget, capset - set/get capabilities of thread(s)"
2854 msgstr "capget, capset - スレッドのケーパビリティを設定/取得する"
2855
2856 #. type: Plain text
2857 #: build/C/man2/capget.2:16
2858 msgid "B<#include E<lt>sys/capability.hE<gt>>"
2859 msgstr "B<#include E<lt>sys/capability.hE<gt>>"
2860
2861 #. type: Plain text
2862 #: build/C/man2/capget.2:18
2863 msgid ""
2864 "B<int capget(cap_user_header_t >I<hdrp>B<, cap_user_data_t >I<datap>B<);>"
2865 msgstr ""
2866 "B<int capget(cap_user_header_t >I<hdrp>B<, cap_user_data_t >I<datap>B<);>"
2867
2868 #. type: Plain text
2869 #: build/C/man2/capget.2:20
2870 msgid ""
2871 "B<int capset(cap_user_header_t >I<hdrp>B<, const cap_user_data_t "
2872 ">I<datap>B<);>"
2873 msgstr ""
2874 "B<int capset(cap_user_header_t >I<hdrp>B<, const cap_user_data_t "
2875 ">I<datap>B<);>"
2876
2877 #. type: Plain text
2878 #: build/C/man2/capget.2:31
2879 msgid ""
2880 "As of Linux 2.2, the power of the superuser (root) has been partitioned into "
2881 "a set of discrete capabilities.  Each thread has a set of effective "
2882 "capabilities identifying which capabilities (if any) it may currently "
2883 "exercise.  Each thread also has a set of inheritable capabilities that may "
2884 "be passed through an B<execve>(2)  call, and a set of permitted capabilities "
2885 "that it can make effective or inheritable."
2886 msgstr ""
2887 "Linux 2.2 で、スーパーユーザー (root) の権限は、個別のケーパビリティ "
2888 "(capabilities) へと分割され、その集合として表現されるようになった。 各スレッ"
2889 "ドは「実効ケーパビリティ (effective capability) の集合」を持ち、 それによって"
2890 "現在どの操作が実行可能かを識別できる。 また、各スレッドは、 「継承可能ケーパ"
2891 "ビリティ (inheritable capability) の集合」と 「許可ケーパビリティ (permitted "
2892 "capability) の集合」を持つ。 「継承可能ケーパビリティの集合」は B<execve>"
2893 "(2)  を通じて渡すことができるケーパビリティの集合であり、 「許可ケーパビリ"
2894 "ティ (permitted capability) の集合」は 実効ケーパビリティや継承可能ケーパビリ"
2895 "ティとして有効にできる ケーパビリティを規定するものである。"
2896
2897 #. type: Plain text
2898 #: build/C/man2/capget.2:40
2899 msgid ""
2900 "These two functions are the raw kernel interface for getting and setting "
2901 "thread capabilities.  Not only are these system calls specific to Linux, but "
2902 "the kernel API is likely to change and use of these functions (in particular "
2903 "the format of the I<cap_user_*_t> types) is subject to extension with each "
2904 "kernel revision, but old programs will keep working."
2905 msgstr ""
2906 "この二つの関数はスレッドのケーパビリティを取得したり設定したりするための 生の"
2907 "カーネルインターフェースである。 これらのシステムコールは Linux 特有であると"
2908 "いうだけでなく、 カーネル API は変更されるかもしれず、これらの 関数の使用法 "
2909 "(特に I<cap_user_*_t> 型という書式) はカーネルのリビジョン毎に拡張されるかも"
2910 "しれないが、 以前のプログラムはそのまま動作する。"
2911
2912 #. type: Plain text
2913 #: build/C/man2/capget.2:51
2914 msgid ""
2915 "The portable interfaces are B<cap_set_proc>(3)  and B<cap_get_proc>(3); if "
2916 "possible you should use those interfaces in applications.  If you wish to "
2917 "use the Linux extensions in applications, you should use the easier-to-use "
2918 "interfaces B<capsetp>(3)  and B<capgetp>(3)."
2919 msgstr ""
2920 "移植性のあるインターフェースは B<cap_set_proc>(3)  と B<cap_get_proc>(3)  で"
2921 "ある。 可能ならばアプリケーションはこれらの関数を使用すべきである。 アプリ"
2922 "ケーションに Linux 拡張を使用したい場合には、より簡単に 使えるインターフェー"
2923 "スである B<capsetp>(3)  と B<capgetp>(3)  を使用すべきである。"
2924
2925 #. type: SS
2926 #: build/C/man2/capget.2:51
2927 #, no-wrap
2928 msgid "Current details"
2929 msgstr "現在の詳細"
2930
2931 #. type: Plain text
2932 #: build/C/man2/capget.2:54
2933 msgid ""
2934 "Now that you have been warned, some current kernel details.  The structures "
2935 "are defined as follows."
2936 msgstr ""
2937 "現在のカーネルの詳細について注意を述べておく。 構造体は以下のように定義され"
2938 "る。"
2939
2940 #. type: Plain text
2941 #: build/C/man2/capget.2:59
2942 #, no-wrap
2943 msgid ""
2944 "#define _LINUX_CAPABILITY_VERSION_1  0x19980330\n"
2945 "#define _LINUX_CAPABILITY_U32S_1     1\n"
2946 msgstr ""
2947 "#define _LINUX_CAPABILITY_VERSION_1  0x19980330\n"
2948 "#define _LINUX_CAPABILITY_U32S_1     1\n"
2949
2950 #. type: Plain text
2951 #: build/C/man2/capget.2:62
2952 #, no-wrap
2953 msgid ""
2954 "#define _LINUX_CAPABILITY_VERSION_2  0x20071026\n"
2955 "#define _LINUX_CAPABILITY_U32S_2     2\n"
2956 msgstr ""
2957 "#define _LINUX_CAPABILITY_VERSION_2  0x20071026\n"
2958 "#define _LINUX_CAPABILITY_U32S_2     2\n"
2959
2960 #. type: Plain text
2961 #: build/C/man2/capget.2:67
2962 #, no-wrap
2963 msgid ""
2964 "typedef struct __user_cap_header_struct {\n"
2965 "   __u32 version;\n"
2966 "   int pid;\n"
2967 "} *cap_user_header_t;\n"
2968 msgstr ""
2969 "typedef struct __user_cap_header_struct {\n"
2970 "   __u32 version;\n"
2971 "   int pid;\n"
2972 "} *cap_user_header_t;\n"
2973
2974 #. type: Plain text
2975 #: build/C/man2/capget.2:73
2976 #, no-wrap
2977 msgid ""
2978 "typedef struct __user_cap_data_struct {\n"
2979 "   __u32 effective;\n"
2980 "   __u32 permitted;\n"
2981 "   __u32 inheritable;\n"
2982 "} *cap_user_data_t;\n"
2983 msgstr ""
2984 "typedef struct __user_cap_data_struct {\n"
2985 "   __u32 effective;\n"
2986 "   __u32 permitted;\n"
2987 "   __u32 inheritable;\n"
2988 "} *cap_user_data_t;\n"
2989
2990 #. type: Plain text
2991 #: build/C/man2/capget.2:88
2992 msgid ""
2993 "I<effective, permitted, inheritable> are bitmasks of the capabilities "
2994 "defined in I<capability(7).> Note the I<CAP_*> values are bit indexes and "
2995 "need to be bit-shifted before ORing into the bit fields.  To define the "
2996 "structures for passing to the system call you have to use the I<struct "
2997 "__user_cap_header_struct> and I<struct __user_cap_data_struct> names because "
2998 "the typedefs are only pointers."
2999 msgstr ""
3000 "I<effective, permitted, inheritable> は、 B<capability>(7)  で定義されるケー"
3001 "パビリティのビットマスクである。 I<CAP_*> はビット番号を表すインデックス値で"
3002 "あり、 ビットフィールドに OR を行う前に I<CAP_*> の値の分だけビットシフトを行"
3003 "う必要がある。 typedef の方はポインタなので、 このシステムコールに渡す構造体"
3004 "を定義するには、 I<struct __user_cap_header_struct> と I<struct "
3005 "__user_cap_data_struct> という名前を使用しなければならない。"
3006
3007 #. type: Plain text
3008 #: build/C/man2/capget.2:100
3009 msgid ""
3010 "Kernels prior to 2.6.25 prefer 32-bit capabilities with version "
3011 "B<_LINUX_CAPABILITY_VERSION_1>, and kernels 2.6.25+ prefer 64-bit "
3012 "capabilities with version B<_LINUX_CAPABILITY_VERSION_2>.  Note, 64-bit "
3013 "capabilities use I<datap>[0] and I<datap>[1], whereas 32-bit capabilities "
3014 "use only I<datap>[0]."
3015 msgstr ""
3016 "カーネル 2.6.25 より前では、バージョン B<_LINUX_CAPABILITY_VERSION_1> の 32 "
3017 "ビットケーパビリティが推奨である。 カーネル 2.6.25 以降では、バージョン "
3018 "B<_LINUX_CAPABILITY_VERSION_2> の 64 ビットケーパビリティが推奨である。 64 "
3019 "ビットケーパビリティでは I<datap>[0] と I<datap>[1] が使用されるのに対し、 "
3020 "32 ビットケーパビリティでは I<datap>[0] だけが使用される。"
3021
3022 #. type: Plain text
3023 #: build/C/man2/capget.2:104
3024 msgid ""
3025 "Another change affecting the behavior of these system calls is kernel "
3026 "support for file capabilities (VFS capability support).  This support is "
3027 "currently a compile time option (added in kernel 2.6.24)."
3028 msgstr ""
3029 "これらのシステムコールの挙動に影響があるもう一つの変更点は、 ファイルケーパビ"
3030 "リティ (file capabilities) のカーネルによるサポート (VFS ケーパビリティのサ"
3031 "ポート) である。 VFS ケーパビリティのサポートは現在のところコンパイル時のオプ"
3032 "ションである (カーネル 2.6.24 で追加された)。"
3033
3034 #. type: Plain text
3035 #: build/C/man2/capget.2:111
3036 msgid ""
3037 "For B<capget>()  calls, one can probe the capabilities of any process by "
3038 "specifying its process ID with the I<hdrp-E<gt>pid> field value."
3039 msgstr ""
3040 "B<capget>()  では、 I<hdrp-E<gt>pid> のフィールド値にケーパビリティを知りたい"
3041 "プロセスのプロセス ID を 指定することで、任意のプロセスのケーパビリティを調べ"
3042 "ることができる。"
3043
3044 #. type: SS
3045 #: build/C/man2/capget.2:111
3046 #, no-wrap
3047 msgid "With VFS Capability Support"
3048 msgstr "VFS ケーパビリティがサポートされている場合"
3049
3050 #. type: Plain text
3051 #: build/C/man2/capget.2:123
3052 msgid ""
3053 "VFS Capability support creates a file-attribute method for adding "
3054 "capabilities to privileged executables.  This privilege model obsoletes "
3055 "kernel support for one process asynchronously setting the capabilities of "
3056 "another.  That is, with VFS support, for B<capset>()  calls the only "
3057 "permitted values for I<hdrp-E<gt>pid> are 0 or B<getpid>(2), which are "
3058 "equivalent."
3059 msgstr ""
3060 "VFS ケーパビリティのサポートでは、特権実行ファイルにケーパビリティを 追加する"
3061 "ためのファイル属性メソッドが作成された。 この特権モデルの導入により、あるプロ"
3062 "セスにより別のプロセスのケーパビリティ を非同期に設定する機能のカーネルによる"
3063 "サポートは廃止される。 つまり、VFS サポートでは、 B<capset>()  を呼び出す際"
3064 "に I<hdrp-E<gt>pid> の値として許されるのは 0 と B<getpid>(2)  が返す値だけと"
3065 "なる (どちらの値でも等価である)。"
3066
3067 #. type: SS
3068 #: build/C/man2/capget.2:123
3069 #, no-wrap
3070 msgid "Without VFS Capability Support"
3071 msgstr "VFS ケーパビリティがサポートされていない場合"
3072
3073 #. type: Plain text
3074 #: build/C/man2/capget.2:149
3075 msgid ""
3076 "When the kernel does not support VFS capabilities, B<capset>()  calls can "
3077 "operate on the capabilities of the thread specified by the I<pid> field of "
3078 "I<hdrp> when that is nonzero, or on the capabilities of the calling thread "
3079 "if I<pid> is 0.  If I<pid> refers to a single-threaded process, then I<pid> "
3080 "can be specified as a traditional process ID; operating on a thread of a "
3081 "multithreaded process requires a thread ID of the type returned by B<gettid>"
3082 "(2).  For B<capset>(), I<pid> can also be: -1, meaning perform the change on "
3083 "all threads except the caller and B<init>(8); or a value less than -1, in "
3084 "which case the change is applied to all members of the process group whose "
3085 "ID is -I<pid>."
3086 msgstr ""
3087 "カーネルが VFS ケーパビリティをサポートしていない場合、 I<hdrp> の I<pid> "
3088 "フィールドが 0 以外であれば、 B<capset>()  の操作対象は I<pid> で指定されたス"
3089 "レッドのケーパビリティになる。 I<pid> が 0 の場合は呼び出し元のスレッドのケー"
3090 "パビリティが操作対象となる。 I<pid> がシングルスレッド・プロセスを参照してい"
3091 "る場合、 I<pid> は以前から使われているプロセスID を使って指定できる。 マルチ"
3092 "スレッド・プロセス内のあるスレッドを対象にする場合は、 B<gettid>(2)  が返すス"
3093 "レッドID を用いて指定する必要がある。 また、 B<capset>()  では -1 や -1 より"
3094 "小さな値を指定することもできる。 -1 は呼び出し元と B<init>(8)  を除く全てのス"
3095 "レッドを対象として変更を行うことを、 -1 より小さな値は ID が -I<pid> のプロセ"
3096 "スグループの全メンバ を対象として変更を行うことを意味する。"
3097
3098 #. type: Plain text
3099 #: build/C/man2/capget.2:152
3100 msgid "For details on the data, see B<capabilities>(7)."
3101 msgstr "このデータの詳細は B<capabilities>(7)  を参照すること。"
3102
3103 #. type: Plain text
3104 #: build/C/man2/capget.2:171
3105 msgid ""
3106 "The calls will fail with the error B<EINVAL>, and set the I<version> field "
3107 "of I<hdrp> to the kernel preferred value of B<_LINUX_CAPABILITY_VERSION_?> "
3108 "when an unsupported I<version> value is specified.  In this way, one can "
3109 "probe what the current preferred capability revision is."
3110 msgstr ""
3111 "I<hdrp> のフィールド I<version> にサポートされていない値が指定された場合、 呼"
3112 "び出しはエラー B<EINVAL> で失敗し、 I<version> にカーネル推奨の "
3113 "B<_LINUX_CAPABILITY_VERSION_?> を設定する。 このようにして、現在の推奨ケーパ"
3114 "ビリティ・リビジョンが何かを 調べることができる。"
3115
3116 #. type: Plain text
3117 #: build/C/man2/capget.2:180
3118 msgid ""
3119 "Bad memory address.  I<hdrp> must not be NULL.  I<datap> may be NULL only "
3120 "when the user is trying to determine the preferred capability version format "
3121 "supported by the kernel."
3122 msgstr ""
3123 "不正なメモリアドレス。 I<hdrp> は NULL であってはならない。 I<datap> に NULL "
3124 "を指定してよいのは、ユーザがカーネルがサポートしている 推奨のケーパビリティ・"
3125 "バージョンを判定しようとしているときだけである。"
3126
3127 #. type: TP
3128 #: build/C/man2/capget.2:180 build/C/man7/cpuset.7:1179
3129 #: build/C/man7/cpuset.7:1188 build/C/man7/cpuset.7:1197
3130 #: build/C/man7/cpuset.7:1207 build/C/man7/cpuset.7:1216
3131 #: build/C/man7/cpuset.7:1223 build/C/man7/cpuset.7:1230
3132 #: build/C/man2/getgroups.2:114 build/C/man2/getgroups.2:121
3133 #: build/C/man2/getpriority.2:119 build/C/man2/getrlimit.2:440
3134 #: build/C/man2/getrusage.2:190 build/C/man2/iopl.2:71
3135 #: build/C/man2/ioprio_set.2:160 build/C/man2/setpgid.2:200
3136 #, no-wrap
3137 msgid "B<EINVAL>"
3138 msgstr "B<EINVAL>"
3139
3140 #. type: Plain text
3141 #: build/C/man2/capget.2:183
3142 msgid "One of the arguments was invalid."
3143 msgstr "引き数のどれかが無効である。"
3144
3145 #. type: Plain text
3146 #: build/C/man2/capget.2:188
3147 msgid ""
3148 "An attempt was made to add a capability to the Permitted set, or to set a "
3149 "capability in the Effective or Inheritable sets that is not in the Permitted "
3150 "set."
3151 msgstr ""
3152 "「許可ケーパビリティセット」にケーパビリティを追加しようとしているか、 もしく"
3153 "は「許可ケーパビリティセット」に含まれないケーパビリティを 「実効ケーパビリ"
3154 "ティセット」や「継承可能ケーパビリティセット」に セットしようとしている。"
3155
3156 #. type: Plain text
3157 #: build/C/man2/capget.2:207
3158 msgid ""
3159 "The caller attempted to use B<capset>()  to modify the capabilities of a "
3160 "thread other than itself, but lacked sufficient privilege.  For kernels "
3161 "supporting VFS capabilities, this is never permitted.  For kernels lacking "
3162 "VFS support, the B<CAP_SETPCAP> capability is required.  (A bug in kernels "
3163 "before 2.6.11 meant that this error could also occur if a thread without "
3164 "this capability tried to change its own capabilities by specifying the "
3165 "I<pid> field as a nonzero value (i.e., the value returned by B<getpid>(2))  "
3166 "instead of 0.)"
3167 msgstr ""
3168 "呼び出し元が自分以外のスレッドのケーパビリティを B<capset>()  を使って修正し"
3169 "ようとしたが、十分な特権がなかった。 VFS ケーパビリティをサポートしているカー"
3170 "ネルでは、 この操作が許可されることは決してない。 VFS ケーパビリティをサポー"
3171 "トしていないカーネルでは、 B<CAP_SETPCAP> ケーパビリティが必要である。 (バー"
3172 "ジョン 2.6.11 より前のカーネルには、 このケーパビリティを持たないスレッドが "
3173 "I<pid> フィールドに 0 でない値 (つまり、0 の代わりに B<getpid>(2)  が返す値) "
3174 "を指定して自分自身のケーパビリティを変更しようとした場合にも、 このエラーが発"
3175 "生するというバグがあった。)"
3176
3177 #. type: TP
3178 #: build/C/man2/capget.2:207 build/C/man7/cpuset.7:1329
3179 #: build/C/man2/getpriority.2:127 build/C/man2/getrlimit.2:464
3180 #: build/C/man2/getsid.2:69 build/C/man2/ioprio_set.2:177
3181 #: build/C/man2/setpgid.2:215
3182 #, no-wrap
3183 msgid "B<ESRCH>"
3184 msgstr "B<ESRCH>"
3185
3186 #. type: Plain text
3187 #: build/C/man2/capget.2:210
3188 msgid "No such thread."
3189 msgstr "そのようなスレッドが存在しない。"
3190
3191 #. type: Plain text
3192 #: build/C/man2/capget.2:212 build/C/man2/ioprio_set.2:188
3193 msgid "These system calls are Linux-specific."
3194 msgstr "これらのシステムコールは Linux 独自である。"
3195
3196 #. type: Plain text
3197 #: build/C/man2/capget.2:217
3198 msgid ""
3199 "The portable interface to the capability querying and setting functions is "
3200 "provided by the I<libcap> library and is available here:"
3201 msgstr ""
3202 "ケーパビリティを設定したり取得したりする機能のための移植性ある インターフェー"
3203 "スは I<libcap> ライブラリによって提供される。 このライブラリは以下から入手で"
3204 "きる:"
3205
3206 #. type: Plain text
3207 #: build/C/man2/capget.2:219
3208 msgid "http://www.kernel.org/pub/linux/libs/security/linux-privs"
3209 msgstr "http://www.kernel.org/pub/linux/libs/security/linux-privs"
3210
3211 #. type: Plain text
3212 #: build/C/man2/capget.2:223
3213 msgid "B<clone>(2), B<gettid>(2), B<capabilities>(7)"
3214 msgstr "B<clone>(2), B<gettid>(2), B<capabilities>(7)"
3215
3216 #. type: TH
3217 #: build/C/man7/cpuset.7:24
3218 #, no-wrap
3219 msgid "CPUSET"
3220 msgstr "CPUSET"
3221
3222 #. type: TH
3223 #: build/C/man7/cpuset.7:24
3224 #, no-wrap
3225 msgid "2008-11-12"
3226 msgstr "2008-11-12"
3227
3228 #. type: Plain text
3229 #: build/C/man7/cpuset.7:27
3230 msgid "cpuset - confine processes to processor and memory node subsets"
3231 msgstr "cpuset - confine processes to processor and memory node subsets"
3232
3233 #. type: Plain text
3234 #: build/C/man7/cpuset.7:34
3235 msgid ""
3236 "The cpuset file system is a pseudo-file-system interface to the kernel "
3237 "cpuset mechanism, which is used to control the processor placement and "
3238 "memory placement of processes.  It is commonly mounted at I</dev/cpuset>."
3239 msgstr ""
3240 "The cpuset file system is a pseudo-file-system interface to the kernel "
3241 "cpuset mechanism, which is used to control the processor placement and "
3242 "memory placement of processes.  It is commonly mounted at I</dev/cpuset>."
3243
3244 #. type: Plain text
3245 #: build/C/man7/cpuset.7:51
3246 msgid ""
3247 "On systems with kernels compiled with built in support for cpusets, all "
3248 "processes are attached to a cpuset, and cpusets are always present.  If a "
3249 "system supports cpusets, then it will have the entry B<nodev cpuset> in the "
3250 "file I</proc/filesystems>.  By mounting the cpuset file system (see the "
3251 "B<EXAMPLE> section below), the administrator can configure the cpusets on a "
3252 "system to control the processor and memory placement of processes on that "
3253 "system.  By default, if the cpuset configuration on a system is not modified "
3254 "or if the cpuset file system is not even mounted, then the cpuset mechanism, "
3255 "though present, has no affect on the system's behavior."
3256 msgstr ""
3257 "On systems with kernels compiled with built in support for cpusets, all "
3258 "processes are attached to a cpuset, and cpusets are always present.  If a "
3259 "system supports cpusets, then it will have the entry B<nodev cpuset> in the "
3260 "file I</proc/filesystems>.  By mounting the cpuset file system (see the "
3261 "B<EXAMPLE> section below), the administrator can configure the cpusets on a "
3262 "system to control the processor and memory placement of processes on that "
3263 "system.  By default, if the cpuset configuration on a system is not modified "
3264 "or if the cpuset file system is not even mounted, then the cpuset mechanism, "
3265 "though present, has no affect on the system's behavior."
3266
3267 #. type: Plain text
3268 #: build/C/man7/cpuset.7:53
3269 msgid "A cpuset defines a list of CPUs and memory nodes."
3270 msgstr "A cpuset defines a list of CPUs and memory nodes."
3271
3272 #. type: Plain text
3273 #: build/C/man7/cpuset.7:62
3274 msgid ""
3275 "The CPUs of a system include all the logical processing units on which a "
3276 "process can execute, including, if present, multiple processor cores within "
3277 "a package and Hyper-Threads within a processor core.  Memory nodes include "
3278 "all distinct banks of main memory; small and SMP systems typically have just "
3279 "one memory node that contains all the system's main memory, while NUMA (non-"
3280 "uniform memory access) systems have multiple memory nodes."
3281 msgstr ""
3282 "The CPUs of a system include all the logical processing units on which a "
3283 "process can execute, including, if present, multiple processor cores within "
3284 "a package and Hyper-Threads within a processor core.  Memory nodes include "
3285 "all distinct banks of main memory; small and SMP systems typically have just "
3286 "one memory node that contains all the system's main memory, while NUMA (non-"
3287 "uniform memory access) systems have multiple memory nodes."
3288
3289 #. type: Plain text
3290 #: build/C/man7/cpuset.7:72
3291 msgid ""
3292 "Cpusets are represented as directories in a hierarchical pseudo-file system, "
3293 "where the top directory in the hierarchy (I</dev/cpuset>)  represents the "
3294 "entire system (all online CPUs and memory nodes)  and any cpuset that is the "
3295 "child (descendant) of another parent cpuset contains a subset of that "
3296 "parent's CPUs and memory nodes.  The directories and files representing "
3297 "cpusets have normal file-system permissions."
3298 msgstr ""
3299 "Cpusets are represented as directories in a hierarchical pseudo-file system, "
3300 "where the top directory in the hierarchy (I</dev/cpuset>)  represents the "
3301 "entire system (all online CPUs and memory nodes)  and any cpuset that is the "
3302 "child (descendant) of another parent cpuset contains a subset of that "
3303 "parent's CPUs and memory nodes.  The directories and files representing "
3304 "cpusets have normal file-system permissions."
3305
3306 #. type: Plain text
3307 #: build/C/man7/cpuset.7:83
3308 msgid ""
3309 "Every process in the system belongs to exactly one cpuset.  A process is "
3310 "confined to only run on the CPUs in the cpuset it belongs to, and to "
3311 "allocate memory only on the memory nodes in that cpuset.  When a process "
3312 "B<fork>(2)s, the child process is placed in the same cpuset as its parent.  "
3313 "With sufficient privilege, a process may be moved from one cpuset to another "
3314 "and the allowed CPUs and memory nodes of an existing cpuset may be changed."
3315 msgstr ""
3316 "Every process in the system belongs to exactly one cpuset.  A process is "
3317 "confined to only run on the CPUs in the cpuset it belongs to, and to "
3318 "allocate memory only on the memory nodes in that cpuset.  When a process "
3319 "B<fork>(2)s, the child process is placed in the same cpuset as its parent.  "
3320 "With sufficient privilege, a process may be moved from one cpuset to another "
3321 "and the allowed CPUs and memory nodes of an existing cpuset may be changed."
3322
3323 #. type: Plain text
3324 #: build/C/man7/cpuset.7:91
3325 msgid ""
3326 "When the system begins booting, a single cpuset is defined that includes all "
3327 "CPUs and memory nodes on the system, and all processes are in that cpuset.  "
3328 "During the boot process, or later during normal system operation, other "
3329 "cpusets may be created, as subdirectories of this top cpuset, under the "
3330 "control of the system administrator, and processes may be placed in these "
3331 "other cpusets."
3332 msgstr ""
3333 "When the system begins booting, a single cpuset is defined that includes all "
3334 "CPUs and memory nodes on the system, and all processes are in that cpuset.  "
3335 "During the boot process, or later during normal system operation, other "
3336 "cpusets may be created, as subdirectories of this top cpuset, under the "
3337 "control of the system administrator, and processes may be placed in these "
3338 "other cpusets."
3339
3340 #. type: Plain text
3341 #: build/C/man7/cpuset.7:113
3342 msgid ""
3343 "Cpusets are integrated with the B<sched_setaffinity>(2)  scheduling affinity "
3344 "mechanism and the B<mbind>(2)  and B<set_mempolicy>(2)  memory-placement "
3345 "mechanisms in the kernel.  Neither of these mechanisms let a process make "
3346 "use of a CPU or memory node that is not allowed by that process's cpuset.  "
3347 "If changes to a process's cpuset placement conflict with these other "
3348 "mechanisms, then cpuset placement is enforced even if it means overriding "
3349 "these other mechanisms.  The kernel accomplishes this overriding by silently "
3350 "restricting the CPUs and memory nodes requested by these other mechanisms to "
3351 "those allowed by the invoking process's cpuset.  This can result in these "
3352 "other calls returning an error, if for example, such a call ends up "
3353 "requesting an empty set of CPUs or memory nodes, after that request is "
3354 "restricted to the invoking process's cpuset."
3355 msgstr ""
3356 "Cpusets are integrated with the B<sched_setaffinity>(2)  scheduling affinity "
3357 "mechanism and the B<mbind>(2)  and B<set_mempolicy>(2)  memory-placement "
3358 "mechanisms in the kernel.  Neither of these mechanisms let a process make "
3359 "use of a CPU or memory node that is not allowed by that process's cpuset.  "
3360 "If changes to a process's cpuset placement conflict with these other "
3361 "mechanisms, then cpuset placement is enforced even if it means overriding "
3362 "these other mechanisms.  The kernel accomplishes this overriding by silently "
3363 "restricting the CPUs and memory nodes requested by these other mechanisms to "
3364 "those allowed by the invoking process's cpuset.  This can result in these "
3365 "other calls returning an error, if for example, such a call ends up "
3366 "requesting an empty set of CPUs or memory nodes, after that request is "
3367 "restricted to the invoking process's cpuset."
3368
3369 #. type: Plain text
3370 #: build/C/man7/cpuset.7:119
3371 msgid ""
3372 "Typically, a cpuset is used to manage the CPU and memory-node confinement "
3373 "for a set of cooperating processes such as a batch scheduler job, and these "
3374 "other mechanisms are used to manage the placement of individual processes or "
3375 "memory regions within that set or job."
3376 msgstr ""
3377 "Typically, a cpuset is used to manage the CPU and memory-node confinement "
3378 "for a set of cooperating processes such as a batch scheduler job, and these "
3379 "other mechanisms are used to manage the placement of individual processes or "
3380 "memory regions within that set or job."
3381
3382 #. type: SH
3383 #: build/C/man7/cpuset.7:119
3384 #, no-wrap
3385 msgid "FILES"
3386 msgstr "FILES"
3387
3388 #. type: Plain text
3389 #: build/C/man7/cpuset.7:124
3390 msgid ""
3391 "Each directory below I</dev/cpuset> represents a cpuset and contains a fixed "
3392 "set of pseudo-files describing the state of that cpuset."
3393 msgstr ""
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
3397 #. type: Plain text
3398 #: build/C/man7/cpuset.7:134
3399 msgid ""
3400 "New cpusets are created using the B<mkdir>(2)  system call or the B<mkdir>"
3401 "(1)  command.  The properties of a cpuset, such as its flags, allowed CPUs "
3402 "and memory nodes, and attached processes, are queried and modified by "
3403 "reading or writing to the appropriate file in that cpuset's directory, as "
3404 "listed below."
3405 msgstr ""
3406 "New cpusets are created using the B<mkdir>(2)  system call or the B<mkdir>"
3407 "(1)  command.  The properties of a cpuset, such as its flags, allowed CPUs "
3408 "and memory nodes, and attached processes, are queried and modified by "
3409 "reading or writing to the appropriate file in that cpuset's directory, as "
3410 "listed below."
3411
3412 #. type: Plain text
3413 #: build/C/man7/cpuset.7:140
3414 msgid ""
3415 "The pseudo-files in each cpuset directory are automatically created when the "
3416 "cpuset is created, as a result of the B<mkdir>(2)  invocation.  It is not "
3417 "possible to directly add or remove these pseudo-files."
3418 msgstr ""
3419 "The pseudo-files in each cpuset directory are automatically created when the "
3420 "cpuset is created, as a result of the B<mkdir>(2)  invocation.  It is not "
3421 "possible to directly add or remove these pseudo-files."
3422
3423 #. type: Plain text
3424 #: build/C/man7/cpuset.7:148
3425 msgid ""
3426 "A cpuset directory that contains no child cpuset directories, and has no "
3427 "attached processes, can be removed using B<rmdir>(2)  or B<rmdir>(1).  It is "
3428 "not necessary, or possible, to remove the pseudo-files inside the directory "
3429 "before removing it."
3430 msgstr ""
3431 "A cpuset directory that contains no child cpuset directories, and has no "
3432 "attached processes, can be removed using B<rmdir>(2)  or B<rmdir>(1).  It is "
3433 "not necessary, or possible, to remove the pseudo-files inside the directory "
3434 "before removing it."
3435
3436 #. type: Plain text
3437 #: build/C/man7/cpuset.7:162
3438 msgid ""
3439 "The pseudo-files in each cpuset directory are small text files that may be "
3440 "read and written using traditional shell utilities such as B<cat>(1), and "
3441 "B<echo>(1), or from a program by using file I/O library functions or system "
3442 "calls, such as B<open>(2), B<read>(2), B<write>(2), and B<close>(2)."
3443 msgstr ""
3444 "The pseudo-files in each cpuset directory are small text files that may be "
3445 "read and written using traditional shell utilities such as B<cat>(1), and "
3446 "B<echo>(1), or from a program by using file I/O library functions or system "
3447 "calls, such as B<open>(2), B<read>(2), B<write>(2), and B<close>(2)."
3448
3449 #.  ====================== tasks ======================
3450 #. type: Plain text
3451 #: build/C/man7/cpuset.7:167
3452 msgid ""
3453 "The pseudo-files in a cpuset directory represent internal kernel state and "
3454 "do not have any persistent image on disk.  Each of these per-cpuset files is "
3455 "listed and described below."
3456 msgstr ""
3457 "The pseudo-files in a cpuset directory represent internal kernel state and "
3458 "do not have any persistent image on disk.  Each of these per-cpuset files is "
3459 "listed and described below."
3460
3461 #. type: TP
3462 #: build/C/man7/cpuset.7:167
3463 #, no-wrap
3464 msgid "I<tasks>"
3465 msgstr "I<tasks>"
3466
3467 #. type: Plain text
3468 #: build/C/man7/cpuset.7:177
3469 msgid ""
3470 "List of the process IDs (PIDs) of the processes in that cpuset.  The list is "
3471 "formatted as a series of ASCII decimal numbers, each followed by a newline.  "
3472 "A process may be added to a cpuset (automatically removing it from the "
3473 "cpuset that previously contained it) by writing its PID to that cpuset's "
3474 "I<tasks> file (with or without a trailing newline.)"
3475 msgstr ""
3476 "List of the process IDs (PIDs) of the processes in that cpuset.  The list is "
3477 "formatted as a series of ASCII decimal numbers, each followed by a newline.  "
3478 "A process may be added to a cpuset (automatically removing it from the "
3479 "cpuset that previously contained it) by writing its PID to that cpuset's "
3480 "I<tasks> file (with or without a trailing newline.)"
3481
3482 #.  =================== notify_on_release ===================
3483 #. type: Plain text
3484 #: build/C/man7/cpuset.7:185
3485 msgid ""
3486 "B<Warning:> only one PID may be written to the I<tasks> file at a time.  If "
3487 "a string is written that contains more than one PID, only the first one will "
3488 "be used."
3489 msgstr ""
3490 "B<Warning:> only one PID may be written to the I<tasks> file at a time.  If "
3491 "a string is written that contains more than one PID, only the first one will "
3492 "be used."
3493
3494 #. type: TP
3495 #: build/C/man7/cpuset.7:185
3496 #, no-wrap
3497 msgid "I<notify_on_release>"
3498 msgstr "I<notify_on_release>"
3499
3500 #.  ====================== cpus ======================
3501 #. type: Plain text
3502 #: build/C/man7/cpuset.7:194
3503 msgid ""
3504 "Flag (0 or 1).  If set (1), that cpuset will receive special handling after "
3505 "it is released, that is, after all processes cease using it (i.e., terminate "
3506 "or are moved to a different cpuset)  and all child cpuset directories have "
3507 "been removed.  See the B<Notify On Release> section, below."
3508 msgstr ""
3509 "Flag (0 or 1).  If set (1), that cpuset will receive special handling after "
3510 "it is released, that is, after all processes cease using it (i.e., terminate "
3511 "or are moved to a different cpuset)  and all child cpuset directories have "
3512 "been removed.  See the B<Notify On Release> section, below."
3513
3514 #. type: TP
3515 #: build/C/man7/cpuset.7:194
3516 #, no-wrap
3517 msgid "I<cpus>"
3518 msgstr "I<cpus>"
3519
3520 #. type: Plain text
3521 #: build/C/man7/cpuset.7:201
3522 msgid ""
3523 "List of the physical numbers of the CPUs on which processes in that cpuset "
3524 "are allowed to execute.  See B<List Format> below for a description of the "
3525 "format of I<cpus>."
3526 msgstr ""
3527 "List of the physical numbers of the CPUs on which processes in that cpuset "
3528 "are allowed to execute.  See B<List Format> below for a description of the "
3529 "format of I<cpus>."
3530
3531 #.  ==================== cpu_exclusive ====================
3532 #. type: Plain text
3533 #: build/C/man7/cpuset.7:207
3534 msgid ""
3535 "The CPUs allowed to a cpuset may be changed by writing a new list to its "
3536 "I<cpus> file."
3537 msgstr ""
3538 "The CPUs allowed to a cpuset may be changed by writing a new list to its "
3539 "I<cpus> file."
3540
3541 #. type: TP
3542 #: build/C/man7/cpuset.7:207
3543 #, no-wrap
3544 msgid "I<cpu_exclusive>"
3545 msgstr "I<cpu_exclusive>"
3546
3547 #. type: Plain text
3548 #: build/C/man7/cpuset.7:214
3549 msgid ""
3550 "Flag (0 or 1).  If set (1), the cpuset has exclusive use of its CPUs (no "
3551 "sibling or cousin cpuset may overlap CPUs).  By default this is off (0).  "
3552 "Newly created cpusets also initially default this to off (0)."
3553 msgstr ""
3554 "Flag (0 or 1).  If set (1), the cpuset has exclusive use of its CPUs (no "
3555 "sibling or cousin cpuset may overlap CPUs).  By default this is off (0).  "
3556 "Newly created cpusets also initially default this to off (0)."
3557
3558 #.  ====================== mems ======================
3559 #. type: Plain text
3560 #: build/C/man7/cpuset.7:236
3561 msgid ""
3562 "Two cpusets are I<sibling> cpusets if they share the same parent cpuset in "
3563 "the I</dev/cpuset> hierarchy.  Two cpusets are I<cousin> cpusets if neither "
3564 "is the ancestor of the other.  Regardless of the I<cpu_exclusive> setting, "
3565 "if one cpuset is the ancestor of another, and if both of these cpusets have "
3566 "nonempty I<cpus>, then their I<cpus> must overlap, because the I<cpus> of "
3567 "any cpuset are always a subset of the I<cpus> of its parent cpuset."
3568 msgstr ""
3569 "Two cpusets are I<sibling> cpusets if they share the same parent cpuset in "
3570 "the I</dev/cpuset> hierarchy.  Two cpusets are I<cousin> cpusets if neither "
3571 "is the ancestor of the other.  Regardless of the I<cpu_exclusive> setting, "
3572 "if one cpuset is the ancestor of another, and if both of these cpusets have "
3573 "nonempty I<cpus>, then their I<cpus> must overlap, because the I<cpus> of "
3574 "any cpuset are always a subset of the I<cpus> of its parent cpuset."
3575
3576 #. type: TP
3577 #: build/C/man7/cpuset.7:236
3578 #, no-wrap
3579 msgid "I<mems>"
3580 msgstr "I<mems>"
3581
3582 #.  ==================== mem_exclusive ====================
3583 #. type: Plain text
3584 #: build/C/man7/cpuset.7:244
3585 msgid ""
3586 "List of memory nodes on which processes in this cpuset are allowed to "
3587 "allocate memory.  See B<List Format> below for a description of the format "
3588 "of I<mems>."
3589 msgstr ""
3590 "List of memory nodes on which processes in this cpuset are allowed to "
3591 "allocate memory.  See B<List Format> below for a description of the format "
3592 "of I<mems>."
3593
3594 #. type: TP
3595 #: build/C/man7/cpuset.7:244
3596 #, no-wrap
3597 msgid "I<mem_exclusive>"
3598 msgstr "I<mem_exclusive>"
3599
3600 #. type: Plain text
3601 #: build/C/man7/cpuset.7:252
3602 msgid ""
3603 "Flag (0 or 1).  If set (1), the cpuset has exclusive use of its memory nodes "
3604 "(no sibling or cousin may overlap).  Also if set (1), the cpuset is a "
3605 "B<Hardwall> cpuset (see below.)  By default this is off (0).  Newly created "
3606 "cpusets also initially default this to off (0)."
3607 msgstr ""
3608 "Flag (0 or 1).  If set (1), the cpuset has exclusive use of its memory nodes "
3609 "(no sibling or cousin may overlap).  Also if set (1), the cpuset is a "
3610 "B<Hardwall> cpuset (see below.)  By default this is off (0).  Newly created "
3611 "cpusets also initially default this to off (0)."
3612
3613 #.  ==================== mem_hardwall ====================
3614 #. type: Plain text
3615 #: build/C/man7/cpuset.7:260
3616 msgid ""
3617 "Regardless of the I<mem_exclusive> setting, if one cpuset is the ancestor of "
3618 "another, then their memory nodes must overlap, because the memory nodes of "
3619 "any cpuset are always a subset of the memory nodes of that cpuset's parent "
3620 "cpuset."
3621 msgstr ""
3622 "Regardless of the I<mem_exclusive> setting, if one cpuset is the ancestor of "
3623 "another, then their memory nodes must overlap, because the memory nodes of "
3624 "any cpuset are always a subset of the memory nodes of that cpuset's parent "
3625 "cpuset."
3626
3627 #. type: TP
3628 #: build/C/man7/cpuset.7:260
3629 #, no-wrap
3630 msgid "I<mem_hardwall> (since Linux 2.6.26)"
3631 msgstr "I<mem_hardwall> (since Linux 2.6.26)"
3632
3633 #.  ==================== memory_migrate ====================
3634 #. type: Plain text
3635 #: build/C/man7/cpuset.7:271
3636 msgid ""
3637 "Flag (0 or 1).  If set (1), the cpuset is a B<Hardwall> cpuset (see below.)  "
3638 "Unlike B<mem_exclusive>, there is no constraint on whether cpusets marked "
3639 "B<mem_hardwall> may have overlapping memory nodes with sibling or cousin "
3640 "cpusets.  By default this is off (0).  Newly created cpusets also initially "
3641 "default this to off (0)."
3642 msgstr ""
3643 "Flag (0 or 1).  If set (1), the cpuset is a B<Hardwall> cpuset (see below.)  "
3644 "Unlike B<mem_exclusive>, there is no constraint on whether cpusets marked "
3645 "B<mem_hardwall> may have overlapping memory nodes with sibling or cousin "
3646 "cpusets.  By default this is off (0).  Newly created cpusets also initially "
3647 "default this to off (0)."
3648
3649 #. type: TP
3650 #: build/C/man7/cpuset.7:271
3651 #, no-wrap
3652 msgid "I<memory_migrate> (since Linux 2.6.16)"
3653 msgstr "I<memory_migrate> (since Linux 2.6.16)"
3654
3655 #.  ==================== memory_pressure ====================
3656 #. type: Plain text
3657 #: build/C/man7/cpuset.7:278
3658 msgid ""
3659 "Flag (0 or 1).  If set (1), then memory migration is enabled.  By default "
3660 "this is off (0).  See the B<Memory Migration> section, below."
3661 msgstr ""
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
3665 #. type: TP
3666 #: build/C/man7/cpuset.7:278
3667 #, no-wrap
3668 msgid "I<memory_pressure> (since Linux 2.6.16)"
3669 msgstr "I<memory_pressure> (since Linux 2.6.16)"
3670
3671 #.  ================= memory_pressure_enabled =================
3672 #. type: Plain text
3673 #: build/C/man7/cpuset.7:291
3674 msgid ""
3675 "A measure of how much memory pressure the processes in this cpuset are "
3676 "causing.  See the B<Memory Pressure> section, below.  Unless "
3677 "I<memory_pressure_enabled> is enabled, always has value zero (0).  This file "
3678 "is read-only.  See the B<WARNINGS> section, below."
3679 msgstr ""
3680 "A measure of how much memory pressure the processes in this cpuset are "
3681 "causing.  See the B<Memory Pressure> section, below.  Unless "
3682 "I<memory_pressure_enabled> is enabled, always has value zero (0).  This file "
3683 "is read-only.  See the B<WARNINGS> section, below."
3684
3685 #. type: TP
3686 #: build/C/man7/cpuset.7:291
3687 #, no-wrap
3688 msgid "I<memory_pressure_enabled> (since Linux 2.6.16)"
3689 msgstr "I<memory_pressure_enabled> (since Linux 2.6.16)"
3690
3691 #.  ================== memory_spread_page ==================
3692 #. type: Plain text
3693 #: build/C/man7/cpuset.7:303
3694 msgid ""
3695 "Flag (0 or 1).  This file is only present in the root cpuset, normally I</"
3696 "dev/cpuset>.  If set (1), the I<memory_pressure> calculations are enabled "
3697 "for all cpusets in the system.  By default this is off (0).  See the "
3698 "B<Memory Pressure> section, below."
3699 msgstr ""
3700 "Flag (0 or 1).  This file is only present in the root cpuset, normally I</"
3701 "dev/cpuset>.  If set (1), the I<memory_pressure> calculations are enabled "
3702 "for all cpusets in the system.  By default this is off (0).  See the "
3703 "B<Memory Pressure> section, below."
3704
3705 #. type: TP
3706 #: build/C/man7/cpuset.7:303
3707 #, no-wrap
3708 msgid "I<memory_spread_page> (since Linux 2.6.17)"
3709 msgstr "I<memory_spread_page> (since Linux 2.6.17)"
3710
3711 #.  ================== memory_spread_slab ==================
3712 #. type: Plain text
3713 #: build/C/man7/cpuset.7:313
3714 msgid ""
3715 "Flag (0 or 1).  If set (1), pages in the kernel page cache (file-system "
3716 "buffers) are uniformly spread across the cpuset.  By default this is off (0) "
3717 "in the top cpuset, and inherited from the parent cpuset in newly created "
3718 "cpusets.  See the B<Memory Spread> section, below."
3719 msgstr ""
3720 "Flag (0 or 1).  If set (1), pages in the kernel page cache (file-system "
3721 "buffers) are uniformly spread across the cpuset.  By default this is off (0) "
3722 "in the top cpuset, and inherited from the parent cpuset in newly created "
3723 "cpusets.  See the B<Memory Spread> section, below."
3724
3725 #. type: TP
3726 #: build/C/man7/cpuset.7:313
3727 #, no-wrap
3728 msgid "I<memory_spread_slab> (since Linux 2.6.17)"
3729 msgstr "I<memory_spread_slab> (since Linux 2.6.17)"
3730
3731 #.  ================== sched_load_balance ==================
3732 #. type: Plain text
3733 #: build/C/man7/cpuset.7:324
3734 msgid ""
3735 "Flag (0 or 1).  If set (1), the kernel slab caches for file I/O (directory "
3736 "and inode structures) are uniformly spread across the cpuset.  By default "
3737 "this is off (0) in the top cpuset, and inherited from the parent cpuset in "
3738 "newly created cpusets.  See the B<Memory Spread> section, below."
3739 msgstr ""
3740 "Flag (0 or 1).  If set (1), the kernel slab caches for file I/O (directory "
3741 "and inode structures) are uniformly spread across the cpuset.  By default "
3742 "this is off (0) in the top cpuset, and inherited from the parent cpuset in "
3743 "newly created cpusets.  See the B<Memory Spread> section, below."
3744
3745 #. type: TP
3746 #: build/C/man7/cpuset.7:324
3747 #, no-wrap
3748 msgid "I<sched_load_balance> (since Linux 2.6.24)"
3749 msgstr "I<sched_load_balance> (since Linux 2.6.24)"
3750
3751 #.  ================== sched_relax_domain_level ==================
3752 #. type: Plain text
3753 #: build/C/man7/cpuset.7:338
3754 msgid ""
3755 "Flag (0 or 1).  If set (1, the default) the kernel will automatically load "
3756 "balance processes in that cpuset over the allowed CPUs in that cpuset.  If "
3757 "cleared (0) the kernel will avoid load balancing processes in this cpuset, "
3758 "I<unless> some other cpuset with overlapping CPUs has its "
3759 "I<sched_load_balance> flag set.  See B<Scheduler Load Balancing>, below, for "
3760 "further details."
3761 msgstr ""
3762 "Flag (0 or 1).  If set (1, the default) the kernel will automatically load "
3763 "balance processes in that cpuset over the allowed CPUs in that cpuset.  If "
3764 "cleared (0) the kernel will avoid load balancing processes in this cpuset, "
3765 "I<unless> some other cpuset with overlapping CPUs has its "
3766 "I<sched_load_balance> flag set.  See B<Scheduler Load Balancing>, below, for "
3767 "further details."
3768
3769 #. type: TP
3770 #: build/C/man7/cpuset.7:338
3771 #, no-wrap
3772 msgid "I<sched_relax_domain_level> (since Linux 2.6.26)"
3773 msgstr "I<sched_relax_domain_level> (since Linux 2.6.26)"
3774
3775 #.  ================== proc cpuset ==================
3776 #. type: Plain text
3777 #: build/C/man7/cpuset.7:358
3778 msgid ""
3779 "Integer, between -1 and a small positive value.  The "
3780 "I<sched_relax_domain_level> controls the width of the range of CPUs over "
3781 "which the kernel scheduler performs immediate rebalancing of runnable tasks "
3782 "across CPUs.  If I<sched_load_balance> is disabled, then the setting of "
3783 "I<sched_relax_domain_level> does not matter, as no such load balancing is "
3784 "done.  If I<sched_load_balance> is enabled, then the higher the value of the "
3785 "I<sched_relax_domain_level>, the wider the range of CPUs over which "
3786 "immediate load balancing is attempted.  See B<Scheduler Relax Domain Level>, "
3787 "below, for further details."
3788 msgstr ""
3789 "Integer, between -1 and a small positive value.  The "
3790 "I<sched_relax_domain_level> controls the width of the range of CPUs over "
3791 "which the kernel scheduler performs immediate rebalancing of runnable tasks "
3792 "across CPUs.  If I<sched_load_balance> is disabled, then the setting of "
3793 "I<sched_relax_domain_level> does not matter, as no such load balancing is "
3794 "done.  If I<sched_load_balance> is enabled, then the higher the value of the "
3795 "I<sched_relax_domain_level>, the wider the range of CPUs over which "
3796 "immediate load balancing is attempted.  See B<Scheduler Relax Domain Level>, "
3797 "below, for further details."
3798
3799 #.  ================== proc status ==================
3800 #. type: Plain text
3801 #: build/C/man7/cpuset.7:366
3802 msgid ""
3803 "In addition to the above pseudo-files in each directory below I</dev/"
3804 "cpuset>, each process has a pseudo-file, I</proc/E<lt>pidE<gt>/cpuset>, that "
3805 "displays the path of the process's cpuset directory relative to the root of "
3806 "the cpuset file system."
3807 msgstr ""
3808 "In addition to the above pseudo-files in each directory below I</dev/"
3809 "cpuset>, each process has a pseudo-file, I</proc/E<lt>pidE<gt>/cpuset>, that "
3810 "displays the path of the process's cpuset directory relative to the root of "
3811 "the cpuset file system."
3812
3813 #. type: Plain text
3814 #: build/C/man7/cpuset.7:377
3815 msgid ""
3816 "Also the I</proc/E<lt>pidE<gt>/status> file for each process has four added "
3817 "lines, displaying the process's I<Cpus_allowed> (on which CPUs it may be "
3818 "scheduled) and I<Mems_allowed> (on which memory nodes it may obtain memory), "
3819 "in the two formats B<Mask Format> and B<List Format> (see below)  as shown "
3820 "in the following example:"
3821 msgstr ""
3822 "Also the I</proc/E<lt>pidE<gt>/status> file for each process has four added "
3823 "lines, displaying the process's I<Cpus_allowed> (on which CPUs it may be "
3824 "scheduled) and I<Mems_allowed> (on which memory nodes it may obtain memory), "
3825 "in the two formats B<Mask Format> and B<List Format> (see below)  as shown "
3826 "in the following example:"
3827
3828 #. type: Plain text
3829 #: build/C/man7/cpuset.7:384
3830 #, no-wrap
3831 msgid ""
3832 "Cpus_allowed:   ffffffff,ffffffff,ffffffff,ffffffff\n"
3833 "Cpus_allowed_list:     0-127\n"
3834 "Mems_allowed:   ffffffff,ffffffff\n"
3835 "Mems_allowed_list:     0-63\n"
3836 msgstr ""
3837 "Cpus_allowed:   ffffffff,ffffffff,ffffffff,ffffffff\n"
3838 "Cpus_allowed_list:     0-127\n"
3839 "Mems_allowed:   ffffffff,ffffffff\n"
3840 "Mems_allowed_list:     0-63\n"
3841
3842 #.  ================== EXTENDED CAPABILITIES ==================
3843 #. type: Plain text
3844 #: build/C/man7/cpuset.7:390
3845 msgid ""
3846 "The \"allowed\" fields were added in Linux 2.6.24; the \"allowed_list\" "
3847 "fields were added in Linux 2.6.26."
3848 msgstr ""
3849 "The \"allowed\" fields were added in Linux 2.6.24; the \"allowed_list\" "
3850 "fields were added in Linux 2.6.26."
3851
3852 #. type: SH
3853 #: build/C/man7/cpuset.7:390
3854 #, no-wrap
3855 msgid "EXTENDED CAPABILITIES"
3856 msgstr "EXTENDED CAPABILITIES"
3857
3858 #.  ================== Exclusive Cpusets ==================
3859 #. type: Plain text
3860 #: build/C/man7/cpuset.7:398
3861 msgid ""
3862 "In addition to controlling which I<cpus> and I<mems> a process is allowed to "
3863 "use, cpusets provide the following extended capabilities."
3864 msgstr ""
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
3868 #. type: SS
3869 #: build/C/man7/cpuset.7:398
3870 #, no-wrap
3871 msgid "Exclusive Cpusets"
3872 msgstr "Exclusive Cpusets"
3873
3874 #. type: Plain text
3875 #: build/C/man7/cpuset.7:405
3876 msgid ""
3877 "If a cpuset is marked I<cpu_exclusive> or I<mem_exclusive>, no other cpuset, "
3878 "other than a direct ancestor or descendant, may share any of the same CPUs "
3879 "or memory nodes."
3880 msgstr ""
3881 "If a cpuset is marked I<cpu_exclusive> or I<mem_exclusive>, no other cpuset, "
3882 "other than a direct ancestor or descendant, may share any of the same CPUs "
3883 "or memory nodes."
3884
3885 #.  ================== Hardwall ==================
3886 #. type: Plain text
3887 #: build/C/man7/cpuset.7:431
3888 msgid ""
3889 "A cpuset that is I<mem_exclusive> restricts kernel allocations for buffer "
3890 "cache pages and other internal kernel data pages commonly shared by the "
3891 "kernel across multiple users.  All cpusets, whether I<mem_exclusive> or not, "
3892 "restrict allocations of memory for user space.  This enables configuring a "
3893 "system so that several independent jobs can share common kernel data, while "
3894 "isolating each job's user allocation in its own cpuset.  To do this, "
3895 "construct a large I<mem_exclusive> cpuset to hold all the jobs, and "
3896 "construct child, non-I<mem_exclusive> cpusets for each individual job.  Only "
3897 "a small amount of kernel memory, such as requests from interrupt handlers, "
3898 "is allowed to be placed on memory nodes outside even a I<mem_exclusive> "
3899 "cpuset."
3900 msgstr ""
3901 "A cpuset that is I<mem_exclusive> restricts kernel allocations for buffer "
3902 "cache pages and other internal kernel data pages commonly shared by the "
3903 "kernel across multiple users.  All cpusets, whether I<mem_exclusive> or not, "
3904 "restrict allocations of memory for user space.  This enables configuring a "
3905 "system so that several independent jobs can share common kernel data, while "
3906 "isolating each job's user allocation in its own cpuset.  To do this, "
3907 "construct a large I<mem_exclusive> cpuset to hold all the jobs, and "
3908 "construct child, non-I<mem_exclusive> cpusets for each individual job.  Only "
3909 "a small amount of kernel memory, such as requests from interrupt handlers, "
3910 "is allowed to be placed on memory nodes outside even a I<mem_exclusive> "
3911 "cpuset."
3912
3913 #. type: SS
3914 #: build/C/man7/cpuset.7:431
3915 #, no-wrap
3916 msgid "Hardwall"
3917 msgstr "Hardwall"
3918
3919 #. type: Plain text
3920 #: build/C/man7/cpuset.7:446
3921 msgid ""
3922 "A cpuset that has I<mem_exclusive> or I<mem_hardwall> set is a I<hardwall> "
3923 "cpuset.  A I<hardwall> cpuset restricts kernel allocations for page, buffer, "
3924 "and other data commonly shared by the kernel across multiple users.  All "
3925 "cpusets, whether I<hardwall> or not, restrict allocations of memory for user "
3926 "space."
3927 msgstr ""
3928 "A cpuset that has I<mem_exclusive> or I<mem_hardwall> set is a I<hardwall> "
3929 "cpuset.  A I<hardwall> cpuset restricts kernel allocations for page, buffer, "
3930 "and other data commonly shared by the kernel across multiple users.  All "
3931 "cpusets, whether I<hardwall> or not, restrict allocations of memory for user "
3932 "space."
3933
3934 #. type: Plain text
3935 #: build/C/man7/cpuset.7:457
3936 msgid ""
3937 "This enables configuring a system so that several independent jobs can share "
3938 "common kernel data, such as file system pages, while isolating each job's "
3939 "user allocation in its own cpuset.  To do this, construct a large "
3940 "I<hardwall> cpuset to hold all the jobs, and construct child cpusets for "
3941 "each individual job which are not I<hardwall> cpusets."
3942 msgstr ""
3943 "This enables configuring a system so that several independent jobs can share "
3944 "common kernel data, such as file system pages, while isolating each job's "
3945 "user allocation in its own cpuset.  To do this, construct a large "
3946 "I<hardwall> cpuset to hold all the jobs, and construct child cpusets for "
3947 "each individual job which are not I<hardwall> cpusets."
3948
3949 #.  ================== Notify On Release ==================
3950 #. type: Plain text
3951 #: build/C/man7/cpuset.7:463
3952 msgid ""
3953 "Only a small amount of kernel memory, such as requests from interrupt "
3954 "handlers, is allowed to be taken outside even a I<hardwall> cpuset."
3955 msgstr ""
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
3959 #. type: SS
3960 #: build/C/man7/cpuset.7:463
3961 #, no-wrap
3962 msgid "Notify On Release"
3963 msgstr "Notify On Release"
3964
3965 #. type: Plain text
3966 #: build/C/man7/cpuset.7:475
3967 msgid ""
3968 "If the I<notify_on_release> flag is enabled (1) in a cpuset, then whenever "
3969 "the last process in the cpuset leaves (exits or attaches to some other "
3970 "cpuset)  and the last child cpuset of that cpuset is removed, the kernel "
3971 "will run the command I</sbin/cpuset_release_agent>, supplying the pathname "
3972 "(relative to the mount point of the cpuset file system) of the abandoned "
3973 "cpuset.  This enables automatic removal of abandoned cpusets."
3974 msgstr ""
3975 "If the I<notify_on_release> flag is enabled (1) in a cpuset, then whenever "
3976 "the last process in the cpuset leaves (exits or attaches to some other "
3977 "cpuset)  and the last child cpuset of that cpuset is removed, the kernel "
3978 "will run the command I</sbin/cpuset_release_agent>, supplying the pathname "
3979 "(relative to the mount point of the cpuset file system) of the abandoned "
3980 "cpuset.  This enables automatic removal of abandoned cpusets."
3981
3982 #. type: Plain text
3983 #: build/C/man7/cpuset.7:483
3984 msgid ""
3985 "The default value of I<notify_on_release> in the root cpuset at system boot "
3986 "is disabled (0).  The default value of other cpusets at creation is the "
3987 "current value of their parent's I<notify_on_release> setting."
3988 msgstr ""
3989 "The default value of I<notify_on_release> in the root cpuset at system boot "
3990 "is disabled (0).  The default value of other cpusets at creation is the "
3991 "current value of their parent's I<notify_on_release> setting."
3992
3993 #. type: Plain text
3994 #: build/C/man7/cpuset.7:491
3995 msgid ""
3996 "The command I</sbin/cpuset_release_agent> is invoked, with the name (I</dev/"
3997 "cpuset> relative path)  of the to-be-released cpuset in I<argv[1]>."
3998 msgstr ""
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
4002 #. type: Plain text
4003 #: build/C/man7/cpuset.7:495
4004 msgid ""
4005 "The usual contents of the command I</sbin/cpuset_release_agent> is simply "
4006 "the shell script:"
4007 msgstr ""
4008 "The usual contents of the command I</sbin/cpuset_release_agent> is simply "
4009 "the shell script:"
4010
4011 #. type: Plain text
4012 #: build/C/man7/cpuset.7:500
4013 #, no-wrap
4014 msgid ""
4015 "#!/bin/sh\n"
4016 "rmdir /dev/cpuset/$1\n"
4017 msgstr ""
4018 "#!/bin/sh\n"
4019 "rmdir /dev/cpuset/$1\n"
4020
4021 #.  ================== Memory Pressure ==================
4022 #. type: Plain text
4023 #: build/C/man7/cpuset.7:508
4024 msgid ""
4025 "As with other flag values below, this flag can be changed by writing an "
4026 "ASCII number 0 or 1 (with optional trailing newline)  into the file, to "
4027 "clear or set the flag, respectively."
4028 msgstr ""
4029 "As with other flag values below, this flag can be changed by writing an "
4030 "ASCII number 0 or 1 (with optional trailing newline)  into the file, to "
4031 "clear or set the flag, respectively."
4032
4033 #. type: SS
4034 #: build/C/man7/cpuset.7:508
4035 #, no-wrap
4036 msgid "Memory Pressure"
4037 msgstr "Memory Pressure"
4038
4039 #. type: Plain text
4040 #: build/C/man7/cpuset.7:514
4041 msgid ""
4042 "The I<memory_pressure> of a cpuset provides a simple per-cpuset running "
4043 "average of the rate that the processes in a cpuset are attempting to free up "
4044 "in-use memory on the nodes of the cpuset to satisfy additional memory "
4045 "requests."
4046 msgstr ""
4047 "The I<memory_pressure> of a cpuset provides a simple per-cpuset running "
4048 "average of the rate that the processes in a cpuset are attempting to free up "
4049 "in-use memory on the nodes of the cpuset to satisfy additional memory "
4050 "requests."
4051
4052 #. type: Plain text
4053 #: build/C/man7/cpuset.7:518
4054 msgid ""
4055 "This enables batch managers that are monitoring jobs running in dedicated "
4056 "cpusets to efficiently detect what level of memory pressure that job is "
4057 "causing."
4058 msgstr ""
4059 "This enables batch managers that are monitoring jobs running in dedicated "
4060 "cpusets to efficiently detect what level of memory pressure that job is "
4061 "causing."
4062
4063 #. type: Plain text
4064 #: build/C/man7/cpuset.7:525
4065 msgid ""
4066 "This is useful both on tightly managed systems running a wide mix of "
4067 "submitted jobs, which may choose to terminate or reprioritize jobs that are "
4068 "trying to use more memory than allowed on the nodes assigned them, and with "
4069 "tightly coupled, long-running, massively parallel scientific computing jobs "
4070 "that will dramatically fail to meet required performance goals if they start "
4071 "to use more memory than allowed to them."
4072 msgstr ""
4073 "This is useful both on tightly managed systems running a wide mix of "
4074 "submitted jobs, which may choose to terminate or reprioritize jobs that are "
4075 "trying to use more memory than allowed on the nodes assigned them, and with "
4076 "tightly coupled, long-running, massively parallel scientific computing jobs "
4077 "that will dramatically fail to meet required performance goals if they start "
4078 "to use more memory than allowed to them."
4079
4080 #. type: Plain text
4081 #: build/C/man7/cpuset.7:530
4082 msgid ""
4083 "This mechanism provides a very economical way for the batch manager to "
4084 "monitor a cpuset for signs of memory pressure.  It's up to the batch manager "
4085 "or other user code to decide what action to take if it detects signs of "
4086 "memory pressure."
4087 msgstr ""
4088 "This mechanism provides a very economical way for the batch manager to "
4089 "monitor a cpuset for signs of memory pressure.  It's up to the batch manager "
4090 "or other user code to decide what action to take if it detects signs of "
4091 "memory pressure."
4092
4093 #. type: Plain text
4094 #: build/C/man7/cpuset.7:537
4095 msgid ""
4096 "Unless memory pressure calculation is enabled by setting the pseudo-file I</"
4097 "dev/cpuset/memory_pressure_enabled>, it is not computed for any cpuset, and "
4098 "reads from any I<memory_pressure> always return zero, as represented by the "
4099 "ASCII string \"0\\en\".  See the B<WARNINGS> section, below."
4100 msgstr ""
4101 "Unless memory pressure calculation is enabled by setting the pseudo-file I</"
4102 "dev/cpuset/memory_pressure_enabled>, it is not computed for any cpuset, and "
4103 "reads from any I<memory_pressure> always return zero, as represented by the "
4104 "ASCII string \"0\\en\".  See the B<WARNINGS> section, below."
4105
4106 #. type: Plain text
4107 #: build/C/man7/cpuset.7:539
4108 msgid "A per-cpuset, running average is employed for the following reasons:"
4109 msgstr "A per-cpuset, running average is employed for the following reasons:"
4110
4111 #. type: Plain text
4112 #: build/C/man7/cpuset.7:544
4113 msgid ""
4114 "Because this meter is per-cpuset rather than per-process or per virtual "
4115 "memory region, the system load imposed by a batch scheduler monitoring this "
4116 "metric is sharply reduced on large systems, because a scan of the tasklist "
4117 "can be avoided on each set of queries."
4118 msgstr ""
4119 "Because this meter is per-cpuset rather than per-process or per virtual "
4120 "memory region, the system load imposed by a batch scheduler monitoring this "
4121 "metric is sharply reduced on large systems, because a scan of the tasklist "
4122 "can be avoided on each set of queries."
4123
4124 #. type: Plain text
4125 #: build/C/man7/cpuset.7:549
4126 msgid ""
4127 "Because this meter is a running average rather than an accumulating counter, "
4128 "a batch scheduler can detect memory pressure with a single read, instead of "
4129 "having to read and accumulate results for a period of time."
4130 msgstr ""
4131 "Because this meter is a running average rather than an accumulating counter, "
4132 "a batch scheduler can detect memory pressure with a single read, instead of "
4133 "having to read and accumulate results for a period of time."
4134
4135 #. type: Plain text
4136 #: build/C/man7/cpuset.7:555
4137 msgid ""
4138 "Because this meter is per-cpuset rather than per-process, the batch "
4139 "scheduler can obtain the key information\\(emmemory pressure in a cpuset"
4140 "\\(emwith a single read, rather than having to query and accumulate results "
4141 "over all the (dynamically changing)  set of processes in the cpuset."
4142 msgstr ""
4143 "Because this meter is per-cpuset rather than per-process, the batch "
4144 "scheduler can obtain the key information\\(emmemory pressure in a cpuset"
4145 "\\(emwith a single read, rather than having to query and accumulate results "
4146 "over all the (dynamically changing)  set of processes in the cpuset."
4147
4148 #. type: Plain text
4149 #: build/C/man7/cpuset.7:563
4150 msgid ""
4151 "The I<memory_pressure> of a cpuset is calculated using a per-cpuset simple "
4152 "digital filter that is kept within the kernel.  For each cpuset, this filter "
4153 "tracks the recent rate at which processes attached to that cpuset enter the "
4154 "kernel direct reclaim code."
4155 msgstr ""
4156 "The I<memory_pressure> of a cpuset is calculated using a per-cpuset simple "
4157 "digital filter that is kept within the kernel.  For each cpuset, this filter "
4158 "tracks the recent rate at which processes attached to that cpuset enter the "
4159 "kernel direct reclaim code."
4160
4161 #. type: Plain text
4162 #: build/C/man7/cpuset.7:572
4163 msgid ""
4164 "The kernel direct reclaim code is entered whenever a process has to satisfy "
4165 "a memory page request by first finding some other page to repurpose, due to "
4166 "lack of any readily available already free pages.  Dirty file system pages "
4167 "are repurposed by first writing them to disk.  Unmodified file system buffer "
4168 "pages are repurposed by simply dropping them, though if that page is needed "
4169 "again, it will have to be reread from disk."
4170 msgstr ""
4171 "The kernel direct reclaim code is entered whenever a process has to satisfy "
4172 "a memory page request by first finding some other page to repurpose, due to "
4173 "lack of any readily available already free pages.  Dirty file system pages "
4174 "are repurposed by first writing them to disk.  Unmodified file system buffer "
4175 "pages are repurposed by simply dropping them, though if that page is needed "
4176 "again, it will have to be reread from disk."
4177
4178 #.  ================== Memory Spread ==================
4179 #. type: Plain text
4180 #: build/C/man7/cpuset.7:580
4181 msgid ""
4182 "The I<memory_pressure> file provides an integer number representing the "
4183 "recent (half-life of 10 seconds) rate of entries to the direct reclaim code "
4184 "caused by any process in the cpuset, in units of reclaims attempted per "
4185 "second, times 1000."
4186 msgstr ""
4187 "The I<memory_pressure> file provides an integer number representing the "
4188 "recent (half-life of 10 seconds) rate of entries to the direct reclaim code "
4189 "caused by any process in the cpuset, in units of reclaims attempted per "
4190 "second, times 1000."
4191
4192 #. type: SS
4193 #: build/C/man7/cpuset.7:580
4194 #, no-wrap
4195 msgid "Memory Spread"
4196 msgstr "Memory Spread"
4197
4198 #. type: Plain text
4199 #: build/C/man7/cpuset.7:588
4200 msgid ""
4201 "There are two Boolean flag files per cpuset that control where the kernel "
4202 "allocates pages for the file-system buffers and related in-kernel data "
4203 "structures.  They are called I<memory_spread_page> and I<memory_spread_slab>."
4204 msgstr ""
4205 "There are two Boolean flag files per cpuset that control where the kernel "
4206 "allocates pages for the file-system buffers and related in-kernel data "
4207 "structures.  They are called I<memory_spread_page> and I<memory_spread_slab>."
4208
4209 #. type: Plain text
4210 #: build/C/man7/cpuset.7:595
4211 msgid ""
4212 "If the per-cpuset Boolean flag file I<memory_spread_page> is set, then the "
4213 "kernel will spread the file-system buffers (page cache) evenly over all the "
4214 "nodes that the faulting process is allowed to use, instead of preferring to "
4215 "put those pages on the node where the process is running."
4216 msgstr ""
4217 "If the per-cpuset Boolean flag file I<memory_spread_page> is set, then the "
4218 "kernel will spread the file-system buffers (page cache) evenly over all the "
4219 "nodes that the faulting process is allowed to use, instead of preferring to "
4220 "put those pages on the node where the process is running."
4221
4222 #. type: Plain text
4223 #: build/C/man7/cpuset.7:603
4224 msgid ""
4225 "If the per-cpuset Boolean flag file I<memory_spread_slab> is set, then the "
4226 "kernel will spread some file-system-related slab caches, such as those for "
4227 "inodes and directory entries, evenly over all the nodes that the faulting "
4228 "process is allowed to use, instead of preferring to put those pages on the "
4229 "node where the process is running."
4230 msgstr ""
4231 "If the per-cpuset Boolean flag file I<memory_spread_slab> is set, then the "
4232 "kernel will spread some file-system-related slab caches, such as those for "
4233 "inodes and directory entries, evenly over all the nodes that the faulting "
4234 "process is allowed to use, instead of preferring to put those pages on the "
4235 "node where the process is running."
4236
4237 #. type: Plain text
4238 #: build/C/man7/cpuset.7:608
4239 msgid ""
4240 "The setting of these flags does not affect the data segment (see B<brk>(2))  "
4241 "or stack segment pages of a process."
4242 msgstr ""
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
4246 #. type: Plain text
4247 #: build/C/man7/cpuset.7:616
4248 msgid ""
4249 "By default, both kinds of memory spreading are off and the kernel prefers to "
4250 "allocate memory pages on the node local to where the requesting process is "
4251 "running.  If that node is not allowed by the process's NUMA memory policy or "
4252 "cpuset configuration or if there are insufficient free memory pages on that "
4253 "node, then the kernel looks for the nearest node that is allowed and has "
4254 "sufficient free memory."
4255 msgstr ""
4256 "By default, both kinds of memory spreading are off and the kernel prefers to "
4257 "allocate memory pages on the node local to where the requesting process is "
4258 "running.  If that node is not allowed by the process's NUMA memory policy or "
4259 "cpuset configuration or if there are insufficient free memory pages on that "
4260 "node, then the kernel looks for the nearest node that is allowed and has "
4261 "sufficient free memory."
4262
4263 #. type: Plain text
4264 #: build/C/man7/cpuset.7:619
4265 msgid ""
4266 "When new cpusets are created, they inherit the memory spread settings of "
4267 "their parent."
4268 msgstr ""
4269 "When new cpusets are created, they inherit the memory spread settings of "
4270 "their parent."
4271
4272 #. type: Plain text
4273 #: build/C/man7/cpuset.7:634
4274 msgid ""
4275 "Setting memory spreading causes allocations for the affected page or slab "
4276 "caches to ignore the process's NUMA memory policy and be spread instead.  "
4277 "However, the effect of these changes in memory placement caused by cpuset-"
4278 "specified memory spreading is hidden from the B<mbind>(2)  or "
4279 "B<set_mempolicy>(2)  calls.  These two NUMA memory policy calls always "
4280 "appear to behave as if no cpuset-specified memory spreading is in effect, "
4281 "even if it is.  If cpuset memory spreading is subsequently turned off, the "
4282 "NUMA memory policy most recently specified by these calls is automatically "
4283 "reapplied."
4284 msgstr ""
4285 "Setting memory spreading causes allocations for the affected page or slab "
4286 "caches to ignore the process's NUMA memory policy and be spread instead.  "
4287 "However, the effect of these changes in memory placement caused by cpuset-"
4288 "specified memory spreading is hidden from the B<mbind>(2)  or "
4289 "B<set_mempolicy>(2)  calls.  These two NUMA memory policy calls always "
4290 "appear to behave as if no cpuset-specified memory spreading is in effect, "
4291 "even if it is.  If cpuset memory spreading is subsequently turned off, the "
4292 "NUMA memory policy most recently specified by these calls is automatically "
4293 "reapplied."
4294
4295 #. type: Plain text
4296 #: build/C/man7/cpuset.7:643
4297 msgid ""
4298 "Both I<memory_spread_page> and I<memory_spread_slab> are Boolean flag "
4299 "files.  By default they contain \"0\", meaning that the feature is off for "
4300 "that cpuset.  If a \"1\" is written to that file, that turns the named "
4301 "feature on."
4302 msgstr ""
4303 "Both I<memory_spread_page> and I<memory_spread_slab> are Boolean flag "
4304 "files.  By default they contain \"0\", meaning that the feature is off for "
4305 "that cpuset.  If a \"1\" is written to that file, that turns the named "
4306 "feature on."
4307
4308 #. type: Plain text
4309 #: build/C/man7/cpuset.7:646
4310 msgid ""
4311 "Cpuset-specified memory spreading behaves similarly to what is known (in "
4312 "other contexts) as round-robin or interleave memory placement."
4313 msgstr ""
4314 "Cpuset-specified memory spreading behaves similarly to what is known (in "
4315 "other contexts) as round-robin or interleave memory placement."
4316
4317 #. type: Plain text
4318 #: build/C/man7/cpuset.7:649
4319 msgid ""
4320 "Cpuset-specified memory spreading can provide substantial performance "
4321 "improvements for jobs that:"
4322 msgstr ""
4323 "Cpuset-specified memory spreading can provide substantial performance "
4324 "improvements for jobs that:"
4325
4326 #. type: IP
4327 #: build/C/man7/cpuset.7:649
4328 #, no-wrap
4329 msgid "a)"
4330 msgstr "a)"
4331
4332 #. type: Plain text
4333 #: build/C/man7/cpuset.7:653
4334 msgid ""
4335 "need to place thread-local data on memory nodes close to the CPUs which are "
4336 "running the threads that most frequently access that data; but also"
4337 msgstr ""
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
4341 #. type: IP
4342 #: build/C/man7/cpuset.7:653
4343 #, no-wrap
4344 msgid "b)"
4345 msgstr "b)"
4346
4347 #. type: Plain text
4348 #: build/C/man7/cpuset.7:656
4349 msgid ""
4350 "need to access large file-system data sets that must to be spread across the "
4351 "several nodes in the job's cpuset in order to fit."
4352 msgstr ""
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
4356 #.  ================== Memory Migration ==================
4357 #. type: Plain text
4358 #: build/C/man7/cpuset.7:663
4359 msgid ""
4360 "Without this policy, the memory allocation across the nodes in the job's "
4361 "cpuset can become very uneven, especially for jobs that might have just a "
4362 "single thread initializing or reading in the data set."
4363 msgstr ""
4364 "Without this policy, the memory allocation across the nodes in the job's "
4365 "cpuset can become very uneven, especially for jobs that might have just a "
4366 "single thread initializing or reading in the data set."
4367
4368 #. type: SS
4369 #: build/C/man7/cpuset.7:663
4370 #, no-wrap
4371 msgid "Memory Migration"
4372 msgstr "Memory Migration"
4373
4374 #. type: Plain text
4375 #: build/C/man7/cpuset.7:672
4376 msgid ""
4377 "Normally, under the default setting (disabled) of I<memory_migrate>, once a "
4378 "page is allocated (given a physical page of main memory) then that page "
4379 "stays on whatever node it was allocated, so long as it remains allocated, "
4380 "even if the cpuset's memory-placement policy I<mems> subsequently changes."
4381 msgstr ""
4382 "Normally, under the default setting (disabled) of I<memory_migrate>, once a "
4383 "page is allocated (given a physical page of main memory) then that page "
4384 "stays on whatever node it was allocated, so long as it remains allocated, "
4385 "even if the cpuset's memory-placement policy I<mems> subsequently changes."
4386
4387 #. type: Plain text
4388 #: build/C/man7/cpuset.7:678
4389 msgid ""
4390 "When memory migration is enabled in a cpuset, if the I<mems> setting of the "
4391 "cpuset is changed, then any memory page in use by any process in the cpuset "
4392 "that is on a memory node that is no longer allowed will be migrated to a "
4393 "memory node that is allowed."
4394 msgstr ""
4395 "When memory migration is enabled in a cpuset, if the I<mems> setting of the "
4396 "cpuset is changed, then any memory page in use by any process in the cpuset "
4397 "that is on a memory node that is no longer allowed will be migrated to a "
4398 "memory node that is allowed."
4399
4400 #. type: Plain text
4401 #: build/C/man7/cpuset.7:684
4402 msgid ""
4403 "Furthermore, if a process is moved into a cpuset with I<memory_migrate> "
4404 "enabled, any memory pages it uses that were on memory nodes allowed in its "
4405 "previous cpuset, but which are not allowed in its new cpuset, will be "
4406 "migrated to a memory node allowed in the new cpuset."
4407 msgstr ""
4408 "Furthermore, if a process is moved into a cpuset with I<memory_migrate> "
4409 "enabled, any memory pages it uses that were on memory nodes allowed in its "
4410 "previous cpuset, but which are not allowed in its new cpuset, will be "
4411 "migrated to a memory node allowed in the new cpuset."
4412
4413 #.  ================== Scheduler Load Balancing ==================
4414 #. type: Plain text
4415 #: build/C/man7/cpuset.7:692
4416 msgid ""
4417 "The relative placement of a migrated page within the cpuset is preserved "
4418 "during these migration operations if possible.  For example, if the page was "
4419 "on the second valid node of the prior cpuset, then the page will be placed "
4420 "on the second valid node of the new cpuset, if possible."
4421 msgstr ""
4422 "The relative placement of a migrated page within the cpuset is preserved "
4423 "during these migration operations if possible.  For example, if the page was "
4424 "on the second valid node of the prior cpuset, then the page will be placed "
4425 "on the second valid node of the new cpuset, if possible."
4426
4427 #. type: SS
4428 #: build/C/man7/cpuset.7:692
4429 #, no-wrap
4430 msgid "Scheduler Load Balancing"
4431 msgstr "Scheduler Load Balancing"
4432
4433 #. type: Plain text
4434 #: build/C/man7/cpuset.7:699
4435 msgid ""
4436 "The kernel scheduler automatically load balances processes.  If one CPU is "
4437 "underutilized, the kernel will look for processes on other more overloaded "
4438 "CPUs and move those processes to the underutilized CPU, within the "
4439 "constraints of such placement mechanisms as cpusets and B<sched_setaffinity>"
4440 "(2)."
4441 msgstr ""
4442 "The kernel scheduler automatically load balances processes.  If one CPU is "
4443 "underutilized, the kernel will look for processes on other more overloaded "
4444 "CPUs and move those processes to the underutilized CPU, within the "
4445 "constraints of such placement mechanisms as cpusets and B<sched_setaffinity>"
4446 "(2)."
4447
4448 #. type: Plain text
4449 #: build/C/man7/cpuset.7:712
4450 msgid ""
4451 "The algorithmic cost of load balancing and its impact on key shared kernel "
4452 "data structures such as the process list increases more than linearly with "
4453 "the number of CPUs being balanced.  For example, it costs more to load "
4454 "balance across one large set of CPUs than it does to balance across two "
4455 "smaller sets of CPUs, each of half the size of the larger set.  (The precise "
4456 "relationship between the number of CPUs being balanced and the cost of load "
4457 "balancing depends on implementation details of the kernel process scheduler, "
4458 "which is subject to change over time, as improved kernel scheduler "
4459 "algorithms are implemented.)"
4460 msgstr ""
4461 "The algorithmic cost of load balancing and its impact on key shared kernel "
4462 "data structures such as the process list increases more than linearly with "
4463 "the number of CPUs being balanced.  For example, it costs more to load "
4464 "balance across one large set of CPUs than it does to balance across two "
4465 "smaller sets of CPUs, each of half the size of the larger set.  (The precise "
4466 "relationship between the number of CPUs being balanced and the cost of load "
4467 "balancing depends on implementation details of the kernel process scheduler, "
4468 "which is subject to change over time, as improved kernel scheduler "
4469 "algorithms are implemented.)"
4470
4471 #. type: Plain text
4472 #: build/C/man7/cpuset.7:718
4473 msgid ""
4474 "The per-cpuset flag I<sched_load_balance> provides a mechanism to suppress "
4475 "this automatic scheduler load balancing in cases where it is not needed and "
4476 "suppressing it would have worthwhile performance benefits."
4477 msgstr ""
4478 "The per-cpuset flag I<sched_load_balance> provides a mechanism to suppress "
4479 "this automatic scheduler load balancing in cases where it is not needed and "
4480 "suppressing it would have worthwhile performance benefits."
4481
4482 #. type: Plain text
4483 #: build/C/man7/cpuset.7:722
4484 msgid ""
4485 "By default, load balancing is done across all CPUs, except those marked "
4486 "isolated using the kernel boot time \"isolcpus=\" argument.  (See "
4487 "B<Scheduler Relax Domain Level>, below, to change this default.)"
4488 msgstr ""
4489 "By default, load balancing is done across all CPUs, except those marked "
4490 "isolated using the kernel boot time \"isolcpus=\" argument.  (See "
4491 "B<Scheduler Relax Domain Level>, below, to change this default.)"
4492
4493 #. type: Plain text
4494 #: build/C/man7/cpuset.7:725
4495 msgid ""
4496 "This default load balancing across all CPUs is not well suited to the "
4497 "following two situations:"
4498 msgstr ""
4499 "This default load balancing across all CPUs is not well suited to the "
4500 "following two situations:"
4501
4502 #. type: Plain text
4503 #: build/C/man7/cpuset.7:729
4504 msgid ""
4505 "On large systems, load balancing across many CPUs is expensive.  If the "
4506 "system is managed using cpusets to place independent jobs on separate sets "
4507 "of CPUs, full load balancing is unnecessary."
4508 msgstr ""
4509 "On large systems, load balancing across many CPUs is expensive.  If the "
4510 "system is managed using cpusets to place independent jobs on separate sets "
4511 "of CPUs, full load balancing is unnecessary."
4512
4513 #. type: Plain text
4514 #: build/C/man7/cpuset.7:733
4515 msgid ""
4516 "Systems supporting real-time on some CPUs need to minimize system overhead "
4517 "on those CPUs, including avoiding process load balancing if that is not "
4518 "needed."
4519 msgstr ""
4520 "Systems supporting real-time on some CPUs need to minimize system overhead "
4521 "on those CPUs, including avoiding process load balancing if that is not "
4522 "needed."
4523
4524 #. type: Plain text
4525 #: build/C/man7/cpuset.7:743
4526 msgid ""
4527 "When the per-cpuset flag I<sched_load_balance> is enabled (the default "
4528 "setting), it requests load balancing across all the CPUs in that cpuset's "
4529 "allowed CPUs, ensuring that load balancing can move a process (not otherwise "
4530 "pinned, as by B<sched_setaffinity>(2))  from any CPU in that cpuset to any "
4531 "other."
4532 msgstr ""
4533 "When the per-cpuset flag I<sched_load_balance> is enabled (the default "
4534 "setting), it requests load balancing across all the CPUs in that cpuset's "
4535 "allowed CPUs, ensuring that load balancing can move a process (not otherwise "
4536 "pinned, as by B<sched_setaffinity>(2))  from any CPU in that cpuset to any "
4537 "other."
4538
4539 #. type: Plain text
4540 #: build/C/man7/cpuset.7:752
4541 msgid ""
4542 "When the per-cpuset flag I<sched_load_balance> is disabled, then the "
4543 "scheduler will avoid load balancing across the CPUs in that cpuset, "
4544 "I<except> in so far as is necessary because some overlapping cpuset has "
4545 "I<sched_load_balance> enabled."
4546 msgstr ""
4547 "When the per-cpuset flag I<sched_load_balance> is disabled, then the "
4548 "scheduler will avoid load balancing across the CPUs in that cpuset, "
4549 "I<except> in so far as is necessary because some overlapping cpuset has "
4550 "I<sched_load_balance> enabled."
4551
4552 #. type: Plain text
4553 #: build/C/man7/cpuset.7:760
4554 msgid ""
4555 "So, for example, if the top cpuset has the flag I<sched_load_balance> "
4556 "enabled, then the scheduler will load balance across all CPUs, and the "
4557 "setting of the I<sched_load_balance> flag in other cpusets has no effect, as "
4558 "we're already fully load balancing."
4559 msgstr ""
4560 "So, for example, if the top cpuset has the flag I<sched_load_balance> "
4561 "enabled, then the scheduler will load balance across all CPUs, and the "
4562 "setting of the I<sched_load_balance> flag in other cpusets has no effect, as "
4563 "we're already fully load balancing."
4564
4565 #. type: Plain text
4566 #: build/C/man7/cpuset.7:765
4567 msgid ""
4568 "Therefore in the above two situations, the flag I<sched_load_balance> should "
4569 "be disabled in the top cpuset, and only some of the smaller, child cpusets "
4570 "would have this flag enabled."
4571 msgstr ""
4572 "Therefore in the above two situations, the flag I<sched_load_balance> should "
4573 "be disabled in the top cpuset, and only some of the smaller, child cpusets "
4574 "would have this flag enabled."
4575
4576 #. type: Plain text
4577 #: build/C/man7/cpuset.7:773
4578 msgid ""
4579 "When doing this, you don't usually want to leave any unpinned processes in "
4580 "the top cpuset that might use nontrivial amounts of CPU, as such processes "
4581 "may be artificially constrained to some subset of CPUs, depending on the "
4582 "particulars of this flag setting in descendant cpusets.  Even if such a "
4583 "process could use spare CPU cycles in some other CPUs, the kernel scheduler "
4584 "might not consider the possibility of load balancing that process to the "
4585 "underused CPU."
4586 msgstr ""
4587 "When doing this, you don't usually want to leave any unpinned processes in "
4588 "the top cpuset that might use nontrivial amounts of CPU, as such processes "
4589 "may be artificially constrained to some subset of CPUs, depending on the "
4590 "particulars of this flag setting in descendant cpusets.  Even if such a "
4591 "process could use spare CPU cycles in some other CPUs, the kernel scheduler "
4592 "might not consider the possibility of load balancing that process to the "
4593 "underused CPU."
4594
4595 #.  ================== Scheduler Relax Domain Level ==================
4596 #. type: Plain text
4597 #: build/C/man7/cpuset.7:779
4598 msgid ""
4599 "Of course, processes pinned to a particular CPU can be left in a cpuset that "
4600 "disables I<sched_load_balance> as those processes aren't going anywhere else "
4601 "anyway."
4602 msgstr ""
4603 "Of course, processes pinned to a particular CPU can be left in a cpuset that "
4604 "disables I<sched_load_balance> as those processes aren't going anywhere else "
4605 "anyway."
4606
4607 #. type: SS
4608 #: build/C/man7/cpuset.7:779
4609 #, no-wrap
4610 msgid "Scheduler Relax Domain Level"
4611 msgstr "Scheduler Relax Domain Level"
4612
4613 #. type: Plain text
4614 #: build/C/man7/cpuset.7:800
4615 msgid ""
4616 "The kernel scheduler performs immediate load balancing whenever a CPU "
4617 "becomes free or another task becomes runnable.  This load balancing works to "
4618 "ensure that as many CPUs as possible are usefully employed running tasks.  "
4619 "The kernel also performs periodic load balancing off the software clock "
4620 "described in I<time>(7).  The setting of I<sched_relax_domain_level> only "
4621 "applies to immediate load balancing.  Regardless of the "
4622 "I<sched_relax_domain_level> setting, periodic load balancing is attempted "
4623 "over all CPUs (unless disabled by turning off I<sched_load_balance>.)  In "
4624 "any case, of course, tasks will only be scheduled to run on CPUs allowed by "
4625 "their cpuset, as modified by B<sched_setaffinity>(2)  system calls."
4626 msgstr ""
4627 "The kernel scheduler performs immediate load balancing whenever a CPU "
4628 "becomes free or another task becomes runnable.  This load balancing works to "
4629 "ensure that as many CPUs as possible are usefully employed running tasks.  "
4630 "The kernel also performs periodic load balancing off the software clock "
4631 "described in I<time>(7).  The setting of I<sched_relax_domain_level> only "
4632 "applies to immediate load balancing.  Regardless of the "
4633 "I<sched_relax_domain_level> setting, periodic load balancing is attempted "
4634 "over all CPUs (unless disabled by turning off I<sched_load_balance>.)  In "
4635 "any case, of course, tasks will only be scheduled to run on CPUs allowed by "
4636 "their cpuset, as modified by B<sched_setaffinity>(2)  system calls."
4637
4638 #. type: Plain text
4639 #: build/C/man7/cpuset.7:808
4640 msgid ""
4641 "On small systems, such as those with just a few CPUs, immediate load "
4642 "balancing is useful to improve system interactivity and to minimize wasteful "
4643 "idle CPU cycles.  But on large systems, attempting immediate load balancing "
4644 "across a large number of CPUs can be more costly than it is worth, depending "
4645 "on the particular performance characteristics of the job mix and the "
4646 "hardware."
4647 msgstr ""
4648 "On small systems, such as those with just a few CPUs, immediate load "
4649 "balancing is useful to improve system interactivity and to minimize wasteful "
4650 "idle CPU cycles.  But on large systems, attempting immediate load balancing "
4651 "across a large number of CPUs can be more costly than it is worth, depending "
4652 "on the particular performance characteristics of the job mix and the "
4653 "hardware."
4654
4655 #. type: Plain text
4656 #: build/C/man7/cpuset.7:816
4657 msgid ""
4658 "The exact meaning of the small integer values of I<sched_relax_domain_level> "
4659 "will depend on internal implementation details of the kernel scheduler code "
4660 "and on the non-uniform architecture of the hardware.  Both of these will "
4661 "evolve over time and vary by system architecture and kernel version."
4662 msgstr ""
4663 "The exact meaning of the small integer values of I<sched_relax_domain_level> "
4664 "will depend on internal implementation details of the kernel scheduler code "
4665 "and on the non-uniform architecture of the hardware.  Both of these will "
4666 "evolve over time and vary by system architecture and kernel version."
4667
4668 #. type: Plain text
4669 #: build/C/man7/cpuset.7:821
4670 msgid ""
4671 "As of this writing, when this capability was introduced in Linux 2.6.26, on "
4672 "certain popular architectures, the positive values of "
4673 "I<sched_relax_domain_level> have the following meanings."
4674 msgstr ""
4675 "As of this writing, when this capability was introduced in Linux 2.6.26, on "
4676 "certain popular architectures, the positive values of "
4677 "I<sched_relax_domain_level> have the following meanings."
4678
4679 #. type: IP
4680 #: build/C/man7/cpuset.7:823
4681 #, no-wrap
4682 msgid "B<(1)>"
4683 msgstr "B<(1)>"
4684
4685 #. type: Plain text
4686 #: build/C/man7/cpuset.7:826
4687 msgid ""
4688 "Perform immediate load balancing across Hyper-Thread siblings on the same "
4689 "core."
4690 msgstr ""
4691 "Perform immediate load balancing across Hyper-Thread siblings on the same "
4692 "core."
4693
4694 #. type: IP
4695 #: build/C/man7/cpuset.7:826
4696 #, no-wrap
4697 msgid "B<(2)>"
4698 msgstr "B<(2)>"
4699
4700 #. type: Plain text
4701 #: build/C/man7/cpuset.7:828
4702 msgid ""
4703 "Perform immediate load balancing across other cores in the same package."
4704 msgstr ""
4705 "Perform immediate load balancing across other cores in the same package."
4706
4707 #. type: IP
4708 #: build/C/man7/cpuset.7:828
4709 #, no-wrap
4710 msgid "B<(3)>"
4711 msgstr "B<(3)>"
4712
4713 #. type: Plain text
4714 #: build/C/man7/cpuset.7:831
4715 msgid ""
4716 "Perform immediate load balancing across other CPUs on the same node or blade."
4717 msgstr ""
4718 "Perform immediate load balancing across other CPUs on the same node or blade."
4719
4720 #. type: IP
4721 #: build/C/man7/cpuset.7:831
4722 #, no-wrap
4723 msgid "B<(4)>"
4724 msgstr "B<(4)>"
4725
4726 #. type: Plain text
4727 #: build/C/man7/cpuset.7:834
4728 msgid ""
4729 "Perform immediate load balancing across over several (implementation detail) "
4730 "nodes [On NUMA systems]."
4731 msgstr ""
4732 "Perform immediate load balancing across over several (implementation detail) "
4733 "nodes [On NUMA systems]."
4734
4735 #. type: IP
4736 #: build/C/man7/cpuset.7:834
4737 #, no-wrap
4738 msgid "B<(5)>"
4739 msgstr "B<(5)>"
4740
4741 #. type: Plain text
4742 #: build/C/man7/cpuset.7:837
4743 msgid ""
4744 "Perform immediate load balancing across over all CPUs in system [On NUMA "
4745 "systems]."
4746 msgstr ""
4747 "Perform immediate load balancing across over all CPUs in system [On NUMA "
4748 "systems]."
4749
4750 #. type: Plain text
4751 #: build/C/man7/cpuset.7:846
4752 msgid ""
4753 "The I<sched_relax_domain_level> value of zero (0) always means don't perform "
4754 "immediate load balancing, hence that load balancing is only done "
4755 "periodically, not immediately when a CPU becomes available or another task "
4756 "becomes runnable."
4757 msgstr ""
4758 "The I<sched_relax_domain_level> value of zero (0) always means don't perform "
4759 "immediate load balancing, hence that load balancing is only done "
4760 "periodically, not immediately when a CPU becomes available or another task "
4761 "becomes runnable."
4762
4763 #. type: Plain text
4764 #: build/C/man7/cpuset.7:854
4765 msgid ""
4766 "The I<sched_relax_domain_level> value of minus one (-1)  always means use "
4767 "the system default value.  The system default value can vary by architecture "
4768 "and kernel version.  This system default value can be changed by kernel boot-"
4769 "time \"relax_domain_level=\" argument."
4770 msgstr ""
4771 "The I<sched_relax_domain_level> value of minus one (-1)  always means use "
4772 "the system default value.  The system default value can vary by architecture "
4773 "and kernel version.  This system default value can be changed by kernel boot-"
4774 "time \"relax_domain_level=\" argument."
4775
4776 #. type: Plain text
4777 #: build/C/man7/cpuset.7:862
4778 msgid ""
4779 "In the case of multiple overlapping cpusets which have conflicting "
4780 "I<sched_relax_domain_level> values, then the highest such value applies to "
4781 "all CPUs in any of the overlapping cpusets.  In such cases, the value "
4782 "B<minus one (-1)> is the lowest value, overridden by any other value, and "
4783 "the value B<zero (0)> is the next lowest value."
4784 msgstr ""
4785 "In the case of multiple overlapping cpusets which have conflicting "
4786 "I<sched_relax_domain_level> values, then the highest such value applies to "
4787 "all CPUs in any of the overlapping cpusets.  In such cases, the value "
4788 "B<minus one (-1)> is the lowest value, overridden by any other value, and "
4789 "the value B<zero (0)> is the next lowest value."
4790
4791 #. type: SH
4792 #: build/C/man7/cpuset.7:862
4793 #, no-wrap
4794 msgid "FORMATS"
4795 msgstr "FORMATS"
4796
4797 #.  ================== Mask Format ==================
4798 #. type: Plain text
4799 #: build/C/man7/cpuset.7:866
4800 msgid ""
4801 "The following formats are used to represent sets of CPUs and memory nodes."
4802 msgstr ""
4803 "The following formats are used to represent sets of CPUs and memory nodes."
4804
4805 #. type: SS
4806 #: build/C/man7/cpuset.7:866
4807 #, no-wrap
4808 msgid "Mask Format"
4809 msgstr "Mask Format"
4810
4811 #. type: Plain text
4812 #: build/C/man7/cpuset.7:871
4813 msgid ""
4814 "The B<Mask Format> is used to represent CPU and memory-node bitmasks in the "
4815 "I</proc/E<lt>pidE<gt>/status> file."
4816 msgstr ""
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
4820 #. type: Plain text
4821 #: build/C/man7/cpuset.7:879
4822 msgid ""
4823 "This format displays each 32-bit word in hexadecimal (using ASCII characters "
4824 "\"0\" - \"9\" and \"a\" - \"f\"); words are filled with leading zeros, if "
4825 "required.  For masks longer than one word, a comma separator is used between "
4826 "words.  Words are displayed in big-endian order, which has the most "
4827 "significant bit first.  The hex digits within a word are also in big-endian "
4828 "order."
4829 msgstr ""
4830 "This format displays each 32-bit word in hexadecimal (using ASCII characters "
4831 "\"0\" - \"9\" and \"a\" - \"f\"); words are filled with leading zeros, if "
4832 "required.  For masks longer than one word, a comma separator is used between "
4833 "words.  Words are displayed in big-endian order, which has the most "
4834 "significant bit first.  The hex digits within a word are also in big-endian "
4835 "order."
4836
4837 #. type: Plain text
4838 #: build/C/man7/cpuset.7:882
4839 msgid ""
4840 "The number of 32-bit words displayed is the minimum number needed to display "
4841 "all bits of the bitmask, based on the size of the bitmask."
4842 msgstr ""
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
4846 #. type: Plain text
4847 #: build/C/man7/cpuset.7:884
4848 msgid "Examples of the B<Mask Format>:"
4849 msgstr "Examples of the B<Mask Format>:"
4850
4851 #. type: Plain text
4852 #: build/C/man7/cpuset.7:892
4853 #, no-wrap
4854 msgid ""
4855 "00000001                        # just bit 0 set\n"
4856 "40000000,00000000,00000000      # just bit 94 set\n"
4857 "00000001,00000000,00000000      # just bit 64 set\n"
4858 "000000ff,00000000               # bits 32-39 set\n"
4859 "00000000,000E3862               # 1,5,6,11-13,17-19 set\n"
4860 msgstr ""
4861 "00000001                        # just bit 0 set\n"
4862 "40000000,00000000,00000000      # just bit 94 set\n"
4863 "00000001,00000000,00000000      # just bit 64 set\n"
4864 "000000ff,00000000               # bits 32-39 set\n"
4865 "00000000,000E3862               # 1,5,6,11-13,17-19 set\n"
4866
4867 #. type: Plain text
4868 #: build/C/man7/cpuset.7:896
4869 msgid "A mask with bits 0, 1, 2, 4, 8, 16, 32, and 64 set displays as:"
4870 msgstr "A mask with bits 0, 1, 2, 4, 8, 16, 32, and 64 set displays as:"
4871
4872 #. type: Plain text
4873 #: build/C/man7/cpuset.7:900
4874 #, no-wrap
4875 msgid "00000001,00000001,00010117\n"
4876 msgstr "00000001,00000001,00010117\n"
4877
4878 #.  ================== List Format ==================
4879 #. type: Plain text
4880 #: build/C/man7/cpuset.7:907
4881 msgid ""
4882 "The first \"1\" is for bit 64, the second for bit 32, the third for bit 16, "
4883 "the fourth for bit 8, the fifth for bit 4, and the \"7\" is for bits 2, 1, "
4884 "and 0."
4885 msgstr ""
4886 "The first \"1\" is for bit 64, the second for bit 32, the third for bit 16, "
4887 "the fourth for bit 8, the fifth for bit 4, and the \"7\" is for bits 2, 1, "
4888 "and 0."
4889
4890 #. type: SS
4891 #: build/C/man7/cpuset.7:907
4892 #, no-wrap
4893 msgid "List Format"
4894 msgstr "List Format"
4895
4896 #. type: Plain text
4897 #: build/C/man7/cpuset.7:914
4898 msgid ""
4899 "The B<List Format> for I<cpus> and I<mems> is a comma-separated list of CPU "
4900 "or memory-node numbers and ranges of numbers, in ASCII decimal."
4901 msgstr ""
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
4905 #. type: Plain text
4906 #: build/C/man7/cpuset.7:916
4907 msgid "Examples of the B<List Format>:"
4908 msgstr "Examples of the B<List Format>:"
4909
4910 #. type: Plain text
4911 #: build/C/man7/cpuset.7:921
4912 #, no-wrap
4913 msgid ""
4914 "0-4,9           # bits 0, 1, 2, 3, 4, and 9 set\n"
4915 "0-2,7,12-14     # bits 0, 1, 2, 7, 12, 13, and 14 set\n"
4916 msgstr ""
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
4920 #.  ================== RULES ==================
4921 #. type: SH
4922 #: build/C/man7/cpuset.7:924
4923 #, no-wrap
4924 msgid "RULES"
4925 msgstr "RULES"
4926
4927 #. type: Plain text
4928 #: build/C/man7/cpuset.7:926
4929 msgid "The following rules apply to each cpuset:"
4930 msgstr "The following rules apply to each cpuset:"
4931
4932 #. type: Plain text
4933 #: build/C/man7/cpuset.7:929
4934 msgid ""
4935 "Its CPUs and memory nodes must be a (possibly equal)  subset of its parent's."
4936 msgstr ""
4937 "Its CPUs and memory nodes must be a (possibly equal)  subset of its parent's."
4938
4939 #. type: Plain text
4940 #: build/C/man7/cpuset.7:933
4941 msgid "It can only be marked I<cpu_exclusive> if its parent is."
4942 msgstr "It can only be marked I<cpu_exclusive> if its parent is."
4943
4944 #. type: Plain text
4945 #: build/C/man7/cpuset.7:937
4946 msgid "It can only be marked I<mem_exclusive> if its parent is."
4947 msgstr "It can only be marked I<mem_exclusive> if its parent is."
4948
4949 #. type: Plain text
4950 #: build/C/man7/cpuset.7:941
4951 msgid "If it is I<cpu_exclusive>, its CPUs may not overlap any sibling."
4952 msgstr "If it is I<cpu_exclusive>, its CPUs may not overlap any sibling."
4953
4954 #.  ================== PERMISSIONS ==================
4955 #. type: Plain text
4956 #: build/C/man7/cpuset.7:946
4957 msgid ""
4958 "If it is I<memory_exclusive>, its memory nodes may not overlap any sibling."
4959 msgstr ""
4960 "If it is I<memory_exclusive>, its memory nodes may not overlap any sibling."
4961
4962 #. type: SH
4963 #: build/C/man7/cpuset.7:946
4964 #, no-wrap
4965 msgid "PERMISSIONS"
4966 msgstr "PERMISSIONS"
4967
4968 #. type: Plain text
4969 #: build/C/man7/cpuset.7:951
4970 msgid ""
4971 "The permissions of a cpuset are determined by the permissions of the "
4972 "directories and pseudo-files in the cpuset file system, normally mounted at "
4973 "I</dev/cpuset>."
4974 msgstr ""
4975 "The permissions of a cpuset are determined by the permissions of the "
4976 "directories and pseudo-files in the cpuset file system, normally mounted at "
4977 "I</dev/cpuset>."
4978
4979 #. type: Plain text
4980 #: build/C/man7/cpuset.7:960
4981 msgid ""
4982 "For instance, a process can put itself in some other cpuset (than its "
4983 "current one) if it can write the I<tasks> file for that cpuset.  This "
4984 "requires execute permission on the encompassing directories and write "
4985 "permission on the I<tasks> file."
4986 msgstr ""
4987 "For instance, a process can put itself in some other cpuset (than its "
4988 "current one) if it can write the I<tasks> file for that cpuset.  This "
4989 "requires execute permission on the encompassing directories and write "
4990 "permission on the I<tasks> file."
4991
4992 #. type: Plain text
4993 #: build/C/man7/cpuset.7:967
4994 msgid ""
4995 "An additional constraint is applied to requests to place some other process "
4996 "in a cpuset.  One process may not attach another to a cpuset unless it would "
4997 "have permission to send that process a signal (see B<kill>(2))."
4998 msgstr ""
4999 "An additional constraint is applied to requests to place some other process "
5000 "in a cpuset.  One process may not attach another to a cpuset unless it would "
5001 "have permission to send that process a signal (see B<kill>(2))."
5002
5003 #. type: Plain text
5004 #: build/C/man7/cpuset.7:978
5005 msgid ""
5006 "A process may create a child cpuset if it can access and write the parent "
5007 "cpuset directory.  It can modify the CPUs or memory nodes in a cpuset if it "
5008 "can access that cpuset's directory (execute permissions on the each of the "
5009 "parent directories) and write the corresponding I<cpus> or I<mems> file."
5010 msgstr ""
5011 "A process may create a child cpuset if it can access and write the parent "
5012 "cpuset directory.  It can modify the CPUs or memory nodes in a cpuset if it "
5013 "can access that cpuset's directory (execute permissions on the each of the "
5014 "parent directories) and write the corresponding I<cpus> or I<mems> file."
5015
5016 #. type: Plain text
5017 #: build/C/man7/cpuset.7:999
5018 msgid ""
5019 "There is one minor difference between the manner in which these permissions "
5020 "are evaluated and the manner in which normal file-system operation "
5021 "permissions are evaluated.  The kernel interprets relative pathnames "
5022 "starting at a process's current working directory.  Even if one is operating "
5023 "on a cpuset file, relative pathnames are interpreted relative to the "
5024 "process's current working directory, not relative to the process's current "
5025 "cpuset.  The only ways that cpuset paths relative to a process's current "
5026 "cpuset can be used are if either the process's current working directory is "
5027 "its cpuset (it first did a B<cd> or B<chdir>(2)  to its cpuset directory "
5028 "beneath I</dev/cpuset>, which is a bit unusual)  or if some user code "
5029 "converts the relative cpuset path to a full file-system path."
5030 msgstr ""
5031 "There is one minor difference between the manner in which these permissions "
5032 "are evaluated and the manner in which normal file-system operation "
5033 "permissions are evaluated.  The kernel interprets relative pathnames "
5034 "starting at a process's current working directory.  Even if one is operating "
5035 "on a cpuset file, relative pathnames are interpreted relative to the "
5036 "process's current working directory, not relative to the process's current "
5037 "cpuset.  The only ways that cpuset paths relative to a process's current "
5038 "cpuset can be used are if either the process's current working directory is "
5039 "its cpuset (it first did a B<cd> or B<chdir>(2)  to its cpuset directory "
5040 "beneath I</dev/cpuset>, which is a bit unusual)  or if some user code "
5041 "converts the relative cpuset path to a full file-system path."
5042
5043 #.  ================== WARNINGS ==================
5044 #. type: Plain text
5045 #: build/C/man7/cpuset.7:1014
5046 msgid ""
5047 "In theory, this means that user code should specify cpusets using absolute "
5048 "pathnames, which requires knowing the mount point of the cpuset file system "
5049 "(usually, but not necessarily, I</dev/cpuset>).  In practice, all user level "
5050 "code that this author is aware of simply assumes that if the cpuset file "
5051 "system is mounted, then it is mounted at I</dev/cpuset>.  Furthermore, it is "
5052 "common practice for carefully written user code to verify the presence of "
5053 "the pseudo-file I</dev/cpuset/tasks> in order to verify that the cpuset "
5054 "pseudo-file system is currently mounted."
5055 msgstr ""
5056 "In theory, this means that user code should specify cpusets using absolute "
5057 "pathnames, which requires knowing the mount point of the cpuset file system "
5058 "(usually, but not necessarily, I</dev/cpuset>).  In practice, all user level "
5059 "code that this author is aware of simply assumes that if the cpuset file "
5060 "system is mounted, then it is mounted at I</dev/cpuset>.  Furthermore, it is "
5061 "common practice for carefully written user code to verify the presence of "
5062 "the pseudo-file I</dev/cpuset/tasks> in order to verify that the cpuset "
5063 "pseudo-file system is currently mounted."
5064
5065 #. type: SH
5066 #: build/C/man7/cpuset.7:1014
5067 #, no-wrap
5068 msgid "WARNINGS"
5069 msgstr "WARNINGS"
5070
5071 #. type: SS
5072 #: build/C/man7/cpuset.7:1015
5073 #, no-wrap
5074 msgid "Enabling memory_pressure"
5075 msgstr "Enabling memory_pressure"
5076
5077 #. type: Plain text
5078 #: build/C/man7/cpuset.7:1024
5079 msgid ""
5080 "By default, the per-cpuset file I<memory_pressure> always contains zero "
5081 "(0).  Unless this feature is enabled by writing \"1\" to the pseudo-file I</"
5082 "dev/cpuset/memory_pressure_enabled>, the kernel does not compute per-cpuset "
5083 "I<memory_pressure>."
5084 msgstr ""
5085 "By default, the per-cpuset file I<memory_pressure> always contains zero "
5086 "(0).  Unless this feature is enabled by writing \"1\" to the pseudo-file I</"
5087 "dev/cpuset/memory_pressure_enabled>, the kernel does not compute per-cpuset "
5088 "I<memory_pressure>."
5089
5090 #. type: SS
5091 #: build/C/man7/cpuset.7:1024
5092 #, no-wrap
5093 msgid "Using the echo command"
5094 msgstr "Using the echo command"
5095
5096 #.  Gack!  csh(1)'s echo does this
5097 #. type: Plain text
5098 #: build/C/man7/cpuset.7:1035
5099 msgid ""
5100 "When using the B<echo> command at the shell prompt to change the values of "
5101 "cpuset files, beware that the built-in B<echo> command in some shells does "
5102 "not display an error message if the B<write>(2)  system call fails.  For "
5103 "example, if the command:"
5104 msgstr ""
5105 "When using the B<echo> command at the shell prompt to change the values of "
5106 "cpuset files, beware that the built-in B<echo> command in some shells does "
5107 "not display an error message if the B<write>(2)  system call fails.  For "
5108 "example, if the command:"
5109
5110 #. type: Plain text
5111 #: build/C/man7/cpuset.7:1039
5112 #, no-wrap
5113 msgid "echo 19 E<gt> mems\n"
5114 msgstr "echo 19 E<gt> mems\n"
5115
5116 #. type: Plain text
5117 #: build/C/man7/cpuset.7:1052
5118 msgid ""
5119 "failed because memory node 19 was not allowed (perhaps the current system "
5120 "does not have a memory node 19), then the B<echo> command might not display "
5121 "any error.  It is better to use the B</bin/echo> external command to change "
5122 "cpuset file settings, as this command will display B<write>(2)  errors, as "
5123 "in the example:"
5124 msgstr ""
5125 "failed because memory node 19 was not allowed (perhaps the current system "
5126 "does not have a memory node 19), then the B<echo> command might not display "
5127 "any error.  It is better to use the B</bin/echo> external command to change "
5128 "cpuset file settings, as this command will display B<write>(2)  errors, as "
5129 "in the example:"
5130
5131 #. type: Plain text
5132 #: build/C/man7/cpuset.7:1057
5133 #, no-wrap
5134 msgid ""
5135 "/bin/echo 19 E<gt> mems\n"
5136 "/bin/echo: write error: Invalid argument\n"
5137 msgstr ""
5138 "/bin/echo 19 E<gt> mems\n"
5139 "/bin/echo: write error: Invalid argument\n"
5140
5141 #.  ================== EXCEPTIONS ==================
5142 #. type: SH
5143 #: build/C/man7/cpuset.7:1060
5144 #, no-wrap
5145 msgid "EXCEPTIONS"
5146 msgstr "EXCEPTIONS"
5147
5148 #. type: SS
5149 #: build/C/man7/cpuset.7:1061
5150 #, no-wrap
5151 msgid "Memory placement"
5152 msgstr "Memory placement"
5153
5154 #. type: Plain text
5155 #: build/C/man7/cpuset.7:1064
5156 msgid ""
5157 "Not all allocations of system memory are constrained by cpusets, for the "
5158 "following reasons."
5159 msgstr ""
5160 "Not all allocations of system memory are constrained by cpusets, for the "
5161 "following reasons."
5162
5163 #. type: Plain text
5164 #: build/C/man7/cpuset.7:1079
5165 msgid ""
5166 "If hot-plug functionality is used to remove all the CPUs that are currently "
5167 "assigned to a cpuset, then the kernel will automatically update the "
5168 "I<cpus_allowed> of all processes attached to CPUs in that cpuset to allow "
5169 "all CPUs.  When memory hot-plug functionality for removing memory nodes is "
5170 "available, a similar exception is expected to apply there as well.  In "
5171 "general, the kernel prefers to violate cpuset placement, rather than "
5172 "starving a process that has had all its allowed CPUs or memory nodes taken "
5173 "offline.  User code should reconfigure cpusets to only refer to online CPUs "
5174 "and memory nodes when using hot-plug to add or remove such resources."
5175 msgstr ""
5176 "If hot-plug functionality is used to remove all the CPUs that are currently "
5177 "assigned to a cpuset, then the kernel will automatically update the "
5178 "I<cpus_allowed> of all processes attached to CPUs in that cpuset to allow "
5179 "all CPUs.  When memory hot-plug functionality for removing memory nodes is "
5180 "available, a similar exception is expected to apply there as well.  In "
5181 "general, the kernel prefers to violate cpuset placement, rather than "
5182 "starving a process that has had all its allowed CPUs or memory nodes taken "
5183 "offline.  User code should reconfigure cpusets to only refer to online CPUs "
5184 "and memory nodes when using hot-plug to add or remove such resources."
5185
5186 #. type: Plain text
5187 #: build/C/man7/cpuset.7:1087
5188 msgid ""
5189 "A few kernel-critical, internal memory-allocation requests, marked "
5190 "GFP_ATOMIC, must be satisfied immediately.  The kernel may drop some request "
5191 "or malfunction if one of these allocations fail.  If such a request cannot "
5192 "be satisfied within the current process's cpuset, then we relax the cpuset, "
5193 "and look for memory anywhere we can find it.  It's better to violate the "
5194 "cpuset than stress the kernel."
5195 msgstr ""
5196 "A few kernel-critical, internal memory-allocation requests, marked "
5197 "GFP_ATOMIC, must be satisfied immediately.  The kernel may drop some request "
5198 "or malfunction if one of these allocations fail.  If such a request cannot "
5199 "be satisfied within the current process's cpuset, then we relax the cpuset, "
5200 "and look for memory anywhere we can find it.  It's better to violate the "
5201 "cpuset than stress the kernel."
5202
5203 #. type: Plain text
5204 #: build/C/man7/cpuset.7:1091
5205 msgid ""
5206 "Allocations of memory requested by kernel drivers while processing an "
5207 "interrupt lack any relevant process context, and are not confined by cpusets."
5208 msgstr ""
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
5212 #. type: SS
5213 #: build/C/man7/cpuset.7:1091
5214 #, no-wrap
5215 msgid "Renaming cpusets"
5216 msgstr "Renaming cpusets"
5217
5218 #.  ================== ERRORS ==================
5219 #. type: Plain text
5220 #: build/C/man7/cpuset.7:1099
5221 msgid ""
5222 "You can use the B<rename>(2)  system call to rename cpusets.  Only simple "
5223 "renaming is supported; that is, changing the name of a cpuset directory is "
5224 "permitted, but moving a directory into a different directory is not "
5225 "permitted."
5226 msgstr ""
5227 "You can use the B<rename>(2)  system call to rename cpusets.  Only simple "
5228 "renaming is supported; that is, changing the name of a cpuset directory is "
5229 "permitted, but moving a directory into a different directory is not "
5230 "permitted."
5231
5232 #. type: Plain text
5233 #: build/C/man7/cpuset.7:1103
5234 msgid ""
5235 "The Linux kernel implementation of cpusets sets I<errno> to specify the "
5236 "reason for a failed system call affecting cpusets."
5237 msgstr ""
5238 "The Linux kernel implementation of cpusets sets I<errno> to specify the "
5239 "reason for a failed system call affecting cpusets."
5240
5241 #. type: Plain text
5242 #: build/C/man7/cpuset.7:1108
5243 msgid ""
5244 "The possible I<errno> settings and their meaning when set on a failed cpuset "
5245 "call are as listed below."
5246 msgstr ""
5247 "The possible I<errno> settings and their meaning when set on a failed cpuset "
5248 "call are as listed below."
5249
5250 #. type: TP
5251 #: build/C/man7/cpuset.7:1108
5252 #, no-wrap
5253 msgid "B<E2BIG>"
5254 msgstr "B<E2BIG>"
5255
5256 #. type: Plain text
5257 #: build/C/man7/cpuset.7:1115
5258 msgid ""
5259 "Attempted a B<write>(2)  on a special cpuset file with a length larger than "
5260 "some kernel-determined upper limit on the length of such writes."
5261 msgstr ""
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
5265 #. type: Plain text
5266 #: build/C/man7/cpuset.7:1122
5267 msgid ""
5268 "Attempted to B<write>(2)  the process ID (PID) of a process to a cpuset "
5269 "I<tasks> file when one lacks permission to move that process."
5270 msgstr ""
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
5274 #. type: Plain text
5275 #: build/C/man7/cpuset.7:1128
5276 msgid ""
5277 "Attempted to add, using B<write>(2), a CPU or memory node to a cpuset, when "
5278 "that CPU or memory node was not already in its parent."
5279 msgstr ""
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
5283 #. type: Plain text
5284 #: build/C/man7/cpuset.7:1136
5285 msgid ""
5286 "Attempted to set, using B<write>(2), I<cpu_exclusive> or I<mem_exclusive> on "
5287 "a cpuset whose parent lacks the same setting."
5288 msgstr ""
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
5292 #. type: Plain text
5293 #: build/C/man7/cpuset.7:1143
5294 msgid "Attempted to B<write>(2)  a I<memory_pressure> file."
5295 msgstr "Attempted to B<write>(2)  a I<memory_pressure> file."
5296
5297 #. type: Plain text
5298 #: build/C/man7/cpuset.7:1146
5299 msgid "Attempted to create a file in a cpuset directory."
5300 msgstr "Attempted to create a file in a cpuset directory."
5301
5302 #. type: TP
5303 #: build/C/man7/cpuset.7:1146 build/C/man7/cpuset.7:1151
5304 #: build/C/man7/cpuset.7:1156
5305 #, no-wrap
5306 msgid "B<EBUSY>"
5307 msgstr "B<EBUSY>"
5308
5309 #. type: Plain text
5310 #: build/C/man7/cpuset.7:1151
5311 msgid ""
5312 "Attempted to remove, using B<rmdir>(2), a cpuset with attached processes."
5313 msgstr ""
5314 "Attempted to remove, using B<rmdir>(2), a cpuset with attached processes."
5315
5316 #. type: Plain text
5317 #: build/C/man7/cpuset.7:1156
5318 msgid "Attempted to remove, using B<rmdir>(2), a cpuset with child cpusets."
5319 msgstr "Attempted to remove, using B<rmdir>(2), a cpuset with child cpusets."
5320
5321 #. type: Plain text
5322 #: build/C/man7/cpuset.7:1161
5323 msgid ""
5324 "Attempted to remove a CPU or memory node from a cpuset that is also in a "
5325 "child of that cpuset."
5326 msgstr ""
5327 "Attempted to remove a CPU or memory node from a cpuset that is also in a "
5328 "child of that cpuset."
5329
5330 #. type: TP
5331 #: build/C/man7/cpuset.7:1161 build/C/man7/cpuset.7:1166
5332 #, no-wrap
5333 msgid "B<EEXIST>"
5334 msgstr "B<EEXIST>"
5335
5336 #. type: Plain text
5337 #: build/C/man7/cpuset.7:1166
5338 msgid "Attempted to create, using B<mkdir>(2), a cpuset that already exists."
5339 msgstr "Attempted to create, using B<mkdir>(2), a cpuset that already exists."
5340
5341 #. type: Plain text
5342 #: build/C/man7/cpuset.7:1171
5343 msgid "Attempted to B<rename>(2)  a cpuset to a name that already exists."
5344 msgstr "Attempted to B<rename>(2)  a cpuset to a name that already exists."
5345
5346 #. type: Plain text
5347 #: build/C/man7/cpuset.7:1179
5348 msgid ""
5349 "Attempted to B<read>(2)  or B<write>(2)  a cpuset file using a buffer that "
5350 "is outside the writing processes accessible address space."
5351 msgstr ""
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
5355 #. type: Plain text
5356 #: build/C/man7/cpuset.7:1188
5357 msgid ""
5358 "Attempted to change a cpuset, using B<write>(2), in a way that would violate "
5359 "a I<cpu_exclusive> or I<mem_exclusive> attribute of that cpuset or any of "
5360 "its siblings."
5361 msgstr ""
5362 "Attempted to change a cpuset, using B<write>(2), in a way that would violate "
5363 "a I<cpu_exclusive> or I<mem_exclusive> attribute of that cpuset or any of "
5364 "its siblings."
5365
5366 #. type: Plain text
5367 #: build/C/man7/cpuset.7:1197
5368 msgid ""
5369 "Attempted to B<write>(2)  an empty I<cpus> or I<mems> list to a cpuset which "
5370 "has attached processes or child cpusets."
5371 msgstr ""
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
5375 #. type: Plain text
5376 #: build/C/man7/cpuset.7:1207
5377 msgid ""
5378 "Attempted to B<write>(2)  a I<cpus> or I<mems> list which included a range "
5379 "with the second number smaller than the first number."
5380 msgstr ""
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
5384 #. type: Plain text
5385 #: build/C/man7/cpuset.7:1216
5386 msgid ""
5387 "Attempted to B<write>(2)  a I<cpus> or I<mems> list which included an "
5388 "invalid character in the string."
5389 msgstr ""
5390 "Attempted to B<write>(2)  a I<cpus> or I<mems> list which included an "
5391 "invalid character in the string."
5392
5393 #. type: Plain text
5394 #: build/C/man7/cpuset.7:1223
5395 msgid ""
5396 "Attempted to B<write>(2)  a list to a I<cpus> file that did not include any "
5397 "online CPUs."
5398 msgstr ""
5399 "Attempted to B<write>(2)  a list to a I<cpus> file that did not include any "
5400 "online CPUs."
5401
5402 #. type: Plain text
5403 #: build/C/man7/cpuset.7:1230
5404 msgid ""
5405 "Attempted to B<write>(2)  a list to a I<mems> file that did not include any "
5406 "online memory nodes."
5407 msgstr ""
5408 "Attempted to B<write>(2)  a list to a I<mems> file that did not include any "
5409 "online memory nodes."
5410
5411 #. type: Plain text
5412 #: build/C/man7/cpuset.7:1237
5413 msgid ""
5414 "Attempted to B<write>(2)  a list to a I<mems> file that included a node that "
5415 "held no memory."
5416 msgstr ""
5417 "Attempted to B<write>(2)  a list to a I<mems> file that included a node that "
5418 "held no memory."
5419
5420 #. type: Plain text
5421 #: build/C/man7/cpuset.7:1245
5422 msgid ""
5423 "Attempted to B<write>(2)  a string to a cpuset I<tasks> file that does not "
5424 "begin with an ASCII decimal integer."
5425 msgstr ""
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
5429 #. type: Plain text
5430 #: build/C/man7/cpuset.7:1250
5431 msgid "Attempted to B<rename>(2)  a cpuset into a different directory."
5432 msgstr "Attempted to B<rename>(2)  a cpuset into a different directory."
5433
5434 #. type: Plain text
5435 #: build/C/man7/cpuset.7:1257
5436 msgid ""
5437 "Attempted to B<read>(2)  a I</proc/E<lt>pidE<gt>/cpuset> file for a cpuset "
5438 "path that is longer than the kernel page size."
5439 msgstr ""
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
5443 #. type: Plain text
5444 #: build/C/man7/cpuset.7:1262
5445 msgid ""
5446 "Attempted to create, using B<mkdir>(2), a cpuset whose base directory name "
5447 "is longer than 255 characters."
5448 msgstr ""
5449 "Attempted to create, using B<mkdir>(2), a cpuset whose base directory name "
5450 "is longer than 255 characters."
5451
5452 #. type: Plain text
5453 #: build/C/man7/cpuset.7:1269
5454 msgid ""
5455 "Attempted to create, using B<mkdir>(2), a cpuset whose full pathname, "
5456 "including the mount point (typically \"/dev/cpuset/\") prefix, is longer "
5457 "than 4095 characters."
5458 msgstr ""
5459 "Attempted to create, using B<mkdir>(2), a cpuset whose full pathname, "
5460 "including the mount point (typically \"/dev/cpuset/\") prefix, is longer "
5461 "than 4095 characters."
5462
5463 #. type: TP
5464 #: build/C/man7/cpuset.7:1269
5465 #, no-wrap
5466 msgid "B<ENODEV>"
5467 msgstr "B<ENODEV>"
5468
5469 #. type: Plain text
5470 #: build/C/man7/cpuset.7:1274
5471 msgid ""
5472 "The cpuset was removed by another process at the same time as a B<write>(2)  "
5473 "was attempted on one of the pseudo-files in the cpuset directory."
5474 msgstr ""
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
5478 #. type: Plain text
5479 #: build/C/man7/cpuset.7:1279
5480 msgid ""
5481 "Attempted to create, using B<mkdir>(2), a cpuset in a parent cpuset that "
5482 "doesn't exist."
5483 msgstr ""
5484 "Attempted to create, using B<mkdir>(2), a cpuset in a parent cpuset that "
5485 "doesn't exist."
5486
5487 #. type: Plain text
5488 #: build/C/man7/cpuset.7:1286
5489 msgid ""
5490 "Attempted to B<access>(2)  or B<open>(2)  a nonexistent file in a cpuset "
5491 "directory."
5492 msgstr ""
5493 "Attempted to B<access>(2)  or B<open>(2)  a nonexistent file in a cpuset "
5494 "directory."
5495
5496 #. type: Plain text
5497 #: build/C/man7/cpuset.7:1291
5498 msgid ""
5499 "Insufficient memory is available within the kernel; can occur on a variety "
5500 "of system calls affecting cpusets, but only if the system is extremely short "
5501 "of memory."
5502 msgstr ""
5503 "Insufficient memory is available within the kernel; can occur on a variety "
5504 "of system calls affecting cpusets, but only if the system is extremely short "
5505 "of memory."
5506
5507 #. type: TP
5508 #: build/C/man7/cpuset.7:1291 build/C/man7/cpuset.7:1303
5509 #, no-wrap
5510 msgid "B<ENOSPC>"
5511 msgstr "B<ENOSPC>"
5512
5513 #. type: Plain text
5514 #: build/C/man7/cpuset.7:1303
5515 msgid ""
5516 "Attempted to B<write>(2)  the process ID (PID)  of a process to a cpuset "
5517 "I<tasks> file when the cpuset had an empty I<cpus> or empty I<mems> setting."
5518 msgstr ""
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
5522 #. type: Plain text
5523 #: build/C/man7/cpuset.7:1313
5524 msgid ""
5525 "Attempted to B<write>(2)  an empty I<cpus> or I<mems> setting to a cpuset "
5526 "that has tasks attached."
5527 msgstr ""
5528 "Attempted to B<write>(2)  an empty I<cpus> or I<mems> setting to a cpuset "
5529 "that has tasks attached."
5530
5531 #. type: Plain text
5532 #: build/C/man7/cpuset.7:1318
5533 msgid "Attempted to B<rename>(2)  a nonexistent cpuset."
5534 msgstr "Attempted to B<rename>(2)  a nonexistent cpuset."
5535
5536 #. type: Plain text
5537 #: build/C/man7/cpuset.7:1321
5538 msgid "Attempted to remove a file from a cpuset directory."
5539 msgstr "Attempted to remove a file from a cpuset directory."
5540
5541 #. type: TP
5542 #: build/C/man7/cpuset.7:1321
5543 #, no-wrap
5544 msgid "B<ERANGE>"
5545 msgstr "B<ERANGE>"
5546
5547 #. type: Plain text
5548 #: build/C/man7/cpuset.7:1329
5549 msgid ""
5550 "Specified a I<cpus> or I<mems> list to the kernel which included a number "
5551 "too large for the kernel to set in its bitmasks."
5552 msgstr ""
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
5556 #.  ================== VERSIONS ==================
5557 #. type: Plain text
5558 #: build/C/man7/cpuset.7:1337
5559 msgid ""
5560 "Attempted to B<write>(2)  the process ID (PID) of a nonexistent process to a "
5561 "cpuset I<tasks> file."
5562 msgstr ""
5563 "Attempted to B<write>(2)  the process ID (PID) of a nonexistent process to a "
5564 "cpuset I<tasks> file."
5565
5566 #.  ================== NOTES ==================
5567 #. type: Plain text
5568 #: build/C/man7/cpuset.7:1340
5569 msgid "Cpusets appeared in version 2.6.12 of the Linux kernel."
5570 msgstr "Cpusets appeared in version 2.6.12 of the Linux kernel."
5571
5572 #.  ================== BUGS ==================
5573 #. type: Plain text
5574 #: build/C/man7/cpuset.7:1351
5575 msgid ""
5576 "Despite its name, the I<pid> parameter is actually a thread ID, and each "
5577 "thread in a threaded group can be attached to a different cpuset.  The value "
5578 "returned from a call to B<gettid>(2)  can be passed in the argument I<pid>."
5579 msgstr ""
5580 "Despite its name, the I<pid> parameter is actually a thread ID, and each "
5581 "thread in a threaded group can be attached to a different cpuset.  The value "
5582 "returned from a call to B<gettid>(2)  can be passed in the argument I<pid>."
5583
5584 #. type: SH
5585 #: build/C/man7/cpuset.7:1351 build/C/man2/getrlimit.2:576
5586 #: build/C/man2/ioprio_set.2:308 build/C/man2/setfsgid.2:102
5587 #: build/C/man2/setfsuid.2:102
5588 #, no-wrap
5589 msgid "BUGS"
5590 msgstr "バグ"
5591
5592 #.  ================== EXAMPLE ==================
5593 #. type: Plain text
5594 #: build/C/man7/cpuset.7:1364
5595 msgid ""
5596 "I<memory_pressure> cpuset files can be opened for writing, creation, or "
5597 "truncation, but then the B<write>(2)  fails with I<errno> set to B<EACCES>, "
5598 "and the creation and truncation options on B<open>(2)  have no effect."
5599 msgstr ""
5600 "I<memory_pressure> cpuset files can be opened for writing, creation, or "
5601 "truncation, but then the B<write>(2)  fails with I<errno> set to B<EACCES>, "
5602 "and the creation and truncation options on B<open>(2)  have no effect."
5603
5604 #. type: SH
5605 #: build/C/man7/cpuset.7:1364 build/C/man2/getrlimit.2:520
5606 #, no-wrap
5607 msgid "EXAMPLE"
5608 msgstr "EXAMPLE"
5609
5610 #. type: Plain text
5611 #: build/C/man7/cpuset.7:1367
5612 msgid ""
5613 "The following examples demonstrate querying and setting cpuset options using "
5614 "shell commands."
5615 msgstr ""
5616 "The following examples demonstrate querying and setting cpuset options using "
5617 "shell commands."
5618
5619 #. type: SS
5620 #: build/C/man7/cpuset.7:1367
5621 #, no-wrap
5622 msgid "Creating and attaching to a cpuset."
5623 msgstr "Creating and attaching to a cpuset."
5624
5625 #. type: Plain text
5626 #: build/C/man7/cpuset.7:1370
5627 msgid ""
5628 "To create a new cpuset and attach the current command shell to it, the steps "
5629 "are:"
5630 msgstr ""
5631 "To create a new cpuset and attach the current command shell to it, the steps "
5632 "are:"
5633
5634 #. type: IP
5635 #: build/C/man7/cpuset.7:1372 build/C/man7/cpuset.7:1411
5636 #, no-wrap
5637 msgid "1)"
5638 msgstr "1)"
5639
5640 #. type: Plain text
5641 #: build/C/man7/cpuset.7:1374
5642 msgid "mkdir /dev/cpuset (if not already done)"
5643 msgstr "mkdir /dev/cpuset (if not already done)"
5644
5645 #. type: IP
5646 #: build/C/man7/cpuset.7:1374 build/C/man7/cpuset.7:1417
5647 #, no-wrap
5648 msgid "2)"
5649 msgstr "2)"
5650
5651 #. type: Plain text
5652 #: build/C/man7/cpuset.7:1376
5653 msgid "mount -t cpuset none /dev/cpuset (if not already done)"
5654 msgstr "mount -t cpuset none /dev/cpuset (if not already done)"
5655
5656 #. type: IP
5657 #: build/C/man7/cpuset.7:1376 build/C/man7/cpuset.7:1420
5658 #, no-wrap
5659 msgid "3)"
5660 msgstr "3)"
5661
5662 #. type: Plain text
5663 #: build/C/man7/cpuset.7:1379
5664 msgid "Create the new cpuset using B<mkdir>(1)."
5665 msgstr "Create the new cpuset using B<mkdir>(1)."
5666
5667 #. type: IP
5668 #: build/C/man7/cpuset.7:1379 build/C/man7/cpuset.7:1423
5669 #, no-wrap
5670 msgid "4)"
5671 msgstr "4)"
5672
5673 #. type: Plain text
5674 #: build/C/man7/cpuset.7:1381
5675 msgid "Assign CPUs and memory nodes to the new cpuset."
5676 msgstr "Assign CPUs and memory nodes to the new cpuset."
5677
5678 #. type: IP
5679 #: build/C/man7/cpuset.7:1381 build/C/man7/cpuset.7:1428
5680 #, no-wrap
5681 msgid "5)"
5682 msgstr "5)"
5683
5684 #. type: Plain text
5685 #: build/C/man7/cpuset.7:1383
5686 msgid "Attach the shell to the new cpuset."
5687 msgstr "Attach the shell to the new cpuset."
5688
5689 #. type: Plain text
5690 #: build/C/man7/cpuset.7:1388
5691 msgid ""
5692 "For example, the following sequence of commands will set up a cpuset named "
5693 "\"Charlie\", containing just CPUs 2 and 3, and memory node 1, and then "
5694 "attach the current shell to that cpuset."
5695 msgstr ""
5696 "For example, the following sequence of commands will set up a cpuset named "
5697 "\"Charlie\", containing just CPUs 2 and 3, and memory node 1, and then "
5698 "attach the current shell to that cpuset."
5699
5700 #. type: Plain text
5701 #: build/C/man7/cpuset.7:1402
5702 #, no-wrap
5703 msgid ""
5704 "$B< mkdir /dev/cpuset>\n"
5705 "$B< mount -t cpuset cpuset /dev/cpuset>\n"
5706 "$B< cd /dev/cpuset>\n"
5707 "$B< mkdir Charlie>\n"
5708 "$B< cd Charlie>\n"
5709 "$B< /bin/echo 2-3 E<gt> cpus>\n"
5710 "$B< /bin/echo 1 E<gt> mems>\n"
5711 "$B< /bin/echo $$ E<gt> tasks>\n"
5712 "# The current shell is now running in cpuset Charlie\n"
5713 "# The next line should display '/Charlie'\n"
5714 "$B< cat /proc/self/cpuset>\n"
5715 msgstr ""
5716 "$B< mkdir /dev/cpuset>\n"
5717 "$B< mount -t cpuset cpuset /dev/cpuset>\n"
5718 "$B< cd /dev/cpuset>\n"
5719 "$B< mkdir Charlie>\n"
5720 "$B< cd Charlie>\n"
5721 "$B< /bin/echo 2-3 E<gt> cpus>\n"
5722 "$B< /bin/echo 1 E<gt> mems>\n"
5723 "$B< /bin/echo $$ E<gt> tasks>\n"
5724 "# The current shell is now running in cpuset Charlie\n"
5725 "# The next line should display '/Charlie'\n"
5726 "$B< cat /proc/self/cpuset>\n"
5727
5728 #. type: SS
5729 #: build/C/man7/cpuset.7:1404
5730 #, no-wrap
5731 msgid "Migrating a job to different memory nodes."
5732 msgstr "Migrating a job to different memory nodes."
5733
5734 #. type: Plain text
5735 #: build/C/man7/cpuset.7:1409
5736 msgid ""
5737 "To migrate a job (the set of processes attached to a cpuset)  to different "
5738 "CPUs and memory nodes in the system, including moving the memory pages "
5739 "currently allocated to that job, perform the following steps."
5740 msgstr ""
5741 "To migrate a job (the set of processes attached to a cpuset)  to different "
5742 "CPUs and memory nodes in the system, including moving the memory pages "
5743 "currently allocated to that job, perform the following steps."
5744
5745 #. type: Plain text
5746 #: build/C/man7/cpuset.7:1417
5747 msgid ""
5748 "Let's say we want to move the job in cpuset I<alpha> (CPUs 4-7 and memory "
5749 "nodes 2-3) to a new cpuset I<beta> (CPUs 16-19 and memory nodes 8-9)."
5750 msgstr ""
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
5754 #. type: Plain text
5755 #: build/C/man7/cpuset.7:1420
5756 msgid "First create the new cpuset I<beta>."
5757 msgstr "First create the new cpuset I<beta>."
5758
5759 #. type: Plain text
5760 #: build/C/man7/cpuset.7:1423
5761 msgid "Then allow CPUs 16-19 and memory nodes 8-9 in I<beta>."
5762 msgstr "Then allow CPUs 16-19 and memory nodes 8-9 in I<beta>."
5763
5764 #. type: Plain text
5765 #: build/C/man7/cpuset.7:1428
5766 msgid "Then enable I<memory_migration> in I<beta>."
5767 msgstr "Then enable I<memory_migration> in I<beta>."
5768
5769 #. type: Plain text
5770 #: build/C/man7/cpuset.7:1433
5771 msgid "Then move each process from I<alpha> to I<beta>."
5772 msgstr "Then move each process from I<alpha> to I<beta>."
5773
5774 #. type: Plain text
5775 #: build/C/man7/cpuset.7:1436
5776 msgid "The following sequence of commands accomplishes this."
5777 msgstr "The following sequence of commands accomplishes this."
5778
5779 #. type: Plain text
5780 #: build/C/man7/cpuset.7:1446
5781 #, no-wrap
5782 msgid ""
5783 "$B< cd /dev/cpuset>\n"
5784 "$B< mkdir beta>\n"
5785 "$B< cd beta>\n"
5786 "$B< /bin/echo 16-19 E<gt> cpus>\n"
5787 "$B< /bin/echo 8-9 E<gt> mems>\n"
5788 "$B< /bin/echo 1 E<gt> memory_migrate>\n"
5789 "$B< while read i; do /bin/echo $i; done E<lt> ../alpha/tasks E<gt> tasks>\n"
5790 msgstr ""
5791 "$B< cd /dev/cpuset>\n"
5792 "$B< mkdir beta>\n"
5793 "$B< cd beta>\n"
5794 "$B< /bin/echo 16-19 E<gt> cpus>\n"
5795 "$B< /bin/echo 8-9 E<gt> mems>\n"
5796 "$B< /bin/echo 1 E<gt> memory_migrate>\n"
5797 "$B< while read i; do /bin/echo $i; done E<lt> ../alpha/tasks E<gt> tasks>\n"
5798
5799 #. type: Plain text
5800 #: build/C/man7/cpuset.7:1455
5801 msgid ""
5802 "The above should move any processes in I<alpha> to I<beta>, and any memory "
5803 "held by these processes on memory nodes 2-3 to memory nodes 8-9, "
5804 "respectively."
5805 msgstr ""
5806 "The above should move any processes in I<alpha> to I<beta>, and any memory "
5807 "held by these processes on memory nodes 2-3 to memory nodes 8-9, "
5808 "respectively."
5809
5810 #. type: Plain text
5811 #: build/C/man7/cpuset.7:1457
5812 msgid "Notice that the last step of the above sequence did not do:"
5813 msgstr "Notice that the last step of the above sequence did not do:"
5814
5815 #. type: Plain text
5816 #: build/C/man7/cpuset.7:1461
5817 #, no-wrap
5818 msgid "$B< cp ../alpha/tasks tasks>\n"
5819 msgstr "$B< cp ../alpha/tasks tasks>\n"
5820
5821 #. type: Plain text
5822 #: build/C/man7/cpuset.7:1472
5823 msgid ""
5824 "The I<while> loop, rather than the seemingly easier use of the B<cp>(1)  "
5825 "command, was necessary because only one process PID at a time may be written "
5826 "to the I<tasks> file."
5827 msgstr ""
5828 "The I<while> loop, rather than the seemingly easier use of the B<cp>(1)  "
5829 "command, was necessary because only one process PID at a time may be written "
5830 "to the I<tasks> file."
5831
5832 #. type: Plain text
5833 #: build/C/man7/cpuset.7:1480
5834 msgid ""
5835 "The same effect (writing one PID at a time) as the I<while> loop can be "
5836 "accomplished more efficiently, in fewer keystrokes and in syntax that works "
5837 "on any shell, but alas more obscurely, by using the B<-u> (unbuffered) "
5838 "option of B<sed>(1):"
5839 msgstr ""
5840 "The same effect (writing one PID at a time) as the I<while> loop can be "
5841 "accomplished more efficiently, in fewer keystrokes and in syntax that works "
5842 "on any shell, but alas more obscurely, by using the B<-u> (unbuffered) "
5843 "option of B<sed>(1):"
5844
5845 #. type: Plain text
5846 #: build/C/man7/cpuset.7:1484
5847 #, no-wrap
5848 msgid "$B< sed -un p E<lt> ../alpha/tasks E<gt> tasks>\n"
5849 msgstr "$B< sed -un p E<lt> ../alpha/tasks E<gt> tasks>\n"
5850
5851 #. type: Plain text
5852 #: build/C/man7/cpuset.7:1501
5853 msgid ""
5854 "B<taskset>(1), B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), "
5855 "B<sched_getaffinity>(2), B<sched_setaffinity>(2), B<sched_setscheduler>(2), "
5856 "B<set_mempolicy>(2), B<CPU_SET>(3), B<proc>(5), B<numa>(7), B<migratepages>"
5857 "(8), B<numactl>(8)"
5858 msgstr ""
5859 "B<taskset>(1), B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), "
5860 "B<sched_getaffinity>(2), B<sched_setaffinity>(2), B<sched_setscheduler>(2), "
5861 "B<set_mempolicy>(2), B<CPU_SET>(3), B<proc>(5), B<numa>(7), B<migratepages>"
5862 "(8), B<numactl>(8)"
5863
5864 #. type: Plain text
5865 #: build/C/man7/cpuset.7:1504
5866 msgid "The kernel source file I<Documentation/cpusets.txt>."
5867 msgstr "The kernel source file I<Documentation/cpusets.txt>."
5868
5869 #. type: TH
5870 #: build/C/man7/credentials.7:25
5871 #, no-wrap
5872 msgid "CREDENTIALS"
5873 msgstr "CREDENTIALS"
5874
5875 #. type: TH
5876 #: build/C/man7/credentials.7:25
5877 #, no-wrap
5878 msgid "2008-06-03"
5879 msgstr "2008-06-03"
5880
5881 #. type: Plain text
5882 #: build/C/man7/credentials.7:28
5883 msgid "credentials - process identifiers"
5884 msgstr "credentials - 認証に用いられるプロセスの識別子"
5885
5886 #. type: SS
5887 #: build/C/man7/credentials.7:29
5888 #, no-wrap
5889 msgid "Process ID (PID)"
5890 msgstr "プロセスID (PID)"
5891
5892 #. type: Plain text
5893 #: build/C/man7/credentials.7:39
5894 msgid ""
5895 "Each process has a unique nonnegative integer identifier that is assigned "
5896 "when the process is created using B<fork>(2).  A process can obtain its PID "
5897 "using B<getpid>(2).  A PID is represented using the type I<pid_t> (defined "
5898 "in I<E<lt>sys/types.hE<gt>>)."
5899 msgstr ""
5900 "各プロセスは、負でない整数の一意な識別子を持つ。 この識別子は B<fork>(2)  を"
5901 "使ってプロセスが生成される際に割り当てられる。 プロセスは B<getpid>(2)  を"
5902 "使って自分の PID を取得できる。 PID は I<pid_t> 型で表現される (I<pid_t> は "
5903 "I<E<lt>sys/types.hE<gt>> で定義されている)。"
5904
5905 #.  .BR sched_rr_get_interval (2),
5906 #.  .BR sched_getaffinity (2),
5907 #.  .BR sched_setaffinity (2),
5908 #.  .BR sched_getparam (2),
5909 #.  .BR sched_setparam (2),
5910 #.  .BR sched_setscheduler (2),
5911 #.  .BR sched_getscheduler (2),
5912 #.  .BR getsid (2),
5913 #.  .BR waitid (2),
5914 #.  .BR wait4 (2),
5915 #. type: Plain text
5916 #: build/C/man7/credentials.7:60
5917 msgid ""
5918 "PIDs are used in a range of system calls to identify the process affected by "
5919 "the call, for example: B<kill>(2), B<ptrace>(2), B<setpriority>(2)  "
5920 "B<setpgid>(2), B<setsid>(2), B<sigqueue>(3), and B<waitpid>(2)."
5921 msgstr ""
5922 "PID は各種のシステムコールでそのシステムコールが作用するプロセスを 特定するた"
5923 "めに使用される。以下に例を挙げる: B<kill>(2), B<ptrace>(2), B<setpriority>"
5924 "(2), B<setpgid>(2), B<setsid>(2), B<sigqueue>(3), B<waitpid>(2)."
5925
5926 #. type: Plain text
5927 #: build/C/man7/credentials.7:63
5928 msgid "A process's PID is preserved across an B<execve>(2)."
5929 msgstr "プロセスの PID は B<execve>(2)  の前後で不変である。"
5930
5931 #. type: SS
5932 #: build/C/man7/credentials.7:63
5933 #, no-wrap
5934 msgid "Parent Process ID (PPID)"
5935 msgstr "親プロセス ID (PPID)"
5936
5937 #. type: Plain text
5938 #: build/C/man7/credentials.7:71
5939 msgid ""
5940 "A process's parent process ID identifies the process that created this "
5941 "process using B<fork>(2).  A process can obtain its PPID using B<getppid>"
5942 "(2).  A PPID is represented using the type I<pid_t>."
5943 msgstr ""
5944 "プロセスの親プロセスの ID は、 B<fork>(2)  を使ってそのプロセスを生成したプロ"
5945 "セスを示す。 プロセスは B<getppid>(2)  を使って自分の PPID を取得できる。 "
5946 "PPID は I<pid_t> 型で表現される。"
5947
5948 #. type: Plain text
5949 #: build/C/man7/credentials.7:74
5950 msgid "A process's PPID is preserved across an B<execve>(2)."
5951 msgstr "プロセスの PPID は B<execve>(2)  の前後で不変である。"
5952
5953 #. type: SS
5954 #: build/C/man7/credentials.7:74
5955 #, no-wrap
5956 msgid "Process Group ID and Session ID"
5957 msgstr "プロセスグループ ID とセッション ID"
5958
5959 #. type: Plain text
5960 #: build/C/man7/credentials.7:82
5961 msgid ""
5962 "Each process has a session ID and a process group ID, both represented using "
5963 "the type I<pid_t>.  A process can obtain its session ID using B<getsid>(2), "
5964 "and its process group ID using B<getpgrp>(2)."
5965 msgstr ""
5966 "各プロセスはセッション ID とプロセスグループ ID を持つ。 これらの ID はどちら"
5967 "も I<pid_t> 型で表現される。 プロセスは、それぞれ B<getsid>(2), B<getpgrp>"
5968 "(2)  を使って自分のセッション ID、プロセスグループ ID を取得できる。"
5969
5970 #. type: Plain text
5971 #: build/C/man7/credentials.7:88
5972 msgid ""
5973 "A child created by B<fork>(2)  inherits its parent's session ID and process "
5974 "group ID.  A process's session ID and process group ID are preserved across "
5975 "an B<execve>(2)."
5976 msgstr ""
5977 "B<fork>(2)  で生成された子プロセスは親プロセスのセッション ID とプロセスグ"
5978 "ループ ID を継承する。プロセスのセッション ID とプロセスグループ ID は "
5979 "B<execve>(2)  の前後で不変である。"
5980
5981 #. type: Plain text
5982 #: build/C/man7/credentials.7:101
5983 msgid ""
5984 "Sessions and process groups are abstractions devised to support shell job "
5985 "control.  A process group (sometimes called a \"job\") is a collection of "
5986 "processes that share the same process group ID; the shell creates a new "
5987 "process group for the process(es) used to execute single command or pipeline "
5988 "(e.g., the two processes created to execute the command \"ls\\ |\\ wc\" are "
5989 "placed in the same process group).  A process's group membership can be set "
5990 "using B<setpgid>(2).  The process whose process ID is the same as its "
5991 "process group ID is the I<process group leader> for that group."
5992 msgstr ""
5993 "セッションとプロセスグループの概念は、シェルのジョブ制御を行うために 考案され"
5994 "たものである。 プロセスグループ (時には「ジョブ」と呼ばれることもある) は、 "
5995 "同じプロセスグループ ID を共有するプロセスの集まりである。 シェルは、一つのコ"
5996 "マンドもしくはパイプラインの実行に使われるプロセス群に 対して一つのプロセスグ"
5997 "ループを生成する (例えば、コマンド \"ls\\ |\\ wc\" を実行するために生成される"
5998 "二つのプロセスは 同じプロセスグループに置かれる)。 所属するプロセスグループ"
5999 "は B<setpgid>(2)  を使って設定できる。 自身のプロセス ID がプロセスグループ "
6000 "ID と同じプロセスは、 そのグループの「プロセスグループ・リーダー」である。"
6001
6002 #. type: Plain text
6003 #: build/C/man7/credentials.7:113
6004 msgid ""
6005 "A session is a collection of processes that share the same session ID.  All "
6006 "of the members of a process group also have the same session ID (i.e., all "
6007 "of the members of a process group always belong to the same session, so that "
6008 "sessions and process groups form a strict two-level hierarchy of "
6009 "processes.)  A new session is created when a process calls B<setsid>(2), "
6010 "which creates a new session whose session ID is the same as the PID of the "
6011 "process that called B<setsid>(2).  The creator of the session is called the "
6012 "I<session leader>."
6013 msgstr ""
6014 "セッションは、同じセッション ID を共有するプロセスの集まりである。 ある一つの"
6015 "プロセスグループの全メンバーは同じセッション ID を持つ (つまり、一つのプロセ"
6016 "スグループのメンバーは全て同じセッションに所属し、 これにより、セッションとプ"
6017 "ロセスグループで二階層のプロセス階層が形成できる)。 新たなセッションの生成は"
6018 "プロセスが B<setsid>(2)  を呼び出すことで行う。 B<setsid>(2)  は、 B<setsid>"
6019 "(2)  を呼び出したプロセスの PID と同じ値のセッション ID を持つ 新たなセッショ"
6020 "ンを生成する。 セッションの生成者は「セッション・リーダー」と呼ばれる。"
6021
6022 #. type: SS
6023 #: build/C/man7/credentials.7:113
6024 #, no-wrap
6025 msgid "User and Group Identifiers"
6026 msgstr "ユーザ ID とグループ ID"
6027
6028 #. type: Plain text
6029 #: build/C/man7/credentials.7:121
6030 msgid ""
6031 "Each process has various associated user and groups IDs.  These IDs are "
6032 "integers, respectively represented using the types I<uid_t> and I<gid_t> "
6033 "(defined in I<E<lt>sys/types.hE<gt>>)."
6034 msgstr ""
6035 "各プロセスは、数種類のユーザ ID とグループ ID を持つ。 ユーザ ID、グループ "
6036 "ID は整数で、それぞれ I<uid_t>, I<gid_t> 型で表現される (これらは I<E<lt>sys/"
6037 "types.hE<gt>> で定義されている)。"
6038
6039 #. type: Plain text
6040 #: build/C/man7/credentials.7:123
6041 msgid "On Linux, each process has the following user and group identifiers:"
6042 msgstr ""
6043 "Linux では、各プロセスは以下のような種類のユーザ ID とグループ ID を持つ。"
6044
6045 #. type: Plain text
6046 #: build/C/man7/credentials.7:129
6047 msgid ""
6048 "Real user ID and real group ID.  These IDs determine who owns the process.  "
6049 "A process can obtain its real user (group) ID using B<getuid>(2)  (B<getgid>"
6050 "(2))."
6051 msgstr ""
6052 "実ユーザ ID と実グループ ID。 これらの ID によりプロセスの所有者が決定され"
6053 "る。 プロセスが自分の実ユーザ ID、実グループ ID を取得するには、それぞれ "
6054 "B<getuid>(2), B<getgid>(2)  を使用する。"
6055
6056 #. type: Plain text
6057 #: build/C/man7/credentials.7:141
6058 msgid ""
6059 "Effective user ID and effective group ID.  These IDs are used by the kernel "
6060 "to determine the permissions that the process will have when accessing "
6061 "shared resources such as message queues, shared memory, and semaphores.  On "
6062 "most UNIX systems, these IDs also determine the permissions when accessing "
6063 "files.  However, Linux uses the file system IDs described below for this "
6064 "task.  A process can obtain its effective user (group) ID using B<geteuid>"
6065 "(2)  (B<getegid>(2))."
6066 msgstr ""
6067 "実効ユーザ ID と実効グループ ID。 これらの ID は、メッセージキュー、共有メモ"
6068 "リ、セマフォなどの 共有リソースにアクセスしようとした際にそのプロセスがアクセ"
6069 "ス許可を 持っているかをカーネルが判定するのに使用される。 ほとんどの UNIX シ"
6070 "ステムでは、これらの ID はファイルへのアクセス時の アクセス許可の判定にも使用"
6071 "される。 しかしながら、Linux ではファイルへのアクセス許可の判定には 後述の"
6072 "ファイルシステム ID が使用される。 プロセスが自分の実効ユーザ ID、実効グルー"
6073 "プ ID を取得するには、それぞれ B<geteuid>(2), B<getegid>(2)  を使用する。"
6074
6075 #. type: Plain text
6076 #: build/C/man7/credentials.7:163
6077 msgid ""
6078 "Saved set-user-ID and saved set-group-ID.  These IDs are used in set-user-ID "
6079 "and set-group-ID programs to save a copy of the corresponding effective IDs "
6080 "that were set when the program was executed (see B<execve>(2)).  A set-user-"
6081 "ID program can assume and drop privileges by switching its effective user ID "
6082 "back and forth between the values in its real user ID and saved set-user-"
6083 "ID.  This switching is done via calls to B<seteuid>(2), B<setreuid>(2), or "
6084 "B<setresuid>(2).  A set-group-ID program performs the analogous tasks using "
6085 "B<setegid>(2), B<setregid>(2), or B<setresgid>(2).  A process can obtain its "
6086 "saved set-user-ID (set-group-ID) using B<getresuid>(2)  (B<getresgid>(2))."
6087 msgstr ""
6088 "保存 (saved) set-user-ID と保存 set-group-ID。 これらの ID は、set-user-ID "
6089 "や set-group-ID されたプログラムにおいて、 プログラムの実行時に設定された実"
6090 "効 ID のコピーを保存するために 使用される (B<execve>(2)  参照)。 set-user-ID "
6091 "プログラムは、実効ユーザ ID を実ユーザID と保存 set-user-ID の間で行ったり来"
6092 "たり切り替えることで、特権を得たり落としたりできる。 この切り替えは "
6093 "B<seteuid>(2), B<setreuid>(2), B<setresuid>(2)  を呼び出すことで実行できる。 "
6094 "set-group-ID プログラムは、 B<setegid>(2), B<setregid>(2), B<setresgid>(2)  "
6095 "を使って同様のことができる。 プロセスが自分の保存 set-user-ID、保存 set-"
6096 "group-ID を取得するには、 B<getresuid(2),> B<getresgids>(2)  をそれぞれ使用す"
6097 "る。"
6098
6099 #. type: Plain text
6100 #: build/C/man7/credentials.7:180
6101 msgid ""
6102 "File system user ID and file system group ID (Linux-specific).  These IDs, "
6103 "in conjunction with the supplementary group IDs described below, are used to "
6104 "determine permissions for accessing files; see B<path_resolution>(7)  for "
6105 "details.  Whenever a process's effective user (group) ID is changed, the "
6106 "kernel also automatically changes the file system user (group) ID to the "
6107 "same value.  Consequently, the file system IDs normally have the same values "
6108 "as the corresponding effective ID, and the semantics for file-permission "
6109 "checks are thus the same on Linux as on other UNIX systems.  The file system "
6110 "IDs can be made to differ from the effective IDs by calling B<setfsuid>(2)  "
6111 "and B<setfsgid>(2)."
6112 msgstr ""
6113 "ファイルシステム・ユーザ ID とファイルシステム・グループ ID (Linux 固有)。 こ"
6114 "れらの ID は、後述の補助グループ ID と組み合わせて使用され、 ファイルへのアク"
6115 "セス権の決定に利用される。詳細は B<path_resolution>(7)  を参照。 プロセスの実"
6116 "効 ID (ユーザ ID や グループ ID) が変更されるたびに、 カーネルは自動的に対応"
6117 "するファイルシステム ID を同じ値に変更する。 その結果、ファイルシステム ID は"
6118 "通常は対応する実効 ID と同じ値となり、 ファイルのアクセス権のチェック方法は "
6119 "Linux と他の UNIX システムで同じである。 ファイルシステム ID は実効 ID とは異"
6120 "なる値にすることができ、 変更は B<setfsuid>(2)  と B<setfsgid>(2)  を呼び出し"
6121 "て行う。"
6122
6123 #.  Since kernel 2.6.4, the limit is visible via the read-only file
6124 #.  /proc/sys/kernel/ngroups_max.
6125 #.  As at 2.6.22-rc2, this file is still read-only.
6126 #. type: Plain text
6127 #: build/C/man7/credentials.7:199
6128 msgid ""
6129 "Supplementary group IDs.  This is a set of additional group IDs that are "
6130 "used for permission checks when accessing files and other shared resources.  "
6131 "On Linux kernels before 2.6.4, a process can be a member of up to 32 "
6132 "supplementary groups; since kernel 2.6.4, a process can be a member of up to "
6133 "65536 supplementary groups.  The call I<sysconf(_SC_NGROUPS_MAX)> can be "
6134 "used to determine the number of supplementary groups of which a process may "
6135 "be a member.  A process can obtain its set of supplementary group IDs using "
6136 "B<getgroups>(2), and can modify the set using B<setgroups>(2)."
6137 msgstr ""
6138 "補助グループ ID。 この ID は、ファイルや他の共有リソースへのアクセス時にアク"
6139 "セス許可の チェックに使用される、追加のグループ ID の集合である。 カーネル "
6140 "2.6.4 より前の Linux では、一つのプロセスあたりの 補助グループのメンバー数は"
6141 "最大で 32 である。 カーネル 2.6.4 以降では、一つのプロセスあたりの 補助グルー"
6142 "プのメンバー数は最大で 65536 である。 I<sysconf(_SC_NGROUPS_MAX)> を呼び出す"
6143 "ことで、あるプロセスがメンバーとなることができる可能性のある 補助グループ数を"
6144 "知ることができる。 プロセスは、自分の補助グループ ID の集合を B<getgroups>"
6145 "(2)  で取得でき、 B<setgroups>(2)  で集合を変更できる。"
6146
6147 #. type: Plain text
6148 #: build/C/man7/credentials.7:209
6149 msgid ""
6150 "A child process created by B<fork>(2)  inherits copies of its parent's user "
6151 "and groups IDs.  During an B<execve>(2), a process's real user and group ID "
6152 "and supplementary group IDs are preserved; the effective and saved set IDs "
6153 "may be changed, as described in B<execve>(2)."
6154 msgstr ""
6155 "B<fork>(2)  で生成された子プロセスは親プロセスのユーザ ID とグループ ID を継"
6156 "承する。 B<execve>(2)  の間、プロセスの実ユーザ/グループ ID と補助グループ "
6157 "ID 集合は不変である。 実効 ID と保存セット ID は変更される可能性がある "
6158 "(B<execve>(2)  で説明されている)。"
6159
6160 #. type: Plain text
6161 #: build/C/man7/credentials.7:212
6162 msgid ""
6163 "Aside from the purposes noted above, a process's user IDs are also employed "
6164 "in a number of other contexts:"
6165 msgstr "上記の目的以外にも、プロセスのユーザ ID は他の様々な場面で利用される。"
6166
6167 #. type: Plain text
6168 #: build/C/man7/credentials.7:215
6169 msgid ""
6170 "when determining the permissions for sending signals\\(emsee B<kill>(2);"
6171 msgstr "シグナルを送る許可の判定時\\(em B<kill>(2)  参照。"
6172
6173 #. type: Plain text
6174 #: build/C/man7/credentials.7:225
6175 msgid ""
6176 "when determining the permissions for setting process-scheduling parameters "
6177 "(nice value, real time scheduling policy and priority, CPU affinity, I/O "
6178 "priority) using B<setpriority>(2), B<sched_setaffinity>(2), "
6179 "B<sched_setscheduler>(2), B<sched_setparam>(2), and B<ioprio_set>(2);"
6180 msgstr ""
6181 "プロセスのスケジューリング関連のパラメータ (nice 値、 リアルタイム・スケ"
6182 "ジューリングポリシーや優先度、CPU affinity、 入出力優先度) の設定許可の判定"
6183 "時。 スケジューリング関連のパラメータ設定には B<setpriority>(2), "
6184 "B<sched_setaffinity>(2), B<sched_setscheduler>(2), B<sched_setparam>(2), "
6185 "B<ioprio_set>(2)  が使用される。"
6186
6187 #. type: Plain text
6188 #: build/C/man7/credentials.7:228
6189 msgid "when checking resource limits; see B<getrlimit>(2);"
6190 msgstr "リソース上限のチェック時。 B<getrlimit>(2)  参照。"
6191
6192 #. type: Plain text
6193 #: build/C/man7/credentials.7:232
6194 msgid ""
6195 "when checking the limit on the number of inotify instances that the process "
6196 "may create; see B<inotify>(7)."
6197 msgstr ""
6198 "プロセスが生成できる inotify インスタンス数の上限のチェック時。 B<inotify>"
6199 "(7)  参照。"
6200
6201 #. type: Plain text
6202 #: build/C/man7/credentials.7:238
6203 msgid ""
6204 "Process IDs, parent process IDs, process group IDs, and session IDs are "
6205 "specified in POSIX.1-2001.  The real, effective, and saved set user and "
6206 "groups IDs, and the supplementary group IDs, are specified in POSIX.1-2001.  "
6207 "The file system user and group IDs are a Linux extension."
6208 msgstr ""
6209 "プロセス ID、親プロセス ID、プロセスグループ ID、セッション ID は "
6210 "POSIX.1-2001 で規定されている。 実 ID、実効 ID、保存セット ID のユーザ ID / "
6211 "グループ ID および 補助グループ ID は POSIX.1-2001 で規定されている。 ファイ"
6212 "ルシステム・ユーザ ID / グループ ID は Linux による拡張である。"
6213
6214 #. type: Plain text
6215 #: build/C/man7/credentials.7:250
6216 msgid ""
6217 "The POSIX threads specification requires that credentials are shared by all "
6218 "of the threads in a process.  However, at the kernel level, Linux maintains "
6219 "separate user and group credentials for each thread.  The NPTL threading "
6220 "implementation does some work to ensure that any change to user or group "
6221 "credentials (e.g., calls to B<setuid>(2), B<setresuid>(2), etc.)  is carried "
6222 "through to all of the POSIX threads in a process."
6223 msgstr ""
6224 "POSIX のスレッド仕様では、これらの識別子がプロセス内の全スレッドで 共有される"
6225 "ことを求めている。 しかしながら、カーネルのレベルでは、Linux はスレッド毎に"
6226 "別々の ユーザとグループに関する識別子を管理している。 NPTL スレッド実装が、"
6227 "(例えば B<setuid>(2), B<setresuid>(2)  などの呼び出しによる) ユーザやグループ"
6228 "に関する識別子に対する変更が プロセス内の全ての POSIX スレッドに対して反映さ"
6229 "れることを保証する ための処理を行っている。"
6230
6231 #. type: Plain text
6232 #: build/C/man7/credentials.7:281
6233 msgid ""
6234 "B<bash>(1), B<csh>(1), B<ps>(1), B<access>(2), B<execve>(2), B<faccessat>"
6235 "(2), B<fork>(2), B<getpgrp>(2), B<getpid>(2), B<getppid>(2), B<getsid>(2), "
6236 "B<kill>(2), B<killpg>(2), B<setegid>(2), B<seteuid>(2), B<setfsgid>(2), "
6237 "B<setfsuid>(2), B<setgid>(2), B<setgroups>(2), B<setresgid>(2), B<setresuid>"
6238 "(2), B<setuid>(2), B<waitpid>(2), B<euidaccess>(3), B<initgroups>(3), "
6239 "B<tcgetpgrp>(3), B<tcsetpgrp>(3), B<capabilities>(7), B<path_resolution>(7), "
6240 "B<unix>(7)"
6241 msgstr ""
6242 "B<bash>(1), B<csh>(1), B<ps>(1), B<access>(2), B<execve>(2), B<faccessat>"
6243 "(2), B<fork>(2), B<getpgrp>(2), B<getpid>(2), B<getppid>(2), B<getsid>(2), "
6244 "B<kill>(2), B<killpg>(2), B<setegid>(2), B<seteuid>(2), B<setfsgid>(2), "
6245 "B<setfsuid>(2), B<setgid>(2), B<setgroups>(2), B<setresgid>(2), B<setresuid>"
6246 "(2), B<setuid>(2), B<waitpid>(2), B<euidaccess>(3), B<initgroups>(3), "
6247 "B<tcgetpgrp>(3), B<tcsetpgrp>(3), B<capabilities>(7), B<path_resolution>(7), "
6248 "B<unix>(7)"
6249
6250 #. type: TH
6251 #: build/C/man2/getgid.2:25
6252 #, no-wrap
6253 msgid "GETGID"
6254 msgstr "GETGID"
6255
6256 #. type: TH
6257 #: build/C/man2/getgid.2:25 build/C/man2/getgroups.2:31
6258 #: build/C/man2/getresuid.2:27 build/C/man2/getuid.2:26
6259 #: build/C/man2/setfsgid.2:29 build/C/man2/setfsuid.2:29
6260 #: build/C/man2/setgid.2:27 build/C/man2/setresuid.2:26
6261 #: build/C/man2/setreuid.2:43 build/C/man2/setuid.2:28
6262 #, fuzzy, no-wrap
6263 #| msgid "2008-11-12"
6264 msgid "2010-11-22"
6265 msgstr "2008-11-12"
6266
6267 #. type: Plain text
6268 #: build/C/man2/getgid.2:28
6269 msgid "getgid, getegid - get group identity"
6270 msgstr "getgid, getegid - グループ ID を得る"
6271
6272 #. type: Plain text
6273 #: build/C/man2/getgid.2:30 build/C/man2/getgroups.2:38
6274 #: build/C/man2/getpid.2:30 build/C/man2/getresuid.2:34
6275 #: build/C/man2/getsid.2:30 build/C/man2/getuid.2:31 build/C/man2/seteuid.2:34
6276 #: build/C/man2/setgid.2:34 build/C/man2/setpgid.2:51
6277 #: build/C/man2/setresuid.2:33 build/C/man2/setreuid.2:50
6278 #: build/C/man2/setsid.2:35 build/C/man2/setuid.2:35
6279 msgid "B<#include E<lt>unistd.hE<gt>>"
6280 msgstr "B<#include E<lt>unistd.hE<gt>>"
6281
6282 #. type: Plain text
6283 #: build/C/man2/getgid.2:32 build/C/man2/getgroups.2:36
6284 #: build/C/man2/getpid.2:28 build/C/man2/getuid.2:33 build/C/man2/seteuid.2:32
6285 #: build/C/man2/setgid.2:32 build/C/man2/setreuid.2:48
6286 #: build/C/man2/setuid.2:33
6287 msgid "B<#include E<lt>sys/types.hE<gt>>"
6288 msgstr "B<#include E<lt>sys/types.hE<gt>>"
6289
6290 #. type: Plain text
6291 #: build/C/man2/getgid.2:34
6292 msgid "B<gid_t getgid(void);>"
6293 msgstr "B<gid_t getgid(void);>"
6294
6295 #. type: Plain text
6296 #: build/C/man2/getgid.2:36
6297 msgid "B<gid_t getegid(void);>"
6298 msgstr "B<gid_t getegid(void);>"
6299
6300 #. type: Plain text
6301 #: build/C/man2/getgid.2:39
6302 msgid "B<getgid>()  returns the real group ID of the calling process."
6303 msgstr "B<getgid>()  は呼び出し元のプロセスの実グループ ID を返す。"
6304
6305 #. type: Plain text
6306 #: build/C/man2/getgid.2:42
6307 msgid "B<getegid>()  returns the effective group ID of the calling process."
6308 msgstr "B<getegid>()  は呼び出し元のプロセスの実効グループ ID を返す。"
6309
6310 #. type: Plain text
6311 #: build/C/man2/getgid.2:44 build/C/man2/getpid.2:44 build/C/man2/getuid.2:45
6312 msgid "These functions are always successful."
6313 msgstr "これらの関数は常に成功する。"
6314
6315 #. type: Plain text
6316 #: build/C/man2/getgid.2:46 build/C/man2/getuid.2:47
6317 msgid "POSIX.1-2001, 4.3BSD."
6318 msgstr "POSIX.1-2001, 4.3BSD."
6319
6320 #. type: Plain text
6321 #: build/C/man2/getgid.2:62
6322 msgid ""
6323 "The original Linux B<getgid>()  and B<getegid>()  system calls supported "
6324 "only 16-bit group IDs.  Subsequently, Linux 2.4 added B<getgid32>()  and "
6325 "B<getegid32>(), supporting 32-bit IDs.  The glibc B<getgid>()  and B<getegid>"
6326 "()  wrapper functions transparently deal with the variations across kernel "
6327 "versions."
6328 msgstr ""
6329
6330 #. type: Plain text
6331 #: build/C/man2/getgid.2:67
6332 msgid "B<getresgid>(2), B<setgid>(2), B<setregid>(2), B<credentials>(7)"
6333 msgstr "B<getresgid>(2), B<setgid>(2), B<setregid>(2), B<credentials>(7)"
6334
6335 #. type: TH
6336 #: build/C/man2/getgroups.2:31
6337 #, no-wrap
6338 msgid "GETGROUPS"
6339 msgstr "GETGROUPS"
6340
6341 #. type: Plain text
6342 #: build/C/man2/getgroups.2:34
6343 msgid "getgroups, setgroups - get/set list of supplementary group IDs"
6344 msgstr "getgroups, setgroups - 補助グループ ID のリストを取得/設定する"
6345
6346 #. type: Plain text
6347 #: build/C/man2/getgroups.2:40
6348 msgid "B<int getgroups(int >I<size>B<, gid_t >I<list>B<[]);>"
6349 msgstr "B<int getgroups(int >I<size>B<, gid_t >I<list>B<[]);>"
6350
6351 #. type: Plain text
6352 #: build/C/man2/getgroups.2:42
6353 msgid "B<#include E<lt>grp.hE<gt>>"
6354 msgstr "B<#include E<lt>grp.hE<gt>>"
6355
6356 #. type: Plain text
6357 #: build/C/man2/getgroups.2:44
6358 msgid "B<int setgroups(size_t >I<size>B<, const gid_t *>I<list>B<);>"
6359 msgstr "B<int setgroups(size_t >I<size>B<, const gid_t *>I<list>B<);>"
6360
6361 #. type: Plain text
6362 #: build/C/man2/getgroups.2:52
6363 msgid "B<setgroups>(): _BSD_SOURCE"
6364 msgstr "B<setgroups>(): _BSD_SOURCE"
6365
6366 #. type: Plain text
6367 #: build/C/man2/getgroups.2:70
6368 msgid ""
6369 "B<getgroups>()  returns the supplementary group IDs of the calling process "
6370 "in I<list>.  The argument I<size> should be set to the maximum number of "
6371 "items that can be stored in the buffer pointed to by I<list>.  If the "
6372 "calling process is a member of more than I<size> supplementary groups, then "
6373 "an error results.  It is unspecified whether the effective group ID of the "
6374 "calling process is included in the returned list.  (Thus, an application "
6375 "should also call B<getegid>(2)  and add or remove the resulting value.)"
6376 msgstr ""
6377 "B<getgroups>()  は呼び出し元プロセスの補助グループ (supplementary group) ID "
6378 "を I<list> に返す。 I<size> 引き数には、 I<list> により参照されるバッファに格"
6379 "納できる要素の最大数を設定すべきである。 呼び出し元プロセスが I<size> 個より"
6380 "多くの補助グループのメンバの場合には、エラーとなる。 この関数を呼び出したプロ"
6381 "セスの実効グループ ID が、 返されるリストに含まれるかどうかは規定されていな"
6382 "い (したがって、アプリケーションは B<getegid>(2)  を呼び出し、その結果の値を"
6383 "追加・削除すべきである)。"
6384
6385 #. type: Plain text
6386 #: build/C/man2/getgroups.2:81
6387 msgid ""
6388 "If I<size> is zero, I<list> is not modified, but the total number of "
6389 "supplementary group IDs for the process is returned.  This allows the caller "
6390 "to determine the size of a dynamically allocated I<list> to be used in a "
6391 "further call to B<getgroups>()."
6392 msgstr ""
6393 "I<size> が 0 ならば、 I<list> は修正されないが、そのプロセスの補助グループ "
6394 "ID の合計数が返される。 これを使うことで、それ以降の B<getgroups>()  の呼び出"
6395 "しで必要となる動的割り当てバッファ I<list> のサイズを、呼び出し元が決定するこ"
6396 "とができる。"
6397
6398 #. type: Plain text
6399 #: build/C/man2/getgroups.2:92
6400 msgid ""
6401 "B<setgroups>()  sets the supplementary group IDs for the calling process.  "
6402 "Appropriate privileges (Linux: the B<CAP_SETGID> capability) are required.  "
6403 "The I<size> argument specifies the number of supplementary group IDs in the "
6404 "buffer pointed to by I<list>."
6405 msgstr ""
6406 "B<setgroups>()  は、呼び出し元プロセスの補助グループ ID を設定する。 適切な特"
6407 "権 (Linux では B<CAP_SETGID> ケーパビリティ (capability)) が必要である。 "
6408 "I<size> 引き数には、 I<list> により参照されるバッファに格納された補助グルー"
6409 "プ ID の数を指定する。"
6410
6411 #. type: Plain text
6412 #: build/C/man2/getgroups.2:99
6413 msgid ""
6414 "On success, B<getgroups>()  returns the number of supplementary group IDs.  "
6415 "On error, -1 is returned, and I<errno> is set appropriately."
6416 msgstr ""
6417 "B<getgroups>()  は、成功すると補助グループ ID の数を返す。 エラーの場合 -1 を"
6418 "返し、 I<errno> を適切に設定する。"
6419
6420 #. type: Plain text
6421 #: build/C/man2/getgroups.2:106
6422 msgid ""
6423 "On success, B<setgroups>()  returns 0.  On error, -1 is returned, and "
6424 "I<errno> is set appropriately."
6425 msgstr ""
6426 "B<setgroups>()  は、成功すると 0 を返す。 エラーの場合 -1 を返し、 I<errno> "
6427 "を適切に設定する。"
6428
6429 #. type: Plain text
6430 #: build/C/man2/getgroups.2:111
6431 msgid "I<list> has an invalid address."
6432 msgstr "I<list> が不正なアドレスである。"
6433
6434 #. type: Plain text
6435 #: build/C/man2/getgroups.2:114
6436 msgid "B<getgroups>()  can additionally fail with the following error:"
6437 msgstr "B<getgroups>()  は、上記に加えて以下のエラーで失敗する可能性がある。"
6438
6439 #. type: Plain text
6440 #: build/C/man2/getgroups.2:118
6441 msgid ""
6442 "I<size> is less than the number of supplementary group IDs, but is not zero."
6443 msgstr "I<size> が補助グループ ID の数より小さいが 0 でない。"
6444
6445 #. type: Plain text
6446 #: build/C/man2/getgroups.2:121
6447 msgid "B<setgroups>()  can additionally fail with the following errors:"
6448 msgstr "B<setgroups>()  は、上記に加えて以下のエラーで失敗する可能性がある。"
6449
6450 #. type: Plain text
6451 #: build/C/man2/getgroups.2:127
6452 msgid ""
6453 "I<size> is greater than B<NGROUPS_MAX> (32 before Linux 2.6.4; 65536 since "
6454 "Linux 2.6.4)."
6455 msgstr ""
6456 "I<size> が B<NGROUPS_MAX> より大きい (B<NGROUPS_MAX> は Linux 2.6.4 より前で"
6457 "は 32、Linux 2.6.4 以降では 65536)。"
6458
6459 #. type: Plain text
6460 #: build/C/man2/getgroups.2:133
6461 msgid "The calling process has insufficient privilege."
6462 msgstr "呼び出し元プロセスが十分な特権を持っていない。"
6463
6464 #. type: Plain text
6465 #: build/C/man2/getgroups.2:141
6466 msgid ""
6467 "SVr4, 4.3BSD.  The B<getgroups>()  function is in POSIX.1-2001.  Since "
6468 "B<setgroups>()  requires privilege, it is not covered by POSIX.1-2001."
6469 msgstr ""
6470 "SVr4, 4.3BSD.  B<getgroups>()  関数は POSIX.1-2001 に準拠している。 "
6471 "B<setgroups>()  は特権を必要とするため、POSIX.1-2001 に従っていない。"
6472
6473 #. type: Plain text
6474 #: build/C/man2/getgroups.2:149
6475 msgid ""
6476 "A process can have up to B<NGROUPS_MAX> supplementary group IDs in addition "
6477 "to the effective group ID.  The set of supplementary group IDs is inherited "
6478 "from the parent process, and preserved across an B<execve>(2)."
6479 msgstr ""
6480 "プロセスは、実効グループ ID に加え、最大 B<NGROUPS_MAX> までの補助グループ "
6481 "ID を持つことができる。 補助グループ ID の集合は親プロセスから継承され、 "
6482 "B<execve>(2)  の前後で保持される。"
6483
6484 #. type: Plain text
6485 #: build/C/man2/getgroups.2:152
6486 msgid ""
6487 "The maximum number of supplementary group IDs can be found using B<sysconf>"
6488 "(3):"
6489 msgstr ""
6490 "補助グループ ID の最大数は B<sysconf>(3)  を使って以下のようにして調べること"
6491 "ができる:"
6492
6493 #. type: Plain text
6494 #: build/C/man2/getgroups.2:156
6495 #, no-wrap
6496 msgid ""
6497 "    long ngroups_max;\n"
6498 "    ngroups_max = sysconf(_SC_NGROUPS_MAX);\n"
6499 msgstr ""
6500 "    long ngroups_max;\n"
6501 "    ngroups_max = sysconf(_SC_NGROUPS_MAX);\n"
6502
6503 #. type: Plain text
6504 #: build/C/man2/getgroups.2:161
6505 msgid ""
6506 "The maximum return value of B<getgroups>()  cannot be larger than one more "
6507 "than this value."
6508 msgstr ""
6509 "B<getgroups>()  の返り値の最大値は、この値より 1 大きい値より大きくなることは"
6510 "ない。"
6511
6512 #. type: Plain text
6513 #: build/C/man2/getgroups.2:171
6514 msgid ""
6515 "The original Linux B<getgroups>()  system call supported only 16-bit group "
6516 "IDs.  Subsequently, Linux 2.4 added B<getgroups32>(), supporting 32-bit "
6517 "IDs.  The glibc B<getgroups>()  wrapper function transparently deals with "
6518 "the variation across kernel versions."
6519 msgstr ""
6520
6521 #. type: Plain text
6522 #: build/C/man2/getgroups.2:178
6523 msgid ""
6524 "B<getgid>(2), B<setgid>(2), B<getgrouplist>(3), B<initgroups>(3), "
6525 "B<capabilities>(7), B<credentials>(7)"
6526 msgstr ""
6527 "B<getgid>(2), B<setgid>(2), B<getgrouplist>(3), B<initgroups>(3), "
6528 "B<capabilities>(7), B<credentials>(7)"
6529
6530 #. type: TH
6531 #: build/C/man2/getpid.2:23
6532 #, no-wrap
6533 msgid "GETPID"
6534 msgstr "GETPID"
6535
6536 #. type: TH
6537 #: build/C/man2/getpid.2:23
6538 #, no-wrap
6539 msgid "2008-09-23"
6540 msgstr "2008-09-23"
6541
6542 #. type: Plain text
6543 #: build/C/man2/getpid.2:26
6544 msgid "getpid, getppid - get process identification"
6545 msgstr "getpid, getppid - プロセス ID を得る"
6546
6547 #. type: Plain text
6548 #: build/C/man2/getpid.2:32
6549 msgid "B<pid_t getpid(void);>"
6550 msgstr "B<pid_t getpid(void);>"
6551
6552 #. type: Plain text
6553 #: build/C/man2/getpid.2:34
6554 msgid "B<pid_t getppid(void);>"
6555 msgstr "B<pid_t getppid(void);>"
6556
6557 #. type: Plain text
6558 #: build/C/man2/getpid.2:39
6559 msgid ""
6560 "B<getpid>()  returns the process ID of the calling process.  (This is often "
6561 "used by routines that generate unique temporary filenames.)"
6562 msgstr ""
6563 "B<getpid>()  は呼び出し元のプロセスのプロセス ID を返す。(テンポラリ用のファ"
6564 "イル名として 他と重ならない名前を生成するルーチンでしばしば使用される。)"
6565
6566 #. type: Plain text
6567 #: build/C/man2/getpid.2:42
6568 msgid ""
6569 "B<getppid>()  returns the process ID of the parent of the calling process."
6570 msgstr "B<getppid>()  は呼び出し元のプロセスの親プロセスのプロセス ID を返す。"
6571
6572 #. type: Plain text
6573 #: build/C/man2/getpid.2:46
6574 msgid "POSIX.1-2001, 4.3BSD, SVr4."
6575 msgstr "POSIX.1-2001, 4.3BSD, SVr4."
6576
6577 #.  The following program demonstrates this "feature":
6578 #.  #define _GNU_SOURCE
6579 #.  #include <sys/syscall.h>
6580 #.  #include <sys/wait.h>
6581 #.  #include <stdio.h>
6582 #.  #include <stdlib.h>
6583 #.  #include <unistd.h>
6584 #.  int
6585 #.  main(int argc, char *argv[])
6586 #.  {
6587 #.     /* The following statement fills the getpid() cache */
6588 #.     printf("parent PID = %ld
6589 #. ", (long) getpid());
6590 #.     if (syscall(SYS_fork) == 0) {
6591 #.         if (getpid() != syscall(SYS_getpid))
6592 #.             printf("child getpid() mismatch: getpid()=%ld; "
6593 #.                     "syscall(SYS_getpid)=%ld
6594 #. ",
6595 #.                     (long) getpid(), (long) syscall(SYS_getpid));
6596 #.         exit(EXIT_SUCCESS);
6597 #.     }
6598 #.     wait(NULL);
6599 #. }
6600 #. type: Plain text
6601 #: build/C/man2/getpid.2:98
6602 msgid ""
6603 "Since glibc version 2.3.4, the glibc wrapper function for B<getpid>()  "
6604 "caches PIDs, so as to avoid additional system calls when a process calls "
6605 "B<getpid>()  repeatedly.  Normally this caching is invisible, but its "
6606 "correct operation relies on support in the wrapper functions for B<fork>(2), "
6607 "B<vfork>(2), and B<clone>(2): if an application bypasses the glibc wrappers "
6608 "for these system calls by using B<syscall>(2), then a call to B<getpid>()  "
6609 "in the child will return the wrong value (to be precise: it will return the "
6610 "PID of the parent process).  See also B<clone>(2)  for discussion of a case "
6611 "where B<getpid>()  may return the wrong value even when invoking B<clone>"
6612 "(2)  via the glibc wrapper function."
6613 msgstr ""
6614 "glibc バージョン 2.3.4 以降では、 glibc の B<getpid>()  のラッパー関数は PID "
6615 "をキャッシュする。 これは、プロセスが繰り返し B<getpid>()  を呼び出した場合に"
6616 "その都度システムコールを呼ぶのを避けるためである。 通常は、このキャッシュ処理"
6617 "が見えることはないが、 キャッシュ処理が正しく働くためには B<fork>(2), "
6618 "B<vfork>(2), B<clone>(2)  のラッパー関数でのサポートが必要である。 アプリケー"
6619 "ションがこれらのシステムコールを呼び出す際に、 glibc のラッパー関数を経由せず"
6620 "に B<syscall>(2)  を使った場合には、子プロセスで B<getpid>()  を呼び出すと間"
6621 "違った値が返ることだろう (正確にいうと、親プロセスの PID が返される)。 "
6622 "B<clone>(2)  を glibc のラッパー関数経由で起動した際にも B<getpid>()  が間"
6623 "違った値を返す場合があり、これに関する議論は B<clone>(2)  も参照してほしい。"
6624
6625 #. type: Plain text
6626 #: build/C/man2/getpid.2:108
6627 msgid ""
6628 "B<clone>(2), B<fork>(2), B<kill>(2), B<exec>(3), B<mkstemp>(3), B<tempnam>"
6629 "(3), B<tmpfile>(3), B<tmpnam>(3), B<credentials>(7)"
6630 msgstr ""
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
6634 #. type: TH
6635 #: build/C/man2/getpriority.2:46
6636 #, no-wrap
6637 msgid "GETPRIORITY"
6638 msgstr "GETPRIORITY"
6639
6640 #. type: TH
6641 #: build/C/man2/getpriority.2:46
6642 #, no-wrap
6643 msgid "2008-05-29"
6644 msgstr "2008-05-29"
6645
6646 #. type: Plain text
6647 #: build/C/man2/getpriority.2:49
6648 msgid "getpriority, setpriority - get/set program scheduling priority"
6649 msgstr ""
6650 "getpriority, setpriority - プログラムのスケジューリングの優先度を取得/設定す"
6651 "る"
6652
6653 #. type: Plain text
6654 #: build/C/man2/getpriority.2:51 build/C/man2/getrlimit.2:69
6655 #: build/C/man2/getrusage.2:44
6656 msgid "B<#include E<lt>sys/time.hE<gt>>"
6657 msgstr "B<#include E<lt>sys/time.hE<gt>>"
6658
6659 #. type: Plain text
6660 #: build/C/man2/getpriority.2:53 build/C/man2/getrlimit.2:71
6661 #: build/C/man2/getrusage.2:46
6662 msgid "B<#include E<lt>sys/resource.hE<gt>>"
6663 msgstr "B<#include E<lt>sys/resource.hE<gt>>"
6664
6665 #. type: Plain text
6666 #: build/C/man2/getpriority.2:55
6667 msgid "B<int getpriority(int >I<which>B<, int >I<who>B<);>"
6668 msgstr "B<int getpriority(int >I<which>B<, int >I<who>B<);>"
6669
6670 #. type: Plain text
6671 #: build/C/man2/getpriority.2:57
6672 msgid "B<int setpriority(int >I<which>B<, int >I<who>B<, int >I<prio>B<);>"
6673 msgstr "B<int setpriority(int >I<which>B<, int >I<who>B<, int >I<prio>B<);>"
6674
6675 #. type: Plain text
6676 #: build/C/man2/getpriority.2:68
6677 msgid ""
6678 "The scheduling priority of the process, process group, or user, as indicated "
6679 "by I<which> and I<who> is obtained with the B<getpriority>()  call and set "
6680 "with the B<setpriority>()  call."
6681 msgstr ""
6682 "システムコール B<getpriority>()  や B<setpriority>()  は、 I<which> と "
6683 "I<who> で指定されたプロセス、プロセス・グループ、ユーザーの スケジューリング"
6684 "優先度 (scheduling priority) の 取得や設定をそれぞれ行う。"
6685
6686 #. type: Plain text
6687 #: build/C/man2/getpriority.2:95
6688 msgid ""
6689 "The value I<which> is one of B<PRIO_PROCESS>, B<PRIO_PGRP>, or B<PRIO_USER>, "
6690 "and I<who> is interpreted relative to I<which> (a process identifier for "
6691 "B<PRIO_PROCESS>, process group identifier for B<PRIO_PGRP>, and a user ID "
6692 "for B<PRIO_USER>).  A zero value for I<who> denotes (respectively) the "
6693 "calling process, the process group of the calling process, or the real user "
6694 "ID of the calling process.  I<Prio> is a value in the range -20 to 19 (but "
6695 "see the Notes below).  The default priority is 0; lower priorities cause "
6696 "more favorable scheduling."
6697 msgstr ""
6698 "I<which> の値は B<PRIO_PROCESS>, B<PRIO_PGRP>, B<PRIO_USER>, のどれか一つ"
6699 "で、 I<who> は I<which> に応じて解釈される (B<PRIO_PROCESS> だとプロセス識別"
6700 "子、 B<PRIO_PGRP> だとプロセス・グループ識別子、 B<PRIO_USER> だと UID (ユー"
6701 "ザID) と解釈される)。 I<who> がゼロならば、(それぞれ)呼び出したプロセス、 呼"
6702 "び出したプロセスのプロセス・グループ、 呼び出したプロセスの実UID を意味す"
6703 "る。 I<prio> は -20 から 19 の範囲の値で (但し以下の注意の項を参照のこと)、 "
6704 "デフォルトの優先度は 0 である; 小さな数字ほど、有利なスケジューリングとなる。"
6705
6706 #. type: Plain text
6707 #: build/C/man2/getpriority.2:105
6708 msgid ""
6709 "The B<getpriority>()  call returns the highest priority (lowest numerical "
6710 "value)  enjoyed by any of the specified processes.  The B<setpriority>()  "
6711 "call sets the priorities of all of the specified processes to the specified "
6712 "value.  Only the superuser may lower priorities."
6713 msgstr ""
6714 "B<getpriority>()  コールは指定したプロセスの中の最も高い優先度 (数値的には最"
6715 "小の値) を返す。 B<setpriority>()  コールは指定したプロセス全ての優先度を指定"
6716 "した値に設定する。 優先度を今より小さい値に設定できるのはスーパー・ユーザーだ"
6717 "けである。"
6718
6719 #. type: Plain text
6720 #: build/C/man2/getpriority.2:118
6721 msgid ""
6722 "Since B<getpriority>()  can legitimately return the value -1, it is "
6723 "necessary to clear the external variable I<errno> prior to the call, then "
6724 "check it afterward to determine if -1 is an error or a legitimate value.  "
6725 "The B<setpriority>()  call returns 0 if there is no error, or -1 if there is."
6726 msgstr ""
6727 "B<getpriority>()  は成功した場合にも -1 の値を返す可能性があるので、 呼び出し"
6728 "の前に外部変数の I<errno> をクリアし、呼び出しの後に返り値の -1 が正当な値か "
6729 "エラーかを判別する必要がある。 B<setpriority>()  コールはエラーがなければ 0 "
6730 "を返し、エラーがあれば -1 を返す。"
6731
6732 #. type: Plain text
6733 #: build/C/man2/getpriority.2:127
6734 msgid "I<which> was not one of B<PRIO_PROCESS>, B<PRIO_PGRP>, or B<PRIO_USER>."
6735 msgstr ""
6736 "I<which> が B<PRIO_PROCESS>, B<PRIO_PGRP>, B<PRIO_USER> のいずれでもない。"
6737
6738 #. type: Plain text
6739 #: build/C/man2/getpriority.2:134
6740 msgid "No process was located using the I<which> and I<who> values specified."
6741 msgstr "I<which> と I<who> で指定されたプロセスが存在しない。"
6742
6743 #. type: Plain text
6744 #: build/C/man2/getpriority.2:138
6745 msgid ""
6746 "In addition to the errors indicated above, B<setpriority>()  may fail if:"
6747 msgstr "上記のものに加えて B<setpriority>()  では以下のエラーがある:"
6748
6749 #. type: Plain text
6750 #: build/C/man2/getpriority.2:150
6751 msgid ""
6752 "The caller attempted to lower a process priority, but did not have the "
6753 "required privilege (on Linux: did not have the B<CAP_SYS_NICE> capability).  "
6754 "Since Linux 2.6.12, this error only occurs if the caller attempts to set a "
6755 "process priority outside the range of the B<RLIMIT_NICE> soft resource limit "
6756 "of the target process; see B<getrlimit>(2)  for details."
6757 msgstr ""
6758 "呼び出し元がプロセスの優先度を下げようとしたが、必要な特権を 持っていなかっ"
6759 "た (Linux の場合、 B<CAP_SYS_NICE> ケーパビリティがなかった)。 Linux 2.6.12 "
6760 "以降では、呼び出し元が、あるプロセスの優先度を、 変更対象のプロセスのリソー"
6761 "ス B<RLIMIT_NICE> のソフト・リミットの範囲外に設定しようとした場合にのみ、 こ"
6762 "のエラーが発生する。詳細は B<getrlimit>(2)  を参照。"
6763
6764 #. type: Plain text
6765 #: build/C/man2/getpriority.2:158
6766 msgid ""
6767 "A process was located, but its effective user ID did not match either the "
6768 "effective or the real user ID of the caller, and was not privileged (on "
6769 "Linux: did not have the B<CAP_SYS_NICE> capability).  But see NOTES below."
6770 msgstr ""
6771 "プロセスは見つかったが、そのプロセスの実効 (effective) UID が 呼び出し元の実"
6772 "効UID にも実 (real) UID にも一致せず、 呼び出し元が特権も持っていなかった "
6773 "(Linux の場合、 B<CAP_SYS_NICE> ケーパビリティがなかった)。 以下の「注意」も"
6774 "参照のこと。"
6775
6776 #. type: Plain text
6777 #: build/C/man2/getpriority.2:161
6778 msgid ""
6779 "SVr4, 4.4BSD (these function calls first appeared in 4.2BSD), POSIX.1-2001."
6780 msgstr "SVr4, 4.4BSD (これらの関数は 4.2BSD で最初に登場した), POSIX.1-2001."
6781
6782 #. type: Plain text
6783 #: build/C/man2/getpriority.2:167
6784 msgid ""
6785 "A child created by B<fork>(2)  inherits its parent's nice value.  The nice "
6786 "value is preserved across B<execve>(2)."
6787 msgstr ""
6788 "B<fork>(2)  で作成された子プロセスは、 親プロセスの nice 値を継承する。 "
6789 "B<execve>(2)  の前後で nice 値は保存される。"
6790
6791 #. type: Plain text
6792 #: build/C/man2/getpriority.2:178
6793 msgid ""
6794 "The degree to which their relative nice value affects the scheduling of "
6795 "processes varies across UNIX systems, and, on Linux, across kernel "
6796 "versions.  Starting with kernel 2.6.23, Linux adopted an algorithm that "
6797 "causes relative differences in nice values to have a much stronger effect.  "
6798 "This causes very low nice values (+19) to truly provide little CPU to a "
6799 "process whenever there is any other higher priority load on the system, and "
6800 "makes high nice values (-20) deliver most of the CPU to applications that "
6801 "require it (e.g., some audio applications)."
6802 msgstr ""
6803 "相対的な nice 値の違いがプロセス間のスケジューリングにどの程度影響を与えるか "
6804 "は、UNIX システム間で異なり、Linux ではカーネルバージョンにより異なる。 "
6805 "Linux は、カーネル 2.6.23 以降で、nice 値の相対的な違いが、非常に強い影響を "
6806 "与えるアルゴリズムを採用した。このアルゴリズムでは、 他に優先度の高いものがシ"
6807 "ステムに存在する時には、 非常に低い nice 値 (+19) ではプロセスに本当にほとん"
6808 "ど CPU が割り当てられない。 また、高い nice 値 (-20) では CPU を必要とするア"
6809 "プリケーション (例えば オーディオ・アプリケーション) に CPU のほとんどが割り"
6810 "当てられる。"
6811
6812 #. type: Plain text
6813 #: build/C/man2/getpriority.2:193
6814 msgid ""
6815 "The details on the condition for B<EPERM> depend on the system.  The above "
6816 "description is what POSIX.1-2001 says, and seems to be followed on all "
6817 "System V-like systems.  Linux kernels before 2.6.12 required the real or "
6818 "effective user ID of the caller to match the real user of the process I<who> "
6819 "(instead of its effective user ID).  Linux 2.6.12 and later require the "
6820 "effective user ID of the caller to match the real or effective user ID of "
6821 "the process I<who>.  All BSD-like systems (SunOS 4.1.3, Ultrix 4.2, 4.3BSD, "
6822 "FreeBSD 4.3, OpenBSD-2.5, ...) behave in the same manner as Linux 2.6.12 and "
6823 "later."
6824 msgstr ""
6825 "B<EPERM> が発生する条件の詳細はシステムに依存する。 上記の説明は "
6826 "POSIX.1-2001 のものであり、全ての System V 風システムは これに従っているよう"
6827 "である。 2.6.12 より前の Linux カーネルでは、呼び出し元の実 UID または 実効 "
6828 "UID がプロセス I<who> の (実効 UID でなく)  実 UID に一致する必要がある。 "
6829 "Linux 2.6.12 以降では、呼び出し元の実行 UID がプロセス I<who> の実 UID か実"
6830 "効 UID のいずれかと一致する必要がある。 全ての BSD 風システム (SunOS 4.1.3, "
6831 "Ultrix 4.2, 4.3BSD, FreeBSD 4.3, OpenBSD-2.5等) は、 Linux 2.6.12 以降と同じ"
6832 "動作をする。"
6833
6834 #. type: Plain text
6835 #: build/C/man2/getpriority.2:209
6836 msgid ""
6837 "The actual priority range varies between kernel versions.  Linux before "
6838 "1.3.36 had -infinity..15.  Since kernel 1.3.43 Linux has the range -20..19.  "
6839 "Within the kernel, nice values are actually represented using the "
6840 "corresponding range 40..1 (since negative numbers are error codes) and these "
6841 "are the values employed by the B<setpriority>()  and B<getpriority>()  "
6842 "system calls.  The glibc wrapper functions for these system calls handle the "
6843 "translations between the user-land and kernel representations of the nice "
6844 "value according to the formula I<unice\\ =\\ 20\\ -\\ knice>."
6845 msgstr ""
6846 "実際の優先度の値の範囲はカーネルのバージョンによって異なる。 1.3.36 より前の "
6847 "Linux では、優先度の範囲は負の無限大 〜 15 である。 1.3.43 以降の Linux で"
6848 "は、優先度の範囲は -20 〜 19 である。 カーネル内部では、nice 値は実際には 40 "
6849 "〜 1 の範囲を使って 表現されており (負の値はエラーコードとなるため)、こちらの"
6850 "値が システムコール B<setpriority>()  と B<getpriority>()  で使用されてい"
6851 "る。 glibc のこれらのシステムコールのラッパー関数において、nice 値の ユーザ領"
6852 "域 (user-land) とカーネル表現の間の変換が行われる。 変換式は以下の通り: "
6853 "I<unice\\ =\\ 20\\ -\\ knice>"
6854
6855 #. type: Plain text
6856 #: build/C/man2/getpriority.2:211
6857 msgid "On some systems, the range of nice values is -20..20."
6858 msgstr "いくつかのシステムでは、nice 値の範囲は \\20 〜 20 である。"
6859
6860 #. type: Plain text
6861 #: build/C/man2/getpriority.2:223
6862 msgid ""
6863 "Including I<E<lt>sys/time.hE<gt>> is not required these days, but increases "
6864 "portability.  (Indeed, I<E<lt>sys/resource.hE<gt>> defines the I<rusage> "
6865 "structure with fields of type I<struct timeval> defined in I<E<lt>sys/time."
6866 "hE<gt>>.)"
6867 msgstr ""
6868 "現在では I<E<lt>sys/time.hE<gt>> をインクルードする必要はないが、インクルード"
6869 "すれば移植性を高めることができる (実際には I<E<lt>sys/resource.hE<gt>> で "
6870 "I<rusage> 構造体が定義されているが、そのフィールドで使用されている I<struct "
6871 "timeval> 型は I<E<lt>sys/time.hE<gt>> で定義されている)。"
6872
6873 #. type: Plain text
6874 #: build/C/man2/getpriority.2:228
6875 msgid "B<nice>(1), B<renice>(1), B<fork>(2), B<capabilities>(7)"
6876 msgstr "B<nice>(1), B<renice>(1), B<fork>(2), B<capabilities>(7)"
6877
6878 #. type: Plain text
6879 #: build/C/man2/getpriority.2:231
6880 msgid ""
6881 "I<Documentation/scheduler/sched-nice-design.txt> in the kernel source tree "
6882 "(since Linux 2.6.23)."
6883 msgstr ""
6884 "(Linux 2.6.23 以降の) カーネルのソースツリー内の I<Documentation/scheduler/"
6885 "sched-nice-design.txt>"
6886
6887 #. type: TH
6888 #: build/C/man2/getresuid.2:27
6889 #, no-wrap
6890 msgid "GETRESUID"
6891 msgstr "GETRESUID"
6892
6893 #. type: Plain text
6894 #: build/C/man2/getresuid.2:30
6895 msgid "getresuid, getresgid - get real, effective and saved user/group IDs"
6896 msgstr ""
6897 "getresuid, getresgid - 実、実効、保存、ユーザー ID / グループ ID を取得する"
6898
6899 #. type: Plain text
6900 #: build/C/man2/getresuid.2:32 build/C/man2/setresuid.2:31
6901 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
6902 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
6903
6904 #. type: Plain text
6905 #: build/C/man2/getresuid.2:36
6906 msgid ""
6907 "B<int getresuid(uid_t *>I<ruid>B<, uid_t *>I<euid>B<, uid_t *>I<suid>B<);>"
6908 msgstr ""
6909 "B<int getresuid(uid_t *>I<ruid>B<, uid_t *>I<euid>B<, uid_t *>I<suid>B<);>"
6910
6911 #. type: Plain text
6912 #: build/C/man2/getresuid.2:38
6913 msgid ""
6914 "B<int getresgid(gid_t *>I<rgid>B<, gid_t *>I<egid>B<, gid_t *>I<sgid>B<);>"
6915 msgstr ""
6916 "B<int getresgid(gid_t *>I<rgid>B<, gid_t *>I<egid>B<, gid_t *>I<sgid>B<);>"
6917
6918 #. type: Plain text
6919 #: build/C/man2/getresuid.2:49
6920 msgid ""
6921 "B<getresuid>()  returns the real UID, the effective UID, and the saved set-"
6922 "user-ID of the calling process, in the arguments I<ruid>, I<euid>, and "
6923 "I<suid>, respectively.  B<getresgid>()  performs the analogous task for the "
6924 "process's group IDs."
6925 msgstr ""
6926 "B<getresuid>()  は、呼び出したプロセスの実 (real) UID、実効 (effective) "
6927 "UID、 保存 (saved) set-user-ID (B<getresgid> の場合はグループ ID) を、 それぞ"
6928 "れ引き数 I<ruid>, I<euid>, I<suid> に格納して返す。 B<getresgid>()  は、呼び"
6929 "出したプロセスのグループ ID について同様の処理を行う。"
6930
6931 #. type: Plain text
6932 #: build/C/man2/getresuid.2:59
6933 msgid ""
6934 "One of the arguments specified an address outside the calling program's "
6935 "address space."
6936 msgstr ""
6937 "指定した引き数のどれかが、呼び出したプログラムのアドレス空間の外の アドレスで"
6938 "ある。"
6939
6940 #. type: Plain text
6941 #: build/C/man2/getresuid.2:61
6942 msgid "These system calls appeared on Linux starting with kernel 2.1.44."
6943 msgstr "これらのシステムコールはカーネル 2.1.44 から Linux に登場した。"
6944
6945 #. type: Plain text
6946 #: build/C/man2/getresuid.2:66
6947 msgid ""
6948 "The prototypes are given by glibc since version 2.3.2, provided "
6949 "B<_GNU_SOURCE> is defined."
6950 msgstr ""
6951 "プロトタイプ宣言は 2.3.2 以降の glibc では B<_GNU_SOURCE> を定義していると得"
6952 "られる。"
6953
6954 #. type: Plain text
6955 #: build/C/man2/getresuid.2:69 build/C/man2/setresuid.2:86
6956 msgid ""
6957 "These calls are nonstandard; they also appear on HP-UX and some of the BSDs."
6958 msgstr "これらのコールは非標準である。 HP-UX や BSD 系のいくつかにも存在する。"
6959
6960 #. type: Plain text
6961 #: build/C/man2/getresuid.2:85
6962 msgid ""
6963 "The original Linux B<getresuid>()  and B<getresgid>()  system calls "
6964 "supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
6965 "B<getresuid32>()  and B<getresgid32>(), supporting 32-bit IDs.  The glibc "
6966 "B<getresuid>()  and B<getresgid>()  wrapper functions transparently deal "
6967 "with the variations across kernel versions."
6968 msgstr ""
6969
6970 #. type: Plain text
6971 #: build/C/man2/getresuid.2:91
6972 msgid ""
6973 "B<getuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), B<credentials>"
6974 "(7)"
6975 msgstr ""
6976 "B<getuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), B<credentials>"
6977 "(7)"
6978
6979 #. type: TH
6980 #: build/C/man2/getrlimit.2:64
6981 #, no-wrap
6982 msgid "GETRLIMIT"
6983 msgstr "GETRLIMIT"
6984
6985 #. type: TH
6986 #: build/C/man2/getrlimit.2:64
6987 #, fuzzy, no-wrap
6988 #| msgid "2010-09-20"
6989 msgid "2011-09-10"
6990 msgstr "2010-09-20"
6991
6992 #. type: Plain text
6993 #: build/C/man2/getrlimit.2:67
6994 #, fuzzy
6995 #| msgid "getrlimit, setrlimit - get/set resource limits"
6996 msgid "getrlimit, setrlimit, prlimit - get/set resource limits"
6997 msgstr "getrlimit, setrlimit - 資源の制限を取得/設定する"
6998
6999 #. type: Plain text
7000 #: build/C/man2/getrlimit.2:73
7001 msgid "B<int getrlimit(int >I<resource>B<, struct rlimit *>I<rlim>B<);>"
7002 msgstr "B<int getrlimit(int >I<resource>B<, struct rlimit *>I<rlim>B<);>"
7003
7004 #. type: Plain text
7005 #: build/C/man2/getrlimit.2:75
7006 msgid "B<int setrlimit(int >I<resource>B<, const struct rlimit *>I<rlim>B<);>"
7007 msgstr "B<int setrlimit(int >I<resource>B<, const struct rlimit *>I<rlim>B<);>"
7008
7009 #. type: Plain text
7010 #: build/C/man2/getrlimit.2:78
7011 #, fuzzy
7012 #| msgid ""
7013 #| "B<int setrlimit(int >I<resource>B<, const struct rlimit *>I<rlim>B<);>"
7014 msgid ""
7015 "B<int prlimit(pid_t >I<pid>B<, int >I<resource>B<, const struct rlimit "
7016 "*>I<new_limit>B<,>"
7017 msgstr "B<int setrlimit(int >I<resource>B<, const struct rlimit *>I<rlim>B<);>"
7018
7019 #. type: Plain text
7020 #: build/C/man2/getrlimit.2:80
7021 #, fuzzy
7022 #| msgid "B<int getrlimit(int >I<resource>B<, struct rlimit *>I<rlim>B<);>"
7023 msgid "B< struct rlimit *>I<old_limit>B<);>"
7024 msgstr "B<int getrlimit(int >I<resource>B<, struct rlimit *>I<rlim>B<);>"
7025
7026 #. type: Plain text
7027 #: build/C/man2/getrlimit.2:88
7028 msgid "B<prlimit>(): _GNU_SOURCE && _FILE_OFFSET_BITS == 64"
7029 msgstr ""
7030
7031 #. type: Plain text
7032 #: build/C/man2/getrlimit.2:97
7033 #, fuzzy
7034 #| msgid ""
7035 #| "B<getrlimit>()  and B<setrlimit>()  get and set resource limits "
7036 #| "respectively.  Each resource has an associated soft and hard limit, as "
7037 #| "defined by the I<rlimit> structure (the I<rlim> argument to both "
7038 #| "B<getrlimit>()  and B<setrlimit>()):"
7039 msgid ""
7040 "The B<getrlimit>()  and B<setrlimit>()  system calls get and set resource "
7041 "limits respectively.  Each resource has an associated soft and hard limit, "
7042 "as defined by the I<rlimit> structure:"
7043 msgstr ""
7044 "B<getrlimit>()  と B<setrlimit>()  はそれぞれ資源 (resource) の制限 (limit) "
7045 "の設定と取得を行う。 各リソースには、それに対応するソフト・リミットとハード・"
7046 "リミットがある。 リミットは (B<getrlimit>()  と B<setrlimit>()  の I<rlim> 引"
7047 "き数である)  I<rlimit> 構造体で定義される:"
7048
7049 #. type: Plain text
7050 #: build/C/man2/getrlimit.2:104
7051 #, no-wrap
7052 msgid ""
7053 "struct rlimit {\n"
7054 "    rlim_t rlim_cur;  /* Soft limit */\n"
7055 "    rlim_t rlim_max;  /* Hard limit (ceiling for rlim_cur) */\n"
7056 "};\n"
7057 msgstr ""
7058 "struct rlimit {\n"
7059 "    rlim_t rlim_cur;  /* ソフト・リミット */\n"
7060 "    rlim_t rlim_max;  /* ハード・リミット\n"
7061 "                         (rlim_cur より小さくない) */\n"
7062 "};\n"
7063
7064 #. type: Plain text
7065 #: build/C/man2/getrlimit.2:115
7066 msgid ""
7067 "The soft limit is the value that the kernel enforces for the corresponding "
7068 "resource.  The hard limit acts as a ceiling for the soft limit: an "
7069 "unprivileged process may only set its soft limit to a value in the range "
7070 "from 0 up to the hard limit, and (irreversibly) lower its hard limit.  A "
7071 "privileged process (under Linux: one with the B<CAP_SYS_RESOURCE> "
7072 "capability) may make arbitrary changes to either limit value."
7073 msgstr ""
7074 "ソフト・リミットは、カーネルが対応するリソースに対して課す制限値である。 ハー"
7075 "ド・リミットはソフト・リミットの上限として働く。 特権を持たないプロセスは、ソ"
7076 "フト・リミットの値を 0 からハード・リミットの範囲に設定することと、 ハード・"
7077 "リミットを下げることのみができる (一度下げたハードリミットは上げられない)。 "
7078 "特権プロセス (Linux では B<CAP_SYS_RESOURCE> ケーパビリティ (capability) を持"
7079 "つプロセス) は ソフト・リミットとハード・リミットを自由に変更できる。"
7080
7081 #. type: Plain text
7082 #: build/C/man2/getrlimit.2:122
7083 msgid ""
7084 "The value B<RLIM_INFINITY> denotes no limit on a resource (both in the "
7085 "structure returned by B<getrlimit>()  and in the structure passed to "
7086 "B<setrlimit>())."
7087 msgstr ""
7088 "値 B<RLIM_INFINITY> はリソースに制限がないことを表す (この値は B<getrlimit>"
7089 "()  が返す構造体と B<setrlimit>()  に渡す構造体の両方で使用される)。"
7090
7091 #. type: Plain text
7092 #: build/C/man2/getrlimit.2:126
7093 #, fuzzy
7094 #| msgid "I<resource> must be one of:"
7095 msgid "The I<resource> argument must be one of:"
7096 msgstr "I<resource> は次のいずれか 1 つである。"
7097
7098 #. type: TP
7099 #: build/C/man2/getrlimit.2:126
7100 #, no-wrap
7101 msgid "B<RLIMIT_AS>"
7102 msgstr "B<RLIMIT_AS>"
7103
7104 #.  since 2.0.27 / 2.1.12
7105 #. type: Plain text
7106 #: build/C/man2/getrlimit.2:146
7107 msgid ""
7108 "The maximum size of the process's virtual memory (address space) in bytes.  "
7109 "This limit affects calls to B<brk>(2), B<mmap>(2)  and B<mremap>(2), which "
7110 "fail with the error B<ENOMEM> upon exceeding this limit.  Also automatic "
7111 "stack expansion will fail (and generate a B<SIGSEGV> that kills the process "
7112 "if no alternate stack has been made available via B<sigaltstack>(2)).  Since "
7113 "the value is a I<long>, on machines with a 32-bit I<long> either this limit "
7114 "is at most 2 GiB, or this resource is unlimited."
7115 msgstr ""
7116 "プロセスの仮想メモリ (アドレス空間) の最大サイズ (バイト単位)。 この制限は "
7117 "B<brk>(2), B<mmap>(2), B<mremap>(2)  の呼び出しに影響し、この制限を超えた場合"
7118 "は エラー B<ENOMEM> で失敗する。 また自動的なスタック拡張にも失敗する (さら"
7119 "に B<sigaltstack>(2)  を使った代替スタックを利用可能にしていなかった場合に"
7120 "は、 B<SIGSEGV> を生成してそのプロセスを kill する)。 この値は I<long> 型なの"
7121 "で、32 ビットの I<long> 型を持つマシンでは、 この制限は最大で 2 GiB になる"
7122 "か、この資源が無制限になる。"
7123
7124 #. type: TP
7125 #: build/C/man2/getrlimit.2:146
7126 #, no-wrap
7127 msgid "B<RLIMIT_CORE>"
7128 msgstr "B<RLIMIT_CORE>"
7129
7130 #. type: Plain text
7131 #: build/C/man2/getrlimit.2:153
7132 msgid ""
7133 "Maximum size of I<core> file.  When 0 no core dump files are created.  When "
7134 "nonzero, larger dumps are truncated to this size."
7135 msgstr ""
7136 "I<core> ファイルの最大サイズ。 0 の場合、core ファイルは生成されない。 0 以外"
7137 "の場合、このサイズより大きいダンプは切り詰められる。"
7138
7139 #. type: TP
7140 #: build/C/man2/getrlimit.2:153
7141 #, no-wrap
7142 msgid "B<RLIMIT_CPU>"
7143 msgstr "B<RLIMIT_CPU>"
7144
7145 #. type: Plain text
7146 #: build/C/man2/getrlimit.2:173
7147 #, fuzzy
7148 #| msgid ""
7149 #| "CPU time limit in seconds.  When the process reaches the soft limit, it "
7150 #| "is sent a B<SIGXCPU> signal.  The default action for this signal is to "
7151 #| "terminate the process.  However, the signal can be caught, and the "
7152 #| "handler can return control to the main program.  If the process continues "
7153 #| "to consume CPU time, it will be sent B<SIGXCPU> once per second until the "
7154 #| "hard limit is reached, at which time it is sent B<SIGKILL>.  (This latter "
7155 #| "point describes Linux 2.2 through 2.6 behavior.  Implementations vary in "
7156 #| "how they treat processes which continue to consume CPU time after "
7157 #| "reaching the soft limit.  Portable applications that need to catch this "
7158 #| "signal should perform an orderly termination upon first receipt of "
7159 #| "B<SIGXCPU>.)"
7160 msgid ""
7161 "CPU time limit in seconds.  When the process reaches the soft limit, it is "
7162 "sent a B<SIGXCPU> signal.  The default action for this signal is to "
7163 "terminate the process.  However, the signal can be caught, and the handler "
7164 "can return control to the main program.  If the process continues to consume "
7165 "CPU time, it will be sent B<SIGXCPU> once per second until the hard limit is "
7166 "reached, at which time it is sent B<SIGKILL>.  (This latter point describes "
7167 "Linux behavior.  Implementations vary in how they treat processes which "
7168 "continue to consume CPU time after reaching the soft limit.  Portable "
7169 "applications that need to catch this signal should perform an orderly "
7170 "termination upon first receipt of B<SIGXCPU>.)"
7171 msgstr ""
7172 "CPU 時間の上限 (秒数)。 プロセスがソフト・リミットに達した場合に、 "
7173 "B<SIGXCPU> シグナルを送る。 このシグナルに対するデフォルトの動作は、プロセス"
7174 "の終了である。 ただしシグナルをキャッチして、ハンドラがメインプログラムに 制"
7175 "御を返すこともできる。 プロセスが CPU 時間を使い続けた場合は、 ハードリミット"
7176 "に達するまで 1 秒毎にプロセスに B<SIGXCPU> を送り、 ハードリミットに達すると "
7177 "B<SIGKILL> を送る。 ソフト・リミットを超過したときの動作は、 Linux 2.2 から "
7178 "2.6 のものである。 ソフト・リミットを超えて CPU 時間を使い続けるプロセスの 扱"
7179 "い方についての実装は変化してきている。 このシグナルをキャッチする必要のある "
7180 "移植性を考えたアプリケーションでは、 最初に B<SIGXCPU> を受け取った時点で正し"
7181 "く終了すべきである。"
7182
7183 #. type: TP
7184 #: build/C/man2/getrlimit.2:173
7185 #, no-wrap
7186 msgid "B<RLIMIT_DATA>"
7187 msgstr "B<RLIMIT_DATA>"
7188
7189 #. type: Plain text
7190 #: build/C/man2/getrlimit.2:184
7191 msgid ""
7192 "The maximum size of the process's data segment (initialized data, "
7193 "uninitialized data, and heap).  This limit affects calls to B<brk>(2)  and "
7194 "B<sbrk>(2), which fail with the error B<ENOMEM> upon encountering the soft "
7195 "limit of this resource."
7196 msgstr ""
7197 "プロセスのデータセグメント (初期化されたデータ・初期化されていないデータ・"
7198 "ヒープ) の最大値。 このリミットは B<brk>(2)  と B<sbrk>(2)  の呼び出しに影響"
7199 "する。 これらの関数は、このリソースのソフト・リミットに達すると、 エラー "
7200 "B<ENOMEM> で失敗する。"
7201
7202 #. type: TP
7203 #: build/C/man2/getrlimit.2:184
7204 #, no-wrap
7205 msgid "B<RLIMIT_FSIZE>"
7206 msgstr "B<RLIMIT_FSIZE>"
7207
7208 #. type: Plain text
7209 #: build/C/man2/getrlimit.2:196
7210 msgid ""
7211 "The maximum size of files that the process may create.  Attempts to extend a "
7212 "file beyond this limit result in delivery of a B<SIGXFSZ> signal.  By "
7213 "default, this signal terminates a process, but a process can catch this "
7214 "signal instead, in which case the relevant system call (e.g., B<write>(2), "
7215 "B<truncate>(2))  fails with the error B<EFBIG>."
7216 msgstr ""
7217 "プロセスが作成できるファイルサイズの最大値。 このサイズを超えてファイルを拡張"
7218 "すると、 B<SIGXFSZ> シグナルを送る。 デフォルトでは、このシグナルはプロセスを"
7219 "終了する。 プロセスをキャッチすることもできるが、 関連するシステムコール "
7220 "(B<write>(2), B<truncate>(2)  など) はエラー B<EFBIG> で失敗する。"
7221
7222 #. type: TP
7223 #: build/C/man2/getrlimit.2:196
7224 #, no-wrap
7225 msgid "B<RLIMIT_LOCKS> (Early Linux 2.4 only)"
7226 msgstr "B<RLIMIT_LOCKS> (初期の Linux 2.4 のみ)"
7227
7228 #.  to be precise: Linux 2.4.0-test9; no longer in 2.4.25 / 2.5.65
7229 #. type: Plain text
7230 #: build/C/man2/getrlimit.2:204
7231 msgid ""
7232 "A limit on the combined number of B<flock>(2)  locks and B<fcntl>(2)  leases "
7233 "that this process may establish."
7234 msgstr ""
7235 "このプロセスが実行できる B<flock>(2)  ロック数と B<fcntl>(2)  リース数の合計"
7236 "値を制限する。"
7237
7238 #. type: TP
7239 #: build/C/man2/getrlimit.2:204
7240 #, no-wrap
7241 msgid "B<RLIMIT_MEMLOCK>"
7242 msgstr "B<RLIMIT_MEMLOCK>"
7243
7244 #. type: Plain text
7245 #: build/C/man2/getrlimit.2:242
7246 msgid ""
7247 "The maximum number of bytes of memory that may be locked into RAM.  In "
7248 "effect this limit is rounded down to the nearest multiple of the system page "
7249 "size.  This limit affects B<mlock>(2)  and B<mlockall>(2)  and the B<mmap>"
7250 "(2)  B<MAP_LOCKED> operation.  Since Linux 2.6.9 it also affects the "
7251 "B<shmctl>(2)  B<SHM_LOCK> operation, where it sets a maximum on the total "
7252 "bytes in shared memory segments (see B<shmget>(2))  that may be locked by "
7253 "the real user ID of the calling process.  The B<shmctl>(2)  B<SHM_LOCK> "
7254 "locks are accounted for separately from the per-process memory locks "
7255 "established by B<mlock>(2), B<mlockall>(2), and B<mmap>(2)  B<MAP_LOCKED>; a "
7256 "process can lock bytes up to this limit in each of these two categories.  In "
7257 "Linux kernels before 2.6.9, this limit controlled the amount of memory that "
7258 "could be locked by a privileged process.  Since Linux 2.6.9, no limits are "
7259 "placed on the amount of memory that a privileged process may lock, and this "
7260 "limit instead governs the amount of memory that an unprivileged process may "
7261 "lock."
7262 msgstr ""
7263 "RAM 内にロックできるメモリの最大バイト数。 実際には、この制限はシステムページ"
7264 "サイズの最も近い倍数に 切り捨てて丸められる。 この制限は B<mlock>(2), "
7265 "B<mlockall>(2), B<mmap>(2)  の B<MAP_LOCKED> 操作に影響する。 Linux 2.6.9 以"
7266 "降では B<shmctl>(2)  B<SHM_LOCK> 操作にも影響する。 この操作は呼び出し元プロ"
7267 "セスの実 (real) ユーザー ID にロックされる 共有メモリセグメント (B<shmget>"
7268 "(2)  を参照) の合計バイト数の最大値を設定する。 B<shmctl>(2)  B<SHM_LOCK> に"
7269 "よるロックは、 B<mlock>(2), B<mlockall>(2), B<mmap>(2)  の B<MAP_LOCKED> に"
7270 "よって確立されるプロセス毎のメモリロックとは分けて数える。 1 つのプロセスはこ"
7271 "の制限までのバイトをロックできる。 この制限には 2 つの種類がある。 2.6.9 より"
7272 "前の Linux カーネル では、 この制限は特権プロセスによってロックされるメモリの"
7273 "合計を制御していた。 Linux 2.6.9 以降では、特権プロセスがロックするメモリの合"
7274 "計に制限はなく、 代わりにこの制限は非特権プロセスがロックするメモリの合計に "
7275 "適用されるようになった。"
7276
7277 #. type: TP
7278 #: build/C/man2/getrlimit.2:242
7279 #, no-wrap
7280 msgid "B<RLIMIT_MSGQUEUE> (Since Linux 2.6.8)"
7281 msgstr "B<RLIMIT_MSGQUEUE> (Linux 2.6.8 以降)"
7282
7283 #. type: Plain text
7284 #: build/C/man2/getrlimit.2:250
7285 msgid ""
7286 "Specifies the limit on the number of bytes that can be allocated for POSIX "
7287 "message queues for the real user ID of the calling process.  This limit is "
7288 "enforced for B<mq_open>(3).  Each message queue that the user creates counts "
7289 "(until it is removed)  against this limit according to the formula:"
7290 msgstr ""
7291 "呼び出し元プロセスの実ユーザー ID に対して、 POSIX メッセージキューのために確"
7292 "保できるバイト数の制限を指定する。 この制限は B<mq_open>(3)  に対して適用され"
7293 "る。 ユーザが作成した各々のメッセージキューのバイト数は 以下の式により計算さ"
7294 "れ、(そのキューが削除されるまでの間)  この制限の計算対象に含められる。"
7295
7296 #. type: Plain text
7297 #: build/C/man2/getrlimit.2:254
7298 #, no-wrap
7299 msgid ""
7300 "    bytes = attr.mq_maxmsg * sizeof(struct msg_msg *) +\n"
7301 "            attr.mq_maxmsg * attr.mq_msgsize\n"
7302 msgstr ""
7303 "    bytes = attr.mq_maxmsg * sizeof(struct msg_msg *) +\n"
7304 "            attr.mq_maxmsg * attr.mq_msgsize\n"
7305
7306 #. type: Plain text
7307 #: build/C/man2/getrlimit.2:262
7308 msgid ""
7309 "where I<attr> is the I<mq_attr> structure specified as the fourth argument "
7310 "to B<mq_open>(3)."
7311 msgstr ""
7312 "ここで I<attr> は I<mq_attr> 構造体であり、 B<mq_open>(3)  の第 4 引き数とし"
7313 "て指定される。"
7314
7315 #. type: Plain text
7316 #: build/C/man2/getrlimit.2:268
7317 msgid ""
7318 "The first addend in the formula, which includes I<sizeof(struct msg_msg *)> "
7319 "(4 bytes on Linux/i386), ensures that the user cannot create an unlimited "
7320 "number of zero-length messages (such messages nevertheless each consume some "
7321 "system memory for bookkeeping overhead)."
7322 msgstr ""
7323 "I<sizeof(struct msg_msg *)> (Linux/i386 では 4 バイト) を含む最初の加数は、 "
7324 "ユーザーが長さ 0 のメッセージを無制限に作れないこと保証している (このような"
7325 "メッセージであっても、 記録のためのオーバーヘッドでシステムメモリを消費す"
7326 "る)。"
7327
7328 #. type: TP
7329 #: build/C/man2/getrlimit.2:268
7330 #, no-wrap
7331 msgid "B<RLIMIT_NICE> (since Linux 2.6.12, but see BUGS below)"
7332 msgstr "B<RLIMIT_NICE> (Linux 2.6.12 以降, 下記の「バグ」の節も参照)"
7333
7334 #. type: Plain text
7335 #: build/C/man2/getrlimit.2:281
7336 msgid ""
7337 "Specifies a ceiling to which the process's nice value can be raised using "
7338 "B<setpriority>(2)  or B<nice>(2).  The actual ceiling for the nice value is "
7339 "calculated as I<20\\ -\\ rlim_cur>.  (This strangeness occurs because "
7340 "negative numbers cannot be specified as resource limit values, since they "
7341 "typically have special meanings.  For example, B<RLIM_INFINITY> typically is "
7342 "the same as -1.)"
7343 msgstr ""
7344 "B<setpriority>(2)  や B<nice>(2)  を使って引き上げられるプロセスの nice 値の"
7345 "上限を指定する。 nice 値の実際の上限は I<20\\ -\\ rlim_cur> で計算される (こ"
7346 "のような変な状況は、リソース制限値として負の数を指定できないため 発生する。通"
7347 "常、負の値は特別な意味を持っているからである。 例えば、通常は "
7348 "B<RLIM_INFINITY> の値は -1 である)。"
7349
7350 #. type: TP
7351 #: build/C/man2/getrlimit.2:281
7352 #, no-wrap
7353 msgid "B<RLIMIT_NOFILE>"
7354 msgstr "B<RLIMIT_NOFILE>"
7355
7356 #. type: Plain text
7357 #: build/C/man2/getrlimit.2:295
7358 msgid ""
7359 "Specifies a value one greater than the maximum file descriptor number that "
7360 "can be opened by this process.  Attempts (B<open>(2), B<pipe>(2), B<dup>(2), "
7361 "etc.)  to exceed this limit yield the error B<EMFILE>.  (Historically, this "
7362 "limit was named B<RLIMIT_OFILE> on BSD.)"
7363 msgstr ""
7364 "このプロセスがオープンできるファイルディスクリプタ数の最大値より 1 大きい値を"
7365 "指定する。 (B<open>(2), B<pipe>(2), B<dup>(2)  などにより) この上限を超えよう"
7366 "とした場合、エラー B<EMFILE> が発生する (歴史的に、BSD ではこの上限は "
7367 "B<RLIMIT_OFILE> という名前となっている)。"
7368
7369 #. type: TP
7370 #: build/C/man2/getrlimit.2:295
7371 #, no-wrap
7372 msgid "B<RLIMIT_NPROC>"
7373 msgstr "B<RLIMIT_NPROC>"
7374
7375 #. type: Plain text
7376 #: build/C/man2/getrlimit.2:303
7377 msgid ""
7378 "The maximum number of processes (or, more precisely on Linux, threads)  that "
7379 "can be created for the real user ID of the calling process.  Upon "
7380 "encountering this limit, B<fork>(2)  fails with the error B<EAGAIN>."
7381 msgstr ""
7382 "呼び出したプロセスの実ユーザー ID で作成できる最大プロセス数 (より正確には "
7383 "Linux ではスレッド数)。 この上限に達すると、 B<fork>(2)  はエラー B<EAGAIN> "
7384 "で失敗する。"
7385
7386 #. type: TP
7387 #: build/C/man2/getrlimit.2:303
7388 #, no-wrap
7389 msgid "B<RLIMIT_RSS>"
7390 msgstr "B<RLIMIT_RSS>"
7391
7392 #.  As at kernel 2.6.12, this limit still does nothing in 2.6 though
7393 #.  talk of making it do something has surfaced from time to time in LKML
7394 #.        -- MTK, Jul 05
7395 #. type: Plain text
7396 #: build/C/man2/getrlimit.2:315
7397 msgid ""
7398 "Specifies the limit (in pages) of the process's resident set (the number of "
7399 "virtual pages resident in RAM).  This limit only has effect in Linux 2.4.x, "
7400 "x E<lt> 30, and there only affects calls to B<madvise>(2)  specifying "
7401 "B<MADV_WILLNEED>."
7402 msgstr ""
7403 "プロセスの resident set (RAM 上に存在する仮想ページの数) の 上限を (ページ数"
7404 "で) 指定する。 この制限は 2.4.30 より前でしか影響がなく、 B<madvise>(2)  に "
7405 "B<MADV_WILLNEED> を指定した関数コールにしか影響しない。"
7406
7407 #. type: TP
7408 #: build/C/man2/getrlimit.2:315
7409 #, no-wrap
7410 msgid "B<RLIMIT_RTPRIO> (Since Linux 2.6.12, but see BUGS)"
7411 msgstr "B<RLIMIT_RTPRIO> (Linux 2.6.12 以降, バグの節も参照)"
7412
7413 #. type: Plain text
7414 #: build/C/man2/getrlimit.2:322
7415 msgid ""
7416 "Specifies a ceiling on the real-time priority that may be set for this "
7417 "process using B<sched_setscheduler>(2)  and B<sched_setparam>(2)."
7418 msgstr ""
7419 "B<sched_setscheduler>(2)  や B<sched_setparam>(2)  を使って設定できる、そのプ"
7420 "ロセスのリアルタイム優先度の上限を指定する。"
7421
7422 #. type: TP
7423 #: build/C/man2/getrlimit.2:322
7424 #, no-wrap
7425 msgid "B<RLIMIT_RTTIME> (Since Linux 2.6.25)"
7426 msgstr "B<RLIMIT_RTTIME> (Linux 2.6.25 以降)"
7427
7428 #. type: Plain text
7429 #: build/C/man2/getrlimit.2:334
7430 msgid ""
7431 "Specifies a limit (in microseconds)  on the amount of CPU time that a "
7432 "process scheduled under a real-time scheduling policy may consume without "
7433 "making a blocking system call.  For the purpose of this limit, each time a "
7434 "process makes a blocking system call, the count of its consumed CPU time is "
7435 "reset to zero.  The CPU time count is not reset if the process continues "
7436 "trying to use the CPU but is preempted, its time slice expires, or it calls "
7437 "B<sched_yield>(2)."
7438 msgstr ""
7439 "リアルタイム・スケジューリング方針でスケジューリングされるプロセスが ブロッキ"
7440 "ング型のシステムコールを呼び出さずに消費することのできる CPU 時間の合計につい"
7441 "ての上限を (マイクロ秒単位で) 指定する。 この上限の目的のため、プロセスがブ"
7442 "ロッキング型のシステムコールを 呼び出す度に、消費された CPU 時間のカウントは "
7443 "0 にリセットされる。 プロセスが CPU を使い続けようとしたが他のプロセスに置き"
7444 "換えられた (preempted) 場合や、そのプロセスのタイムスライスが満了した場合、 "
7445 "そのプロセスが B<sched_yield>(2)  を呼び出した場合は、CPU 時間のカウントはリ"
7446 "セットされない。"
7447
7448 #. type: Plain text
7449 #: build/C/man2/getrlimit.2:345
7450 msgid ""
7451 "Upon reaching the soft limit, the process is sent a B<SIGXCPU> signal.  If "
7452 "the process catches or ignores this signal and continues consuming CPU time, "
7453 "then B<SIGXCPU> will be generated once each second until the hard limit is "
7454 "reached, at which point the process is sent a B<SIGKILL> signal."
7455 msgstr ""
7456 "ソフト・リミットに達すると、そのプロセスに B<SIGXCPU> シグナルが送られる。そ"
7457 "のプロセスがこのシグナルを捕捉するか 無視して、CPU 時間を消費し続けた場合に"
7458 "は、 ハード・リミットに達するまで 1 秒に 1 回 B<SIGXCPU> が生成され続けること"
7459 "になる。 ハード・リミットに達した時点で、そのプロセスには B<SIGKILL> シグナル"
7460 "が送られる。"
7461
7462 #. type: Plain text
7463 #: build/C/man2/getrlimit.2:348
7464 msgid ""
7465 "The intended use of this limit is to stop a runaway real-time process from "
7466 "locking up the system."
7467 msgstr ""
7468 "この上限を意図的に使用するのは、暴走したリアルタイム・プロセスを 停止して、シ"
7469 "ステムが動かなくなるのを避ける場合である。"
7470
7471 #. type: TP
7472 #: build/C/man2/getrlimit.2:348
7473 #, no-wrap
7474 msgid "B<RLIMIT_SIGPENDING> (Since Linux 2.6.8)"
7475 msgstr "B<RLIMIT_SIGPENDING> (Linux 2.6.8 以降)"
7476
7477 #.  This replaces the /proc/sys/kernel/rtsig-max system-wide limit
7478 #.  that was present in kernels <= 2.6.7.  MTK Dec 04
7479 #. type: Plain text
7480 #: build/C/man2/getrlimit.2:362
7481 #, fuzzy
7482 #| msgid ""
7483 #| "Specifies the limit on the number of signals that may be queued for the "
7484 #| "real user ID of the calling process.  Both standard and real-time signals "
7485 #| "are counted for the purpose of checking this limit.  However, the limit "
7486 #| "is only enforced for B<sigqueue>(2); it is always possible to use B<kill>"
7487 #| "(2)  to queue one instance of any of the signals that are not already "
7488 #| "queued to the process."
7489 msgid ""
7490 "Specifies the limit on the number of signals that may be queued for the real "
7491 "user ID of the calling process.  Both standard and real-time signals are "
7492 "counted for the purpose of checking this limit.  However, the limit is only "
7493 "enforced for B<sigqueue>(3); it is always possible to use B<kill>(2)  to "
7494 "queue one instance of any of the signals that are not already queued to the "
7495 "process."
7496 msgstr ""
7497 "呼び出し元プロセスの実ユーザー ID に対して キューに入れられるシグナルの数の制"
7498 "限を指定する。 この制限をチェックするため、 標準シグナルとリアルタイム・シグ"
7499 "ナルの両方がカウントされる。 しかし、この制限は B<sigqueue>(2)  に対してしか"
7500 "強制されず、 B<kill>(2)  使うことで、そのプロセスに対してまだキューに入れられ"
7501 "ていない シグナルのインスタンスをキューに入れることができる。"
7502
7503 #. type: TP
7504 #: build/C/man2/getrlimit.2:362
7505 #, no-wrap
7506 msgid "B<RLIMIT_STACK>"
7507 msgstr "B<RLIMIT_STACK>"
7508
7509 #. type: Plain text
7510 #: build/C/man2/getrlimit.2:370
7511 msgid ""
7512 "The maximum size of the process stack, in bytes.  Upon reaching this limit, "
7513 "a B<SIGSEGV> signal is generated.  To handle this signal, a process must "
7514 "employ an alternate signal stack (B<sigaltstack>(2))."
7515 msgstr ""
7516 "プロセス・スタックの最大サイズをバイト単位で指定する。 この上限に達すると、 "
7517 "B<SIGSEGV> シグナルが生成される。 このシグナルを扱うためには、 プロセスは代り"
7518 "のシグナルスタック (B<sigaltstack>(2))  を使用しなければならない。"
7519
7520 #. type: Plain text
7521 #: build/C/man2/getrlimit.2:375
7522 msgid ""
7523 "Since Linux 2.6.23, this limit also determines the amount of space used for "
7524 "the process's command-line arguments and environment variables; for details, "
7525 "see B<execve>(2)."
7526 msgstr ""
7527 "Linux 2.6.23 以降では、この制限はプロセスのコマンドライン引き数と環境変数 に"
7528 "使用される空間の合計サイズの上限の決定にも使用される。詳細については "
7529 "B<execve>(2)  を参照。"
7530
7531 #. type: SS
7532 #: build/C/man2/getrlimit.2:375
7533 #, no-wrap
7534 msgid "prlimit()"
7535 msgstr ""
7536
7537 #.  commit c022a0acad534fd5f5d5f17280f6d4d135e74e81
7538 #.  Author: Jiri Slaby <jslaby@suse.cz>
7539 #.  Date:   Tue May 4 18:03:50 2010 +0200
7540 #. type: Plain text
7541 #: build/C/man2/getrlimit.2:386
7542 msgid ""
7543 "The Linux-specific B<prlimit>()  system call combines and extends the "
7544 "functionality of B<setrlimit>()  and B<getrlimit>().  It can be used to both "
7545 "set and get the resource limits of an arbitrary process."
7546 msgstr ""
7547
7548 #. type: Plain text
7549 #: build/C/man2/getrlimit.2:393
7550 msgid ""
7551 "The I<resource> argument has the same meaning as for B<setrlimit>()  and "
7552 "B<getrlimit>()."
7553 msgstr ""
7554
7555 #. type: Plain text
7556 #: build/C/man2/getrlimit.2:411
7557 msgid ""
7558 "If the I<new_limit> argument is a not NULL, then the I<rlimit> structure to "
7559 "which it points is used to set new values for the soft and hard limits for "
7560 "I<resource>.  If the I<old_limit> argument is a not NULL, then a successful "
7561 "call to B<prlimit>()  places the previous soft and hard limits for "
7562 "I<resource> in the I<rlimit> structure pointed to by I<old_limit>."
7563 msgstr ""
7564
7565 #.  FIXME this permission check is strange
7566 #.  Asked about this on LKML, 7 Nov 2010
7567 #.      "Inconsistent credential checking in prlimit() syscall"
7568 #. type: Plain text
7569 #: build/C/man2/getrlimit.2:430
7570 msgid ""
7571 "The I<pid> argument specifies the ID of the process on which the call is to "
7572 "operate.  If I<pid> is 0, then the call applies to the calling process.  To "
7573 "set or get the resources of a process other than itself, the caller must "
7574 "have the B<CAP_SYS_RESOURCE> capability, or the real, effective, and saved "
7575 "set user IDs of the target process must match the real user ID of the caller "
7576 "I<and> the real, effective, and saved set group IDs of the target process "
7577 "must match the real group ID of the caller."
7578 msgstr ""
7579
7580 #. type: Plain text
7581 #: build/C/man2/getrlimit.2:435
7582 #, fuzzy
7583 #| msgid ""
7584 #| "On success, zero is returned.  On error, -1 is returned, and I<errno> is "
7585 #| "set appropriately."
7586 msgid ""
7587 "On success, these system calls return 0.  On error, -1 is returned, and "
7588 "I<errno> is set appropriately."
7589 msgstr ""
7590 "成功した場合は 0 が返される。エラーの場合は -1 が返され、 I<errno> が適切に設"
7591 "定される。"
7592
7593 #. type: Plain text
7594 #: build/C/man2/getrlimit.2:440
7595 #, fuzzy
7596 #| msgid "I<usage> points outside the accessible address space."
7597 msgid ""
7598 "A pointer argument points to a location outside the accessible address space."
7599 msgstr "I<usage> がアクセス可能なアドレス空間の外を指している。"
7600
7601 #. type: Plain text
7602 #: build/C/man2/getrlimit.2:452
7603 #, fuzzy
7604 #| msgid ""
7605 #| "I<resource> is not valid; or, for B<setrlimit>(): I<rlim-E<gt>rlim_cur> "
7606 #| "was greater than I<rlim-E<gt>rlim_max>."
7607 msgid ""
7608 "The value specified in I<resource> is not valid; or, for B<setrlimit>()  or "
7609 "B<prlimit>(): I<rlim-E<gt>rlim_cur> was greater than I<rlim-E<gt>rlim_max>."
7610 msgstr ""
7611 "I<resource> が有効でない。 または、 B<setrlimit>()  で、 I<rlim-"
7612 "E<gt>rlim_cur> が I<rlim-E<gt>rlim_max> よりも大きかった。"
7613
7614 #. type: Plain text
7615 #: build/C/man2/getrlimit.2:464
7616 #, fuzzy
7617 #| msgid ""
7618 #| "An unprivileged process tried to use B<setrlimit>()  to increase a soft "
7619 #| "or hard limit above the current hard limit; the B<CAP_SYS_RESOURCE> "
7620 #| "capability is required to do this.  Or, the process tried to use "
7621 #| "B<setrlimit>()  to increase the soft or hard B<RLIMIT_NOFILE> limit above "
7622 #| "the current kernel maximum (B<NR_OPEN>)."
7623 msgid ""
7624 "An unprivileged process tried to raise the hard limit; the "
7625 "B<CAP_SYS_RESOURCE> capability is required to do this.  Or, the caller tried "
7626 "to increase the hard B<RLIMIT_NOFILE> limit above the current kernel maximum "
7627 "(B<NR_OPEN>).  Or, the calling process did not have permission to set limits "
7628 "for the process specified by I<pid>."
7629 msgstr ""
7630 "特権のないプロセスが B<setrlimit>()  を使用して ソフト・リミットまたはハー"
7631 "ド・リミットを 現在のハード・リミットより大きくしようと試みた。 これを行うた"
7632 "めには B<CAP_SYS_RESOURCE> ケーパビリティが必要である。 または特権のないプロ"
7633 "セスが B<setrlimit>()  を使用して ソフトまたはハード B<RLIMIT_NOFILE> リミッ"
7634 "トを現在のカーネルの最大値 (B<NR_OPEN>)  以上に増加させようとした。"
7635
7636 #. type: Plain text
7637 #: build/C/man2/getrlimit.2:468
7638 msgid "Could not find a process with the ID specified in I<pid>."
7639 msgstr ""
7640
7641 #. type: Plain text
7642 #: build/C/man2/getrlimit.2:473
7643 msgid ""
7644 "The B<prlimit>()  system call is available since Linux 2.6.36.  Library "
7645 "support is available since glibc 2.13."
7646 msgstr ""
7647
7648 #. type: Plain text
7649 #: build/C/man2/getrlimit.2:477
7650 msgid "B<getrlimit>(), B<setrlimit>(): SVr4, 4.3BSD, POSIX.1-2001."
7651 msgstr ""
7652
7653 #. type: Plain text
7654 #: build/C/man2/getrlimit.2:480
7655 msgid "B<prlimit>(): Linux-specific."
7656 msgstr ""
7657
7658 #. type: Plain text
7659 #: build/C/man2/getrlimit.2:496
7660 #, fuzzy
7661 #| msgid ""
7662 #| "SVr4, 4.3BSD, POSIX.1-2001.  B<RLIMIT_MEMLOCK> and B<RLIMIT_NPROC> derive "
7663 #| "from BSD and are not specified in POSIX.1-2001; they are present on the "
7664 #| "BSDs and Linux, but on few other implementations.  B<RLIMIT_RSS> derives "
7665 #| "from BSD and is not specified in POSIX.1-2001; it is nevertheless present "
7666 #| "on most implementations.  B<RLIMIT_MSGQUEUE>, B<RLIMIT_NICE>, "
7667 #| "B<RLIMIT_RTPRIO>, B<RLIMIT_RTTIME>, and B<RLIMIT_SIGPENDING> are Linux-"
7668 #| "specific."
7669 msgid ""
7670 "B<RLIMIT_MEMLOCK> and B<RLIMIT_NPROC> derive from BSD and are not specified "
7671 "in POSIX.1-2001; they are present on the BSDs and Linux, but on few other "
7672 "implementations.  B<RLIMIT_RSS> derives from BSD and is not specified in "
7673 "POSIX.1-2001; it is nevertheless present on most implementations.  "
7674 "B<RLIMIT_MSGQUEUE>, B<RLIMIT_NICE>, B<RLIMIT_RTPRIO>, B<RLIMIT_RTTIME>, and "
7675 "B<RLIMIT_SIGPENDING> are Linux-specific."
7676 msgstr ""
7677 "SVr4, 4.3BSD, POSIX.1-2001.  B<RLIMIT_MEMLOCK> と B<RLIMIT_NPROC> は BSD から"
7678 "派生し、POSIX.1-2001 には指定されていない。 これらは BSD 系と Linux に存在す"
7679 "るが、他の実装は少ない。 B<RLIMIT_RSS> は BSD から派生し、POSIX.1-2001 には指"
7680 "定されていない。 それにも関わらず多くの実装で存在する。 B<RLIMIT_MSGQUEUE>, "
7681 "B<RLIMIT_NICE>, B<RLIMIT_RTPRIO>, B<RLIMIT_RTTIME>, B<RLIMIT_SIGPENDING> は "
7682 "Linux 固有のものである。"
7683
7684 #. type: Plain text
7685 #: build/C/man2/getrlimit.2:502
7686 msgid ""
7687 "A child process created via B<fork>(2)  inherits its parent's resource "
7688 "limits.  Resource limits are preserved across B<execve>(2)."
7689 msgstr ""
7690 "B<fork>(2)  で作成された作成された子プロセスは、 親プロセスのリソース制限を継"
7691 "承する。 B<execve>(2)  の前後でリソース制限は保存される。"
7692
7693 #. type: Plain text
7694 #: build/C/man2/getrlimit.2:511
7695 msgid ""
7696 "One can set the resource limits of the shell using the built-in I<ulimit> "
7697 "command (I<limit> in B<csh>(1)).  The shell's resource limits are inherited "
7698 "by the processes that it creates to execute commands."
7699 msgstr ""
7700 "シェルのリソース制限は、シェルの組み込みコマンドである I<ulimit> (B<csh>(1)  "
7701 "では I<limit )> を使って設定することができる。 このシェルのリソース制限は、コ"
7702 "マンドを実行してシェルが生成するプロセス に引き継がれる。"
7703
7704 #. type: Plain text
7705 #: build/C/man2/getrlimit.2:520
7706 msgid ""
7707 "Ancient systems provided a B<vlimit>()  function with a similar purpose to "
7708 "B<setrlimit>().  For backward compatibility, glibc also provides B<vlimit>"
7709 "().  All new applications should be written using B<setrlimit>()."
7710 msgstr ""
7711 "古いシステムでは、 B<setrlimit>()  と同様の目的を持つ関数 B<vlimit>()  が提供"
7712 "されていた。 後方互換性のため、glibc でも B<vlimit>()  を提供している。 全て"
7713 "の新しいアプリケーションでは、 B<setrlimit>()  を使用すべきである。"
7714
7715 #. type: Plain text
7716 #: build/C/man2/getrlimit.2:523
7717 msgid "The program below demonstrates the use of B<prlimit>()."
7718 msgstr ""
7719
7720 #. type: Plain text
7721 #: build/C/man2/getrlimit.2:532
7722 #, fuzzy, no-wrap
7723 #| msgid ""
7724 #| "B<#include E<lt>sys/types.hE<gt>>\n"
7725 #| "B<#include E<lt>sys/ipc.hE<gt>>\n"
7726 #| "B<#include E<lt>sys/msg.hE<gt>>\n"
7727 #| "B<#include E<lt>sys/sem.hE<gt>>\n"
7728 #| "B<#include E<lt>sys/shm.hE<gt>>\n"
7729 msgid ""
7730 "#define _GNU_SOURCE\n"
7731 "#define _FILE_OFFSET_BITS 64\n"
7732 "#include E<lt>stdio.hE<gt>\n"
7733 "#include E<lt>time.hE<gt>\n"
7734 "#include E<lt>stdlib.hE<gt>\n"
7735 "#include E<lt>unistd.hE<gt>\n"
7736 "#include E<lt>sys/resource.hE<gt>\n"
7737 msgstr ""
7738 "B<#include E<lt>sys/types.hE<gt>>\n"
7739 "B<#include E<lt>sys/ipc.hE<gt>>\n"
7740 "B<#include E<lt>sys/msg.hE<gt>>\n"
7741 "B<#include E<lt>sys/sem.hE<gt>>\n"
7742 "B<#include E<lt>sys/shm.hE<gt>>\n"
7743
7744 #. type: Plain text
7745 #: build/C/man2/getrlimit.2:535
7746 #, no-wrap
7747 msgid ""
7748 "#define errExit(msg) \tdo { perror(msg); exit(EXIT_FAILURE); \\e\n"
7749 "                        } while (0)\n"
7750 msgstr ""
7751
7752 #. type: Plain text
7753 #: build/C/man2/getrlimit.2:542
7754 #, no-wrap
7755 msgid ""
7756 "int\n"
7757 "main(int argc, char *argv[])\n"
7758 "{\n"
7759 "    struct rlimit old, new;\n"
7760 "    struct rlimit *newp;\n"
7761 "    pid_t pid;\n"
7762 msgstr ""
7763
7764 #. type: Plain text
7765 #: build/C/man2/getrlimit.2:548
7766 #, no-wrap
7767 msgid ""
7768 "    if (!(argc == 2 || argc == 4)) {\n"
7769 "        fprintf(stderr, \"Usage: %s E<lt>pidE<gt> [E<lt>new-soft-limitE<gt> \"\n"
7770 "                \"E<lt>new-hard-limitE<gt>]\\en\", argv[0]);\n"
7771 "        exit(EXIT_FAILURE);\n"
7772 "    }\n"
7773 msgstr ""
7774
7775 #. type: Plain text
7776 #: build/C/man2/getrlimit.2:550
7777 #, no-wrap
7778 msgid "    pid = atoi(argv[1]);        /* PID of target process */\n"
7779 msgstr ""
7780
7781 #. type: Plain text
7782 #: build/C/man2/getrlimit.2:557
7783 #, no-wrap
7784 msgid ""
7785 "    newp = NULL;\n"
7786 "    if (argc == 4) {\n"
7787 "        new.rlim_cur = atoi(argv[2]);\n"
7788 "        new.rlim_max = atoi(argv[3]);\n"
7789 "        newp = &new;\n"
7790 "    }\n"
7791 msgstr ""
7792
7793 #. type: Plain text
7794 #: build/C/man2/getrlimit.2:560
7795 #, no-wrap
7796 msgid ""
7797 "    /* Set CPU time limit of target process; retrieve and display\n"
7798 "       previous limit */\n"
7799 msgstr ""
7800
7801 #. type: Plain text
7802 #: build/C/man2/getrlimit.2:565
7803 #, no-wrap
7804 msgid ""
7805 "    if (prlimit(pid, RLIMIT_CPU, newp, &old) == -1)\n"
7806 "        errExit(\"prlimit-1\");\n"
7807 "    printf(\"Previous limits: soft=%lld; hard=%lld\\en\",\n"
7808 "            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
7809 msgstr ""
7810
7811 #. type: Plain text
7812 #: build/C/man2/getrlimit.2:567
7813 #, no-wrap
7814 msgid "    /* Retrieve and display new CPU time limit */\n"
7815 msgstr ""
7816
7817 #. type: Plain text
7818 #: build/C/man2/getrlimit.2:572
7819 #, no-wrap
7820 msgid ""
7821 "    if (prlimit(pid, RLIMIT_CPU, NULL, &old) == -1)\n"
7822 "        errExit(\"prlimit-2\");\n"
7823 "    printf(\"New limits: soft=%lld; hard=%lld\\en\",\n"
7824 "            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
7825 msgstr ""
7826
7827 #. type: Plain text
7828 #: build/C/man2/getrlimit.2:575
7829 #, no-wrap
7830 msgid ""
7831 "    exit(EXIT_FAILURE);\n"
7832 "}\n"
7833 msgstr ""
7834
7835 #.  FIXME prlimit() does not suffer
7836 #.  https://bugzilla.kernel.org/show_bug.cgi?id=5042
7837 #.  http://sources.redhat.com/bugzilla/show_bug.cgi?id=12201
7838 #. type: Plain text
7839 #: build/C/man2/getrlimit.2:588
7840 msgid ""
7841 "In older Linux kernels, the B<SIGXCPU> and B<SIGKILL> signals delivered when "
7842 "a process encountered the soft and hard B<RLIMIT_CPU> limits were delivered "
7843 "one (CPU) second later than they should have been.  This was fixed in kernel "
7844 "2.6.8."
7845 msgstr ""
7846 "以前の Linux カーネルでは、プロセスがソフトまたはハード B<RLIMIT_CPU> リミッ"
7847 "トに達した場合に送られる B<SIGXCPU> と B<SIGKILL> シグナルが、本来送られるべ"
7848 "き時点の 1 (CPU) 秒後に送られてしまう。 これはカーネル 2.6.8 で修正された。"
7849
7850 #.  see http://marc.theaimsgroup.com/?l=linux-kernel&m=114008066530167&w=2
7851 #. type: Plain text
7852 #: build/C/man2/getrlimit.2:596
7853 msgid ""
7854 "In 2.6.x kernels before 2.6.17, a B<RLIMIT_CPU> limit of 0 is wrongly "
7855 "treated as \"no limit\" (like B<RLIM_INFINITY>).  Since Linux 2.6.17, "
7856 "setting a limit of 0 does have an effect, but is actually treated as a limit "
7857 "of 1 second."
7858 msgstr ""
7859 "2.6.17 より前の 2.6.x カーネルでは、 B<RLIMIT_CPU> リミットが 0 の場合、 "
7860 "(B<RLIM_INFINITY> と同じように) 「制限なし」と間違って解釈されていた。 Linux "
7861 "2.6.17 以降では、リミットを 0 に設定した場合にも 効果を持つようになっている"
7862 "が、実際にはリミットの値は 1 秒となる。"
7863
7864 #. type: Plain text
7865 #: build/C/man2/getrlimit.2:600
7866 msgid ""
7867 "A kernel bug means that B<RLIMIT_RTPRIO> does not work in kernel 2.6.12; the "
7868 "problem is fixed in kernel 2.6.13."
7869 msgstr ""
7870 "カーネル 2.6.12 には、 B<RLIMIT_RTPRIO> が動作しないというバグがある。この問"
7871 "題はカーネル 2.6.13 で修正されている。"
7872
7873 #.  see http://marc.theaimsgroup.com/?l=linux-kernel&m=112256338703880&w=2
7874 #. type: Plain text
7875 #: build/C/man2/getrlimit.2:611
7876 #, fuzzy
7877 #| msgid ""
7878 #| "In kernel 2.6.12, there was an off-by-one mismatch between the priority "
7879 #| "ranges returned by B<getpriority>(2)  and B<RLIMIT_NICE>.  This had the "
7880 #| "effect that actual ceiling for the nice value was calculated as I<19\\ -"
7881 #| "\\ rlim_cur>.  This was fixed in kernel 2.6.13."
7882 msgid ""
7883 "In kernel 2.6.12, there was an off-by-one mismatch between the priority "
7884 "ranges returned by B<getpriority>(2)  and B<RLIMIT_NICE>.  This had the "
7885 "effect that the actual ceiling for the nice value was calculated as I<19\\ -"
7886 "\\ rlim_cur>.  This was fixed in kernel 2.6.13."
7887 msgstr ""
7888 "カーネル 2.6.12 では、 B<getpriority>(2)  と B<RLIMIT_NICE> が返す優先度の範"
7889 "囲が一つずれていた。このため、nice 値の実際の上限が I<19\\ -\\ rlim_cur> に"
7890 "なってしまうという影響があった。これはカーネル 2.6.13 で修正された。"
7891
7892 #. type: Plain text
7893 #: build/C/man2/getrlimit.2:620
7894 msgid ""
7895 "Kernels before 2.4.22 did not diagnose the error B<EINVAL> for B<setrlimit>"
7896 "()  when I<rlim-E<gt>rlim_cur> was greater than I<rlim-E<gt>rlim_max>."
7897 msgstr ""
7898 "2.4.22 より前のカーネルでは、 I<rlim-E<gt>rlim_cur> が I<rlim-E<gt>rlim_max> "
7899 "より大きかった場合、 B<setrlimit>()  での B<EINVAL> エラーを検出できない。"
7900
7901 #. type: Plain text
7902 #: build/C/man2/getrlimit.2:637
7903 #, fuzzy
7904 #| msgid ""
7905 #| "B<dup>(2), B<fcntl>(2), B<fork>(2), B<getrusage>(2), B<mlock>(2), B<mmap>"
7906 #| "(2), B<open>(2), B<quotactl>(2), B<sbrk>(2), B<shmctl>(2), B<sigqueue>"
7907 #| "(2), B<malloc>(3), B<ulimit>(3), B<core>(5), B<capabilities>(7), B<signal>"
7908 #| "(7)"
7909 msgid ""
7910 "B<dup>(2), B<fcntl>(2), B<fork>(2), B<getrusage>(2), B<mlock>(2), B<mmap>"
7911 "(2), B<open>(2), B<quotactl>(2), B<sbrk>(2), B<shmctl>(2), B<malloc>(3), "
7912 "B<sigqueue>(3), B<ulimit>(3), B<core>(5), B<capabilities>(7), B<signal>(7)"
7913 msgstr ""
7914 "B<dup>(2), B<fcntl>(2), B<fork>(2), B<getrusage>(2), B<mlock>(2), B<mmap>"
7915 "(2), B<open>(2), B<quotactl>(2), B<sbrk>(2), B<shmctl>(2), B<sigqueue>(2), "
7916 "B<malloc>(3), B<ulimit>(3), B<core>(5), B<capabilities>(7), B<signal>(7)"
7917
7918 #. type: TH
7919 #: build/C/man2/getrusage.2:39
7920 #, no-wrap
7921 msgid "GETRUSAGE"
7922 msgstr "GETRUSAGE"
7923
7924 #. type: TH
7925 #: build/C/man2/getrusage.2:39 build/C/man2/getsid.2:25
7926 #: build/C/man2/setpgid.2:46
7927 #, no-wrap
7928 msgid "2010-09-26"
7929 msgstr "2010-09-26"
7930
7931 #. type: Plain text
7932 #: build/C/man2/getrusage.2:42
7933 msgid "getrusage - get resource usage"
7934 msgstr "getrusage - 資源の使用量を取得する"
7935
7936 #. type: Plain text
7937 #: build/C/man2/getrusage.2:48
7938 msgid "B<int getrusage(int >I<who>B<, struct rusage *>I<usage>B<);>"
7939 msgstr "B<int getrusage(int >I<who>B<, struct rusage *>I<usage>B<);>"
7940
7941 #. type: Plain text
7942 #: build/C/man2/getrusage.2:54
7943 msgid ""
7944 "B<getrusage>()  returns resource usage measures for I<who>, which can be one "
7945 "of the following:"
7946 msgstr ""
7947 "B<getrusage>()  は I<who> の資源 (resource) の使用量を返す。 I<who> には以下"
7948 "のいずれか一つを指定できる。"
7949
7950 #. type: TP
7951 #: build/C/man2/getrusage.2:54
7952 #, no-wrap
7953 msgid "B<RUSAGE_SELF>"
7954 msgstr "B<RUSAGE_SELF>"
7955
7956 #. type: Plain text
7957 #: build/C/man2/getrusage.2:58
7958 msgid ""
7959 "Return resource usage statistics for the calling process, which is the sum "
7960 "of resources used by all threads in the process."
7961 msgstr ""
7962 "呼び出したプロセスの資源使用量、 そのプロセス内の全スレッドが使用している資源"
7963 "の合計を返す。"
7964
7965 #. type: TP
7966 #: build/C/man2/getrusage.2:58
7967 #, no-wrap
7968 msgid "B<RUSAGE_CHILDREN>"
7969 msgstr "B<RUSAGE_CHILDREN>"
7970
7971 #. type: Plain text
7972 #: build/C/man2/getrusage.2:65
7973 msgid ""
7974 "Return resource usage statistics for all children of the calling process "
7975 "that have terminated and been waited for.  These statistics will include the "
7976 "resources used by grandchildren, and further removed descendants, if all of "
7977 "the intervening descendants waited on their terminated children."
7978 msgstr ""
7979 "呼び出したプロセスの子プロセスのうち、 終了して待ち状態にある全プロセスが使用"
7980 "している資源使用量の統計を返す。 これらの統計情報には、孫プロセスやその子孫の"
7981 "プロセスのうち、 削除待ちのものが使用している資源も含まれる。"
7982
7983 #. type: TP
7984 #: build/C/man2/getrusage.2:65
7985 #, no-wrap
7986 msgid "B<RUSAGE_THREAD> (since Linux 2.6.26)"
7987 msgstr "B<RUSAGE_THREAD> (Linux 2.6.26 以降)"
7988
7989 #. type: Plain text
7990 #: build/C/man2/getrusage.2:68
7991 msgid "Return resource usage statistics for the calling thread."
7992 msgstr "呼び出したスレッドに関する資源使用量の統計を返す。"
7993
7994 #. type: Plain text
7995 #: build/C/man2/getrusage.2:72
7996 msgid ""
7997 "The resource usages are returned in the structure pointed to by I<usage>, "
7998 "which has the following form:"
7999 msgstr ""
8000 "資源使用量は I<usage> が指す構造体に格納されて返される。 構造体は以下の形式で"
8001 "ある。"
8002
8003 #. type: Plain text
8004 #: build/C/man2/getrusage.2:93
8005 #, fuzzy, no-wrap
8006 #| msgid ""
8007 #| "struct rusage {\n"
8008 #| "    struct timeval ru_utime; /* user time used */\n"
8009 #| "    struct timeval ru_stime; /* system time used */\n"
8010 #| "    long   ru_maxrss;        /* maximum resident set size */\n"
8011 #| "    long   ru_ixrss;         /* integral shared memory size */\n"
8012 #| "    long   ru_idrss;         /* integral unshared data size */\n"
8013 #| "    long   ru_isrss;         /* integral unshared stack size */\n"
8014 #| "    long   ru_minflt;        /* page reclaims */\n"
8015 #| "    long   ru_majflt;        /* page faults */\n"
8016 #| "    long   ru_nswap;         /* swaps */\n"
8017 #| "    long   ru_inblock;       /* block input operations */\n"
8018 #| "    long   ru_oublock;       /* block output operations */\n"
8019 #| "    long   ru_msgsnd;        /* messages sent */\n"
8020 #| "    long   ru_msgrcv;        /* messages received */\n"
8021 #| "    long   ru_nsignals;      /* signals received */\n"
8022 #| "    long   ru_nvcsw;         /* voluntary context switches */\n"
8023 #| "    long   ru_nivcsw;        /* involuntary context switches */\n"
8024 #| "};\n"
8025 msgid ""
8026 "struct rusage {\n"
8027 "    struct timeval ru_utime; /* user CPU time used */\n"
8028 "    struct timeval ru_stime; /* system CPU time used */\n"
8029 "    long   ru_maxrss;        /* maximum resident set size */\n"
8030 "    long   ru_ixrss;         /* integral shared memory size */\n"
8031 "    long   ru_idrss;         /* integral unshared data size */\n"
8032 "    long   ru_isrss;         /* integral unshared stack size */\n"
8033 "    long   ru_minflt;        /* page reclaims (soft page faults) */\n"
8034 "    long   ru_majflt;        /* page faults (hard page faults) */\n"
8035 "    long   ru_nswap;         /* swaps */\n"
8036 "    long   ru_inblock;       /* block input operations */\n"
8037 "    long   ru_oublock;       /* block output operations */\n"
8038 "    long   ru_msgsnd;        /* IPC messages sent */\n"
8039 "    long   ru_msgrcv;        /* IPC messages received */\n"
8040 "    long   ru_nsignals;      /* signals received */\n"
8041 "    long   ru_nvcsw;         /* voluntary context switches */\n"
8042 "    long   ru_nivcsw;        /* involuntary context switches */\n"
8043 "};\n"
8044 msgstr ""
8045 "struct rusage {\n"
8046 "    struct timeval ru_utime; /* 使用されたユーザー時間 */\n"
8047 "    struct timeval ru_stime; /* 使用されたシステム時間 */\n"
8048 "    long   ru_maxrss;        /* RAM 上に存在する仮想ページのサイズ\n"
8049 "                               (resident set size) の最大値 */\n"
8050 "    long   ru_ixrss;         /* 共有メモリの合計サイズ */\n"
8051 "    long   ru_idrss;         /* 非共有データの合計サイズ */\n"
8052 "    long   ru_isrss;         /* 非共有スタックの合計サイズ */\n"
8053 "    long   ru_minflt;        /* 利用されたページ */\n"
8054 "    long   ru_majflt;        /* ページフォールト */\n"
8055 "    long   ru_nswap;         /* スワップ */\n"
8056 "    long   ru_inblock;       /* ブロック入力操作 */\n"
8057 "    long   ru_oublock;       /* ブロック出力操作 */\n"
8058 "    long   ru_msgsnd;        /* 送信されたメッセージ */\n"
8059 "    long   ru_msgrcv;        /* 受信されたメッセージ */\n"
8060 "    long   ru_nsignals;      /* 受信されたシグナル */\n"
8061 "    long   ru_nvcsw;         /* 意図したコンテキスト切り替え */\n"
8062 "    long   ru_nivcsw;        /* 意図しないコンテキスト切り替え */\n"
8063 "};\n"
8064
8065 #. type: Plain text
8066 #: build/C/man2/getrusage.2:101
8067 msgid ""
8068 "Not all fields are completed; unmaintained fields are set to zero by the "
8069 "kernel.  (The unmaintained fields are provided for compatibility with other "
8070 "systems, and because they may one day be supported on Linux.)  The fields "
8071 "are interpreted as follows:"
8072 msgstr ""
8073
8074 #. type: TP
8075 #: build/C/man2/getrusage.2:101
8076 #, fuzzy, no-wrap
8077 #| msgid "I<msg_stime>"
8078 msgid "I<ru_utime>"
8079 msgstr "I<msg_stime>"
8080
8081 #. type: Plain text
8082 #: build/C/man2/getrusage.2:107
8083 msgid ""
8084 "This is the total amount of time spent executing in user mode, expressed in "
8085 "a I<timeval> structure (seconds plus microseconds)."
8086 msgstr ""
8087
8088 #. type: TP
8089 #: build/C/man2/getrusage.2:107
8090 #, fuzzy, no-wrap
8091 #| msgid "I<msg_stime>"
8092 msgid "I<ru_stime>"
8093 msgstr "I<msg_stime>"
8094
8095 #. type: Plain text
8096 #: build/C/man2/getrusage.2:113
8097 msgid ""
8098 "This is the total amount of time spent executing in kernel mode, expressed "
8099 "in a I<timeval> structure (seconds plus microseconds)."
8100 msgstr ""
8101
8102 #. type: TP
8103 #: build/C/man2/getrusage.2:113
8104 #, fuzzy, no-wrap
8105 #| msgid "I<mem_hardwall> (since Linux 2.6.26)"
8106 msgid "I<ru_maxrss> (since Linux 2.6.32)"
8107 msgstr "I<mem_hardwall> (since Linux 2.6.26)"
8108
8109 #. type: Plain text
8110 #: build/C/man2/getrusage.2:119
8111 msgid ""
8112 "This is the maximum resident set size used (in kilobytes). For "
8113 "B<RUSAGE_CHILDREN>, this is the resident set size of the largest child, not "
8114 "the maximum resident set size of the process tree."
8115 msgstr ""
8116
8117 #. type: TP
8118 #: build/C/man2/getrusage.2:119
8119 #, no-wrap
8120 msgid "I<ru_ixrss> (unmaintained)"
8121 msgstr ""
8122
8123 #.  On some systems, this field records the number of signals received.
8124 #. type: Plain text
8125 #: build/C/man2/getrusage.2:125 build/C/man2/getrusage.2:130
8126 #: build/C/man2/getrusage.2:135 build/C/man2/getrusage.2:147
8127 #: build/C/man2/getrusage.2:159 build/C/man2/getrusage.2:165
8128 #: build/C/man2/getrusage.2:169
8129 msgid "This field is currently unused on Linux."
8130 msgstr ""
8131
8132 #. type: TP
8133 #: build/C/man2/getrusage.2:125
8134 #, no-wrap
8135 msgid "I<ru_idrss> (unmaintained)"
8136 msgstr ""
8137
8138 #. type: TP
8139 #: build/C/man2/getrusage.2:130
8140 #, no-wrap
8141 msgid "I<ru_isrss> (unmaintained)"
8142 msgstr ""
8143
8144 #. type: TP
8145 #: build/C/man2/getrusage.2:135
8146 #, no-wrap
8147 msgid "I<ru_minflt>"
8148 msgstr ""
8149
8150 #. type: Plain text
8151 #: build/C/man2/getrusage.2:140
8152 msgid ""
8153 "The number of page faults serviced without any I/O activity; here I/O "
8154 "activity is avoided by ``reclaiming'' a page frame from the list of pages "
8155 "awaiting reallocation."
8156 msgstr ""
8157
8158 #. type: TP
8159 #: build/C/man2/getrusage.2:140
8160 #, no-wrap
8161 msgid "I<ru_majflt>"
8162 msgstr ""
8163
8164 #. type: Plain text
8165 #: build/C/man2/getrusage.2:143
8166 msgid "The number of page faults serviced that required I/O activity."
8167 msgstr ""
8168
8169 #. type: TP
8170 #: build/C/man2/getrusage.2:143
8171 #, no-wrap
8172 msgid "I<ru_nswap> (unmaintained)"
8173 msgstr ""
8174
8175 #. type: TP
8176 #: build/C/man2/getrusage.2:147
8177 #, fuzzy, no-wrap
8178 #| msgid "I<mem_hardwall> (since Linux 2.6.26)"
8179 msgid "I<ru_inblock> (since Linux 2.6.22)"
8180 msgstr "I<mem_hardwall> (since Linux 2.6.26)"
8181
8182 #. type: Plain text
8183 #: build/C/man2/getrusage.2:150
8184 msgid "The number of times the file system had to perform input."
8185 msgstr ""
8186
8187 #. type: TP
8188 #: build/C/man2/getrusage.2:150
8189 #, fuzzy, no-wrap
8190 #| msgid "I<sched_load_balance> (since Linux 2.6.24)"
8191 msgid "I<ru_oublock> (since Linux 2.6.22)"
8192 msgstr "I<sched_load_balance> (since Linux 2.6.24)"
8193
8194 #. type: Plain text
8195 #: build/C/man2/getrusage.2:153
8196 msgid "The number of times the file system had to perform output."
8197 msgstr ""
8198
8199 #. type: TP
8200 #: build/C/man2/getrusage.2:153
8201 #, no-wrap
8202 msgid "I<ru_msgsnd> (unmaintained)"
8203 msgstr ""
8204
8205 #. type: TP
8206 #: build/C/man2/getrusage.2:159
8207 #, no-wrap
8208 msgid "I<ru_msgrcv> (unmaintained)"
8209 msgstr ""
8210
8211 #. type: TP
8212 #: build/C/man2/getrusage.2:165
8213 #, no-wrap
8214 msgid "I<ru_nsignals> (unmaintained)"
8215 msgstr ""
8216
8217 #. type: TP
8218 #: build/C/man2/getrusage.2:169
8219 #, fuzzy, no-wrap
8220 #| msgid "I<mem_hardwall> (since Linux 2.6.26)"
8221 msgid "I<ru_nvcsw> (since Linux 2.6)"
8222 msgstr "I<mem_hardwall> (since Linux 2.6.26)"
8223
8224 #. type: Plain text
8225 #: build/C/man2/getrusage.2:174
8226 msgid ""
8227 "The number of times a context switch resulted due to a process voluntarily "
8228 "giving up the processor before its time slice was completed (usually to "
8229 "await availability of a resource)."
8230 msgstr ""
8231
8232 #. type: TP
8233 #: build/C/man2/getrusage.2:174
8234 #, fuzzy, no-wrap
8235 #| msgid "I<memory_migrate> (since Linux 2.6.16)"
8236 msgid "I<ru_nivcsw> (since Linux 2.6)"
8237 msgstr "I<memory_migrate> (since Linux 2.6.16)"
8238
8239 #. type: Plain text
8240 #: build/C/man2/getrusage.2:179
8241 msgid ""
8242 "The number of times a context switch resulted due to a higher priority "
8243 "process becoming runnable or because the current process exceeded its time "
8244 "slice."
8245 msgstr ""
8246
8247 #. type: Plain text
8248 #: build/C/man2/getrusage.2:190
8249 msgid "I<usage> points outside the accessible address space."
8250 msgstr "I<usage> がアクセス可能なアドレス空間の外を指している。"
8251
8252 #. type: Plain text
8253 #: build/C/man2/getrusage.2:194
8254 msgid "I<who> is invalid."
8255 msgstr "I<who> が無効である。"
8256
8257 #. type: Plain text
8258 #: build/C/man2/getrusage.2:202
8259 msgid ""
8260 "SVr4, 4.3BSD.  POSIX.1-2001 specifies B<getrusage>(), but only specifies the "
8261 "fields I<ru_utime> and I<ru_stime>."
8262 msgstr ""
8263 "SVr4, 4.3BSD.  POSIX.1-2001 は B<getrusage>()  を規定しているが、規定している"
8264 "フィールドは I<ru_utime> と I<ru_stime> だけである。"
8265
8266 #. type: Plain text
8267 #: build/C/man2/getrusage.2:205
8268 msgid "B<RUSAGE_THREAD> is Linux-specific."
8269 msgstr "B<RUSAGE_THREAD> は Linux 固有である。"
8270
8271 #. type: Plain text
8272 #: build/C/man2/getrusage.2:208
8273 msgid "Resource usage metrics are preserved across an B<execve>(2)."
8274 msgstr "B<execve>(2)  の前後でリソース使用量の指標は保持される。"
8275
8276 #. type: Plain text
8277 #: build/C/man2/getrusage.2:216
8278 msgid ""
8279 "Including I<E<lt>sys/time.hE<gt>> is not required these days, but increases "
8280 "portability.  (Indeed, I<struct timeval> is defined in I<E<lt>sys/time."
8281 "hE<gt>>.)"
8282 msgstr ""
8283 "今日では I<E<lt>sys/time.hE<gt>> をインクルードする必要はないが、 インクルー"
8284 "ドしておけば移植性が増す。 (実際 I<struct timeval> は I<E<lt>sys/time."
8285 "hE<gt>> で定義されている。)"
8286
8287 #.  See the description of getrusage() in XSH.
8288 #.  A similar statement was also in SUSv2.
8289 #. type: Plain text
8290 #: build/C/man2/getrusage.2:228
8291 msgid ""
8292 "In Linux kernel versions before 2.6.9, if the disposition of B<SIGCHLD> is "
8293 "set to B<SIG_IGN> then the resource usages of child processes are "
8294 "automatically included in the value returned by B<RUSAGE_CHILDREN>, although "
8295 "POSIX.1-2001 explicitly prohibits this.  This nonconformance is rectified in "
8296 "Linux 2.6.9 and later."
8297 msgstr ""
8298 "2.6.9 より前のバージョンの Linux カーネルでは、 B<SIGCHLD> の処理が "
8299 "B<SIG_IGN> に設定されていると、 子プロセスのリソース使用量が "
8300 "B<RUSAGE_CHILDREN> で返される値に自動的に含められる。 しかし POSIX.1-2001 で"
8301 "は、これを明確に禁止している。 この準拠していなかった点は、Linux 2.6.9 以降で"
8302 "改正された。"
8303
8304 #. type: Plain text
8305 #: build/C/man2/getrusage.2:231
8306 msgid ""
8307 "The structure definition shown at the start of this page was taken from "
8308 "4.3BSD Reno."
8309 msgstr ""
8310
8311 #. type: Plain text
8312 #: build/C/man2/getrusage.2:240
8313 #, fuzzy
8314 #| msgid ""
8315 #| "Ancient systems provided a B<vlimit>()  function with a similar purpose "
8316 #| "to B<setrlimit>().  For backward compatibility, glibc also provides "
8317 #| "B<vlimit>().  All new applications should be written using B<setrlimit>()."
8318 msgid ""
8319 "Ancient systems provided a B<vtimes>()  function with a similar purpose to "
8320 "B<getrusage>().  For backward compatibility, glibc also provides B<vtimes>"
8321 "().  All new applications should be written using B<getrusage>()."
8322 msgstr ""
8323 "古いシステムでは、 B<setrlimit>()  と同様の目的を持つ関数 B<vlimit>()  が提供"
8324 "されていた。 後方互換性のため、glibc でも B<vlimit>()  を提供している。 全て"
8325 "の新しいアプリケーションでは、 B<setrlimit>()  を使用すべきである。"
8326
8327 #. type: Plain text
8328 #: build/C/man2/getrusage.2:245
8329 msgid "See also the description of I</proc/PID/stat> in B<proc>(5)."
8330 msgstr "B<proc>(5)  にある I</proc/PID/stat> の説明も参照のこと。"
8331
8332 #. type: Plain text
8333 #: build/C/man2/getrusage.2:252
8334 msgid ""
8335 "B<clock_gettime>(2), B<getrlimit>(2), B<times>(2), B<wait>(2), B<wait4>(2), "
8336 "B<clock>(3)"
8337 msgstr ""
8338 "B<clock_gettime>(2), B<getrlimit>(2), B<times>(2), B<wait>(2), B<wait4>(2), "
8339 "B<clock>(3)"
8340
8341 #. type: TH
8342 #: build/C/man2/getsid.2:25
8343 #, no-wrap
8344 msgid "GETSID"
8345 msgstr "GETSID"
8346
8347 #. type: Plain text
8348 #: build/C/man2/getsid.2:28
8349 msgid "getsid - get session ID"
8350 msgstr "getsid - セッション ID を取得する。"
8351
8352 #. type: Plain text
8353 #: build/C/man2/getsid.2:32
8354 msgid "B<pid_t getsid(pid_t>I< pid>B<);>"
8355 msgstr "B<pid_t getsid(pid_t>I< pid>B<);>"
8356
8357 #. type: Plain text
8358 #: build/C/man2/getsid.2:41
8359 msgid "B<getsid>():"
8360 msgstr "B<getsid>():"
8361
8362 #. type: Plain text
8363 #: build/C/man2/getsid.2:44 build/C/man2/setpgid.2:77
8364 msgid ""
8365 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
8366 msgstr ""
8367 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
8368
8369 #. type: Plain text
8370 #: build/C/man2/getsid.2:46 build/C/man2/setpgid.2:79
8371 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
8372 msgstr "|| /* glibc 2.12 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
8373
8374 #. type: Plain text
8375 #: build/C/man2/getsid.2:57
8376 msgid ""
8377 "I<getsid(0)> returns the session ID of the calling process.  I<getsid(p)> "
8378 "returns the session ID of the process with process ID I<p>.  (The session ID "
8379 "of a process is the process group ID of the session leader.)"
8380 msgstr ""
8381 "I<getsid(0)> は呼び出し元のプロセスのセッション ID を返す。 I<getsid(p)> はプ"
8382 "ロセス ID I<p> を持つプロセスのセッション ID を返す (プロセスのセッション ID "
8383 "は セッションリーダーのプロセスグループ ID である)。"
8384
8385 #. type: Plain text
8386 #: build/C/man2/getsid.2:62
8387 msgid ""
8388 "On success, a session ID is returned.  On error, I<(pid_t)\\ -1> will be "
8389 "returned, and I<errno> is set appropriately."
8390 msgstr ""
8391 "成功すると、セッション ID が返される。 エラーの場合、I<(pid_t) -1> が返さ"
8392 "れ、 I<errno> が適切に設定される。"
8393
8394 #. type: Plain text
8395 #: build/C/man2/getsid.2:69
8396 msgid ""
8397 "A process with process ID I<p> exists, but it is not in the same session as "
8398 "the calling process, and the implementation considers this an error."
8399 msgstr ""
8400 "プロセス ID I<p> のプロセスは存在するが、呼び出し元のプロセスと同じセッション"
8401 "ではなく、 さらに実装がこの状態をエラーと判断した場合。"
8402
8403 #. type: Plain text
8404 #: build/C/man2/getsid.2:74
8405 msgid "No process with process ID I<p> was found."
8406 msgstr "プロセス ID が I<p> のプロセスがない。"
8407
8408 #.  Linux has this system call since Linux 1.3.44.
8409 #.  There is libc support since libc 5.2.19.
8410 #. type: Plain text
8411 #: build/C/man2/getsid.2:78
8412 msgid "This system call is available on Linux since version 2.0."
8413 msgstr "このシステムコールは Linux バージョン 2.0 以降で利用可能である。"
8414
8415 #. type: Plain text
8416 #: build/C/man2/getsid.2:80 build/C/man2/setgid.2:76 build/C/man2/setsid.2:66
8417 msgid "SVr4, POSIX.1-2001."
8418 msgstr "SVr4, POSIX.1-2001."
8419
8420 #. type: Plain text
8421 #: build/C/man2/getsid.2:83
8422 msgid "Linux does not return B<EPERM>."
8423 msgstr "Linux は B<EPERM> を返さない。"
8424
8425 #. type: Plain text
8426 #: build/C/man2/getsid.2:87
8427 msgid "B<getpgid>(2), B<setsid>(2), B<credentials>(7)"
8428 msgstr "B<getpgid>(2), B<setsid>(2), B<credentials>(7)"
8429
8430 #. type: TH
8431 #: build/C/man2/getuid.2:26
8432 #, no-wrap
8433 msgid "GETUID"
8434 msgstr "GETUID"
8435
8436 #. type: Plain text
8437 #: build/C/man2/getuid.2:29
8438 msgid "getuid, geteuid - get user identity"
8439 msgstr "getuid, geteuid - ユーザー ID を得る"
8440
8441 #. type: Plain text
8442 #: build/C/man2/getuid.2:35
8443 msgid "B<uid_t getuid(void);>"
8444 msgstr "B<uid_t getuid(void);>"
8445
8446 #. type: Plain text
8447 #: build/C/man2/getuid.2:37
8448 msgid "B<uid_t geteuid(void);>"
8449 msgstr "B<uid_t geteuid(void);>"
8450
8451 #. type: Plain text
8452 #: build/C/man2/getuid.2:40
8453 msgid "B<getuid>()  returns the real user ID of the calling process."
8454 msgstr "B<getuid>()  は呼び出し元のプロセスの実ユーザー ID を返す。"
8455
8456 #. type: Plain text
8457 #: build/C/man2/getuid.2:43
8458 msgid "B<geteuid>()  returns the effective user ID of the calling process."
8459 msgstr "B<geteuid>()  は呼び出し元のプロセスの実効ユーザー ID を返す。"
8460
8461 #. type: SS
8462 #: build/C/man2/getuid.2:48
8463 #, no-wrap
8464 msgid "History"
8465 msgstr "歴史"
8466
8467 #. type: Plain text
8468 #: build/C/man2/getuid.2:57
8469 msgid ""
8470 "In UNIX V6 the B<getuid>()  call returned I<(euid E<lt>E<lt> 8) + uid>.  "
8471 "UNIX V7 introduced separate calls B<getuid>()  and B<geteuid>()."
8472 msgstr ""
8473 "UNIX V6 では B<getuid>()  コールは I<(euid E<lt>E<lt> 8) + uid> を返してい"
8474 "た。 UNIX V7 では B<getuid>()  と B<geteuid>()  という別々のコールが導入され"
8475 "た。"
8476
8477 #. type: Plain text
8478 #: build/C/man2/getuid.2:73
8479 msgid ""
8480 "The original Linux B<getuid>()  and B<geteuid>()  system calls supported "
8481 "only 16-bit user IDs.  Subsequently, Linux 2.4 added B<getuid32>()  and "
8482 "B<geteuid32>(), supporting 32-bit IDs.  The glibc B<getuid>()  and B<geteuid>"
8483 "()  wrapper functions transparently deal with the variations across kernel "
8484 "versions."
8485 msgstr ""
8486
8487 #. type: Plain text
8488 #: build/C/man2/getuid.2:78
8489 msgid "B<getresuid>(2), B<setreuid>(2), B<setuid>(2), B<credentials>(7)"
8490 msgstr "B<getresuid>(2), B<setreuid>(2), B<setuid>(2), B<credentials>(7)"
8491
8492 #. type: TH
8493 #: build/C/man2/iopl.2:33
8494 #, no-wrap
8495 msgid "IOPL"
8496 msgstr "IOPL"
8497
8498 #. type: TH
8499 #: build/C/man2/iopl.2:33
8500 #, no-wrap
8501 msgid "2004-05-27"
8502 msgstr "2004-05-27"
8503
8504 #. type: Plain text
8505 #: build/C/man2/iopl.2:36
8506 msgid "iopl - change I/O privilege level"
8507 msgstr "iopl - I/O 特権レベルを変更する"
8508
8509 #. type: Plain text
8510 #: build/C/man2/iopl.2:38
8511 msgid "B<#include E<lt>sys/io.hE<gt>>"
8512 msgstr "B<#include E<lt>sys/io.hE<gt>>"
8513
8514 #. type: Plain text
8515 #: build/C/man2/iopl.2:40
8516 msgid "B<int iopl(int >I<level>B<);>"
8517 msgstr "B<int iopl(int >I<level>B<);>"
8518
8519 #. type: Plain text
8520 #: build/C/man2/iopl.2:44
8521 msgid ""
8522 "B<iopl>()  changes the I/O privilege level of the calling process, as "
8523 "specified in I<level>."
8524 msgstr ""
8525 "B<iopl>()  は呼び出し元のプロセスの I/O 特権レベルを I<level> で指定した値に"
8526 "変更する。"
8527
8528 #. type: Plain text
8529 #: build/C/man2/iopl.2:50
8530 msgid ""
8531 "This call is necessary to allow 8514-compatible X servers to run under "
8532 "Linux.  Since these X servers require access to all 65536 I/O ports, the "
8533 "B<ioperm>(2)  call is not sufficient."
8534 msgstr ""
8535 "この関数は 8514 互換の X サーバを Linux で動作させるために必要である。 なぜな"
8536 "らこの X サーバは 65536 個の I/O ポート全てへのアクセスを要求するので "
8537 "B<ioperm>(2)  関数では不十分だからである。"
8538
8539 #. type: Plain text
8540 #: build/C/man2/iopl.2:54
8541 msgid ""
8542 "In addition to granting unrestricted I/O port access, running at a higher I/"
8543 "O privilege level also allows the process to disable interrupts.  This will "
8544 "probably crash the system, and is not recommended."
8545 msgstr ""
8546 "より高い I/O 特権レベルでの動作をさせることによって I/O ポートアクセスの制限"
8547 "を解除することに加えて、プロセスが割り込みを 無効にすることもできるようにな"
8548 "る。この機能は時としてシステムの破壊を もたらすので勧められない。"
8549
8550 #. type: Plain text
8551 #: build/C/man2/iopl.2:59
8552 msgid "Permissions are inherited by B<fork>(2)  and B<execve>(2)."
8553 msgstr "B<fork>(2)  や B<exec>(2)  を行った場合、特権は継承される。"
8554
8555 #. type: Plain text
8556 #: build/C/man2/iopl.2:61
8557 msgid "The I/O privilege level for a normal process is 0."
8558 msgstr "通常のプロセスの I/O 特権レベルは 0 である。"
8559
8560 #. type: Plain text
8561 #: build/C/man2/iopl.2:65
8562 msgid ""
8563 "This call is mostly for the i386 architecture.  On many other architectures "
8564 "it does not exist or will always return an error."
8565 msgstr ""
8566 "このシステムコールはほとんど i386 アーキテクチャのためだけのものである。 その"
8567 "他の多くのアーキテクチャでは存在しないか、常にエラーを返す。"
8568
8569 #. type: Plain text
8570 #: build/C/man2/iopl.2:75
8571 msgid "I<level> is greater than 3."
8572 msgstr "引き数 I<level> が 3 より大きい。"
8573
8574 #. type: Plain text
8575 #: build/C/man2/iopl.2:78
8576 msgid "This call is unimplemented."
8577 msgstr "このシステムコールは実装されていない。"
8578
8579 #. type: Plain text
8580 #: build/C/man2/iopl.2:85
8581 msgid ""
8582 "The calling process has insufficient privilege to call B<iopl>(); the "
8583 "B<CAP_SYS_RAWIO> capability is required."
8584 msgstr ""
8585 "呼び出し元プロセスに B<iopl>()  を呼び出すのに十分な権限がなかった。 B<iopl>"
8586 "()  を呼び出すには B<CAP_SYS_RAWIO> ケーパビリティが必要である。"
8587
8588 #. type: Plain text
8589 #: build/C/man2/iopl.2:89
8590 msgid ""
8591 "B<iopl>()  is Linux-specific and should not be used in processes intended to "
8592 "be portable."
8593 msgstr ""
8594 "B<iopl>()  は Linux 特有の関数であり、移植を意図したプログラムで 使用してはな"
8595 "らない。"
8596
8597 #. type: Plain text
8598 #: build/C/man2/iopl.2:98
8599 msgid ""
8600 "Libc5 treats it as a system call and has a prototype in I<E<lt>unistd."
8601 "hE<gt>>.  Glibc1 does not have a prototype.  Glibc2 has a prototype both in "
8602 "I<E<lt>sys/io.hE<gt>> and in I<E<lt>sys/perm.hE<gt>>.  Avoid the latter, it "
8603 "is available on i386 only."
8604 msgstr ""
8605 "libc5 ではシステムコールとして扱い I<E<lt>unistd.hE<gt>> にプロトタイプが存在"
8606 "している。 glibc1 にはプロトタイプは存在していない。 glibc2 は I<E<lt>sys/io."
8607 "hE<gt>> と I<E<lt>sys/perm.hE<gt>> の両方にプロトタイプを持っている。 後者は "
8608 "i386 のみで利用可能なので、使用すべきではない。"
8609
8610 #. type: Plain text
8611 #: build/C/man2/iopl.2:101
8612 msgid "B<ioperm>(2), B<capabilities>(7)"
8613 msgstr "B<ioperm>(2), B<capabilities>(7)"
8614
8615 #. type: TH
8616 #: build/C/man2/ioprio_set.2:25
8617 #, no-wrap
8618 msgid "IOPRIO_SET"
8619 msgstr "IOPRIO_SET"
8620
8621 #. type: TH
8622 #: build/C/man2/ioprio_set.2:25
8623 #, no-wrap
8624 msgid "2008-07-09"
8625 msgstr "2008-07-09"
8626
8627 #. type: Plain text
8628 #: build/C/man2/ioprio_set.2:28
8629 msgid "ioprio_get, ioprio_set - get/set I/O scheduling class and priority"
8630 msgstr "ioprio_get, ioprio_set - I/O スケジューリングクラスと優先度の設定/取得"
8631
8632 #. type: Plain text
8633 #: build/C/man2/ioprio_set.2:32
8634 #, no-wrap
8635 msgid ""
8636 "B<int ioprio_get(int >I<which>B<, int >I<who>B<);>\n"
8637 "B<int ioprio_set(int >I<which>B<, int >I<who>B<, int >I<ioprio>B<);>\n"
8638 msgstr ""
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
8642 #. type: Plain text
8643 #: build/C/man2/ioprio_set.2:40
8644 msgid ""
8645 "The B<ioprio_get>()  and B<ioprio_set>()  system calls respectively get and "
8646 "set the I/O scheduling class and priority of one or more processes."
8647 msgstr ""
8648 "システムコール B<ioprio_get>()  / B<ioprio_set>()  は、(1つ以上の) プロセス"
8649 "の I/O スケジューリングクラスと 優先度の取得/設定を行う。"
8650
8651 #. type: Plain text
8652 #: build/C/man2/ioprio_set.2:52
8653 msgid ""
8654 "The I<which> and I<who> arguments identify the process(es) on which the "
8655 "system calls operate.  The I<which> argument determines how I<who> is "
8656 "interpreted, and has one of the following values:"
8657 msgstr ""
8658 "I<which> と I<who> 引き数でシステムコールの操作対象となるプロセスを指示す"
8659 "る。 I<which> 引き数は、 I<who> をどのように解釈するかを決めるもので、以下の"
8660 "いずれか一つを指定する。"
8661
8662 #. type: TP
8663 #: build/C/man2/ioprio_set.2:52
8664 #, no-wrap
8665 msgid "B<IOPRIO_WHO_PROCESS>"
8666 msgstr "B<IOPRIO_WHO_PROCESS>"
8667
8668 #. type: Plain text
8669 #: build/C/man2/ioprio_set.2:56
8670 msgid "I<who> is a process ID identifying a single process."
8671 msgstr "I<who> はプロセスID であり、指定された 1 プロセスが対象となる。"
8672
8673 #. type: TP
8674 #: build/C/man2/ioprio_set.2:56
8675 #, no-wrap
8676 msgid "B<IOPRIO_WHO_PGRP>"
8677 msgstr "B<IOPRIO_WHO_PGRP>"
8678
8679 #. type: Plain text
8680 #: build/C/man2/ioprio_set.2:60
8681 msgid ""
8682 "I<who> is a process group ID identifying all the members of a process group."
8683 msgstr ""
8684 "I<who> はプロセスグループID であり、プロセスグループの全メンバが対象となる。"
8685
8686 #. type: TP
8687 #: build/C/man2/ioprio_set.2:60
8688 #, no-wrap
8689 msgid "B<IOPRIO_WHO_USER>"
8690 msgstr "B<IOPRIO_WHO_USER>"
8691
8692 #. type: Plain text
8693 #: build/C/man2/ioprio_set.2:65
8694 msgid ""
8695 "I<who> is a user ID identifying all of the processes that have a matching "
8696 "real UID."
8697 msgstr "I<who> はユーザID であり、実 UID に一致する全プロセスが対象となる。"
8698
8699 #. type: Plain text
8700 #: build/C/man2/ioprio_set.2:88
8701 msgid ""
8702 "If I<which> is specified as B<IOPRIO_WHO_PGRP> or B<IOPRIO_WHO_USER> when "
8703 "calling B<ioprio_get>(), and more than one process matches I<who>, then the "
8704 "returned priority will be the highest one found among all of the matching "
8705 "processes.  One priority is said to be higher than another one if it belongs "
8706 "to a higher priority class (B<IOPRIO_CLASS_RT> is the highest priority "
8707 "class; B<IOPRIO_CLASS_IDLE> is the lowest)  or if it belongs to the same "
8708 "priority class as the other process but has a higher priority level (a lower "
8709 "priority number means a higher priority level)."
8710 msgstr ""
8711 "B<ioprio_get>()  の呼び出し時に I<which> に B<IOPRIO_WHO_PGRP> か "
8712 "B<IOPRIO_WHO_USER> が指定され、 I<who> に一致するプロセスが複数あった場合、 "
8713 "一致するプロセス全体の中で最も高い優先度が返される。 優先度が高いとは、より高"
8714 "い優先度クラスに属している (B<IOPRIO_CLASS_RT> が最も高い優先度クラスで、 "
8715 "B<IOPRIO_CLASS_IDLE> が最も低い)、もしくは 同じ優先度クラスに属しているが優先"
8716 "度レベルが高い (優先度番号が小さい方が優先度レベルが高いことを意味する)、 と"
8717 "いうことである。"
8718
8719 #. type: Plain text
8720 #: build/C/man2/ioprio_set.2:98
8721 msgid ""
8722 "The I<ioprio> argument given to B<ioprio_set>()  is a bit mask that "
8723 "specifies both the scheduling class and the priority to be assigned to the "
8724 "target process(es).  The following macros are used for assembling and "
8725 "dissecting I<ioprio> values:"
8726 msgstr ""
8727 "B<ioprio_set>()  に渡す I<ioprio> 引き数は、対象となるプロセスに割り当てるス"
8728 "ケジューリングクラスと 優先度の両方を指定するビットマスクである。 I<ioprio> "
8729 "の値を組み立てたり解釈するのに、以下のマクロが利用できる。"
8730
8731 #. type: TP
8732 #: build/C/man2/ioprio_set.2:98
8733 #, no-wrap
8734 msgid "B<IOPRIO_PRIO_VALUE(>I<class>B<, >I<data>B<)>"
8735 msgstr "B<IOPRIO_PRIO_VALUE(>I<class>B<, >I<data>B<)>"
8736
8737 #. type: Plain text
8738 #: build/C/man2/ioprio_set.2:107
8739 msgid ""
8740 "Given a scheduling I<class> and priority (I<data>), this macro combines the "
8741 "two values to produce an I<ioprio> value, which is returned as the result of "
8742 "the macro."
8743 msgstr ""
8744 "スケジューリングクラス I<class> と優先度 (I<data>)  を与えると、このマクロは "
8745 "2つの値を組み合わせて、 I<ioprio> 値を生成し、マクロの結果として返す。"
8746
8747 #. type: TP
8748 #: build/C/man2/ioprio_set.2:107
8749 #, no-wrap
8750 msgid "B<IOPRIO_PRIO_CLASS(>I<mask>B<)>"
8751 msgstr "B<IOPRIO_PRIO_CLASS(>I<mask>B<)>"
8752
8753 #. type: Plain text
8754 #: build/C/man2/ioprio_set.2:119
8755 msgid ""
8756 "Given I<mask> (an I<ioprio> value), this macro returns its I/O class "
8757 "component, that is, one of the values B<IOPRIO_CLASS_RT>, "
8758 "B<IOPRIO_CLASS_BE>, or B<IOPRIO_CLASS_IDLE>."
8759 msgstr ""
8760 "I<mask> (I<ioprio> 値) を与えると、このマクロは I/O クラス要素、つまり "
8761 "B<IOPRIO_CLASS_RT>, B<IOPRIO_CLASS_BE>, B<IOPRIO_CLASS_IDLE> のいずれか一つの"
8762 "値を返す。"
8763
8764 #. type: TP
8765 #: build/C/man2/ioprio_set.2:119
8766 #, no-wrap
8767 msgid "B<IOPRIO_PRIO_DATA(>I<mask>B<)>"
8768 msgstr "B<IOPRIO_PRIO_DATA(>I<mask>B<)>"
8769
8770 #. type: Plain text
8771 #: build/C/man2/ioprio_set.2:128
8772 msgid ""
8773 "Given I<mask> (an I<ioprio> value), this macro returns its priority "
8774 "(I<data>)  component."
8775 msgstr ""
8776 "I<mask> (I<ioprio> 値) を与えると、このマクロは優先度 (I<data>)  要素を返す。"
8777
8778 #. type: Plain text
8779 #: build/C/man2/ioprio_set.2:131
8780 msgid ""
8781 "See the NOTES section for more information on scheduling classes and "
8782 "priorities."
8783 msgstr ""
8784 "スケジューリングクラスと優先度に関する詳しい情報は、 「備考」の節を参照のこ"
8785 "と。"
8786
8787 #. type: Plain text
8788 #: build/C/man2/ioprio_set.2:139
8789 msgid ""
8790 "I/O priorities are supported for reads and for synchronous (B<O_DIRECT>, "
8791 "B<O_SYNC>)  writes.  I/O priorities are not supported for asynchronous "
8792 "writes because they are issued outside the context of the program dirtying "
8793 "the memory, and thus program-specific priorities do not apply."
8794 msgstr ""
8795 "I/O 優先度は読み出しと同期書き込み (B<O_DIRECT>, B<O_SYNC>)  に対応してい"
8796 "る。 I/O 優先度は非同期書き込みには対応していない。なぜなら、 非同期書き込み"
8797 "はメモリ書き換えを行うプログラムの動作 (context) とは 関係なく発行され、その"
8798 "ためプログラム単位の優先度は適用されないから である。"
8799
8800 #. type: Plain text
8801 #: build/C/man2/ioprio_set.2:152
8802 msgid ""
8803 "On success, B<ioprio_get>()  returns the I<ioprio> value of the process with "
8804 "highest I/O priority of any of the processes that match the criteria "
8805 "specified in I<which> and I<who>.  On error, -1 is returned, and I<errno> is "
8806 "set to indicate the error."
8807 msgstr ""
8808 "成功すると、 B<ioprio_get>()  は、 I<which> と I<who> で指定された基準に合致"
8809 "した全プロセスで最も高い I/O 優先度を持つプロセスの I<ioprio> 値を返す。 エ"
8810 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
8811
8812 #. type: Plain text
8813 #: build/C/man2/ioprio_set.2:159
8814 msgid ""
8815 "On success, B<ioprio_set>()  returns 0.  On error, -1 is returned, and "
8816 "I<errno> is set to indicate the error."
8817 msgstr ""
8818 "成功すると、 B<ioprio_set>()  は 0 を返す。 エラーの場合、-1 を返し、 "
8819 "I<errno> にエラーを示す値を設定する。"
8820
8821 #. type: Plain text
8822 #: build/C/man2/ioprio_set.2:169
8823 msgid ""
8824 "Invalid value for I<which> or I<ioprio>.  Refer to the NOTES section for "
8825 "available scheduler classes and priority levels for I<ioprio>."
8826 msgstr ""
8827 "I<which> か I<ioprio> の値が不正である。 I<ioprio> 用に指定可能なスケジューラ"
8828 "クラスと優先度レベルについては 「備考」を参照のこと。"
8829
8830 #. type: Plain text
8831 #: build/C/man2/ioprio_set.2:177
8832 msgid ""
8833 "The calling process does not have the privilege needed to assign this "
8834 "I<ioprio> to the specified process(es).  See the NOTES section for more "
8835 "information on required privileges for B<ioprio_set>()."
8836 msgstr ""
8837 "呼び出し元プロセスが、指定されたプロセスに I<ioprio> を割り当てるのに必要な権"
8838 "限を持っていない。 B<ioprio_set>()  に必要な権限についての詳しい情報は「備"
8839 "考」の節を参照のこと。"
8840
8841 #. type: Plain text
8842 #: build/C/man2/ioprio_set.2:183
8843 msgid ""
8844 "No process(es) could be found that matched the specification in I<which> and "
8845 "I<who>."
8846 msgstr ""
8847 "I<which> と I<who> で指定された基準に合致するプロセスが見つからなかった。"
8848
8849 #. type: Plain text
8850 #: build/C/man2/ioprio_set.2:186
8851 msgid "These system calls have been available on Linux since kernel 2.6.13."
8852 msgstr ""
8853 "これらのシステムコールはカーネル 2.6.13 以降の Linux で利用可能である。"
8854
8855 #. type: Plain text
8856 #: build/C/man2/ioprio_set.2:191
8857 msgid ""
8858 "Glibc does not provide wrapper for these system calls; call them using "
8859 "B<syscall>(2)."
8860 msgstr ""
8861 "glibc はこれらのシステムコールに対するラッパー関数を提供していない。 "
8862 "B<syscall>(2)  を使って呼び出すこと。"
8863
8864 #. type: Plain text
8865 #: build/C/man2/ioprio_set.2:196
8866 msgid ""
8867 "These system calls only have an effect when used in conjunction with an I/O "
8868 "scheduler that supports I/O priorities.  As at kernel 2.6.17 the only such "
8869 "scheduler is the Completely Fair Queuing (CFQ) I/O scheduler."
8870 msgstr ""
8871 "これらのシステムコールは、I/O 優先度に対応した I/O スケジューラと 組み合わせ"
8872 "て使用された場合にのみ効果を持つ。 カーネル 2.6.17 では、この条件を満たすスケ"
8873 "ジューラは Completely Fair Queuing (CFQ) I/O スケジューラだけである。"
8874
8875 #. type: SS
8876 #: build/C/man2/ioprio_set.2:196
8877 #, no-wrap
8878 msgid "Selecting an I/O Scheduler"
8879 msgstr "I/O スケジューラの選択"
8880
8881 #. type: Plain text
8882 #: build/C/man2/ioprio_set.2:200
8883 msgid ""
8884 "I/O Schedulers are selected on a per-device basis via the special file I</"
8885 "sys/block/E<lt>deviceE<gt>/queue/scheduler>."
8886 msgstr ""
8887 "I/O スケジューラの選択はデバイス単位に行われ、その選択は スペシャルファイル "
8888 "I</sys/block/E<lt>deviceE<gt>/queue/scheduler> 経由で行われる。"
8889
8890 #. type: Plain text
8891 #: build/C/man2/ioprio_set.2:206
8892 msgid ""
8893 "One can view the current I/O scheduler via the I</sys> file system.  For "
8894 "example, the following command displays a list of all schedulers currently "
8895 "loaded in the kernel:"
8896 msgstr ""
8897 "現在の I/O スケジューラは I</sys> ファイルシステム経由で参照できる。例えば、"
8898 "以下のコマンドを実行すると、 現在カーネルでロードされているスケジューラの全リ"
8899 "ストが表示される。"
8900
8901 #. type: Plain text
8902 #: build/C/man2/ioprio_set.2:211
8903 #, no-wrap
8904 msgid ""
8905 "$B< cat /sys/block/hda/queue/scheduler>\n"
8906 "noop anticipatory deadline [cfq]\n"
8907 msgstr ""
8908 "$B< cat /sys/block/hda/queue/scheduler>\n"
8909 "noop anticipatory deadline [cfq]\n"
8910
8911 #. type: Plain text
8912 #: build/C/man2/ioprio_set.2:225
8913 msgid ""
8914 "The scheduler surrounded by brackets is the one actually in use for the "
8915 "device (I<hda> in the example).  Setting another scheduler is done by "
8916 "writing the name of the new scheduler to this file.  For example, the "
8917 "following command will set the scheduler for the I<hda> device to I<cfq>:"
8918 msgstr ""
8919 "括弧で囲まれたスケジューラがそのデバイス (上の例では I<hda>)  について実際に"
8920 "使用されているスケジューラである。 別のスケジューラを設定するには、このファイ"
8921 "ルに新しいスケジューラ名を 書き込めばよい。例えば、以下のコマンドを実行する"
8922 "と、デバイス I<hda> のスケジューラとして I<cfq> が設定される。"
8923
8924 #. type: Plain text
8925 #: build/C/man2/ioprio_set.2:231
8926 #, no-wrap
8927 msgid ""
8928 "$B< su>\n"
8929 "Password:\n"
8930 "#B< echo cfq E<gt> /sys/block/hda/queue/scheduler>\n"
8931 msgstr ""
8932 "$B< su>\n"
8933 "Password:\n"
8934 "#B< echo cfq E<gt> /sys/block/hda/queue/scheduler>\n"
8935
8936 #. type: SS
8937 #: build/C/man2/ioprio_set.2:233
8938 #, no-wrap
8939 msgid "The Completely Fair Queuing (CFQ) I/O Scheduler"
8940 msgstr "Completely Fair Queuing (CFQ) I/O スケジューラ"
8941
8942 #. type: Plain text
8943 #: build/C/man2/ioprio_set.2:239
8944 msgid ""
8945 "Since v3 (aka CFQ Time Sliced) CFQ implements I/O nice levels similar to "
8946 "those of CPU scheduling.  These nice levels are grouped in three scheduling "
8947 "classes each one containing one or more priority levels:"
8948 msgstr ""
8949 "バージョン 3 (別名 CFQ Time Sliced) 以降、 CPU スケジューリングと同様の I/O "
8950 "nice レベルが CFQ に実装されている。 これらの nice レベルは 3つのスケジューリ"
8951 "ングクラスに分類でき、 各スケジューリングクラスにつき 1つ以上の優先度レベルが"
8952 "定義されている。"
8953
8954 #. type: TP
8955 #: build/C/man2/ioprio_set.2:239
8956 #, no-wrap
8957 msgid "B<IOPRIO_CLASS_RT> (1)"
8958 msgstr "B<IOPRIO_CLASS_RT> (1)"
8959
8960 #. type: Plain text
8961 #: build/C/man2/ioprio_set.2:254
8962 msgid ""
8963 "This is the real-time I/O class.  This scheduling class is given higher "
8964 "priority than any other class: processes from this class are given first "
8965 "access to the disk every time.  Thus this I/O class needs to be used with "
8966 "some care: one I/O real-time process can starve the entire system.  Within "
8967 "the real-time class, there are 8 levels of class data (priority) that "
8968 "determine exactly how much time this process needs the disk for on each "
8969 "service.  The highest real-time priority level is 0; the lowest is 7.  In "
8970 "the future this might change to be more directly mappable to performance, by "
8971 "passing in a desired data rate instead."
8972 msgstr ""
8973 "これはリアルタイム I/O クラスである。 このスケジューリングクラスには他のクラ"
8974 "スよりも高い優先度が与えられる。 このクラスのプロセスには、常にディスクへのア"
8975 "クセスが優先して 割り当てられる。そのため、この I/O クラスを使う際には、 たっ"
8976 "た一つの リアルタイム I/O クラスのプロセスにより システム全体のディスクアクセ"
8977 "スができなくなってしまうことがある という点に、注意を払う必要がある。 このク"
8978 "ラスには、8 段階の class data (優先度レベル) がある。 この値は、そのプロセス"
8979 "が 1回のディスクアクセスにどれだけの 時間が必要かを正確に決めるためのものであ"
8980 "る。 最高のリアルタイム優先度レベルは 0 で、最低は 7 である。 将来的には、優"
8981 "先度レベルは、希望するデータレートを渡すなど、 より直接的に性能条件を反映でき"
8982 "るように変更されるかもしれない。"
8983
8984 #. type: TP
8985 #: build/C/man2/ioprio_set.2:254
8986 #, no-wrap
8987 msgid "B<IOPRIO_CLASS_BE> (2)"
8988 msgstr "B<IOPRIO_CLASS_BE> (2)"
8989
8990 #. type: Plain text
8991 #: build/C/man2/ioprio_set.2:267
8992 msgid ""
8993 "This is the best-effort scheduling class, which is the default for any "
8994 "process that hasn't set a specific I/O priority.  The class data (priority) "
8995 "determines how much I/O bandwidth the process will get.  Best-effort "
8996 "priority levels are analogous to CPU nice values (see B<getpriority>(2)).  "
8997 "The priority level determines a priority relative to other processes in the "
8998 "best-effort scheduling class.  Priority levels range from 0 (highest) to 7 "
8999 "(lowest)."
9000 msgstr ""
9001 "これは ベストエフォート・スケジューリングクラスである。 このクラスは、特定の "
9002 "I/O 優先度を設定していないプロセスの デフォルト値である。 class data (優先度"
9003 "レベル) により、そのプロセスがどの程度の I/O 帯域を得られるかが決定される。 "
9004 "ベストエフォート・優先度レベルは、CPU の nice 値 (B<getpriority>(2)  参照) と"
9005 "同様のものである。 優先度レベルは、ベストエフォート・スケジューリングクラスの"
9006 "中で 他のプロセスとの相対的な優先度を決定する。 優先度レベルの値の範囲は 0 "
9007 "(最高) から 7 (最低) である。"
9008
9009 #. type: TP
9010 #: build/C/man2/ioprio_set.2:267
9011 #, no-wrap
9012 msgid "B<IOPRIO_CLASS_IDLE> (3)"
9013 msgstr "B<IOPRIO_CLASS_IDLE> (3)"
9014
9015 #. type: Plain text
9016 #: build/C/man2/ioprio_set.2:276
9017 msgid ""
9018 "This is the idle scheduling class.  Processes running at this level only get "
9019 "I/O time when no-one else needs the disk.  The idle class has no class "
9020 "data.  Attention is required when assigning this priority class to a "
9021 "process, since it may become starved if higher priority processes are "
9022 "constantly accessing the disk."
9023 msgstr ""
9024 "これは idle スケジューリングクラスである。 このレベルで動作するプロセスは他に"
9025 "ディスクアクセスをしようとする プロセスがない場合にのみ I/O 時間を取得する。 "
9026 "idle クラスには class data (優先度) は用意されていない。 プロセスにこの優先度"
9027 "を割り当てる際には注意が必要である。 なぜなら、優先度の高いプロセスが常にディ"
9028 "スクにアクセスしている場合には ディスクにアクセスできなくなる可能性があるから"
9029 "だ。"
9030
9031 #. type: Plain text
9032 #: build/C/man2/ioprio_set.2:280
9033 msgid ""
9034 "Refer to I<Documentation/block/ioprio.txt> for more information on the CFQ I/"
9035 "O Scheduler and an example program."
9036 msgstr ""
9037 "CFQ I/O スケジューラの更なる情報とサンプルプログラムについては "
9038 "I<Documentation/block/ioprio.txt> を参照のこと。"
9039
9040 #. type: SS
9041 #: build/C/man2/ioprio_set.2:280
9042 #, no-wrap
9043 msgid "Required permissions to set I/O priorities"
9044 msgstr "I/O 優先度の設定に必要な許可"
9045
9046 #. type: Plain text
9047 #: build/C/man2/ioprio_set.2:283
9048 msgid ""
9049 "Permission to change a process's priority is granted or denied based on two "
9050 "assertions:"
9051 msgstr ""
9052 "プロセスの優先度を変更する許可が得られるかどうかは 以下の 2つの条件に基いて決"
9053 "定される。"
9054
9055 #. type: TP
9056 #: build/C/man2/ioprio_set.2:283
9057 #, no-wrap
9058 msgid "B<Process ownership>"
9059 msgstr "B<プロセスの所有権>"
9060
9061 #. type: Plain text
9062 #: build/C/man2/ioprio_set.2:291
9063 msgid ""
9064 "An unprivileged process may only set the I/O priority of a process whose "
9065 "real UID matches the real or effective UID of the calling process.  A "
9066 "process which has the B<CAP_SYS_NICE> capability can change the priority of "
9067 "any process."
9068 msgstr ""
9069 "非特権プロセスは、プロセスの実 UID が呼び出し元プロセスの実 UID もしくは 実"
9070 "効 UID と一致するプロセスの I/O 優先度のみを設定できる。 B<CAP_SYS_NICE> ケー"
9071 "パビリティを持つプロセスは、どのプロセスの優先度でも変更できる。"
9072
9073 #. type: TP
9074 #: build/C/man2/ioprio_set.2:291
9075 #, no-wrap
9076 msgid "B<What is the desired priority>"
9077 msgstr "B<どの優先度に設定しようとしているか>"
9078
9079 #. type: Plain text
9080 #: build/C/man2/ioprio_set.2:303
9081 msgid ""
9082 "Attempts to set very high priorities (B<IOPRIO_CLASS_RT>)  require the "
9083 "B<CAP_SYS_ADMIN> capability.  Kernel versions up to 2.6.24 also required "
9084 "B<CAP_SYS_ADMIN> to set a very low priority (B<IOPRIO_CLASS_IDLE>), but "
9085 "since Linux 2.6.25, this is no longer required."
9086 msgstr ""
9087 "非常に高い優先度 (B<IOPRIO_CLASS_RT>)  を設定しようとする場合、 "
9088 "B<CAP_SYS_ADMIN> ケーパビリティが必要である。 カーネル 2.6.24 以前では、非常"
9089 "に低い優先度 (B<IOPRIO_CLASS_IDLE>)  を設定するためにも B<CAP_SYS_ADMIN> ケー"
9090 "パビリティが必要であったが、 Linux 2.6.25 以降ではもはや必要なくなった。"
9091
9092 #. type: Plain text
9093 #: build/C/man2/ioprio_set.2:308
9094 msgid ""
9095 "A call to B<ioprio_set>()  must follow both rules, or the call will fail "
9096 "with the error B<EPERM>."
9097 msgstr ""
9098 "B<ioprio_set>()  はこの両方のルールに従い、条件を満たさない場合、エラー "
9099 "B<EPERM> で失敗する。"
9100
9101 #.  6 May 07: Bug report raised:
9102 #.  http://sources.redhat.com/bugzilla/show_bug.cgi?id=4464
9103 #.  Ulrich Drepper replied that he wasn't going to add these
9104 #.  to glibc.
9105 #. type: Plain text
9106 #: build/C/man2/ioprio_set.2:317
9107 msgid ""
9108 "Glibc does not yet provide a suitable header file defining the function "
9109 "prototypes and macros described on this page.  Suitable definitions can be "
9110 "found in I<linux/ioprio.h>."
9111 msgstr ""
9112 "glibc は、このページに記載された関数プロトタイプやマクロを定義する 適切なヘッ"
9113 "ダファイルをまだ提供していない。 必要な定義については I<linux/ioprio.h> を見"
9114 "ればよい。"
9115
9116 #. type: Plain text
9117 #: build/C/man2/ioprio_set.2:321
9118 msgid "B<getpriority>(2), B<open>(2), B<capabilities>(7)"
9119 msgstr "B<getpriority>(2), B<open>(2), B<capabilities>(7)"
9120
9121 #. type: Plain text
9122 #: build/C/man2/ioprio_set.2:323
9123 msgid "Documentation/block/ioprio.txt in the kernel source tree."
9124 msgstr "カーネル・ソース内の Documentation/block/ioprio.txt"
9125
9126 #. type: TH
9127 #: build/C/man2/ipc.2:26
9128 #, no-wrap
9129 msgid "IPC"
9130 msgstr "IPC"
9131
9132 #. type: TH
9133 #: build/C/man2/ipc.2:26
9134 #, no-wrap
9135 msgid "2007-06-28"
9136 msgstr "2007-06-28"
9137
9138 #. type: Plain text
9139 #: build/C/man2/ipc.2:29
9140 msgid "ipc - System V IPC system calls"
9141 msgstr "ipc - System V IPC システム・コール"
9142
9143 #. type: Plain text
9144 #: build/C/man2/ipc.2:34
9145 #, no-wrap
9146 msgid ""
9147 "B<int ipc(unsigned int >I<call>B<, int >I<first>B<, int >I<second>B<, int >I<third>B<,>\n"
9148 "B<        void *>I<ptr>B<, long >I<fifth>B<);>\n"
9149 msgstr ""
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
9153 #. type: Plain text
9154 #: build/C/man2/ipc.2:42
9155 msgid ""
9156 "B<ipc>()  is a common kernel entry point for the System V IPC calls for "
9157 "messages, semaphores, and shared memory.  I<call> determines which IPC "
9158 "function to invoke; the other arguments are passed through to the "
9159 "appropriate call."
9160 msgstr ""
9161 "B<ipc>()  は メッセージ、セマフォー、共有メモリに関する System V IPC コール"
9162 "の 共通のカーネルへのエントリ・ポイントである。 I<call> はどの IPC 関数を呼び"
9163 "出すかを決め; 他の引き数は適切なコールへと渡される。"
9164
9165 #. type: Plain text
9166 #: build/C/man2/ipc.2:46
9167 msgid ""
9168 "User programs should call the appropriate functions by their usual names.  "
9169 "Only standard library implementors and kernel hackers need to know about "
9170 "B<ipc>()."
9171 msgstr ""
9172 "ユーザー・プログラムは通常の名前で適切な関数を呼び出すべきである。 標準ライブ"
9173 "ラリの実装者やカーネル・ハッカーのみが B<ipc>()  について知る必要がある。"
9174
9175 #. type: Plain text
9176 #: build/C/man2/ipc.2:50
9177 msgid ""
9178 "B<ipc>()  is Linux-specific, and should not be used in programs intended to "
9179 "be portable."
9180 msgstr ""
9181 "B<ipc>()  は Linux 特有であり、 移植を意図したプログラムでは 使用してはいけな"
9182 "い。"
9183
9184 #. type: Plain text
9185 #: build/C/man2/ipc.2:58
9186 msgid ""
9187 "On a few architectures, for example ia64, there is no B<ipc>()  system call; "
9188 "instead B<msgctl>(2), B<semctl>(2), B<shmctl>(2), and so on really are "
9189 "implemented as separate system calls."
9190 msgstr ""
9191 "ia64 などのいくつかのアーキテクチャでは、システムコール B<ipc>()  が存在しな"
9192 "い。実際には、その代わりに B<msgctl>(2), B<semctl>(2), B<shmctl>(2)  などが独"
9193 "立したシステムコールとして実装されている。"
9194
9195 #. type: Plain text
9196 #: build/C/man2/ipc.2:71
9197 msgid ""
9198 "B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), "
9199 "B<semget>(2), B<semop>(2), B<semtimedop>(2), B<shmat>(2), B<shmctl>(2), "
9200 "B<shmdt>(2), B<shmget>(2)"
9201 msgstr ""
9202 "B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), "
9203 "B<semget>(2), B<semop>(2), B<shmat>(2), B<shmctl>(2), B<shmdt>(2), B<shmget>"
9204 "(2)"
9205
9206 #. type: TH
9207 #: build/C/man2/seteuid.2:27
9208 #, no-wrap
9209 msgid "SETEUID"
9210 msgstr "SETEUID"
9211
9212 #. type: TH
9213 #: build/C/man2/seteuid.2:27
9214 #, no-wrap
9215 msgid "2009-10-17"
9216 msgstr "2009-10-17"
9217
9218 #. type: Plain text
9219 #: build/C/man2/seteuid.2:30
9220 msgid "seteuid, setegid - set effective user or group ID"
9221 msgstr "seteuid, setegid - 実効ユーザー ID や 実効グループ ID を設定する"
9222
9223 #. type: Plain text
9224 #: build/C/man2/seteuid.2:36
9225 msgid "B<int seteuid(uid_t >I<euid>B<);>"
9226 msgstr "B<int seteuid(uid_t >I<euid>B<);>"
9227
9228 #. type: Plain text
9229 #: build/C/man2/seteuid.2:38
9230 msgid "B<int setegid(gid_t >I<egid>B<);>"
9231 msgstr "B<int setegid(gid_t >I<egid>B<);>"
9232
9233 #. type: Plain text
9234 #: build/C/man2/seteuid.2:47
9235 msgid "B<seteuid>(), B<setegid>():"
9236 msgstr "B<seteuid>(), B<setegid>():"
9237
9238 #. type: Plain text
9239 #: build/C/man2/seteuid.2:49
9240 msgid ""
9241 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
9242 "\\ 600"
9243 msgstr ""
9244 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
9245 "\\ 600"
9246
9247 #. type: Plain text
9248 #: build/C/man2/seteuid.2:56
9249 msgid ""
9250 "B<seteuid>()  sets the effective user ID of the calling process.  "
9251 "Unprivileged user processes may only set the effective user ID to the real "
9252 "user ID, the effective user ID or the saved set-user-ID."
9253 msgstr ""
9254 "B<seteuid>()  は呼び出し元のプロセスの実効ユーザー ID を設定する。 非特権ユー"
9255 "ザーのプロセスの場合、実効ユーザー ID に設定できるのは、 実ユーザー ID・実効"
9256 "ユーザー ID・保存 set-user-ID のいずれかだけである。"
9257
9258 #.  When
9259 #.  .I euid
9260 #.  equals \-1, nothing is changed.
9261 #.  (This is an artifact of the implementation in glibc of seteuid()
9262 #.  using setresuid(2).)
9263 #. type: Plain text
9264 #: build/C/man2/seteuid.2:65
9265 msgid ""
9266 "Precisely the same holds for B<setegid>()  with \"group\" instead of \"user"
9267 "\"."
9268 msgstr ""
9269 "B<setegid>()  は「ユーザー」ではなく「グループ」に対して全く同じことを行う。"
9270
9271 #. type: Plain text
9272 #: build/C/man2/seteuid.2:89
9273 msgid ""
9274 "The calling process is not privileged (Linux: does not have the "
9275 "B<CAP_SETUID> capability in the case of B<seteuid>(), or the B<CAP_SETGID> "
9276 "capability in the case of B<setegid>())  and I<euid> (respectively, "
9277 "I<egid>)  is not the real user (group) ID, the effective user (group) ID, or "
9278 "the saved set-user-ID (saved set-group-ID)."
9279 msgstr ""
9280 "呼び出し元のプロセスに特権がなく、 I<euid> (I<egid>)  が実ユーザー (グルー"
9281 "プ) ID、または実効ユーザー (グループ) ID、 保存 set-user-ID (保存 set-group-"
9282 "ID) のいずれでもではない (Linux においては、 B<seteuid>()  では "
9283 "B<CAP_SETUID> ケーパビリティ (capability) が、 B<setegid>()  では "
9284 "B<CAP_SETGID> ケーパビリティがない場合に、特権がないと判断される)。"
9285
9286 #. type: Plain text
9287 #: build/C/man2/seteuid.2:91
9288 msgid "4.3BSD, POSIX.1-2001."
9289 msgstr "4.3BSD, POSIX.1-2001."
9290
9291 #. type: Plain text
9292 #: build/C/man2/seteuid.2:97
9293 msgid ""
9294 "Setting the effective user (group) ID to the saved set-user-ID (saved set-"
9295 "group-ID) is possible since Linux 1.1.37 (1.1.38).  On an arbitrary system "
9296 "one should check B<_POSIX_SAVED_IDS>."
9297 msgstr ""
9298 "実効ユーザー (グループ) ID を保存 set-user-ID (保存 set-group-ID) に 設定でき"
9299 "るのは、Linux 1.1.37 (1.1.38) 以降である。 全てのシステムにおいて "
9300 "B<_POSIX_SAVED_IDS> をチェックすべきである。"
9301
9302 #. type: Plain text
9303 #: build/C/man2/seteuid.2:108
9304 msgid ""
9305 "Under libc4, libc5 and glibc 2.0 B<seteuid(>I<euid>B<)> is equivalent to "
9306 "B<setreuid(-1,>I< euid>B<)> and hence may change the saved set-user-ID.  "
9307 "Under glibc 2.1 and later it is equivalent to B<setresuid(-1,>I< euid>B<, -1)"
9308 "> and hence does not change the saved set-user-ID.  Similar remarks hold for "
9309 "B<setegid>()."
9310 msgstr ""
9311 "libc4, libc5, glibc 2.0 では、 B<seteuid(>I<euid>B<)> は B<setreuid(-1,>I< "
9312 "euid>B<)> と等価であり、保存 set-user-ID を変更するかもしれない。 glibc 2.1 "
9313 "では、 B<setresuid(-1,>I< euid>B<, -1)> と等価であり、保存 set-user-ID 変更し"
9314 "ない。 同様のことが B<setegid>()  にも言える。"
9315
9316 #. type: Plain text
9317 #: build/C/man2/seteuid.2:117
9318 msgid ""
9319 "According to POSIX.1, B<seteuid>()  (B<setegid>())  need not permit I<euid> "
9320 "(I<egid>)  to be the same value as the current effective user (group) ID, "
9321 "and some implementations do not permit this."
9322 msgstr ""
9323 "POSIX.1 では、 B<seteuid>()  (B<setegid>())  で、 I<euid> (I<egid>)  として現"
9324 "在の実効ユーザ (グループ) ID と同じ値を指定可能である 必要はないとされてお"
9325 "り、いくつかの実装では I<euid> (I<egid>)  として現在の実効ユーザ (グループ) "
9326 "ID と同じ値を 指定することができない。"
9327
9328 #. type: Plain text
9329 #: build/C/man2/seteuid.2:124
9330 msgid ""
9331 "B<geteuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), B<capabilities>"
9332 "(7), B<credentials>(7)"
9333 msgstr ""
9334 "B<geteuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), B<capabilities>"
9335 "(7), B<credentials>(7)"
9336
9337 #. type: TH
9338 #: build/C/man2/setfsgid.2:29
9339 #, no-wrap
9340 msgid "SETFSGID"
9341 msgstr "SETFSGID"
9342
9343 #. type: Plain text
9344 #: build/C/man2/setfsgid.2:32
9345 msgid "setfsgid - set group identity used for file system checks"
9346 msgstr ""
9347 "setfsgid - ファイル・システムのチェックに用いられるグループ ID を設定する"
9348
9349 #. type: Plain text
9350 #: build/C/man2/setfsgid.2:35 build/C/man2/setfsuid.2:35
9351 msgid "B<#include E<lt>unistd.hE<gt>> /* glibc uses E<lt>sys/fsuid.hE<gt> */"
9352 msgstr "B<#include E<lt>unistd.hE<gt>> /* glibc では E<lt>sys/fsuid.hE<gt> */"
9353
9354 #. type: Plain text
9355 #: build/C/man2/setfsgid.2:37
9356 msgid "B<int setfsgid(uid_t >I<fsgid>B<);>"
9357 msgstr "B<int setfsgid(uid_t >I<fsgid>B<);>"
9358
9359 #. type: Plain text
9360 #: build/C/man2/setfsgid.2:49
9361 msgid ""
9362 "The system call B<setfsgid>()  sets the group ID that the Linux kernel uses "
9363 "to check for all accesses to the file system.  Normally, the value of "
9364 "I<fsgid> will shadow the value of the effective group ID.  In fact, whenever "
9365 "the effective group ID is changed, I<fsgid> will also be changed to the new "
9366 "value of the effective group ID."
9367 msgstr ""
9368 "システムコール B<setfsgid>()  は Linux カーネルがファイル・システムに対する "
9369 "全てのアクセスのチェックに使用するグループ IDを設定する。通常は I<fsgid> の値"
9370 "は実効 (effective) グループID と同じになる。実際、 実効グループ ID が変更され"
9371 "る度に I<fsgid> もまた新しい実効グループID の値に変更される。"
9372
9373 #. type: Plain text
9374 #: build/C/man2/setfsgid.2:60
9375 msgid ""
9376 "Explicit calls to B<setfsuid>(2)  and B<setfsgid>()  are usually only used "
9377 "by programs such as the Linux NFS server that need to change what user and "
9378 "group ID is used for file access without a corresponding change in the real "
9379 "and effective user and group IDs.  A change in the normal user IDs for a "
9380 "program such as the NFS server is a security hole that can expose it to "
9381 "unwanted signals.  (But see below.)"
9382 msgstr ""
9383 "通常、 B<setfsuid>()  や B<setfsgid>()  が明示的に呼び出されるのは、Linux "
9384 "NFS サーバー のように、 ファイル・アクセスに用いるユーザID / グループID を変"
9385 "更しなければならないが、 対応する実(real)/実効(effective) ユーザID / グループ"
9386 "ID は変更したくないような プログラムに限られる。 NFS サーバーのようなプログラ"
9387 "ムで、通常のユーザID を変更すると、 プロセスを望まないシグナルにさらす可能性"
9388 "があり、 セキュリティ・ホールになる。(下記参照)"
9389
9390 #. type: Plain text
9391 #: build/C/man2/setfsgid.2:67
9392 msgid ""
9393 "B<setfsgid>()  will only succeed if the caller is the superuser or if "
9394 "I<fsgid> matches either the real group ID, effective group ID, saved set-"
9395 "group-ID, or the current value of I<fsgid>."
9396 msgstr ""
9397 "B<setfsgid>()  は、スーパー・ユーザによって呼び出された場合か、 I<fsgid> が実"
9398 "グループID、実効グループID、 保存セットグループID (saved set-group-ID)、現在"
9399 "の I<fsgid> の値のいずれかに一致する場合にのみ成功する。"
9400
9401 #. type: Plain text
9402 #: build/C/man2/setfsgid.2:74
9403 msgid ""
9404 "On success, the previous value of I<fsgid> is returned.  On error, the "
9405 "current value of I<fsgid> is returned."
9406 msgstr ""
9407 "成功した場合、 I<fsgid> の以前の値を返す。エラーの場合は I<fsgid> の現在の値"
9408 "を返す。"
9409
9410 #.  This system call is present since Linux 1.1.44
9411 #.  and in libc since libc 4.7.6.
9412 #. type: Plain text
9413 #: build/C/man2/setfsgid.2:78 build/C/man2/setfsuid.2:78
9414 msgid "This system call is present in Linux since version 1.2."
9415 msgstr "このシステムコールはバージョン 1.2 以降の Linux に存在する。"
9416
9417 #. type: Plain text
9418 #: build/C/man2/setfsgid.2:82
9419 msgid ""
9420 "B<setfsgid>()  is Linux-specific and should not be used in programs intended "
9421 "to be portable."
9422 msgstr ""
9423 "B<setfsgid>()  は Linux 特有であり、移植を想定したプログラムで使用してはいけ"
9424 "ない。"
9425
9426 #. type: Plain text
9427 #: build/C/man2/setfsgid.2:88
9428 msgid ""
9429 "When glibc determines that the argument is not a valid group ID, it will "
9430 "return -1 and set I<errno> to B<EINVAL> without attempting the system call."
9431 msgstr ""
9432 "glibc が引き数がグループID として不正だと判断した場合は、 システム・コールを"
9433 "行わず I<errno> に B<EINVAL> を設定して -1 が返される。"
9434
9435 #. type: Plain text
9436 #: build/C/man2/setfsgid.2:92 build/C/man2/setfsuid.2:92
9437 msgid ""
9438 "Note that at the time this system call was introduced, a process could send "
9439 "a signal to a process with the same effective user ID.  Today signal "
9440 "permission handling is slightly different."
9441 msgstr ""
9442 "このシステムコールが導入された当時、プロセスは 同じ実効ユーザIDのプロセスへシ"
9443 "グナルを送ることができた。 今日では、シグナル送信権限の扱いはかなり違うものに"
9444 "なっている。"
9445
9446 #. type: Plain text
9447 #: build/C/man2/setfsgid.2:102
9448 msgid ""
9449 "The original Linux B<setfsgid>()  system call supported only 16-bit group "
9450 "IDs.  Subsequently, Linux 2.4 added B<setfsgid32>()  supporting 32-bit IDs.  "
9451 "The glibc B<setfsgid>()  wrapper function transparently deals with the "
9452 "variation across kernel versions."
9453 msgstr ""
9454
9455 #. type: Plain text
9456 #: build/C/man2/setfsgid.2:110
9457 msgid ""
9458 "No error messages of any kind are returned to the caller.  At the very "
9459 "least, B<EPERM> should be returned when the call fails (because the caller "
9460 "lacks the B<CAP_SETGID> capability)."
9461 msgstr ""
9462 "いかなる種類のエラー・メッセージも返さない。 失敗した場合は (呼び出し元には "
9463 "B<CAP_SETGID> ケーパビリティがなかったのだから) 最低でも B<EPERM> くらいは返"
9464 "すべきである。"
9465
9466 #. type: Plain text
9467 #: build/C/man2/setfsgid.2:115
9468 msgid "B<kill>(2), B<setfsuid>(2), B<capabilities>(7), B<credentials>(7)"
9469 msgstr "B<kill>(2), B<setfsuid>(2), B<capabilities>(7), B<credentials>(7)"
9470
9471 #. type: TH
9472 #: build/C/man2/setfsuid.2:29
9473 #, no-wrap
9474 msgid "SETFSUID"
9475 msgstr "SETFSUID"
9476
9477 #. type: Plain text
9478 #: build/C/man2/setfsuid.2:32
9479 msgid "setfsuid - set user identity used for file system checks"
9480 msgstr ""
9481 "setfsuid - ファイル・システムのチェックに用いられるユーザ ID を設定する"
9482
9483 #. type: Plain text
9484 #: build/C/man2/setfsuid.2:37
9485 msgid "B<int setfsuid(uid_t >I<fsuid>B<);>"
9486 msgstr "B<int setfsuid(uid_t >I<fsuid>B<);>"
9487
9488 #. type: Plain text
9489 #: build/C/man2/setfsuid.2:49
9490 msgid ""
9491 "The system call B<setfsuid>()  sets the user ID that the Linux kernel uses "
9492 "to check for all accesses to the file system.  Normally, the value of "
9493 "I<fsuid> will shadow the value of the effective user ID.  In fact, whenever "
9494 "the effective user ID is changed, I<fsuid> will also be changed to the new "
9495 "value of the effective user ID."
9496 msgstr ""
9497 "B<setfsuid>()  は Linux カーネルがファイル・システムに対する 全てのアクセスの"
9498 "チェックに使用するユーザID を設定する。通常は I<fsuid> の値は実効 "
9499 "(effective) ユーザID と同じになる。実際、 実効ユーザID が変更される度に "
9500 "I<fsuid> もまた新しい実効ユーザID の値に変更される。"
9501
9502 #. type: Plain text
9503 #: build/C/man2/setfsuid.2:60
9504 msgid ""
9505 "Explicit calls to B<setfsuid>()  and B<setfsgid>(2)  are usually only used "
9506 "by programs such as the Linux NFS server that need to change what user and "
9507 "group ID is used for file access without a corresponding change in the real "
9508 "and effective user and group IDs.  A change in the normal user IDs for a "
9509 "program such as the NFS server is a security hole that can expose it to "
9510 "unwanted signals.  (But see below.)"
9511 msgstr ""
9512 "通常、 B<setfsuid>()  や B<setfsgid>()  が明示的に呼び出されるのは、Linux "
9513 "NFS サーバー のように、 ファイル・アクセスに用いるユーザID / グループID を変"
9514 "更しなければならないが、 対応する実(real)/実効(effective) ユーザID / グループ"
9515 "ID は変更したくないような プログラムに限られる。 NFS サーバーのようなプログラ"
9516 "ムで、通常のユーザID を変更すると、 プロセスを望まないシグナルにさらす可能性"
9517 "があり、 セキュリティ・ホールになる。(下記参照)"
9518
9519 #. type: Plain text
9520 #: build/C/man2/setfsuid.2:67
9521 msgid ""
9522 "B<setfsuid>()  will only succeed if the caller is the superuser or if "
9523 "I<fsuid> matches either the real user ID, effective user ID, saved set-user-"
9524 "ID, or the current value of I<fsuid>."
9525 msgstr ""
9526 "B<setfsuid>()  は、スーパー・ユーザによって呼び出された場合か、 I<fsuid> が実"
9527 "ユーザID、実効ユーザID、 保存セットユーザID (saved set-user-ID)、現在の "
9528 "I<fsuid> の値のいずれかに一致する場合にのみ成功する。"
9529
9530 #. type: Plain text
9531 #: build/C/man2/setfsuid.2:74
9532 msgid ""
9533 "On success, the previous value of I<fsuid> is returned.  On error, the "
9534 "current value of I<fsuid> is returned."
9535 msgstr ""
9536 "成功した場合、 I<fsuid> の以前の値を返す。エラーの場合は I<fsuid> の現在の値"
9537 "を返す。"
9538
9539 #. type: Plain text
9540 #: build/C/man2/setfsuid.2:82
9541 msgid ""
9542 "B<setfsuid>()  is Linux-specific and should not be used in programs intended "
9543 "to be portable."
9544 msgstr ""
9545 "B<setfsuid>()  は Linux 特有であり、移植を想定したプログラムで使用してはいけ"
9546 "ない。"
9547
9548 #. type: Plain text
9549 #: build/C/man2/setfsuid.2:88
9550 msgid ""
9551 "When glibc determines that the argument is not a valid user ID, it will "
9552 "return -1 and set I<errno> to B<EINVAL> without attempting the system call."
9553 msgstr ""
9554 "glibc が引き数がユーザID として不正だと判断した場合は、 システム・コールを行"
9555 "わず I<errno> に B<EINVAL> を設定して -1 が返される。"
9556
9557 #. type: Plain text
9558 #: build/C/man2/setfsuid.2:102
9559 msgid ""
9560 "The original Linux B<setfsuid>()  system call supported only 16-bit user "
9561 "IDs.  Subsequently, Linux 2.4 added B<setfsuid32>()  supporting 32-bit IDs.  "
9562 "The glibc B<setfsuid>()  wrapper function transparently deals with the "
9563 "variation across kernel versions."
9564 msgstr ""
9565
9566 #. type: Plain text
9567 #: build/C/man2/setfsuid.2:110
9568 msgid ""
9569 "No error messages of any kind are returned to the caller.  At the very "
9570 "least, B<EPERM> should be returned when the call fails (because the caller "
9571 "lacks the B<CAP_SETUID> capability)."
9572 msgstr ""
9573 "いかなる種類のエラー・メッセージも呼び出し元に返さない。 失敗した場合は (呼び"
9574 "出し元には B<CAP_SETUID> ケーパビリティがなかったのだから) 最低でも B<EPERM> "
9575 "くらいは返すべきである。"
9576
9577 #. type: Plain text
9578 #: build/C/man2/setfsuid.2:115
9579 msgid "B<kill>(2), B<setfsgid>(2), B<capabilities>(7), B<credentials>(7)"
9580 msgstr "B<kill>(2), B<setfsgid>(2), B<capabilities>(7), B<credentials>(7)"
9581
9582 #. type: TH
9583 #: build/C/man2/setgid.2:27
9584 #, no-wrap
9585 msgid "SETGID"
9586 msgstr "SETGID"
9587
9588 #. type: Plain text
9589 #: build/C/man2/setgid.2:30
9590 msgid "setgid - set group identity"
9591 msgstr "setgid - グループ識別(identity)を設定する"
9592
9593 #. type: Plain text
9594 #: build/C/man2/setgid.2:36
9595 msgid "B<int setgid(gid_t >I<gid>B<);>"
9596 msgstr "B<int setgid(gid_t >I<gid>B<);>"
9597
9598 #. type: Plain text
9599 #: build/C/man2/setgid.2:41
9600 msgid ""
9601 "B<setgid>()  sets the effective group ID of the calling process.  If the "
9602 "caller is the superuser, the real GID and saved set-group-ID are also set."
9603 msgstr ""
9604 "B<setgid>()  は呼び出し元のプロセスの実効 (effective) グループID を設定す"
9605 "る。 もしスーパー・ユーザーによって呼び出された場合は、 実 (real) グループID "
9606 "と保存 (saved) set-group-ID も設定される。"
9607
9608 #. type: Plain text
9609 #: build/C/man2/setgid.2:51
9610 msgid ""
9611 "Under Linux, B<setgid>()  is implemented like the POSIX version with the "
9612 "B<_POSIX_SAVED_IDS> feature.  This allows a set-group-ID program that is not "
9613 "set-user-ID-root to drop all of its group privileges, do some un-privileged "
9614 "work, and then reengage the original effective group ID in a secure manner."
9615 msgstr ""
9616 "Linux において、 B<setgid>()  は B<_POSIX_SAVED_IDS> をもった POSIX 版のよう"
9617 "に実装されている。 これは set-user-ID-root でない set-group-ID プログラムにそ"
9618 "のグループの 特権の全て落とし、特権の必要ない仕事をし、本来の実効グループID "
9619 "に 安全な方法で再び戻すことを許す。"
9620
9621 #. type: Plain text
9622 #: build/C/man2/setgid.2:64
9623 msgid ""
9624 "The calling process is not privileged (does not have the B<CAP_SETGID> "
9625 "capability), and I<gid> does not match the real group ID or saved set-group-"
9626 "ID of the calling process."
9627 msgstr ""
9628 "呼び出し元のプロセスに権限がなく (B<CAP_SETGID> ケーパビリティがなく)、かつ "
9629 "I<gid> が呼び出し元のプロセスの実グループID と保存セットグループID のどちらと"
9630 "も一致しない。"
9631
9632 #. type: Plain text
9633 #: build/C/man2/setgid.2:74
9634 msgid ""
9635 "The original Linux B<setgid>()  system call supported only 16-bit group "
9636 "IDs.  Subsequently, Linux 2.4 added B<setgid32>()  supporting 32-bit IDs.  "
9637 "The glibc B<setgid>()  wrapper function transparently deals with the "
9638 "variation across kernel versions."
9639 msgstr ""
9640
9641 #. type: Plain text
9642 #: build/C/man2/setgid.2:82
9643 msgid ""
9644 "B<getgid>(2), B<setegid>(2), B<setregid>(2), B<capabilities>(7), "
9645 "B<credentials>(7)"
9646 msgstr ""
9647 "B<getgid>(2), B<setegid>(2), B<setregid>(2), B<capabilities>(7), "
9648 "B<credentials>(7)"
9649
9650 #. type: TH
9651 #: build/C/man2/setpgid.2:46
9652 #, no-wrap
9653 msgid "SETPGID"
9654 msgstr "SETPGID"
9655
9656 #. type: Plain text
9657 #: build/C/man2/setpgid.2:49
9658 msgid "setpgid, getpgid, setpgrp, getpgrp - set/get process group"
9659 msgstr "setpgid, getpgid, setpgrp, getpgrp - プロセスグループの設定/取得を行う"
9660
9661 #. type: Plain text
9662 #: build/C/man2/setpgid.2:53
9663 msgid "B<int setpgid(pid_t >I<pid>B<, pid_t >I<pgid>B<);>"
9664 msgstr "B<int setpgid(pid_t >I<pid>B<, pid_t >I<pgid>B<);>"
9665
9666 #. type: Plain text
9667 #: build/C/man2/setpgid.2:55
9668 msgid "B<pid_t getpgid(pid_t >I<pid>B<);>"
9669 msgstr "B<pid_t getpgid(pid_t >I<pid>B<);>"
9670
9671 #. type: Plain text
9672 #: build/C/man2/setpgid.2:57
9673 msgid "B<pid_t getpgrp(void);> /* POSIX.1 version */"
9674 msgstr "B<pid_t getpgrp(void);> /* POSIX.1 version */"
9675
9676 #. type: Plain text
9677 #: build/C/man2/setpgid.2:60
9678 msgid ""
9679 "B<pid_t getpgrp(pid_t >I<pid>B<);\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ > /* BSD "
9680 "version */"
9681 msgstr ""
9682 "B<pid_t getpgrp(pid_t >I<pid>B<);\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ > /* BSD "
9683 "version */"
9684
9685 #. type: Plain text
9686 #: build/C/man2/setpgid.2:62
9687 msgid "B<int setpgrp(void);> /* System V version */"
9688 msgstr "B<int setpgrp(void);> /* System V version */"
9689
9690 #. type: Plain text
9691 #: build/C/man2/setpgid.2:65
9692 msgid "B<int setpgrp(pid_t >I<pid>B<, pid_t >I<pgid>B<);\\ > /* BSD version */"
9693 msgstr ""
9694 "B<int setpgrp(pid_t >I<pid>B<, pid_t >I<pgid>B<);\\ > /* BSD version */"
9695
9696 #. type: Plain text
9697 #: build/C/man2/setpgid.2:74
9698 msgid "B<getpgid>():"
9699 msgstr "B<getpgid>():"
9700
9701 #. type: Plain text
9702 #: build/C/man2/setpgid.2:82
9703 msgid "B<setpgrp>() (POSIX.1):"
9704 msgstr "B<setpgrp>() (POSIX.1):"
9705
9706 #. type: Plain text
9707 #: build/C/man2/setpgid.2:85
9708 #, no-wrap
9709 msgid ""
9710 "    _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
9711 "    _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED\n"
9712 msgstr ""
9713 "    _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
9714 "    _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED\n"
9715
9716 #. type: Plain text
9717 #: build/C/man2/setpgid.2:89
9718 msgid "B<setpgrp>()\\ (BSD), B<getpgrp>()\\ (BSD):"
9719 msgstr "B<setpgrp>()\\ (BSD), B<getpgrp>()\\ (BSD):"
9720
9721 #. type: Plain text
9722 #: build/C/man2/setpgid.2:93
9723 #, no-wrap
9724 msgid ""
9725 "    _BSD_SOURCE &&\n"
9726 "        !\\ (_POSIX_SOURCE || _POSIX_C_SOURCE || _XOPEN_SOURCE ||\n"
9727 "           _XOPEN_SOURCE_EXTENDED || _GNU_SOURCE || _SVID_SOURCE)\n"
9728 msgstr ""
9729 "    _BSD_SOURCE &&\n"
9730 "        !\\ (_POSIX_SOURCE || _POSIX_C_SOURCE || _XOPEN_SOURCE ||\n"
9731 "           _XOPEN_SOURCE_EXTENDED || _GNU_SOURCE || _SVID_SOURCE)\n"
9732
9733 #. type: Plain text
9734 #: build/C/man2/setpgid.2:105
9735 msgid ""
9736 "All of these interfaces are available on Linux, and are used for getting and "
9737 "setting the process group ID (PGID) of a process.  The preferred, POSIX.1-"
9738 "specified ways of doing this are: B<getpgrp>(void), for retrieving the "
9739 "calling process's PGID; and B<setpgid>(), for setting a process's PGID."
9740 msgstr ""
9741 "これらのインタフェースすべてが Linux で利用可能で、 これらを使ってプロセスの"
9742 "プロセスグループ ID (PGID) の 取得や設定ができる。 推奨の、POSIX.1 で規定され"
9743 "た方法では、 B<getpgrp>(void)  で呼び出し元プロセスの PGID を取得し、 "
9744 "B<setpgid>()  で設定する。"
9745
9746 #. type: Plain text
9747 #: build/C/man2/setpgid.2:130
9748 msgid ""
9749 "B<setpgid>()  sets the PGID of the process specified by I<pid> to I<pgid>.  "
9750 "If I<pid> is zero, then the process ID of the calling process is used.  If "
9751 "I<pgid> is zero, then the PGID of the process specified by I<pid> is made "
9752 "the same as its process ID.  If B<setpgid>()  is used to move a process from "
9753 "one process group to another (as is done by some shells when creating "
9754 "pipelines), both process groups must be part of the same session (see "
9755 "B<setsid>(2)  and B<credentials>(7)).  In this case, the I<pgid> specifies "
9756 "an existing process group to be joined and the session ID of that group must "
9757 "match the session ID of the joining process."
9758 msgstr ""
9759 "B<setpgid>()  は I<pid> で指定したプロセスの PGID に I<pgid> を設定する。 "
9760 "I<pid> がゼロならば、呼び出し元プロセスのプロセス ID が pid として使用され"
9761 "る。 I<pgid> がゼロならば、 I<pid> で指定されたプロセスの PGID がそのプロセス"
9762 "のプロセス ID と 同じに設定される。 B<setpgid>()  をプロセスをあるプロセスグ"
9763 "ループから別のグループへ 移動するために使用する場合は (一部のシェルはパイプラ"
9764 "インを生成 する時にこれを行う)、両方のプロセスグループは同じセッションの 一部"
9765 "でなければならない (B<setsid>(2)  と B<credentials>(7)  参照)。この場合は "
9766 "I<pgid> は参加すべき既存の プロセスグループを指定し、そのセッション ID は参加"
9767 "するプロセスの セッション ID に一致しなければならない。"
9768
9769 #. type: Plain text
9770 #: build/C/man2/setpgid.2:135
9771 msgid ""
9772 "The POSIX.1 version of B<getpgrp>(), which takes no arguments, returns the "
9773 "PGID of the calling process."
9774 msgstr ""
9775 "POSIX.1 バージョンの B<getpgrp>()  は引き数を一つもとらず、 呼び出し元プロセ"
9776 "スの PGID を返す。"
9777
9778 #. type: Plain text
9779 #: build/C/man2/setpgid.2:146
9780 msgid ""
9781 "B<getpgid>()  returns the PGID of the process specified by I<pid>.  If "
9782 "I<pid> is zero, the process ID of the calling process is used.  (Retrieving "
9783 "the PGID of a process other than the caller is rarely necessary, and the "
9784 "POSIX.1 B<getpgrp>()  is preferred for that task.)"
9785 msgstr ""
9786 "B<getpgid>()  は I<pid> で指定されたプロセスの PGID を返す。 I<pid> がゼロな"
9787 "らば、呼び出し元プロセスのプロセス ID が pid として使用される。 (呼び出し元プ"
9788 "ロセス以外のプロセスの PGID の取得が必要になることは めったになく、呼び出し元"
9789 "プロセスの PGID を取得するには POSIX.1 バージョンの B<getpgrp>()  を使うのが"
9790 "望ましい。)"
9791
9792 #. type: Plain text
9793 #: build/C/man2/setpgid.2:151
9794 msgid ""
9795 "The System V-style B<setpgrp>(), which takes no arguments, is equivalent to "
9796 "I<setpgid(0,\\ 0)>."
9797 msgstr ""
9798 "System V バージョンの B<setpgrp>()  は引き数を一つもとらず、 I<setpgid(0,\\ "
9799 "0)> と等価である。"
9800
9801 #.  The true BSD setpgrp() system call differs in allowing the PGID
9802 #.  to be set to arbitrary values, rather than being restricted to
9803 #.  PGIDs in the same session.
9804 #. type: Plain text
9805 #: build/C/man2/setpgid.2:163
9806 msgid ""
9807 "The BSD-specific B<setpgrp>()  call, which takes arguments I<pid> and "
9808 "I<pgid>, is equivalent to I<setpgid(pid, pgid)>."
9809 msgstr ""
9810 "BSD 仕様の B<setpgrp>()  は I<pid> と I<pgid> を引き数にとり、 I<setpgid"
9811 "(pid, pgid)> と等価である。"
9812
9813 #. type: Plain text
9814 #: build/C/man2/setpgid.2:170
9815 msgid ""
9816 "The BSD-specific B<getpgrp>()  call, which takes a single I<pid> argument, "
9817 "is equivalent to I<getpgid(pid)>."
9818 msgstr ""
9819 "BSD 仕様の B<getpgrp>()  は I<pid> だけを引き数にとり、 I<getpgid(pid)> と等"
9820 "価である。"
9821
9822 #. type: Plain text
9823 #: build/C/man2/setpgid.2:179
9824 msgid ""
9825 "On success, B<setpgid>()  and B<setpgrp>()  return zero.  On error, -1 is "
9826 "returned, and I<errno> is set appropriately."
9827 msgstr ""
9828 "B<setpgid>()  と B<setpgrp>()  は成功した場合、ゼロを返す。エラーの場合は -1 "
9829 "を返し、 I<errno> が適切に設定される。"
9830
9831 #. type: Plain text
9832 #: build/C/man2/setpgid.2:183
9833 msgid "The POSIX.1 B<getpgrp>()  always returns the PGID of the caller."
9834 msgstr ""
9835 "POSIX.1 バージョンの B<getpgrp>()  は常に呼び出しプロセスの PGID を返す。"
9836
9837 #. type: Plain text
9838 #: build/C/man2/setpgid.2:191
9839 msgid ""
9840 "B<getpgid>(), and the BSD-specific B<getpgrp>()  return a process group on "
9841 "success.  On error, -1 is returned, and I<errno> is set appropriately."
9842 msgstr ""
9843 "B<getpgid>()  と BSD 仕様の B<getpgrp>()  は成功した場合プロセスグループを返"
9844 "す。 エラーの場合は -1 を返し、 I<errno> が適切に設定される。"
9845
9846 #. type: Plain text
9847 #: build/C/man2/setpgid.2:200
9848 msgid ""
9849 "An attempt was made to change the process group ID of one of the children of "
9850 "the calling process and the child had already performed an B<execve>(2)  "
9851 "(B<setpgid>(), B<setpgrp>())."
9852 msgstr ""
9853 "呼び出し元プロセスの子プロセスのプロセスグループ ID を変更しようとしたが、 す"
9854 "でにその子プロセスは B<execve>(2)  を実行していた。 (B<setpgid>(), B<setpgrp>"
9855 "())"
9856
9857 #. type: Plain text
9858 #: build/C/man2/setpgid.2:206
9859 msgid "I<pgid> is less than 0 (B<setpgid>(), B<setpgrp>())."
9860 msgstr "I<pgid> が 0 より小さい。 (B<setpgid>(), B<setpgrp>())"
9861
9862 #. type: Plain text
9863 #: build/C/man2/setpgid.2:215
9864 msgid ""
9865 "An attempt was made to move a process into a process group in a different "
9866 "session, or to change the process group ID of one of the children of the "
9867 "calling process and the child was in a different session, or to change the "
9868 "process group ID of a session leader (B<setpgid>(), B<setpgrp>())."
9869 msgstr ""
9870 "プロセスを異なるセッションのプロセスグループに移動させようとした。 または呼び"
9871 "出し元プロセスの子プロセスのプロセスグループ ID を変更しようと したが、その子"
9872 "プロセスは別のセッションだった。 またはセッションリーダーのプロセスグループ "
9873 "ID を変更しようとした。 (B<setpgid>(), B<setpgrp>())"
9874
9875 #. type: Plain text
9876 #: build/C/man2/setpgid.2:225
9877 msgid ""
9878 "For B<getpgid>(): I<pid> does not match any process.  For B<setpgid>(): "
9879 "I<pid> is not the calling process and not a child of the calling process."
9880 msgstr ""
9881 "B<getpgid>()  の場合: I<pid> がどのプロセスにも一致しない。 B<setpgid>()  の"
9882 "場合: I<pid> が呼び出し元のプロセスではなく、呼び出し元のプロセスの子プロセス"
9883 "でもない。"
9884
9885 #. type: Plain text
9886 #: build/C/man2/setpgid.2:231
9887 msgid ""
9888 "B<setpgid>()  and the version of B<getpgrp>()  with no arguments conform to "
9889 "POSIX.1-2001."
9890 msgstr ""
9891 "B<setpgid>()  と、引き数なしバージョンの B<getpgrp>()  は POSIX.1-2001 に準拠"
9892 "している。"
9893
9894 #. type: Plain text
9895 #: build/C/man2/setpgid.2:240
9896 msgid ""
9897 "POSIX.1-2001 also specifies B<getpgid>()  and the version of B<setpgrp>()  "
9898 "that takes no arguments.  (POSIX.1-2008 marks this B<setpgrp>()  "
9899 "specification as obsolete.)"
9900 msgstr ""
9901 "POSIX.1-2001 は、 B<getpgid>()  と、引き数なしバージョンの B<setpgrp>()  も規"
9902 "定している。 POSIX.1-2008 は、この B<setpgrp>()  の仕様を廃止予定としている。"
9903
9904 #. type: Plain text
9905 #: build/C/man2/setpgid.2:247
9906 msgid ""
9907 "The version of B<getpgrp>()  with one argument and the version of B<setpgrp>"
9908 "()  that takes two arguments derive from 4.2BSD, and are not specified by "
9909 "POSIX.1."
9910 msgstr ""
9911 "引き数 1 個バージョンの B<getpgrp>()  と引き数 2 個バージョンの B<setpgrp>"
9912 "()  は 4.2BSD に由来し、 POSIX.1 では規定されていない。"
9913
9914 #. type: Plain text
9915 #: build/C/man2/setpgid.2:253
9916 msgid ""
9917 "A child created via B<fork>(2)  inherits its parent's process group ID.  The "
9918 "PGID is preserved across an B<execve>(2)."
9919 msgstr ""
9920 "B<fork>(2)  で作成された子プロセスは、親プロセスの PGID を継承する。 "
9921 "B<execve>(2)  の前後で PGID は保存される。"
9922
9923 #. type: Plain text
9924 #: build/C/man2/setpgid.2:256
9925 msgid ""
9926 "Each process group is a member of a session and each process is a member of "
9927 "the session of which its process group is a member."
9928 msgstr ""
9929 "各プロセスグループはセッションのメンバーであり、各プロセスは そのプロセスグ"
9930 "ループが所属しているセッションのメンバーである。"
9931
9932 #. type: Plain text
9933 #: build/C/man2/setpgid.2:283
9934 msgid ""
9935 "A session can have a controlling terminal.  At any time, one (and only one) "
9936 "of the process groups in the session can be the foreground process group for "
9937 "the terminal; the remaining process groups are in the background.  If a "
9938 "signal is generated from the terminal (e.g., typing the interrupt key to "
9939 "generate B<SIGINT>), that signal is sent to the foreground process group.  "
9940 "(See B<termios>(3)  for a description of the characters that generate "
9941 "signals.)  Only the foreground process group may B<read>(2)  from the "
9942 "terminal; if a background process group tries to B<read>(2)  from the "
9943 "terminal, then the group is sent a B<SIGTSTP> signal, which suspends it.  "
9944 "The B<tcgetpgrp>(3)  and B<tcsetpgrp>(3)  functions are used to get/set the "
9945 "foreground process group of the controlling terminal."
9946 msgstr ""
9947 "セッションは制御端末 (controlling terminal) を持つことができる。 いつでも、"
9948 "セッションに所属するプロセスグループの一つ (だけ) が 端末のフォアグランドのプ"
9949 "ロセスグループになることができ、 残りのプロセスグループはバックグラウンドにな"
9950 "る。 端末からシグナルが生成された場合 (例えば、中断キーを叩いて B<SIGINT> が"
9951 "生成されるなど)、そのシグナルはフォアグラウンドのプロセスグループ に送られる "
9952 "(シグナルを生成する文字の説明は B<termios>(3)  を参照)。 フォアグラウンドのプ"
9953 "ロセスグループだけが端末からの B<read>(2)  ができる。 バックグラウンドのプロ"
9954 "セスグループが端末からの B<read>(2)  を行おうとした場合、そのプロセスグループ"
9955 "にはシグナル B<SIGTSTP> が送られ、そのプロセスグループは一時停止 (suspend) す"
9956 "る。 関数 B<tcgetpgrp>(3)  と B<tcsetpgrp>(3)  を使うと、制御端末のフォアグラ"
9957 "ウンドのプロセスグループを 取得/設定できる。"
9958
9959 #. type: Plain text
9960 #: build/C/man2/setpgid.2:291
9961 msgid ""
9962 "The B<setpgid>()  and B<getpgrp>()  calls are used by programs such as "
9963 "B<bash>(1)  to create process groups in order to implement shell job control."
9964 msgstr ""
9965 "B<setpgid>()  と B<getpgrp>()  は、 B<bash>(1)  のようなプログラムで、シェル"
9966 "のジョブ制御 (job control) の実装のための プロセスグループを作成するのに使わ"
9967 "れる。"
9968
9969 #. type: Plain text
9970 #: build/C/man2/setpgid.2:301
9971 msgid ""
9972 "If a session has a controlling terminal, and the B<CLOCAL> flag for that "
9973 "terminal is not set, and a terminal hangup occurs, then the session leader "
9974 "is sent a B<SIGHUP>.  If the session leader exits, then a B<SIGHUP> signal "
9975 "will also be sent to each process in the foreground process group of the "
9976 "controlling terminal."
9977 msgstr ""
9978 "セッションが制御端末を持っていて、その端末に対して B<CLOCAL> フラグが設定され"
9979 "ておらず、端末のハングアップが起きた場合、 セッション・リーダーに B<SIGHUP> "
9980 "が送られる。 セッション・リーダーが終了した場合には、その制御端末の フォアグ"
9981 "ランドのプロセスグループに所属する各プロセスにも B<SIGHUP> シグナルが送られ"
9982 "る。"
9983
9984 #.  exit.3 refers to the following text:
9985 #. type: Plain text
9986 #: build/C/man2/setpgid.2:315
9987 msgid ""
9988 "If the exit of the process causes a process group to become orphaned, and if "
9989 "any member of the newly orphaned process group is stopped, then a B<SIGHUP> "
9990 "signal followed by a B<SIGCONT> signal will be sent to each process in the "
9991 "newly orphaned process group.  An orphaned process group is one in which the "
9992 "parent of every member of process group is either itself also a member of "
9993 "the process group or is a member of a process group in a different session "
9994 "(see also B<credentials>(7))."
9995 msgstr ""
9996 "プロセスの終了によってプロセスグループが孤児 (orphaned) になった際に、 その新"
9997 "たに孤児になったプロセスグループに停止しているメンバーがいれば、 その孤児に"
9998 "なったプロセスグループに属す全てのプロセスに B<SIGHUP> シグナルに続けて "
9999 "B<SIGCONT> シグナルが送られる。 孤児になった (orphaned) プロセスグループと"
10000 "は、 そのプロセスグループの全てのメンバーについて、メンバーの親プロセスが、 "
10001 "親プロセス自身もそのプロセスグループのメンバーか、 別のセッションに属すプロセ"
10002 "スグループのメンバーのいずれかであるような、 プロセスグループのことである。"
10003
10004 #. type: Plain text
10005 #: build/C/man2/setpgid.2:322
10006 msgid ""
10007 "B<getuid>(2), B<setsid>(2), B<tcgetpgrp>(3), B<tcsetpgrp>(3), B<termios>(3), "
10008 "B<credentials>(7)"
10009 msgstr ""
10010 "B<getuid>(2), B<setsid>(2), B<tcgetpgrp>(3), B<tcsetpgrp>(3), B<termios>(3), "
10011 "B<credentials>(7)"
10012
10013 #. type: TH
10014 #: build/C/man2/setresuid.2:26
10015 #, no-wrap
10016 msgid "SETRESUID"
10017 msgstr "SETRESUID"
10018
10019 #. type: Plain text
10020 #: build/C/man2/setresuid.2:29
10021 msgid "setresuid, setresgid - set real, effective and saved user or group ID"
10022 msgstr "setresuid, setresgid - ユーザやグループの 実、実効、保存 ID を設定する"
10023
10024 #. type: Plain text
10025 #: build/C/man2/setresuid.2:35
10026 msgid "B<int setresuid(uid_t >I<ruid>B<, uid_t >I<euid>B<, uid_t >I<suid>B<);>"
10027 msgstr ""
10028 "B<int setresuid(uid_t >I<ruid>B<, uid_t >I<euid>B<, uid_t >I<suid>B<);>"
10029
10030 #. type: Plain text
10031 #: build/C/man2/setresuid.2:37
10032 msgid "B<int setresgid(gid_t >I<rgid>B<, gid_t >I<egid>B<, gid_t >I<sgid>B<);>"
10033 msgstr ""
10034 "B<int setresgid(gid_t >I<rgid>B<, gid_t >I<egid>B<, gid_t >I<sgid>B<);>"
10035
10036 #. type: Plain text
10037 #: build/C/man2/setresuid.2:41
10038 msgid ""
10039 "B<setresuid>()  sets the real user ID, the effective user ID, and the saved "
10040 "set-user-ID of the calling process."
10041 msgstr ""
10042 "B<setresuid>()  は呼び出し元のプロセスの実 (real) ユーザーID、実効 "
10043 "(effective) ユーザーID、 保存 set-user-ID を設定する。"
10044
10045 #. type: Plain text
10046 #: build/C/man2/setresuid.2:47
10047 msgid ""
10048 "Unprivileged user processes may change the real UID, effective UID, and "
10049 "saved set-user-ID, each to one of: the current real UID, the current "
10050 "effective UID or the current saved set-user-ID."
10051 msgstr ""
10052 "非特権ユーザーのプロセスは、その実 UID、実効 UID、保存 set-user-ID を、 現在"
10053 "の実 UID、現在の実効 UID、現在の保存 set-user-ID のどれかに変更することができ"
10054 "る:"
10055
10056 #. type: Plain text
10057 #: build/C/man2/setresuid.2:51
10058 msgid ""
10059 "Privileged processes (on Linux, those having the B<CAP_SETUID> capability)  "
10060 "may set the real UID, effective UID, and saved set-user-ID to arbitrary "
10061 "values."
10062 msgstr ""
10063 "特権プロセス (Linux では B<CAP_SETUID> ケーパビリティ (capability) を持つ プ"
10064 "ロセス) は、実 UID、実効 UID、保存 set-user-ID を任意の値に設定できる。"
10065
10066 #. type: Plain text
10067 #: build/C/man2/setresuid.2:53
10068 msgid ""
10069 "If one of the arguments equals -1, the corresponding value is not changed."
10070 msgstr "引き数のどれかが -1 の場合はその値は変更されずに残される。"
10071
10072 #. type: Plain text
10073 #: build/C/man2/setresuid.2:57
10074 msgid ""
10075 "Regardless of what changes are made to the real UID, effective UID, and "
10076 "saved set-user-ID, the file system UID is always set to the same value as "
10077 "the (possibly new) effective UID."
10078 msgstr ""
10079 "実 UID、実効 UID、保存 set-user-ID にどんな変更が行われたかに関わらず、 ファ"
10080 "イルシステム UID は常に実効 UID (可能であれば変更後の新しい実効 UID)  と同じ"
10081 "値に設定される。"
10082
10083 #. type: Plain text
10084 #: build/C/man2/setresuid.2:64
10085 msgid ""
10086 "Completely analogously, B<setresgid>()  sets the real GID, effective GID, "
10087 "and saved set-group-ID of the calling process (and always modifies the file "
10088 "system GID to be the same as the effective GID), with the same restrictions "
10089 "for unprivileged processes."
10090 msgstr ""
10091 "全く同じように、 B<setresgid>()  は呼び出し元のプロセスの実 GID、実効 GID、保"
10092 "存 set-group-ID を設定する (さらにファイルシステム GID を実効 GID と同じ値に"
10093 "修正する)。 非特権プロセスは同様の制限を受ける。"
10094
10095 #. type: TP
10096 #: build/C/man2/setresuid.2:70 build/C/man2/setuid.2:74
10097 #, no-wrap
10098 msgid "B<EAGAIN>"
10099 msgstr "B<EAGAIN>"
10100
10101 #. type: Plain text
10102 #: build/C/man2/setresuid.2:77
10103 msgid ""
10104 "I<uid> does not match the current UID and this call would bring that user ID "
10105 "over its B<RLIMIT_NPROC> resource limit."
10106 msgstr ""
10107 "I<uid> が現在のユーザー ID と違う値で、 この呼び出しにより ユーザー ID が リ"
10108 "ソース上限 B<RLIMIT_NPROC> を超えてしまう。"
10109
10110 #. type: Plain text
10111 #: build/C/man2/setresuid.2:81
10112 msgid ""
10113 "The calling process is not privileged (did not have the B<CAP_SETUID> "
10114 "capability) and tried to change the IDs to values that are not permitted."
10115 msgstr ""
10116 "呼び出したプロセスが特権を持たないのに (B<CAP_SETUID> ケーパビリティを持たな"
10117 "いのに)、 ID を許されていない値に変更しようとした。"
10118
10119 #. type: Plain text
10120 #: build/C/man2/setresuid.2:83
10121 msgid "These calls are available under Linux since Linux 2.1.44."
10122 msgstr "Linux ではバージョン 2.1.44 より利用可能になった。"
10123
10124 #. type: Plain text
10125 #: build/C/man2/setresuid.2:90
10126 #, fuzzy
10127 #| msgid ""
10128 #| "Under HP-UX and FreeBSD the prototype is found in I<E<lt>unistd.hE<gt>>.  "
10129 #| "Under Linux the prototype is provided by glibc since version 2.3.2."
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 msgstr ""
10134 "HP-UX や FreeBSD では I<E<lt>unistd.hE<gt>> にプロトタイプが存在する。 Linux "
10135 "では、glibc 2.3.2 以降で プロトタイプが提供されている。"
10136
10137 #. type: Plain text
10138 #: build/C/man2/setresuid.2:106
10139 msgid ""
10140 "The original Linux B<setresuid>()  and B<setresgid>()  system calls "
10141 "supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
10142 "B<setresuid32>()  and B<setresgid32>(), supporting 32-bit IDs.  The glibc "
10143 "B<setresuid>()  and B<setresgid>()  wrapper functions transparently deal "
10144 "with the variations across kernel versions."
10145 msgstr ""
10146
10147 #. type: Plain text
10148 #: build/C/man2/setresuid.2:115
10149 msgid ""
10150 "B<getresuid>(2), B<getuid>(2), B<setfsgid>(2), B<setfsuid>(2), B<setreuid>"
10151 "(2), B<setuid>(2), B<capabilities>(7), B<credentials>(7)"
10152 msgstr ""
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
10156 #. type: TH
10157 #: build/C/man2/setreuid.2:43
10158 #, no-wrap
10159 msgid "SETREUID"
10160 msgstr "SETREUID"
10161
10162 #. type: Plain text
10163 #: build/C/man2/setreuid.2:46
10164 msgid "setreuid, setregid - set real and/or effective user or group ID"
10165 msgstr ""
10166 "setreuid, setregid - 実 (real) と実効 (effective) ユーザー (グループ) ID を設"
10167 "定する"
10168
10169 #. type: Plain text
10170 #: build/C/man2/setreuid.2:52
10171 msgid "B<int setreuid(uid_t >I<ruid>B<, uid_t >I<euid>B<);>"
10172 msgstr "B<int setreuid(uid_t >I<ruid>B<, uid_t >I<euid>B<);>"
10173
10174 #. type: Plain text
10175 #: build/C/man2/setreuid.2:54
10176 msgid "B<int setregid(gid_t >I<rgid>B<, gid_t >I<egid>B<);>"
10177 msgstr "B<int setregid(gid_t >I<rgid>B<, gid_t >I<egid>B<);>"
10178
10179 #. type: Plain text
10180 #: build/C/man2/setreuid.2:62
10181 msgid "B<setreuid>(), B<setregid>():"
10182 msgstr "B<setreuid>(), B<setregid>():"
10183
10184 #. type: Plain text
10185 #: build/C/man2/setreuid.2:66
10186 msgid ""
10187 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
10188 "_XOPEN_SOURCE_EXTENDED"
10189 msgstr ""
10190 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
10191 "_XOPEN_SOURCE_EXTENDED"
10192
10193 #. type: Plain text
10194 #: build/C/man2/setreuid.2:71
10195 msgid "B<setreuid>()  sets real and effective user IDs of the calling process."
10196 msgstr ""
10197 "B<setreuid>()  は呼び出し元のプロセスの実 (real) ユーザー ID と 実効 "
10198 "(effective) ユーザー ID を設定する。"
10199
10200 #. type: Plain text
10201 #: build/C/man2/setreuid.2:74
10202 msgid ""
10203 "Supplying a value of -1 for either the real or effective user ID forces the "
10204 "system to leave that ID unchanged."
10205 msgstr ""
10206 "実ユーザー ID や実効ユーザー ID に -1 を与えた場合、 システムはその ID を変更"
10207 "しない。"
10208
10209 #. type: Plain text
10210 #: build/C/man2/setreuid.2:77
10211 msgid ""
10212 "Unprivileged processes may only set the effective user ID to the real user "
10213 "ID, the effective user ID, or the saved set-user-ID."
10214 msgstr ""
10215 "非特権プロセスは実効ユーザー ID を実ユーザー ID または実効ユーザー ID または "
10216 "保存 set-user-ID にしか設定できない。"
10217
10218 #. type: Plain text
10219 #: build/C/man2/setreuid.2:80
10220 msgid ""
10221 "Unprivileged users may only set the real user ID to the real user ID or the "
10222 "effective user ID."
10223 msgstr ""
10224 "非特権ユーザーは、実ユーザー ID を実ユーザー ID または 実効ユーザー ID にしか"
10225 "設定できない。"
10226
10227 #. type: Plain text
10228 #: build/C/man2/setreuid.2:84
10229 msgid ""
10230 "If the real user ID is set or the effective user ID is set to a value not "
10231 "equal to the previous real user ID, the saved set-user-ID will be set to the "
10232 "new effective user ID."
10233 msgstr ""
10234 "実ユーザーID が設定されたり、実効ユーザーID が前の実ユーザーID と 異った値に"
10235 "設定された場合、保存 set-user-ID には新しい実効ユーザーID の値が設定される。"
10236
10237 #. type: Plain text
10238 #: build/C/man2/setreuid.2:89
10239 msgid ""
10240 "Completely analogously, B<setregid>()  sets real and effective group ID's of "
10241 "the calling process, and all of the above holds with \"group\" instead of "
10242 "\"user\"."
10243 msgstr ""
10244 "これと全く同様に、 B<setregid>()  は呼び出し元のプロセスの実グループ ID と実"
10245 "効グループ ID を設定し、 上記の説明で「ユーザー」を「グループ」に読み替えたこ"
10246 "とが成り立つ。"
10247
10248 #. type: Plain text
10249 #: build/C/man2/setreuid.2:111
10250 msgid ""
10251 "The calling process is not privileged (Linux: does not have the "
10252 "B<CAP_SETUID> capability in the case of B<setreuid>(), or the B<CAP_SETGID> "
10253 "capability in the case of B<setregid>())  and a change other than (i)  "
10254 "swapping the effective user (group) ID with the real user (group) ID, or "
10255 "(ii) setting one to the value of the other or (iii) setting the effective "
10256 "user (group) ID to the value of the saved set-user-ID (saved set-group-ID) "
10257 "was specified."
10258 msgstr ""
10259 "呼び出し元のプロセスに特権がなく (Linux では B<setreuid>()  の場合に "
10260 "B<CAP_SETUID> ケーパビリティ (capability) がなく、 B<setregid>()  の場合に "
10261 "B<CAP_SETGID> ケーパビリティがない)、 以下のいずれでもない変更が指定された: "
10262 "(i) 実効ユーザー (グループ) ID と実ユーザー (グループ) ID を入れ換える。 "
10263 "(ii) 片方の値を他方に設定する。 (iii) 実効ユーザー (グループ) ID に保存 set-"
10264 "user-ID (保存 set-group-ID)  の値を設定する。"
10265
10266 #. type: Plain text
10267 #: build/C/man2/setreuid.2:117
10268 msgid ""
10269 "POSIX.1-2001, 4.3BSD (the B<setreuid>()  and B<setregid>()  function calls "
10270 "first appeared in 4.2BSD)."
10271 msgstr ""
10272 "POSIX.1-2001, 4.3BSD (B<setreuid>()  と B<setregid>()  関数コールは 4.2BSD で"
10273 "登場した)。"
10274
10275 #. type: Plain text
10276 #: build/C/man2/setreuid.2:121
10277 msgid ""
10278 "Setting the effective user (group) ID to the saved set-user-ID (saved set-"
10279 "group-ID) is possible since Linux 1.1.37 (1.1.38)."
10280 msgstr ""
10281 "実効ユーザー (グループ) ID を保存ユーザー (グループ) ID に 設定することが、"
10282 "Linux 1.1.37 (1.1.38) から可能になった。"
10283
10284 #. type: Plain text
10285 #: build/C/man2/setreuid.2:138
10286 msgid ""
10287 "POSIX.1 does not specify all of possible ID changes that are permitted on "
10288 "Linux for an unprivileged process.  For B<setreuid>(), the effective user ID "
10289 "can be made the same as the real user ID or the save set-user-ID, and it is "
10290 "unspecified whether unprivileged processes may set the real user ID to the "
10291 "real user ID, the effective user ID, or the saved set-user-ID.  For "
10292 "B<setregid>(), the real group ID can be changed to the value of the saved "
10293 "set-group-ID, and the effective group ID can be changed to the value of the "
10294 "real group ID or the saved set-group-ID.  The precise details of what ID "
10295 "changes are permitted vary across implementations."
10296 msgstr ""
10297 "POSIX.1 では、非特権プロセスに対して Linux 上で認められている ID の変更の 全"
10298 "パターンを規定しているわけではない。 B<setreuid>()  では、実効ユーザ ID を実"
10299 "ユーザ ID もしくは保存 set-user-ID と 同じ値にすることができるが、 非特権プロ"
10300 "セスが実ユーザ ID を実ユーザ ID、実効ユーザ ID、 保存 set-user-ID のどの値に"
10301 "も設定できるかは規定されていない。 B<setregid>()  では、実グループ ID を保存 "
10302 "set-group-ID と同じ値に変更でき、 実効グループ ID を実グループ ID や保存 set-"
10303 "group-ID と同じ値に変更できる。 どのような ID の変更が認められているかの正確"
10304 "な詳細は 実装ごとに異なる。"
10305
10306 #. type: Plain text
10307 #: build/C/man2/setreuid.2:141
10308 msgid ""
10309 "POSIX.1 makes no specification about the effect of these calls on the saved "
10310 "set-user-ID and saved set-group-ID."
10311 msgstr ""
10312 "POSIX.1 では、これらのシステムコールが保存 set-user-ID や 保存 set-group-ID "
10313 "に与える影響については規定していない。"
10314
10315 #. type: Plain text
10316 #: build/C/man2/setreuid.2:157
10317 msgid ""
10318 "The original Linux B<setreuid>()  and B<setregid>()  system calls supported "
10319 "only 16-bit user and group IDs.  Subsequently, Linux 2.4 added B<setreuid32>"
10320 "()  and B<setregid32>(), supporting 32-bit IDs.  The glibc B<setreuid>()  "
10321 "and B<setregid>()  wrapper functions transparently deal with the variations "
10322 "across kernel versions."
10323 msgstr ""
10324
10325 #. type: Plain text
10326 #: build/C/man2/setreuid.2:165
10327 msgid ""
10328 "B<getgid>(2), B<getuid>(2), B<seteuid>(2), B<setgid>(2), B<setresuid>(2), "
10329 "B<setuid>(2), B<capabilities>(7)"
10330 msgstr ""
10331 "B<getgid>(2), B<getuid>(2), B<seteuid>(2), B<setgid>(2), B<setresuid>(2), "
10332 "B<setuid>(2), B<capabilities>(7)"
10333
10334 #. type: TH
10335 #: build/C/man2/setsid.2:29
10336 #, no-wrap
10337 msgid "SETSID"
10338 msgstr "SETSID"
10339
10340 #. type: TH
10341 #: build/C/man2/setsid.2:29
10342 #, no-wrap
10343 msgid "2008-12-03"
10344 msgstr "2008-12-03"
10345
10346 #. type: Plain text
10347 #: build/C/man2/setsid.2:32
10348 msgid "setsid - creates a session and sets the process group ID"
10349 msgstr ""
10350 "setsid - セッション (session) を作成し、プロセス・グループ ID を設定する"
10351
10352 #. type: Plain text
10353 #: build/C/man2/setsid.2:37
10354 msgid "B<pid_t setsid(void);>"
10355 msgstr "B<pid_t setsid(void);>"
10356
10357 #. type: Plain text
10358 #: build/C/man2/setsid.2:50
10359 msgid ""
10360 "B<setsid>()  creates a new session if the calling process is not a process "
10361 "group leader.  The calling process is the leader of the new session, the "
10362 "process group leader of the new process group, and has no controlling tty.  "
10363 "The process group ID and session ID of the calling process are set to the "
10364 "PID of the calling process.  The calling process will be the only process in "
10365 "this new process group and in this new session."
10366 msgstr ""
10367 "B<setsid>()  は呼び出したプロセスがプロセス・グループ・リーダー (process "
10368 "group leader) でなければ、新しいセッションを作成する。 呼び出したプロセスは新"
10369 "しいセッションのリーダー、新しいプロセス・グループの プロセス・グループ・リー"
10370 "ダーとなり、tty の制御を持たない。 呼び出したプロセスのプロセス・グループ ID "
10371 "とセッション ID には、 呼び出したプロセスの PID が設定される。呼び出したプロ"
10372 "セスはこの 新しいプロセス・グループ、この新しいセッションの唯一のプロセスとな"
10373 "る。"
10374
10375 #. type: Plain text
10376 #: build/C/man2/setsid.2:57
10377 msgid ""
10378 "On success, the (new) session ID of the calling process is returned.  On "
10379 "error, I<(pid_t)\\ -1> is returned, and I<errno> is set to indicate the "
10380 "error."
10381 msgstr ""
10382 "成功すると、呼び出したプロセスの (新しい) セッション ID が返される。 エラーの"
10383 "場合は、 I<(pid_t)\\ -1> が返され、 I<error> にエラーを示す値が設定される。"
10384
10385 #. type: Plain text
10386 #: build/C/man2/setsid.2:64
10387 msgid ""
10388 "The process group ID of any process equals the PID of the calling process.  "
10389 "Thus, in particular, B<setsid>()  fails if the calling process is already a "
10390 "process group leader."
10391 msgstr ""
10392 "いずれかのプロセスのプロセス・グループ ID が、 呼び出したプロセスの PID と等"
10393 "しい。 これは、呼び出したプロセスが既にプロセス・リーダーの場合には B<setsid>"
10394 "()  は失敗することを意味する。"
10395
10396 #. type: Plain text
10397 #: build/C/man2/setsid.2:72
10398 msgid ""
10399 "A child created via B<fork>(2)  inherits its parent's session ID.  The "
10400 "session ID is preserved across an B<execve>(2)."
10401 msgstr ""
10402 "B<fork>(2)  で作成された子プロセスは、親プロセスのセッション ID を継承する。 "
10403 "B<execve>(2)  の前後でセッション ID は保存される。"
10404
10405 #. type: Plain text
10406 #: build/C/man2/setsid.2:83
10407 msgid ""
10408 "A process group leader is a process with process group ID equal to its PID.  "
10409 "In order to be sure that B<setsid>()  will succeed, B<fork>(2)  and B<_exit>"
10410 "(2), and have the child do B<setsid>()."
10411 msgstr ""
10412 "プロセス・グループ・リーダーとは、そのプロセスのプロセス・グループ ID が そ"
10413 "の PID に等しいプロセスである。 B<setsid>()  を確実に成功させるためには、 "
10414 "B<fork>(2)  して B<exit>(2)  し、子プロセスで B<setsid>()  を行なえば良い。"
10415
10416 #. type: Plain text
10417 #: build/C/man2/setsid.2:89
10418 msgid ""
10419 "B<getsid>(2), B<setpgid>(2), B<setpgrp>(2), B<tcgetsid>(3), B<credentials>(7)"
10420 msgstr ""
10421 "B<getsid>(2), B<setpgid>(2), B<setpgrp>(2), B<tcgetsid>(3), B<credentials>(7)"
10422
10423 #. type: TH
10424 #: build/C/man2/setuid.2:28
10425 #, no-wrap
10426 msgid "SETUID"
10427 msgstr "SETUID"
10428
10429 #. type: Plain text
10430 #: build/C/man2/setuid.2:31
10431 msgid "setuid - set user identity"
10432 msgstr "setuid - ユーザー識別 (identity) を設定する"
10433
10434 #. type: Plain text
10435 #: build/C/man2/setuid.2:37
10436 msgid "B<int setuid(uid_t >I<uid>B<);>"
10437 msgstr "B<int setuid(uid_t >I<uid>B<);>"
10438
10439 #. type: Plain text
10440 #: build/C/man2/setuid.2:42
10441 msgid ""
10442 "B<setuid>()  sets the effective user ID of the calling process.  If the "
10443 "effective UID of the caller is root, the real UID and saved set-user-ID are "
10444 "also set."
10445 msgstr ""
10446 "B<setuid>()  は呼び出し元のプロセスの実効 (effective) ユーザー ID を設定す"
10447 "る。 もし呼び出し元プロセスの実効 UID が root ならば、 実 (real) UID と保存 "
10448 "(saved) set-user-ID も設定される。"
10449
10450 #. type: Plain text
10451 #: build/C/man2/setuid.2:51
10452 msgid ""
10453 "Under Linux, B<setuid>()  is implemented like the POSIX version with the "
10454 "B<_POSIX_SAVED_IDS> feature.  This allows a set-user-ID (other than root) "
10455 "program to drop all of its user privileges, do some un-privileged work, and "
10456 "then reengage the original effective user ID in a secure manner."
10457 msgstr ""
10458 "Linux では、 B<setuid>()  は B<_POSIX_SAVED_IDS> をもった POSIX 版のように実"
10459 "装されている。 これは (ルート以外の) set-user-ID プログラムにそのユーザーの特"
10460 "権を 全て与え、特権の必要ない仕事をし、本来の実効ユーザー ID に 安全な方法で"
10461 "再び戻すことを許す。"
10462
10463 #. type: Plain text
10464 #: build/C/man2/setuid.2:61
10465 msgid ""
10466 "If the user is root or the program is set-user-ID-root, special care must be "
10467 "taken.  The B<setuid>()  function checks the effective user ID of the caller "
10468 "and if it is the superuser, all process-related user ID's are set to "
10469 "I<uid>.  After this has occurred, it is impossible for the program to regain "
10470 "root privileges."
10471 msgstr ""
10472 "ユーザーが root またはプログラムが root に set-user-ID されているならば、 特"
10473 "別の注意が払われる。 B<setuid>()  関数は呼び出し者の実効ユーザー ID をチェッ"
10474 "クし、 それがスーパー・ユーザーならば、 プロセスに関連する全てのユーザー ID "
10475 "に I<uid> を設定する。 これが行なわれた後にはプログラムが再びルートの特権を得"
10476 "ることはできない。"
10477
10478 #. type: Plain text
10479 #: build/C/man2/setuid.2:68
10480 msgid ""
10481 "Thus, a set-user-ID-root program wishing to temporarily drop root "
10482 "privileges, assume the identity of an unprivileged user, and then regain "
10483 "root privileges afterward cannot use B<setuid>().  You can accomplish this "
10484 "with B<seteuid>(2)."
10485 msgstr ""
10486 "したがって、set-user-ID-root プログラムで、一時的にルート特権を解除し、 非特"
10487 "権ユーザであるかのように振舞い、後でルート権限をもう一度得ようと する場合に"
10488 "は、 B<setuid>()  を使うことができない。その場合には、 B<seteuid>(2)  を使う"
10489 "必要がある。"
10490
10491 #. type: Plain text
10492 #: build/C/man2/setuid.2:83
10493 msgid ""
10494 "The I<uid> does not match the current uid and I<uid> brings process over its "
10495 "B<RLIMIT_NPROC> resource limit."
10496 msgstr ""
10497 "I<uid> が現在のユーザー ID とマッチせず、この I<uid> によってプロセスがリソー"
10498 "ス上限 B<RLIMIT_NPROC> を超えた。"
10499
10500 #. type: Plain text
10501 #: build/C/man2/setuid.2:90
10502 msgid ""
10503 "The user is not privileged (Linux: does not have the B<CAP_SETUID> "
10504 "capability) and I<uid> does not match the real UID or saved set-user-ID of "
10505 "the calling process."
10506 msgstr ""
10507 "ユーザーが特権を持たず (Linux では B<CAP_SETUID> ケーパビリティ (capability) "
10508 "を持たず)、 I<uid> が呼び出し元プロセスの実 UID または保存 set-user-ID と一致"
10509 "しない。"
10510
10511 #.  SVr4 documents an additional EINVAL error condition.
10512 #. type: Plain text
10513 #: build/C/man2/setuid.2:95
10514 msgid ""
10515 "SVr4, POSIX.1-2001.  Not quite compatible with the 4.4BSD call, which sets "
10516 "all of the real, saved, and effective user IDs."
10517 msgstr ""
10518 "SVr4, POSIX.1-2001.  4.4BSD のコールとは完全な互換性はない、 BSD のコールは"
10519 "実 (real)、保存 (saved)、実効 (effective) ID の全てを設定する。"
10520
10521 #. type: Plain text
10522 #: build/C/man2/setuid.2:103
10523 #, fuzzy
10524 #| msgid ""
10525 #| "Linux has the concept of file system user ID, normally equal to the "
10526 #| "effective user ID.  The B<setuid>()  call also sets the file system user "
10527 #| "ID of the calling process.  See B<setfsuid>(2)."
10528 msgid ""
10529 "Linux has the concept of the file system user ID, normally equal to the "
10530 "effective user ID.  The B<setuid>()  call also sets the file system user ID "
10531 "of the calling process.  See B<setfsuid>(2)."
10532 msgstr ""
10533 "Linux はファイル・システム・ユーザー ID の概念を持つ。 通常、これは実効ユー"
10534 "ザー ID に等しい。 B<setuid>()  コールは呼び出し元のプロセスのファイル・シス"
10535 "テム・ユーザー ID も設定する。 B<setfsuid>(2)  も参照すること。"
10536
10537 #. type: Plain text
10538 #: build/C/man2/setuid.2:108
10539 #, fuzzy
10540 #| msgid ""
10541 #| "If I<uid> is different from the old effective uid, the process will be "
10542 #| "forbidden from leaving core dumps."
10543 msgid ""
10544 "If I<uid> is different from the old effective UID, the process will be "
10545 "forbidden from leaving core dumps."
10546 msgstr ""
10547 "I<uid> が昔の実効 uid と異っていた場合、プロセスはコア・ダンプすることを 禁止"
10548 "される。"
10549
10550 #. type: Plain text
10551 #: build/C/man2/setuid.2:118
10552 msgid ""
10553 "The original Linux B<setuid>()  system call supported only 16-bit user IDs.  "
10554 "Subsequently, Linux 2.4 added B<setuid32>()  supporting 32-bit IDs.  The "
10555 "glibc B<setuid>()  wrapper function transparently deals with the variation "
10556 "across kernel versions."
10557 msgstr ""
10558
10559 #. type: Plain text
10560 #: build/C/man2/setuid.2:125
10561 msgid ""
10562 "B<getuid>(2), B<seteuid>(2), B<setfsuid>(2), B<setreuid>(2), B<capabilities>"
10563 "(7), B<credentials>(7)"
10564 msgstr ""
10565 "B<getuid>(2), B<seteuid>(2), B<setfsuid>(2), B<setreuid>(2), B<capabilities>"
10566 "(7), B<credentials>(7)"
10567
10568 #. type: TH
10569 #: build/C/man7/svipc.7:25
10570 #, no-wrap
10571 msgid "SVIPC"
10572 msgstr "SVIPC"
10573
10574 #. type: TH
10575 #: build/C/man7/svipc.7:25
10576 #, no-wrap
10577 msgid "2009-01-26"
10578 msgstr "2009-01-26"
10579
10580 #. type: Plain text
10581 #: build/C/man7/svipc.7:28
10582 msgid "svipc - System V interprocess communication mechanisms"
10583 msgstr "svipc - System V プロセス間通信機構"
10584
10585 #. type: Plain text
10586 #: build/C/man7/svipc.7:35
10587 #, no-wrap
10588 msgid ""
10589 "B<#include E<lt>sys/types.hE<gt>>\n"
10590 "B<#include E<lt>sys/ipc.hE<gt>>\n"
10591 "B<#include E<lt>sys/msg.hE<gt>>\n"
10592 "B<#include E<lt>sys/sem.hE<gt>>\n"
10593 "B<#include E<lt>sys/shm.hE<gt>>\n"
10594 msgstr ""
10595 "B<#include E<lt>sys/types.hE<gt>>\n"
10596 "B<#include E<lt>sys/ipc.hE<gt>>\n"
10597 "B<#include E<lt>sys/msg.hE<gt>>\n"
10598 "B<#include E<lt>sys/sem.hE<gt>>\n"
10599 "B<#include E<lt>sys/shm.hE<gt>>\n"
10600
10601 #. type: Plain text
10602 #: build/C/man7/svipc.7:43
10603 msgid ""
10604 "This manual page refers to the Linux implementation of the System V "
10605 "interprocess communication (IPC) mechanisms: message queues, semaphore sets, "
10606 "and shared memory segments.  In the following, the word I<resource> means an "
10607 "instantiation of one among such mechanisms."
10608 msgstr ""
10609 "このマニュアル・ページは System V プロセス間通信 (interprocess "
10610 "communication; IPC) 機構の Linux に おける実装を説明する。 このプロセス間通信"
10611 "機構には、 メッセージ・キュー (message queue)、セマフォー集合 (semaphore "
10612 "set)、 共有メモリ・セグメント (shared memory segment) などがある。以下で I<資"
10613 "源 (resource)> という用語を使用した場合にはこれらの機構のどれかを意味する。"
10614
10615 #. type: SS
10616 #: build/C/man7/svipc.7:43
10617 #, no-wrap
10618 msgid "Resource Access Permissions"
10619 msgstr "資源へのアクセス許可"
10620
10621 #. type: Plain text
10622 #: build/C/man7/svipc.7:53
10623 msgid ""
10624 "For each resource, the system uses a common structure of type I<struct "
10625 "ipc_perm> to store information needed in determining permissions to perform "
10626 "an IPC operation.  The I<ipc_perm> structure, defined by the I<E<lt>sys/ipc."
10627 "hE<gt>> system header file, includes the following members:"
10628 msgstr ""
10629 "システムのそれぞれの資源は、IPC への操作を許可するかどうかを決定する ための情"
10630 "報を共通の構造体 I<struct ipc_perm> に格納して使用する。 I<ipc_perm> 構造体"
10631 "は、ヘッダーファイルの I<E<lt>sys/ipc.hE<gt>> に定義されており、以下のメン"
10632 "バーが含まれている:"
10633
10634 #. type: Plain text
10635 #: build/C/man7/svipc.7:63
10636 #, no-wrap
10637 msgid ""
10638 "struct ipc_perm {\n"
10639 "    uid_t          cuid;   /* creator user ID */\n"
10640 "    gid_t          cgid;   /* creator group ID */\n"
10641 "    uid_t          uid;    /* owner user ID */\n"
10642 "    gid_t          gid;    /* owner group ID */\n"
10643 "    unsigned short mode;   /* r/w permissions */\n"
10644 "};\n"
10645 msgstr ""
10646 "struct ipc_perm {\n"
10647 "    uid_t          cuid;   /* 作成者のユーザーID */\n"
10648 "    gid_t          cgid;   /* 作成者のグループID */\n"
10649 "    uid_t          uid;    /* 所有者のユーザーID */\n"
10650 "    gid_t          gid;    /* 所有者のグループID */\n"
10651 "    unsigned short mode;   /* 読み書きの許可 */\n"
10652 "};\n"
10653
10654 #. type: Plain text
10655 #: build/C/man7/svipc.7:73
10656 msgid ""
10657 "The I<mode> member of the I<ipc_perm> structure defines, with its lower 9 "
10658 "bits, the access permissions to the resource for a process executing an IPC "
10659 "system call.  The permissions are interpreted as follows:"
10660 msgstr ""
10661 "I<ipc_perm> 構造体の I<mode> メンバーは以下の 9 ビットで、プロセスの IPC シス"
10662 "テム・コール による資源へのアクセス許可を定義する。 許可は以下のように解釈さ"
10663 "れる:"
10664
10665 #. type: Plain text
10666 #: build/C/man7/svipc.7:77
10667 #, no-wrap
10668 msgid ""
10669 "    0400    Read by user.\n"
10670 "    0200    Write by user.\n"
10671 msgstr ""
10672 "    0400    ユーザーによる読み込み。\n"
10673 "    0200    ユーザーによる書き込み。\n"
10674
10675 #. type: Plain text
10676 #: build/C/man7/svipc.7:80
10677 #, no-wrap
10678 msgid ""
10679 "    0040    Read by group.\n"
10680 "    0020    Write by group.\n"
10681 msgstr ""
10682 "    0040    グループによる読み込み。\n"
10683 "    0020    グループによる書き込み。\n"
10684
10685 #. type: Plain text
10686 #: build/C/man7/svipc.7:83
10687 #, no-wrap
10688 msgid ""
10689 "    0004    Read by others.\n"
10690 "    0002    Write by others.\n"
10691 msgstr ""
10692 "    0004    他人による読み込み。\n"
10693 "    0002    他人による書き込み。\n"
10694
10695 #. type: Plain text
10696 #: build/C/man7/svipc.7:91
10697 msgid ""
10698 "Bits 0100, 0010, and 0001 (the execute bits) are unused by the system.  "
10699 "Furthermore, \"write\" effectively means \"alter\" for a semaphore set."
10700 msgstr ""
10701 "システムはビット 0100, 0010, 0001 (実行ビット) は使用しない。 さらに、セマ"
10702 "フォーの場合には \"書き込み(write)\" は実際には \"変更(alter)\" を意味する。"
10703
10704 #. type: Plain text
10705 #: build/C/man7/svipc.7:94
10706 msgid ""
10707 "The same system header file also defines the following symbolic constants:"
10708 msgstr "同じヘッダーファイルには以下のシンボルの定義が含まれている:"
10709
10710 #. type: TP
10711 #: build/C/man7/svipc.7:94
10712 #, no-wrap
10713 msgid "B<IPC_CREAT>"
10714 msgstr "B<IPC_CREAT>"
10715
10716 #. type: Plain text
10717 #: build/C/man7/svipc.7:97
10718 msgid "Create entry if key doesn't exist."
10719 msgstr "キー(key)が存在しない場合には新たなエントリを作成する。"
10720
10721 #. type: TP
10722 #: build/C/man7/svipc.7:97
10723 #, no-wrap
10724 msgid "B<IPC_EXCL>"
10725 msgstr "B<IPC_EXCL>"
10726
10727 #. type: Plain text
10728 #: build/C/man7/svipc.7:100
10729 msgid "Fail if key exists."
10730 msgstr "キー(key)が存在する場合には失敗する。"
10731
10732 #. type: TP
10733 #: build/C/man7/svipc.7:100
10734 #, no-wrap
10735 msgid "B<IPC_NOWAIT>"
10736 msgstr "B<IPC_NOWAIT>"
10737
10738 #. type: Plain text
10739 #: build/C/man7/svipc.7:103
10740 msgid "Error if request must wait."
10741 msgstr "要求が待たされる場合にはエラーになる。"
10742
10743 #. type: TP
10744 #: build/C/man7/svipc.7:103
10745 #, no-wrap
10746 msgid "B<IPC_PRIVATE>"
10747 msgstr "B<IPC_PRIVATE>"
10748
10749 #. type: Plain text
10750 #: build/C/man7/svipc.7:106
10751 msgid "Private key."
10752 msgstr "プライベート・キー。"
10753
10754 #. type: TP
10755 #: build/C/man7/svipc.7:106
10756 #, no-wrap
10757 msgid "B<IPC_RMID>"
10758 msgstr "B<IPC_RMID>"
10759
10760 #. type: Plain text
10761 #: build/C/man7/svipc.7:109
10762 msgid "Remove resource."
10763 msgstr "資源を削除する。"
10764
10765 #. type: TP
10766 #: build/C/man7/svipc.7:109
10767 #, no-wrap
10768 msgid "B<IPC_SET>"
10769 msgstr "B<IPC_SET>"
10770
10771 #. type: Plain text
10772 #: build/C/man7/svipc.7:112
10773 msgid "Set resource options."
10774 msgstr "資源にオプションを設定する。"
10775
10776 #. type: TP
10777 #: build/C/man7/svipc.7:112
10778 #, no-wrap
10779 msgid "B<IPC_STAT>"
10780 msgstr "B<IPC_STAT>"
10781
10782 #. type: Plain text
10783 #: build/C/man7/svipc.7:115
10784 msgid "Get resource options."
10785 msgstr "資源のオプションを取得する。"
10786
10787 #. type: Plain text
10788 #: build/C/man7/svipc.7:124
10789 msgid ""
10790 "Note that B<IPC_PRIVATE> is a I<key_t> type, while all the other symbolic "
10791 "constants are flag fields and can be OR'ed into an I<int> type variable."
10792 msgstr ""
10793 "B<IPC_PRIVATE> は I<key_t> 型である。その他の全てのシンボルはフラグ・フィール"
10794 "ドとして I<int> 変数に OR 演算で格納することができる。"
10795
10796 #. type: SS
10797 #: build/C/man7/svipc.7:124
10798 #, no-wrap
10799 msgid "Message Queues"
10800 msgstr "メッセージ・キュー"
10801
10802 #. type: Plain text
10803 #: build/C/man7/svipc.7:132
10804 msgid ""
10805 "A message queue is uniquely identified by a positive integer (its I<msqid>)  "
10806 "and has an associated data structure of type I<struct msqid_ds>, defined in "
10807 "I<E<lt>sys/msg.hE<gt>>, containing the following members:"
10808 msgstr ""
10809 "メッセージ・キューは正の整数 (I<msqid>)  によって識別され、 I<E<lt>sys/msg."
10810 "hE<gt>> に定義されている構造体 I<struct msqid_ds> に結びつけられている。 この"
10811 "構造体は以下のメンバーを含んでいる:"
10812
10813 #. type: Plain text
10814 #: build/C/man7/svipc.7:145
10815 #, no-wrap
10816 msgid ""
10817 "struct msqid_ds {\n"
10818 "    struct ipc_perm msg_perm;\n"
10819 "    msgqnum_t       msg_qnum;    /* no of messages on queue */\n"
10820 "    msglen_t        msg_qbytes;  /* bytes max on a queue */\n"
10821 "    pid_t           msg_lspid;   /* PID of last msgsnd(2) call */\n"
10822 "    pid_t           msg_lrpid;   /* PID of last msgrcv(2) call */\n"
10823 "    time_t          msg_stime;   /* last msgsnd(2) time */\n"
10824 "    time_t          msg_rtime;   /* last msgrcv(2) time */\n"
10825 "    time_t          msg_ctime;   /* last change time */\n"
10826 "};\n"
10827 msgstr ""
10828 "struct msqid_ds {\n"
10829 "    struct ipc_perm msg_perm;\n"
10830 "    msgqnum_t       msg_qnum;    /* キューにあるメッセージの数 */\n"
10831 "    msglen_t        msg_qbytes;  /* キューの最大バイト数 */\n"
10832 "    pid_t           msg_lspid;   /* 最後に msgsnd(2) をした PID */\n"
10833 "    pid_t           msg_lrpid;   /* 最後に msgrcv(2) をした PID */\n"
10834 "    time_t          msg_stime;   /* 最後に msgsnd(2) をした時間 */\n"
10835 "    time_t          msg_rtime;   /* 最後に msgrcv(2) をした時間 */\n"
10836 "    time_t          msg_ctime;   /* 最後に変更された時間 */\n"
10837 "};\n"
10838
10839 #. type: TP
10840 #: build/C/man7/svipc.7:147
10841 #, no-wrap
10842 msgid "I<msg_perm>"
10843 msgstr "I<msg_perm>"
10844
10845 #. type: Plain text
10846 #: build/C/man7/svipc.7:152
10847 msgid ""
10848 "I<ipc_perm> structure that specifies the access permissions on the message "
10849 "queue."
10850 msgstr "メッセージ・キューへのアクセス許可を指定する I<ipc_perm> 構造体。"
10851
10852 #. type: TP
10853 #: build/C/man7/svipc.7:152
10854 #, no-wrap
10855 msgid "I<msg_qnum>"
10856 msgstr "I<msg_qnum>"
10857
10858 #. type: Plain text
10859 #: build/C/man7/svipc.7:155
10860 msgid "Number of messages currently on the message queue."
10861 msgstr "現在、このメッセージ・キューにあるメッセージの数。"
10862
10863 #. type: TP
10864 #: build/C/man7/svipc.7:155
10865 #, no-wrap
10866 msgid "I<msg_qbytes>"
10867 msgstr "I<msg_qbytes>"
10868
10869 #. type: Plain text
10870 #: build/C/man7/svipc.7:159
10871 msgid "Maximum number of bytes of message text allowed on the message queue."
10872 msgstr "メッセージ・キューに入れることができるメッセージの最大バイト数。"
10873
10874 #. type: TP
10875 #: build/C/man7/svipc.7:159
10876 #, no-wrap
10877 msgid "I<msg_lspid>"
10878 msgstr "I<msg_lspid>"
10879
10880 #. type: Plain text
10881 #: build/C/man7/svipc.7:164
10882 msgid "ID of the process that performed the last B<msgsnd>(2)  system call."
10883 msgstr "最後に B<msgsnd>(2)  システム・コールを行なったプロセスの ID。"
10884
10885 #. type: TP
10886 #: build/C/man7/svipc.7:164
10887 #, no-wrap
10888 msgid "I<msg_lrpid>"
10889 msgstr "I<msg_lrpid>"
10890
10891 #. type: Plain text
10892 #: build/C/man7/svipc.7:169
10893 msgid "ID of the process that performed the last B<msgrcv>(2)  system call."
10894 msgstr "最後に B<msgrcv>(2)  システム・コールを行なったプロセスの ID。"
10895
10896 #. type: TP
10897 #: build/C/man7/svipc.7:169
10898 #, no-wrap
10899 msgid "I<msg_stime>"
10900 msgstr "I<msg_stime>"
10901
10902 #. type: Plain text
10903 #: build/C/man7/svipc.7:174
10904 msgid "Time of the last B<msgsnd>(2)  system call."
10905 msgstr "最後に B<msgsnd>(2)  システム・コールを行なった時間。"
10906
10907 #. type: TP
10908 #: build/C/man7/svipc.7:174
10909 #, no-wrap
10910 msgid "I<msg_rtime>"
10911 msgstr "I<msg_rtime>"
10912
10913 #. type: Plain text
10914 #: build/C/man7/svipc.7:179
10915 msgid "Time of the last B<msgrcv>(2)  system call."
10916 msgstr "最後に B<msgrcv>(2)  を行なった時間。"
10917
10918 #. type: TP
10919 #: build/C/man7/svipc.7:179
10920 #, no-wrap
10921 msgid "I<msg_ctime>"
10922 msgstr "I<msg_ctime>"
10923
10924 #. type: Plain text
10925 #: build/C/man7/svipc.7:185
10926 msgid ""
10927 "Time of the last system call that changed a member of the I<msqid_ds> "
10928 "structure."
10929 msgstr "最後に I<msqid_ds> 構造体のメンバーが変更された時間。"
10930
10931 #. type: SS
10932 #: build/C/man7/svipc.7:185
10933 #, no-wrap
10934 msgid "Semaphore Sets"
10935 msgstr "セマフォー集合"
10936
10937 #. type: Plain text
10938 #: build/C/man7/svipc.7:193
10939 msgid ""
10940 "A semaphore set is uniquely identified by a positive integer (its I<semid>)  "
10941 "and has an associated data structure of type I<struct semid_ds>, defined in "
10942 "I<E<lt>sys/sem.hE<gt>>, containing the following members:"
10943 msgstr ""
10944 "セマフォー集合は正の整数 (I<semid>)  によって識別され、 I<E<lt>sys/sem."
10945 "hE<gt>> に定義されている構造体 I<struct semid_ds> に結びつけられている。 この"
10946 "構造体は以下のメンバーを含んでいる:"
10947
10948 #. type: Plain text
10949 #: build/C/man7/svipc.7:202
10950 #, no-wrap
10951 msgid ""
10952 "struct semid_ds {\n"
10953 "    struct ipc_perm sem_perm;\n"
10954 "    time_t          sem_otime;   /* last operation time */\n"
10955 "    time_t          sem_ctime;   /* last change time */\n"
10956 "    unsigned long   sem_nsems;   /* count of sems in set */\n"
10957 "};\n"
10958 msgstr ""
10959 "struct semid_ds {\n"
10960 "    struct ipc_perm sem_perm;\n"
10961 "    time_t          sem_otime;   /* 最後に操作した時間 */\n"
10962 "    time_t          sem_ctime;   /* 最後に変更した時間 */\n"
10963 "    unsigned long   sem_nsems;   /* 集合の中にあるセマフォー数 */\n"
10964 "};\n"
10965
10966 #. type: TP
10967 #: build/C/man7/svipc.7:204
10968 #, no-wrap
10969 msgid "I<sem_perm>"
10970 msgstr "I<sem_perm>"
10971
10972 #. type: Plain text
10973 #: build/C/man7/svipc.7:209
10974 msgid ""
10975 "I<ipc_perm> structure that specifies the access permissions on the semaphore "
10976 "set."
10977 msgstr "セマフォー集合へのアクセス許可を指定する I<ipc_perm> 構造体。"
10978
10979 #. type: TP
10980 #: build/C/man7/svipc.7:209
10981 #, no-wrap
10982 msgid "I<sem_otime>"
10983 msgstr "I<sem_otime>"
10984
10985 #. type: Plain text
10986 #: build/C/man7/svipc.7:214
10987 msgid "Time of last B<semop>(2)  system call."
10988 msgstr "最後に B<semop>(2)  システム・コールを行なった時間。"
10989
10990 #. type: TP
10991 #: build/C/man7/svipc.7:214
10992 #, no-wrap
10993 msgid "I<sem_ctime>"
10994 msgstr "I<sem_ctime>"
10995
10996 #. type: Plain text
10997 #: build/C/man7/svipc.7:220
10998 msgid ""
10999 "Time of last B<semctl>(2)  system call that changed a member of the above "
11000 "structure or of one semaphore belonging to the set."
11001 msgstr ""
11002 "最後に B<semctl>(2)  を行なって上記の構造体のメンバーを変更するか、セマフォー"
11003 "集合に属する セマフォーを変更した時間。"
11004
11005 #. type: TP
11006 #: build/C/man7/svipc.7:220
11007 #, no-wrap
11008 msgid "I<sem_nsems>"
11009 msgstr "I<sem_nsems>"
11010
11011 #. type: Plain text
11012 #: build/C/man7/svipc.7:228
11013 msgid ""
11014 "Number of semaphores in the set.  Each semaphore of the set is referenced by "
11015 "a nonnegative integer ranging from B<0> to I<sem_nsems-1>."
11016 msgstr ""
11017 "セマフォー集合の中にあるセマフォーの数。 集合の中にあるそれぞれのセマフォーは"
11018 "負でない整数によって参照され、 B<0> から I<sem_nsems-1> までの番号を持つ。"
11019
11020 #. type: Plain text
11021 #: build/C/man7/svipc.7:232
11022 msgid ""
11023 "A semaphore is a data structure of type I<struct sem> containing the "
11024 "following members:"
11025 msgstr ""
11026 "セマフォーは I<struct sem> 型のデータ構造体であり、以下のメンバーを含んでい"
11027 "る:"
11028
11029 #.     unsigned short semncnt; /* nr awaiting semval to increase */
11030 #.     unsigned short semzcnt; /* nr awaiting semval = 0 */
11031 #. type: Plain text
11032 #: build/C/man7/svipc.7:241
11033 #, no-wrap
11034 msgid ""
11035 "struct sem {\n"
11036 "    int semval;  /* semaphore value */\n"
11037 "    int sempid;  /* PID for last operation */\n"
11038 "};\n"
11039 msgstr ""
11040 "struct sem {\n"
11041 "    int semval;  /* セマフォーの値 */\n"
11042 "    int sempid;  /* 最後に操作したプロセス ID */\n"
11043 "};\n"
11044
11045 #. type: TP
11046 #: build/C/man7/svipc.7:243
11047 #, no-wrap
11048 msgid "I<semval>"
11049 msgstr "I<semval>"
11050
11051 #. type: Plain text
11052 #: build/C/man7/svipc.7:246
11053 msgid "Semaphore value: a nonnegative integer."
11054 msgstr "セマフォー値: 負でない整数。"
11055
11056 #. type: TP
11057 #: build/C/man7/svipc.7:246
11058 #, no-wrap
11059 msgid "I<sempid>"
11060 msgstr "I<sempid>"
11061
11062 #. .TP
11063 #. .I semncnt
11064 #. Number of processes suspended awaiting for
11065 #. .I semval
11066 #. to increase.
11067 #. .TP
11068 #. .I semznt
11069 #. Number of processes suspended awaiting for
11070 #. .I semval
11071 #. to become zero.
11072 #. type: Plain text
11073 #: build/C/man7/svipc.7:260
11074 msgid ""
11075 "ID of the last process that performed a semaphore operation on this "
11076 "semaphore."
11077 msgstr "このセマフォーを最後に操作したプロセスの ID。"
11078
11079 #. type: SS
11080 #: build/C/man7/svipc.7:260
11081 #, no-wrap
11082 msgid "Shared Memory Segments"
11083 msgstr "共有メモリ・セグメント"
11084
11085 #. type: Plain text
11086 #: build/C/man7/svipc.7:268
11087 msgid ""
11088 "A shared memory segment is uniquely identified by a positive integer (its "
11089 "I<shmid>)  and has an associated data structure of type I<struct shmid_ds>, "
11090 "defined in I<E<lt>sys/shm.hE<gt>>, containing the following members:"
11091 msgstr ""
11092 "共有メモリ・セグメトは正の整数 (I<shmid>)  によって識別され、 I<E<lt>sys/shm."
11093 "hE<gt>> に定義されている I<struct shmid_ds> 構造体に結びつけられている。 この"
11094 "構造体は以下のメンバーを含んでいる:"
11095
11096 #. type: Plain text
11097 #: build/C/man7/svipc.7:281
11098 #, no-wrap
11099 msgid ""
11100 "struct shmid_ds {\n"
11101 "    struct ipc_perm shm_perm;\n"
11102 "    size_t          shm_segsz;   /* size of segment */\n"
11103 "    pid_t           shm_cpid;    /* PID of creator */\n"
11104 "    pid_t           shm_lpid;    /* PID, last operation */\n"
11105 "    shmatt_t        shm_nattch;  /* no. of current attaches */\n"
11106 "    time_t          shm_atime;   /* time of last attach */\n"
11107 "    time_t          shm_dtime;   /* time of last detach */\n"
11108 "    time_t          shm_ctime;   /* time of last change */\n"
11109 "};\n"
11110 msgstr ""
11111 "struct shmid_ds {\n"
11112 "    struct ipc_perm shm_perm;\n"
11113 "    size_t          shm_segsz;   /* セグメントのサイズ */\n"
11114 "    pid_t           shm_cpid;    /* 作成者のプロセス ID */\n"
11115 "    pid_t           shm_lpid;    /* 最後に操作したプロセス ID */\n"
11116 "    shmatt_t        shm_nattch;  /* 現在、付加している数 */\n"
11117 "    time_t          shm_atime;   /* 最後に付加した時間 */\n"
11118 "    time_t          shm_dtime;   /* 最後に分離した時間 */\n"
11119 "    time_t          shm_ctime;   /* 最後に変更した時間 */\n"
11120 "};\n"
11121
11122 #. type: TP
11123 #: build/C/man7/svipc.7:283
11124 #, no-wrap
11125 msgid "I<shm_perm>"
11126 msgstr "I<shm_perm>"
11127
11128 #. type: Plain text
11129 #: build/C/man7/svipc.7:288
11130 msgid ""
11131 "I<ipc_perm> structure that specifies the access permissions on the shared "
11132 "memory segment."
11133 msgstr "共有メモリ・セグメントへのアクセス許可を指定した I<ipc_perm> 構造体。"
11134
11135 #. type: TP
11136 #: build/C/man7/svipc.7:288
11137 #, no-wrap
11138 msgid "I<shm_segsz>"
11139 msgstr "I<shm_segsz>"
11140
11141 #. type: Plain text
11142 #: build/C/man7/svipc.7:291
11143 msgid "Size in bytes of the shared memory segment."
11144 msgstr "共有メモリ・セグメントのバイト数。"
11145
11146 #. type: TP
11147 #: build/C/man7/svipc.7:291
11148 #, no-wrap
11149 msgid "I<shm_cpid>"
11150 msgstr "I<shm_cpid>"
11151
11152 #. type: Plain text
11153 #: build/C/man7/svipc.7:294
11154 msgid "ID of the process that created the shared memory segment."
11155 msgstr "共有メモリ・セグメントを作成したプロセスの ID。"
11156
11157 #. type: TP
11158 #: build/C/man7/svipc.7:294
11159 #, no-wrap
11160 msgid "I<shm_lpid>"
11161 msgstr "I<shm_lpid>"
11162
11163 #. type: Plain text
11164 #: build/C/man7/svipc.7:301
11165 msgid ""
11166 "ID of the last process that executed a B<shmat>(2)  or B<shmdt>(2)  system "
11167 "call."
11168 msgstr ""
11169 "最後に B<shmat>(2)  または B<shmdt>(2)  システム・コールを実行したプロセスの "
11170 "ID。"
11171
11172 #. type: TP
11173 #: build/C/man7/svipc.7:301
11174 #, no-wrap
11175 msgid "I<shm_nattch>"
11176 msgstr "I<shm_nattch>"
11177
11178 #. type: Plain text
11179 #: build/C/man7/svipc.7:304
11180 msgid "Number of current alive attaches for this shared memory segment."
11181 msgstr ""
11182 "この共有メモリ・セグメントをメモリに付加 (attach) しているプロセスの数。"
11183
11184 #. type: TP
11185 #: build/C/man7/svipc.7:304
11186 #, no-wrap
11187 msgid "I<shm_atime>"
11188 msgstr "I<shm_atime>"
11189
11190 #. type: Plain text
11191 #: build/C/man7/svipc.7:309
11192 msgid "Time of the last B<shmat>(2)  system call."
11193 msgstr "最後に B<shmat>(2)  システム・コールを行なった時間。"
11194
11195 #. type: TP
11196 #: build/C/man7/svipc.7:309
11197 #, no-wrap
11198 msgid "I<shm_dtime>"
11199 msgstr "I<shm_dtime>"
11200
11201 #. type: Plain text
11202 #: build/C/man7/svipc.7:314
11203 msgid "Time of the last B<shmdt>(2)  system call."
11204 msgstr "最後に B<shmdt>(2)  システム・コールを行なった時間。"
11205
11206 #. type: TP
11207 #: build/C/man7/svipc.7:314
11208 #, no-wrap
11209 msgid "I<shm_ctime>"
11210 msgstr "I<shm_ctime>"
11211
11212 #. type: Plain text
11213 #: build/C/man7/svipc.7:320
11214 msgid "Time of the last B<shmctl>(2)  system call that changed I<shmid_ds>."
11215 msgstr ""
11216 "最後に B<shmctl>(2)  システム・コールを行なって、 I<shmid_ds> 構造体を変更し"
11217 "た時間。"
11218
11219 #. type: Plain text
11220 #: build/C/man7/svipc.7:334
11221 msgid ""
11222 "B<ipc>(2), B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>"
11223 "(2), B<semget>(2), B<semop>(2), B<shmat>(2), B<shmctl>(2), B<shmdt>(2), "
11224 "B<shmget>(2), B<ftok>(3)"
11225 msgstr ""
11226 "B<ipc>(2), B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>"
11227 "(2), B<semget>(2), B<semop>(2), B<shmat>(2), B<shmctl>(2), B<shmdt>(2), "
11228 "B<shmget>(2), B<ftok>(3)"
11229
11230 #. type: TH
11231 #: build/C/man3/ulimit.3:27
11232 #, no-wrap
11233 msgid "ULIMIT"
11234 msgstr "ULIMIT"
11235
11236 #. type: TH
11237 #: build/C/man3/ulimit.3:27
11238 #, no-wrap
11239 msgid "2008-08-06"
11240 msgstr "2008-08-06"
11241
11242 #. type: Plain text
11243 #: build/C/man3/ulimit.3:30
11244 msgid "ulimit - get and set user limits"
11245 msgstr "ulimit - ユーザー制限を取得・設定する"
11246
11247 #. type: Plain text
11248 #: build/C/man3/ulimit.3:32
11249 msgid "B<#include E<lt>ulimit.hE<gt>>"
11250 msgstr "B<#include E<lt>ulimit.hE<gt>>"
11251
11252 #. type: Plain text
11253 #: build/C/man3/ulimit.3:34
11254 msgid "B<long ulimit(int >I<cmd>B<, long >I<newlimit>B<);>"
11255 msgstr "B<long ulimit(int >I<cmd>B<, long >I<newlimit>B<);>"
11256
11257 #. type: Plain text
11258 #: build/C/man3/ulimit.3:46
11259 msgid ""
11260 "Warning: This routine is obsolete.  Use B<getrlimit>(2), B<setrlimit>(2), "
11261 "and B<sysconf>(3)  instead.  For the shell command B<ulimit>(), see B<bash>"
11262 "(1)."
11263 msgstr ""
11264 "注意: このルーチンは古い。 代わりに B<getrlimit>(2), B<setrlimit>(2), "
11265 "B<sysconf>(3)  などを用いること。 シェルコマンドとしての B<ulimit>()  につい"
11266 "ては、 B<bash>(1)  を見ること。"
11267
11268 #. type: Plain text
11269 #: build/C/man3/ulimit.3:53
11270 msgid ""
11271 "The B<ulimit>()  call will get or set some limit for the calling process.  "
11272 "The I<cmd> argument can have one of the following values."
11273 msgstr ""
11274 "B<ulimit>()  は呼び出し元のプロセスに関する制限のいくつかを取得・設定する。 "
11275 "I<cmd> 引き数には、以下の値のうちのどれか一つを与えることができる。"
11276
11277 #. type: TP
11278 #: build/C/man3/ulimit.3:53
11279 #, no-wrap
11280 msgid "B<UL_GETFSIZE>"
11281 msgstr "B<UL_GETFSIZE>"
11282
11283 #. type: Plain text
11284 #: build/C/man3/ulimit.3:56
11285 msgid "Return the limit on the size of a file, in units of 512 bytes."
11286 msgstr "ファイルサイズに関する制限を返す。単位は 512 バイト。"
11287
11288 #. type: TP
11289 #: build/C/man3/ulimit.3:56
11290 #, no-wrap
11291 msgid "B<UL_SETFSIZE>"
11292 msgstr "B<UL_SETFSIZE>"
11293
11294 #. type: Plain text
11295 #: build/C/man3/ulimit.3:59
11296 msgid "Set the limit on the size of a file."
11297 msgstr "ファイルサイズに関する制限を設定する。"
11298
11299 #. type: TP
11300 #: build/C/man3/ulimit.3:59
11301 #, no-wrap
11302 msgid "B<3>"
11303 msgstr "B<3>"
11304
11305 #. type: Plain text
11306 #: build/C/man3/ulimit.3:63
11307 msgid ""
11308 "(Not implemented for Linux.)  Return the maximum possible address of the "
11309 "data segment."
11310 msgstr ""
11311 "(Linux では実装されていない)  データセグメントで指定できるアドレスの最大値を"
11312 "返す。"
11313
11314 #. type: TP
11315 #: build/C/man3/ulimit.3:63
11316 #, no-wrap
11317 msgid "B<4>"
11318 msgstr "B<4>"
11319
11320 #. type: Plain text
11321 #: build/C/man3/ulimit.3:67
11322 msgid ""
11323 "(Implemented but no symbolic constant provided.)  Return the maximum number "
11324 "of files that the calling process can open."
11325 msgstr ""
11326 "(実装されているが、対応するシンボリックな定数は存在しない)  プロセスがオープ"
11327 "ンできるファイル数の最大値を返す。"
11328
11329 #. type: Plain text
11330 #: build/C/man3/ulimit.3:74
11331 msgid ""
11332 "On success, B<ulimit>()  returns a nonnegative value.  On error, -1 is "
11333 "returned, and I<errno> is set appropriately."
11334 msgstr ""
11335 "成功すると B<ulimit>()  は 0 または正の値を返す。 エラーが生じると -1 を返"
11336 "し、 I<errno> を適切な値に設定する。"
11337
11338 #. type: Plain text
11339 #: build/C/man3/ulimit.3:78
11340 msgid "A unprivileged process tried to increase a limit."
11341 msgstr "非特権プロセスが制限値を増加させようとした。"
11342
11343 #. type: Plain text
11344 #: build/C/man3/ulimit.3:83
11345 msgid "SVr4, POSIX.1-2001.  POSIX.1-2008 marks B<ulimit>()  as obsolete."
11346 msgstr ""
11347 "SVr4, POSIX.1-2001.  POSIX.1-2008 は B<ulimit>()  を廃止予定としている。"
11348
11349 #. type: Plain text
11350 #: build/C/man3/ulimit.3:88
11351 msgid "B<bash>(1), B<getrlimit>(2), B<setrlimit>(2), B<sysconf>(3)"
11352 msgstr "B<bash>(1), B<getrlimit>(2), B<setrlimit>(2), B<sysconf>(3)"
11353
11354 #, fuzzy
11355 #~| msgid "2010-09-20"
11356 #~ msgid "2011-10-04"
11357 #~ msgstr "2010-09-20"
11358
11359 #~ msgid ""
11360 #~ "Perform various network-related operations (e.g., setting privileged "
11361 #~ "socket options, enabling multicasting, interface configuration, modifying "
11362 #~ "routing tables)."
11363 #~ msgstr ""
11364 #~ "各種のネットワーク関連の操作を実行する。 (例えば、特権が必要なソケットオプ"
11365 #~ "ションを設定する、マルチキャストを有効にする、 インターフェースを設定す"
11366 #~ "る、ルーティングテーブルを変更するなど)"
11367
11368 #~ msgid "Use B<vhangup>(2)."
11369 #~ msgstr "B<vhangup>(2)  を呼び出す。"
11370
11371 #~ msgid "2010-06-19"
11372 #~ msgstr "2010-06-19"
11373
11374 #~ msgid "1993-07-23"
11375 #~ msgstr "1993-07-23"
11376
11377 #~ msgid "2007-12-28"
11378 #~ msgstr "2007-12-28"
11379
11380 #~ msgid "I<rlim> points outside the accessible address space."
11381 #~ msgstr "I<rlim> がアクセス可能なアドレス空間の外を指している。"
11382
11383 #~ msgid "2009-08-25"
11384 #~ msgstr "2009-08-25"
11385
11386 #~ msgid ""
11387 #~ "The structure definition shown at the start of this page was taken from "
11388 #~ "4.3BSD Reno.  Not all fields are meaningful under Linux.  In Linux 2.4 "
11389 #~ "only the fields I<ru_utime>, I<ru_stime>, I<ru_minflt>, and I<ru_majflt> "
11390 #~ "are maintained.  Since Linux 2.6, I<ru_nvcsw> and I<ru_nivcsw> are also "
11391 #~ "maintained.  Since Linux 2.6.22, I<ru_inblock> and I<ru_oublock> are also "
11392 #~ "maintained."
11393 #~ msgstr ""
11394 #~ "このページの最初で示した構造体の定義は 4.3BSD Reno のものを採用した。 "
11395 #~ "Linux では全てのフィールドが意味を持つというわけではない。 Linux 2.4 で"
11396 #~ "は、フィールド I<ru_utime>, I<ru_stime>, I<ru_minflt>, I<ru_majflt> のみが"
11397 #~ "メンテナンスされている。 Linux 2.6 以降では I<ru_nvcsw>, I<ru_nivcsw> もメ"
11398 #~ "ンテナンスされている。 Linux 2.6.22 以降では I<ru_inblock>, I<ru_oublock> "
11399 #~ "もメンテナンスされている。"
11400
11401 #~ msgid "2008-12-05"
11402 #~ msgstr "2008-12-05"
11403
11404 #~ msgid "2007-07-26"
11405 #~ msgstr "2007-07-26"
11406
11407 #~ msgid "2010-02-21"
11408 #~ msgstr "2010-02-21"
11409
11410 #~ msgid "Linux Notes"
11411 #~ msgstr "Linux での注意"