OSDN Git Service

(split) LDP: Update POT and ja.po to LDP v3.50.
[linuxjm/LDP_man-pages.git] / po4a / process / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2013-03-22 01:06+0900\n"
10 "PO-Revision-Date: 2012-05-31 07: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:31 build/C/man5/acct.5:25
20 #, no-wrap
21 msgid "ACCT"
22 msgstr "ACCT"
23
24 #. type: TH
25 #: build/C/man2/acct.2:31
26 #, no-wrap
27 msgid "2008-06-16"
28 msgstr "2008-06-16"
29
30 #. type: TH
31 #: build/C/man2/acct.2:31 build/C/man5/acct.5:25
32 #: build/C/man7/capabilities.7:48 build/C/man2/capget.2:15
33 #: build/C/man7/cpuset.7:25 build/C/man7/credentials.7:27
34 #: build/C/man2/getgid.2:25 build/C/man2/getgroups.2:31
35 #: build/C/man2/getpid.2:25 build/C/man2/getpriority.2:48
36 #: build/C/man2/getresuid.2:28 build/C/man2/getrlimit.2:64
37 #: build/C/man2/getrusage.2:39 build/C/man2/getsid.2:26
38 #: build/C/man2/getuid.2:26 build/C/man2/iopl.2:33
39 #: build/C/man2/ioprio_set.2:24 build/C/man2/ipc.2:25
40 #: build/C/man2/seteuid.2:29 build/C/man2/setfsgid.2:31
41 #: build/C/man2/setfsuid.2:31 build/C/man2/setgid.2:29
42 #: build/C/man2/setpgid.2:48 build/C/man2/setresuid.2:26
43 #: build/C/man2/setreuid.2:45 build/C/man2/setsid.2:30
44 #: build/C/man2/setuid.2:30 build/C/man7/svipc.7:27 build/C/man3/ulimit.3:27
45 #, no-wrap
46 msgid "Linux"
47 msgstr "Linux"
48
49 #. type: TH
50 #: build/C/man2/acct.2:31 build/C/man5/acct.5:25
51 #: build/C/man7/capabilities.7:48 build/C/man2/capget.2:15
52 #: build/C/man7/cpuset.7:25 build/C/man7/credentials.7:27
53 #: build/C/man2/getgid.2:25 build/C/man2/getgroups.2:31
54 #: build/C/man2/getpid.2:25 build/C/man2/getpriority.2:48
55 #: build/C/man2/getresuid.2:28 build/C/man2/getrlimit.2:64
56 #: build/C/man2/getrusage.2:39 build/C/man2/getsid.2:26
57 #: build/C/man2/getuid.2:26 build/C/man2/iopl.2:33
58 #: build/C/man2/ioprio_set.2:24 build/C/man2/ipc.2:25
59 #: build/C/man2/seteuid.2:29 build/C/man2/setfsgid.2:31
60 #: build/C/man2/setfsuid.2:31 build/C/man2/setgid.2:29
61 #: build/C/man2/setpgid.2:48 build/C/man2/setresuid.2:26
62 #: build/C/man2/setreuid.2:45 build/C/man2/setsid.2:30
63 #: build/C/man2/setuid.2:30 build/C/man7/svipc.7:27 build/C/man3/ulimit.3:27
64 #, no-wrap
65 msgid "Linux Programmer's Manual"
66 msgstr "Linux Programmer's Manual"
67
68 #. type: SH
69 #: build/C/man2/acct.2:32 build/C/man5/acct.5:26
70 #: build/C/man7/capabilities.7:49 build/C/man2/capget.2:16
71 #: build/C/man7/cpuset.7:26 build/C/man7/credentials.7:28
72 #: build/C/man2/getgid.2:26 build/C/man2/getgroups.2:32
73 #: build/C/man2/getpid.2:26 build/C/man2/getpriority.2:49
74 #: build/C/man2/getresuid.2:29 build/C/man2/getrlimit.2:65
75 #: build/C/man2/getrusage.2:40 build/C/man2/getsid.2:27
76 #: build/C/man2/getuid.2:27 build/C/man2/iopl.2:34
77 #: build/C/man2/ioprio_set.2:25 build/C/man2/ipc.2:26
78 #: build/C/man2/seteuid.2:30 build/C/man2/setfsgid.2:32
79 #: build/C/man2/setfsuid.2:32 build/C/man2/setgid.2:30
80 #: build/C/man2/setpgid.2:49 build/C/man2/setresuid.2:27
81 #: build/C/man2/setreuid.2:46 build/C/man2/setsid.2:31
82 #: build/C/man2/setuid.2:31 build/C/man7/svipc.7:28 build/C/man3/ulimit.3:28
83 #, no-wrap
84 msgid "NAME"
85 msgstr "名前"
86
87 #. type: Plain text
88 #: build/C/man2/acct.2:34
89 msgid "acct - switch process accounting on or off"
90 msgstr "acct - プロセス・アカウントのオンとオフを切り換える"
91
92 #. type: SH
93 #: build/C/man2/acct.2:34 build/C/man5/acct.5:28 build/C/man2/capget.2:18
94 #: build/C/man2/getgid.2:28 build/C/man2/getgroups.2:34
95 #: build/C/man2/getpid.2:28 build/C/man2/getpriority.2:51
96 #: build/C/man2/getresuid.2:31 build/C/man2/getrlimit.2:67
97 #: build/C/man2/getrusage.2:42 build/C/man2/getsid.2:29
98 #: build/C/man2/getuid.2:29 build/C/man2/iopl.2:36
99 #: build/C/man2/ioprio_set.2:27 build/C/man2/ipc.2:28
100 #: build/C/man2/seteuid.2:32 build/C/man2/setfsgid.2:34
101 #: build/C/man2/setfsuid.2:34 build/C/man2/setgid.2:32
102 #: build/C/man2/setpgid.2:51 build/C/man2/setresuid.2:29
103 #: build/C/man2/setreuid.2:48 build/C/man2/setsid.2:33
104 #: build/C/man2/setuid.2:33 build/C/man7/svipc.7:30 build/C/man3/ulimit.3:30
105 #, no-wrap
106 msgid "SYNOPSIS"
107 msgstr "書式"
108
109 #. type: Plain text
110 #: build/C/man2/acct.2:38
111 #, no-wrap
112 msgid "B<#include E<lt>unistd.hE<gt>>\n"
113 msgstr "B<#include E<lt>unistd.hE<gt>>\n"
114
115 #. type: Plain text
116 #: build/C/man2/acct.2:40
117 #, no-wrap
118 msgid "B<int acct(const char *>I<filename>B<);>\n"
119 msgstr "B<int acct(const char *>I<filename>B<);>\n"
120
121 #. type: Plain text
122 #: build/C/man2/acct.2:46 build/C/man2/getgroups.2:48
123 #: build/C/man2/getrlimit.2:84 build/C/man2/getsid.2:37
124 #: build/C/man2/seteuid.2:44 build/C/man2/setpgid.2:71
125 #: build/C/man2/setreuid.2:60
126 msgid ""
127 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
128 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
129
130 #. type: Plain text
131 #: build/C/man2/acct.2:50
132 msgid ""
133 "B<acct>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
134 msgstr ""
135 "B<acct>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
136
137 #. type: SH
138 #: build/C/man2/acct.2:50 build/C/man5/acct.5:30
139 #: build/C/man7/capabilities.7:51 build/C/man2/capget.2:24
140 #: build/C/man7/cpuset.7:28 build/C/man7/credentials.7:30
141 #: build/C/man2/getgid.2:36 build/C/man2/getgroups.2:52
142 #: build/C/man2/getpid.2:36 build/C/man2/getpriority.2:59
143 #: build/C/man2/getresuid.2:39 build/C/man2/getrlimit.2:88
144 #: build/C/man2/getrusage.2:48 build/C/man2/getsid.2:50
145 #: build/C/man2/getuid.2:37 build/C/man2/iopl.2:40
146 #: build/C/man2/ioprio_set.2:35 build/C/man2/ipc.2:34
147 #: build/C/man2/seteuid.2:53 build/C/man2/setfsgid.2:39
148 #: build/C/man2/setfsuid.2:39 build/C/man2/setgid.2:38
149 #: build/C/man2/setpgid.2:98 build/C/man2/setresuid.2:37
150 #: build/C/man2/setreuid.2:70 build/C/man2/setsid.2:40
151 #: build/C/man2/setuid.2:39 build/C/man7/svipc.7: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:59
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:59 build/C/man2/capget.2:160
172 #: build/C/man2/getgroups.2:92 build/C/man2/getpriority.2:107
173 #: build/C/man2/getresuid.2:50 build/C/man2/getrlimit.2:430
174 #: build/C/man2/getrusage.2:180 build/C/man2/getsid.2:58
175 #: build/C/man2/iopl.2:66 build/C/man2/ioprio_set.2:149
176 #: build/C/man2/seteuid.2:67 build/C/man2/setfsgid.2:69
177 #: build/C/man2/setfsuid.2:69 build/C/man2/setgid.2:53
178 #: build/C/man2/setpgid.2:172 build/C/man2/setresuid.2:64
179 #: build/C/man2/setreuid.2:91 build/C/man2/setsid.2:51
180 #: build/C/man2/setuid.2:70 build/C/man3/ulimit.3:67
181 #, no-wrap
182 msgid "RETURN VALUE"
183 msgstr "返り値"
184
185 #. type: Plain text
186 #: build/C/man2/acct.2:64 build/C/man2/capget.2:165
187 #: build/C/man2/getresuid.2:55 build/C/man2/getrusage.2:185
188 #: build/C/man2/iopl.2:71 build/C/man2/seteuid.2:72 build/C/man2/setgid.2:58
189 #: build/C/man2/setresuid.2:69 build/C/man2/setreuid.2:96
190 #: build/C/man2/setuid.2:75
191 msgid ""
192 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
193 "appropriately."
194 msgstr ""
195 "成功した場合は 0 が返される。エラーの場合は -1 が返され、 I<errno> が適切に設"
196 "定される。"
197
198 #. type: SH
199 #: build/C/man2/acct.2:64 build/C/man2/capget.2:179 build/C/man7/cpuset.7:1100
200 #: build/C/man2/getgid.2:42 build/C/man2/getgroups.2:106
201 #: build/C/man2/getpid.2:44 build/C/man2/getpriority.2:120
202 #: build/C/man2/getresuid.2:55 build/C/man2/getrlimit.2:435
203 #: build/C/man2/getrusage.2:185 build/C/man2/getsid.2:63
204 #: build/C/man2/getuid.2:43 build/C/man2/iopl.2:71
205 #: build/C/man2/ioprio_set.2:169 build/C/man2/seteuid.2:72
206 #: build/C/man2/setgid.2:58 build/C/man2/setpgid.2:193
207 #: build/C/man2/setresuid.2:69 build/C/man2/setreuid.2:96
208 #: build/C/man2/setsid.2:58 build/C/man2/setuid.2:75 build/C/man3/ulimit.3:74
209 #, no-wrap
210 msgid "ERRORS"
211 msgstr "エラー"
212
213 #. type: TP
214 #: build/C/man2/acct.2:65 build/C/man7/cpuset.7:1116
215 #: build/C/man7/cpuset.7:1123 build/C/man7/cpuset.7:1129
216 #: build/C/man7/cpuset.7:1137 build/C/man7/cpuset.7:1144
217 #: build/C/man2/getpriority.2:140 build/C/man2/setpgid.2:194
218 #, no-wrap
219 msgid "B<EACCES>"
220 msgstr "B<EACCES>"
221
222 #. type: Plain text
223 #: build/C/man2/acct.2:76
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:76 build/C/man2/capget.2:180 build/C/man7/cpuset.7:1172
236 #: build/C/man2/getgroups.2:107 build/C/man2/getresuid.2:56
237 #: build/C/man2/getrlimit.2:436 build/C/man2/getrusage.2:186
238 #, no-wrap
239 msgid "B<EFAULT>"
240 msgstr "B<EFAULT>"
241
242 #. type: Plain text
243 #: build/C/man2/acct.2:80
244 msgid "I<filename> points outside your accessible address space."
245 msgstr "アクセスできるアドレス空間の外を I<filename> が指している。"
246
247 #. type: TP
248 #: build/C/man2/acct.2:80 build/C/man7/cpuset.7:1238
249 #: build/C/man7/cpuset.7:1246
250 #, no-wrap
251 msgid "B<EIO>"
252 msgstr "B<EIO>"
253
254 #. type: Plain text
255 #: build/C/man2/acct.2:84
256 msgid "Error writing to the file I<filename>."
257 msgstr "I<filename> への書き込みにエラーが発生した。"
258
259 #. type: TP
260 #: build/C/man2/acct.2:84
261 #, no-wrap
262 msgid "B<EISDIR>"
263 msgstr "B<EISDIR>"
264
265 #. type: Plain text
266 #: build/C/man2/acct.2:88
267 msgid "I<filename> is a directory."
268 msgstr "I<filename> がディレクトリである。"
269
270 #. type: TP
271 #: build/C/man2/acct.2:88
272 #, no-wrap
273 msgid "B<ELOOP>"
274 msgstr "B<ELOOP>"
275
276 #. type: Plain text
277 #: build/C/man2/acct.2:92
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:92 build/C/man7/cpuset.7:1251
283 #: build/C/man7/cpuset.7:1258 build/C/man7/cpuset.7:1263
284 #, no-wrap
285 msgid "B<ENAMETOOLONG>"
286 msgstr "B<ENAMETOOLONG>"
287
288 #. type: Plain text
289 #: build/C/man2/acct.2:96
290 msgid "I<filename> was too long."
291 msgstr "I<filename> が長すぎる。"
292
293 #. type: TP
294 #: build/C/man2/acct.2:96
295 #, no-wrap
296 msgid "B<ENFILE>"
297 msgstr "B<ENFILE>"
298
299 #. type: Plain text
300 #: build/C/man2/acct.2:99
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:99 build/C/man7/cpuset.7:1275
306 #: build/C/man7/cpuset.7:1280
307 #, no-wrap
308 msgid "B<ENOENT>"
309 msgstr "B<ENOENT>"
310
311 #. type: Plain text
312 #: build/C/man2/acct.2:102
313 msgid "The specified filename does not exist."
314 msgstr "指定されたファイルが存在しない。"
315
316 #. type: TP
317 #: build/C/man2/acct.2:102 build/C/man7/cpuset.7:1287
318 #: build/C/man2/getgroups.2:127
319 #, no-wrap
320 msgid "B<ENOMEM>"
321 msgstr "B<ENOMEM>"
322
323 #. type: Plain text
324 #: build/C/man2/acct.2:105 build/C/man2/getgroups.2:130
325 msgid "Out of memory."
326 msgstr "メモリ不足。"
327
328 #. type: TP
329 #: build/C/man2/acct.2:105 build/C/man2/iopl.2:76
330 #, no-wrap
331 msgid "B<ENOSYS>"
332 msgstr "B<ENOSYS>"
333
334 #. type: Plain text
335 #: build/C/man2/acct.2:111
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:111 build/C/man7/cpuset.7:1314
347 #, no-wrap
348 msgid "B<ENOTDIR>"
349 msgstr "B<ENOTDIR>"
350
351 #. type: Plain text
352 #: build/C/man2/acct.2:116
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:116 build/C/man2/capget.2:191 build/C/man2/capget.2:196
361 #: build/C/man7/cpuset.7:1319 build/C/man2/getgroups.2:130
362 #: build/C/man2/getpriority.2:152 build/C/man2/getrlimit.2:452
363 #: build/C/man2/getsid.2:64 build/C/man2/iopl.2:79
364 #: build/C/man2/ioprio_set.2:179 build/C/man2/seteuid.2:75
365 #: build/C/man2/setgid.2:59 build/C/man2/setpgid.2:208
366 #: build/C/man2/setresuid.2:77 build/C/man2/setreuid.2:97
367 #: build/C/man2/setsid.2:59 build/C/man2/setuid.2:85 build/C/man3/ulimit.3:75
368 #, no-wrap
369 msgid "B<EPERM>"
370 msgstr "B<EPERM>"
371
372 #. type: Plain text
373 #: build/C/man2/acct.2:122
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:122
383 #, no-wrap
384 msgid "B<EROFS>"
385 msgstr "B<EROFS>"
386
387 #. type: Plain text
388 #: build/C/man2/acct.2:126
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:126
395 #, no-wrap
396 msgid "B<EUSERS>"
397 msgstr "B<EUSERS>"
398
399 #. type: Plain text
400 #: build/C/man2/acct.2:129
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:129 build/C/man5/acct.5:153
406 #: build/C/man7/capabilities.7:1061 build/C/man2/capget.2:218
407 #: build/C/man7/credentials.7:234 build/C/man2/getgid.2:44
408 #: build/C/man2/getgroups.2:133 build/C/man2/getpid.2:46
409 #: build/C/man2/getpriority.2:160 build/C/man2/getresuid.2:67
410 #: build/C/man2/getrlimit.2:473 build/C/man2/getrusage.2:194
411 #: build/C/man2/getsid.2:79 build/C/man2/getuid.2:45 build/C/man2/iopl.2:87
412 #: build/C/man2/ioprio_set.2:196 build/C/man2/ipc.2:45
413 #: build/C/man2/seteuid.2:91 build/C/man2/setfsgid.2:80
414 #: build/C/man2/setfsuid.2:80 build/C/man2/setgid.2:66
415 #: build/C/man2/setpgid.2:227 build/C/man2/setresuid.2:83
416 #: build/C/man2/setreuid.2:113 build/C/man2/setsid.2:65
417 #: build/C/man2/setuid.2:92 build/C/man3/ulimit.3:78
418 #, no-wrap
419 msgid "CONFORMING TO"
420 msgstr "準拠"
421
422 #.  SVr4 documents an EBUSY error condition, but no EISDIR or ENOSYS.
423 #.  Also AIX and HP-UX document EBUSY (attempt is made
424 #.  to enable accounting when it is already enabled), as does Solaris
425 #.  (attempt is made to enable accounting using the same file that is
426 #.  currently being used).
427 #. type: Plain text
428 #: build/C/man2/acct.2:136
429 msgid "SVr4, 4.3BSD (but not POSIX)."
430 msgstr "SVr4, 4.3BSD (POSIX ではない)。"
431
432 #. type: SH
433 #: build/C/man2/acct.2:136 build/C/man5/acct.5:157
434 #: build/C/man7/capabilities.7:1067 build/C/man2/capget.2:220
435 #: build/C/man7/cpuset.7:1341 build/C/man7/credentials.7:240
436 #: build/C/man2/getgid.2:46 build/C/man2/getgroups.2:141
437 #: build/C/man2/getpid.2:48 build/C/man2/getpriority.2:163
438 #: build/C/man2/getresuid.2:70 build/C/man2/getrlimit.2:496
439 #: build/C/man2/getrusage.2:205 build/C/man2/getsid.2:81
440 #: build/C/man2/getuid.2:47 build/C/man2/iopl.2:91
441 #: build/C/man2/ioprio_set.2:198 build/C/man2/ipc.2:49
442 #: build/C/man2/seteuid.2:93 build/C/man2/setfsgid.2:84
443 #: build/C/man2/setfsuid.2:84 build/C/man2/setgid.2:68
444 #: build/C/man2/setpgid.2:249 build/C/man2/setresuid.2:86
445 #: build/C/man2/setreuid.2:119 build/C/man2/setsid.2:67
446 #: build/C/man2/setuid.2:97
447 #, no-wrap
448 msgid "NOTES"
449 msgstr "注意"
450
451 #. type: Plain text
452 #: build/C/man2/acct.2:139
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:142
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:142 build/C/man5/acct.5:174
471 #: build/C/man7/capabilities.7:1123 build/C/man2/capget.2:228
472 #: build/C/man7/cpuset.7:1488 build/C/man7/credentials.7:251
473 #: build/C/man2/getgid.2:62 build/C/man2/getgroups.2:171
474 #: build/C/man2/getpid.2:100 build/C/man2/getpriority.2:232
475 #: build/C/man2/getresuid.2:86 build/C/man2/getrlimit.2:656
476 #: build/C/man2/getrusage.2:245 build/C/man2/getsid.2:84
477 #: build/C/man2/getuid.2:73 build/C/man2/iopl.2:100
478 #: build/C/man2/ioprio_set.2:346 build/C/man2/ipc.2:57
479 #: build/C/man2/seteuid.2:124 build/C/man2/setfsgid.2:112
480 #: build/C/man2/setfsuid.2:112 build/C/man2/setgid.2:78
481 #: build/C/man2/setpgid.2:317 build/C/man2/setresuid.2:106
482 #: build/C/man2/setreuid.2:159 build/C/man2/setsid.2:84
483 #: build/C/man2/setuid.2:120 build/C/man7/svipc.7:318 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:144
490 msgid "B<acct>(5)"
491 msgstr "B<acct>(5)"
492
493 #. type: SH
494 #: build/C/man2/acct.2:144 build/C/man5/acct.5:179
495 #: build/C/man7/capabilities.7:1143 build/C/man2/capget.2:232
496 #: build/C/man7/cpuset.7:1505 build/C/man7/credentials.7:282
497 #: build/C/man2/getgid.2:67 build/C/man2/getgroups.2:178
498 #: build/C/man2/getpid.2:110 build/C/man2/getpriority.2:240
499 #: build/C/man2/getresuid.2:92 build/C/man2/getrlimit.2:674
500 #: build/C/man2/getrusage.2:252 build/C/man2/getsid.2:88
501 #: build/C/man2/getuid.2:78 build/C/man2/iopl.2:104
502 #: build/C/man2/ioprio_set.2:354 build/C/man2/ipc.2:70
503 #: build/C/man2/seteuid.2:131 build/C/man2/setfsgid.2:117
504 #: build/C/man2/setfsuid.2:117 build/C/man2/setgid.2:84
505 #: build/C/man2/setpgid.2:324 build/C/man2/setresuid.2:115
506 #: build/C/man2/setreuid.2:167 build/C/man2/setsid.2:91
507 #: build/C/man2/setuid.2:127 build/C/man7/svipc.7:335 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:151 build/C/man5/acct.5:186
514 #: build/C/man7/capabilities.7:1150 build/C/man2/capget.2:239
515 #: build/C/man7/cpuset.7:1512 build/C/man7/credentials.7:289
516 #: build/C/man2/getgid.2:74 build/C/man2/getgroups.2:185
517 #: build/C/man2/getpid.2:117 build/C/man2/getpriority.2:247
518 #: build/C/man2/getresuid.2:99 build/C/man2/getrlimit.2:681
519 #: build/C/man2/getrusage.2:259 build/C/man2/getsid.2:95
520 #: build/C/man2/getuid.2:85 build/C/man2/iopl.2:111
521 #: build/C/man2/ioprio_set.2:361 build/C/man2/ipc.2:77
522 #: build/C/man2/seteuid.2:138 build/C/man2/setfsgid.2:124
523 #: build/C/man2/setfsuid.2:124 build/C/man2/setgid.2:91
524 #: build/C/man2/setpgid.2:331 build/C/man2/setresuid.2:122
525 #: build/C/man2/setreuid.2:174 build/C/man2/setsid.2:98
526 #: build/C/man2/setuid.2:134 build/C/man7/svipc.7:342 build/C/man3/ulimit.3:95
527 #, fuzzy
528 #| msgid ""
529 #| "This page is part of release 3.41 of the Linux I<man-pages> project.  A "
530 #| "description of the project, and information about reporting bugs, can be "
531 #| "found at http://www.kernel.org/doc/man-pages/."
532 msgid ""
533 "This page is part of release 3.50 of the Linux I<man-pages> project.  A "
534 "description of the project, and information about reporting bugs, can be "
535 "found at http://www.kernel.org/doc/man-pages/."
536 msgstr ""
537 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.41 の一部\n"
538 "である。プロジェクトの説明とバグ報告に関する情報は\n"
539 "http://www.kernel.org/doc/man-pages/ に書かれている。"
540
541 #. type: TH
542 #: build/C/man5/acct.5:25
543 #, no-wrap
544 msgid "2008-06-15"
545 msgstr "2008-06-15"
546
547 #. type: Plain text
548 #: build/C/man5/acct.5:28
549 msgid "acct - process accounting file"
550 msgstr "acct - プロセス・アカウンティング・ファイル"
551
552 #. type: Plain text
553 #: build/C/man5/acct.5:30
554 msgid "B<#include E<lt>sys/acct.hE<gt>>"
555 msgstr "B<#include E<lt>sys/acct.hE<gt>>"
556
557 #. type: Plain text
558 #: build/C/man5/acct.5:36
559 msgid ""
560 "If the kernel is built with the process accounting option enabled "
561 "(B<CONFIG_BSD_PROCESS_ACCT>), then calling B<acct>(2)  starts process "
562 "accounting, for example:"
563 msgstr ""
564 "カーネルがプロセス・アカウンティングのオプション "
565 "(B<CONFIG_BSD_PROCESS_ACCT>)  を有効にして作成されていると、以下のように "
566 "B<acct>(2)  を呼び出すとプロセス・アカウンティングが開始される。"
567
568 #. type: Plain text
569 #: build/C/man5/acct.5:39
570 msgid "acct(\"/var/log/pacct\");"
571 msgstr "acct(\"/var/log/pacct\");"
572
573 #. type: Plain text
574 #: build/C/man5/acct.5:47
575 msgid ""
576 "When process accounting is enabled, the kernel writes a record to the "
577 "accounting file as each process on the system terminates.  This record "
578 "contains information about the terminated process, and is defined in "
579 "I<E<lt>sys/acct.hE<gt>> as follows:"
580 msgstr ""
581 "プロセス・アカウンティングが有効になっていると、カーネルは システム上の各プロ"
582 "セスが終了するたびにアカウンティングファイルに レコードを書き込む。 このレ"
583 "コードは、終了したプロセスに関する情報を保持するもので、 I<E<lt>sys/acct."
584 "hE<gt>> で以下のように定義されている。"
585
586 #. type: Plain text
587 #: build/C/man5/acct.5:51
588 #, no-wrap
589 msgid "#define ACCT_COMM 16\n"
590 msgstr "#define ACCT_COMM 16\n"
591
592 #. type: Plain text
593 #: build/C/man5/acct.5:53
594 #, no-wrap
595 msgid "typedef u_int16_t comp_t;\n"
596 msgstr "typedef u_int16_t comp_t;\n"
597
598 #. type: Plain text
599 #: build/C/man5/acct.5:77
600 #, no-wrap
601 msgid ""
602 "struct acct {\n"
603 "    char ac_flag;           /* Accounting flags */\n"
604 "    u_int16_t ac_uid;       /* Accounting user ID */\n"
605 "    u_int16_t ac_gid;       /* Accounting group ID */\n"
606 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
607 "    u_int32_t ac_btime;     /* Process creation time\n"
608 "                               (seconds since the Epoch) */\n"
609 "    comp_t    ac_utime;     /* User CPU time */\n"
610 "    comp_t    ac_stime;     /* System CPU time */\n"
611 "    comp_t    ac_etime;     /* Elapsed time */\n"
612 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
613 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
614 "    comp_t    ac_rw;        /* Blocks read or written (unused) */\n"
615 "    comp_t    ac_minflt;    /* Minor page faults */\n"
616 "    comp_t    ac_majflt;    /* Major page faults */\n"
617 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
618 "    u_int32_t ac_exitcode;  /* Process termination status\n"
619 "                               (see wait(2)) */\n"
620 "    char      ac_comm[ACCT_COMM+1];\n"
621 "                            /* Command name (basename of last\n"
622 "                               executed command; null-terminated) */\n"
623 "    char      ac_pad[I<X>];    /* padding bytes */\n"
624 "};\n"
625 msgstr ""
626 "struct acct {\n"
627 "    char ac_flag;           /* Accounting flags */\n"
628 "    u_int16_t ac_uid;       /* Accounting user ID */\n"
629 "    u_int16_t ac_gid;       /* Accounting group ID */\n"
630 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
631 "    u_int32_t ac_btime;     /* Process creation time\n"
632 "                               (seconds since the Epoch) */\n"
633 "    comp_t    ac_utime;     /* User CPU time */\n"
634 "    comp_t    ac_stime;     /* System CPU time */\n"
635 "    comp_t    ac_etime;     /* Elapsed time */\n"
636 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
637 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
638 "    comp_t    ac_rw;        /* Blocks read or written (unused) */\n"
639 "    comp_t    ac_minflt;    /* Minor page faults */\n"
640 "    comp_t    ac_majflt;    /* Major page faults */\n"
641 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
642 "    u_int32_t ac_exitcode;  /* Process termination status\n"
643 "                               (see wait(2)) */\n"
644 "    char      ac_comm[ACCT_COMM+1];\n"
645 "                            /* Command name (basename of last\n"
646 "                               executed command; null-terminated) */\n"
647 "    char      ac_pad[I<X>];    /* padding bytes */\n"
648 "};\n"
649
650 #. type: Plain text
651 #: build/C/man5/acct.5:84
652 #, no-wrap
653 msgid ""
654 "enum {          /* Bits that may be set in ac_flag field */\n"
655 "    AFORK = 0x01,           /* Has executed fork, but no exec */\n"
656 "    ASU   = 0x02,           /* Used superuser privileges */\n"
657 "    ACORE = 0x08,           /* Dumped core */\n"
658 "    AXSIG = 0x10            /* Killed by a signal */\n"
659 "};\n"
660 msgstr ""
661 "enum {          /* Bits that may be set in ac_flag field */\n"
662 "    AFORK = 0x01,           /* Has executed fork, but no exec */\n"
663 "    ASU   = 0x02,           /* Used superuser privileges */\n"
664 "    ACORE = 0x08,           /* Dumped core */\n"
665 "    AXSIG = 0x10            /* Killed by a signal */\n"
666 "};\n"
667
668 #. type: Plain text
669 #: build/C/man5/acct.5:94
670 msgid ""
671 "The I<comp_t> data type is a floating-point value consisting of a 3-bit, "
672 "base-8 exponent, and a 13-bit mantissa.  A value, I<c>, of this type can be "
673 "converted to a (long) integer as follows:"
674 msgstr ""
675 "データ型 I<comp_t> は浮動小数点値で、3 ビット幅の基数が 8 の指数部と 13 ビッ"
676 "ト幅の仮数部から 構成される。 I<comp_t> 型の値 I<c> は以下のようにして (long "
677 "型の) 整数に変換できる。"
678
679 #. type: Plain text
680 #: build/C/man5/acct.5:97
681 #, no-wrap
682 msgid "    v = (c & 0x1fff) E<lt>E<lt> (((c E<gt>E<gt> 13) & 0x7) * 3);\n"
683 msgstr "    v = (c & 0x1fff) E<lt>E<lt> (((c E<gt>E<gt> 13) & 0x7) * 3);\n"
684
685 #. type: Plain text
686 #: build/C/man5/acct.5:107
687 msgid ""
688 "The I<ac_utime>, I<ac_stime>, and I<ac_etime> fields measure time in \"clock "
689 "ticks\"; divide these values by I<sysconf(_SC_CLK_TCK)> to convert them to "
690 "seconds."
691 msgstr ""
692 "フィールド I<ac_utime>, I<ac_stime>, I<ac_etime> は \"clock ticks\" 単位で計"
693 "測した時間である。 これらの値を I<sysconf(_SC_CLK_TCK)> で割ると、秒に変換で"
694 "きる。"
695
696 #. type: SS
697 #: build/C/man5/acct.5:107
698 #, fuzzy, no-wrap
699 #| msgid "Version 3 Accounting File Format"
700 msgid "Version 3 accounting file format"
701 msgstr "バージョン 3 のアカウンティングファイルのフォーマット"
702
703 #. type: Plain text
704 #: build/C/man5/acct.5:122
705 msgid ""
706 "Since kernel 2.6.8, an optional alternative version of the accounting file "
707 "can be produced if the B<CONFIG_BSD_PROCESS_ACCT_V3> option is set when "
708 "building the kernel.  With this option is set, the records written to the "
709 "accounting file contain additional fields, and the width of I<c_uid> and "
710 "I<ac_gid> fields is widened from 16 to 32 bits (in line with the increased "
711 "size of UID and GIDs in Linux 2.4 and later).  The records are defined as "
712 "follows:"
713 msgstr ""
714 "カーネル 2.6.8 以降では、 別のバージョンのアカウンティングファイルを生成する"
715 "ことができ、 これを使うにはカーネル構築時に B<CONFIG_BSD_PROCESS_ACCT_V3> オ"
716 "プションが有効になっている必要がある。 このオプションが設定されると、アカウン"
717 "ティングファイルに書き込まれる レコードにフィールドが追加される。 また、"
718 "フィールド I<c_uid> と I<ac_gid> の幅が 16 ビットから 32 ビットに拡張される "
719 "(これは Linux 2.4 以降で UID と GID のサイズが増えているのに 対応したものであ"
720 "る)。 このレコードは以下のように定義されている。"
721
722 #. type: Plain text
723 #: build/C/man5/acct.5:147
724 #, no-wrap
725 msgid ""
726 "struct acct_v3 {\n"
727 "    char      ac_flag;      /* Flags */\n"
728 "    char      ac_version;   /* Always set to ACCT_VERSION (3) */\n"
729 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
730 "    u_int32_t ac_exitcode;  /* Process termination status */\n"
731 "    u_int32_t ac_uid;       /* Real user ID */\n"
732 "    u_int32_t ac_gid;       /* Real group ID */\n"
733 "    u_int32_t ac_pid;       /* Process ID */\n"
734 "    u_int32_t ac_ppid;      /* Parent process ID */\n"
735 "    u_int32_t ac_btime;     /* Process creation time */\n"
736 "    float     ac_etime;     /* Elapsed time */\n"
737 "    comp_t    ac_utime;     /* User CPU time */\n"
738 "    comp_t    ac_stime;     /* System time */\n"
739 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
740 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
741 "    comp_t    ac_rw;        /* Blocks read or written\n"
742 "                               (unused) */\n"
743 "    comp_t    ac_minflt;    /* Minor page faults */\n"
744 "    comp_t    ac_majflt;    /* Major page faults */\n"
745 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
746 "    char      ac_comm[ACCT_COMM]; /* Command name */\n"
747 "};\n"
748 msgstr ""
749 "struct acct_v3 {\n"
750 "    char      ac_flag;      /* Flags */\n"
751 "    char      ac_version;   /* Always set to ACCT_VERSION (3) */\n"
752 "    u_int16_t ac_tty;       /* Controlling terminal */\n"
753 "    u_int32_t ac_exitcode;  /* Process termination status */\n"
754 "    u_int32_t ac_uid;       /* Real user ID */\n"
755 "    u_int32_t ac_gid;       /* Real group ID */\n"
756 "    u_int32_t ac_pid;       /* Process ID */\n"
757 "    u_int32_t ac_ppid;      /* Parent process ID */\n"
758 "    u_int32_t ac_btime;     /* Process creation time */\n"
759 "    float     ac_etime;     /* Elapsed time */\n"
760 "    comp_t    ac_utime;     /* User CPU time */\n"
761 "    comp_t    ac_stime;     /* System time */\n"
762 "    comp_t    ac_mem;       /* Average memory usage (kB) */\n"
763 "    comp_t    ac_io;        /* Characters transferred (unused) */\n"
764 "    comp_t    ac_rw;        /* Blocks read or written\n"
765 "                               (unused) */\n"
766 "    comp_t    ac_minflt;    /* Minor page faults */\n"
767 "    comp_t    ac_majflt;    /* Major page faults */\n"
768 "    comp_t    ac_swaps;     /* Number of swaps (unused) */\n"
769 "    char      ac_comm[ACCT_COMM]; /* Command name */\n"
770 "};\n"
771
772 #. type: SH
773 #: build/C/man5/acct.5:149 build/C/man7/cpuset.7:1338
774 #: build/C/man2/getresuid.2:60 build/C/man2/getrlimit.2:468
775 #: build/C/man2/getsid.2:75 build/C/man2/ioprio_set.2:193
776 #: build/C/man2/setfsgid.2:76 build/C/man2/setfsuid.2:76
777 #: build/C/man2/setresuid.2:81
778 #, no-wrap
779 msgid "VERSIONS"
780 msgstr "バージョン"
781
782 #. type: Plain text
783 #: build/C/man5/acct.5:153
784 msgid "The I<acct_v3> structure is defined in glibc since version 2.6."
785 msgstr "I<acct_v3> 構造体はバージョン 2.6 以降の glibc で定義されている。"
786
787 #. type: Plain text
788 #: build/C/man5/acct.5:157
789 msgid ""
790 "Process accounting originated on BSD.  Although it is present on most "
791 "systems, it is not standardized, and the details vary somewhat between "
792 "systems."
793 msgstr ""
794 "プロセスアカウンティングは BSD 由来である。 この機能はほとんどのシステムに存"
795 "在するが、標準化されておらず、 その詳細はシステムによりいくらか異なる。"
796
797 #. type: Plain text
798 #: build/C/man5/acct.5:160
799 msgid ""
800 "Records in the accounting file are ordered by termination time of the "
801 "process."
802 msgstr "アカウンティングファイルのレコードは、プロセスの終了時刻の順序となる。"
803
804 #. type: Plain text
805 #: build/C/man5/acct.5:167
806 msgid ""
807 "In kernels up to and including 2.6.9, a separate accounting record is "
808 "written for each thread created using the NPTL threading library; since "
809 "Linux 2.6.10, a single accounting record is written for the entire process "
810 "on termination of the last thread in the process."
811 msgstr ""
812 "バージョン 2.6.9 以前のカーネルでは、 NPTL スレッドライブラリを使って作成され"
813 "たスレッドでは スレッド毎に別々のアカウンティングレコードが書き込まれてい"
814 "た。 Linux 2.6.10 以降では、プロセス内の最後のスレッドが終了すると、 プロセス"
815 "全体についてのアカウンティングレコードが一つだけ書き込まれる。"
816
817 #. type: Plain text
818 #: build/C/man5/acct.5:174
819 msgid ""
820 "The I<proc/sys/kernel/acct> file, described in B<proc>(5), defines settings "
821 "that control the behavior of process accounting when disk space runs low."
822 msgstr ""
823 "I<proc/sys/kernel/acct> ファイル (B<proc>(5)  で説明されている) は、ディスク"
824 "容量の残りが少なくなった際の プロセス・アカウンティングの動作を制御する設定を"
825 "保持している。"
826
827 #. type: Plain text
828 #: build/C/man5/acct.5:179
829 msgid "B<lastcomm>(1), B<acct>(2), B<accton>(8), B<sa>(8)"
830 msgstr "B<lastcomm>(1), B<acct>(2), B<accton>(8), B<sa>(8)"
831
832 #. type: TH
833 #: build/C/man7/capabilities.7:48
834 #, no-wrap
835 msgid "CAPABILITIES"
836 msgstr "CAPABILITIES"
837
838 #. type: TH
839 #: build/C/man7/capabilities.7:48 build/C/man2/capget.2:15
840 #, no-wrap
841 msgid "2013-03-11"
842 msgstr ""
843
844 #. type: Plain text
845 #: build/C/man7/capabilities.7:51
846 msgid "capabilities - overview of Linux capabilities"
847 msgstr "capabilities - Linux のケーパビリティ (capability) の概要"
848
849 #. type: Plain text
850 #: build/C/man7/capabilities.7:63
851 msgid ""
852 "For the purpose of performing permission checks, traditional UNIX "
853 "implementations distinguish two categories of processes: I<privileged> "
854 "processes (whose effective user ID is 0, referred to as superuser or root), "
855 "and I<unprivileged> processes (whose effective UID is nonzero).  Privileged "
856 "processes bypass all kernel permission checks, while unprivileged processes "
857 "are subject to full permission checking based on the process's credentials "
858 "(usually: effective UID, effective GID, and supplementary group list)."
859 msgstr ""
860 "権限のチェックを行う観点から見ると、伝統的な UNIX の実装では プロセスは二つの"
861 "カテゴリに分類できる: I<特権> プロセス (実効ユーザID が 0 のプロセス。ユーザ"
862 "ID 0 は スーパーユーザや root と呼ばれる) と I<非特権> プロセス (実効ユーザ"
863 "ID が 0 以外のプロセス) である。 非特権プロセスでは、プロセスの資格情報 (通常"
864 "は、実効UID 、実効GID と追加のグループリスト) に基づく権限チェックが行われる"
865 "のに対し、 特権プロセスでは全てのカーネルの権限チェックがバイパスされる。"
866
867 #. type: Plain text
868 #: build/C/man7/capabilities.7:70
869 msgid ""
870 "Starting with kernel 2.2, Linux divides the privileges traditionally "
871 "associated with superuser into distinct units, known as I<capabilities>, "
872 "which can be independently enabled and disabled.  Capabilities are a per-"
873 "thread attribute."
874 msgstr ""
875 "バージョン 2.2 以降の Linux では、 これまでスーパーユーザに結び付けられてきた"
876 "権限を、 いくつかのグループに分割している。これらのグループは I<ケーパビリ"
877 "ティ>(capability)  と呼ばれ、グループ毎に独立に有効、無効を設定できる。 ケー"
878 "パビリティはスレッド単位の属性である。"
879
880 #. type: SS
881 #: build/C/man7/capabilities.7:70
882 #, fuzzy, no-wrap
883 #| msgid "Capabilities List"
884 msgid "Capabilities list"
885 msgstr "ケーパビリティのリスト"
886
887 #. type: Plain text
888 #: build/C/man7/capabilities.7:73
889 msgid ""
890 "The following list shows the capabilities implemented on Linux, and the "
891 "operations or behaviors that each capability permits:"
892 msgstr ""
893 "以下のリストは、 Linux で実装されているケーパビリティと 各ケーパビリティが許"
894 "可する操作と動作をまとめたものである。"
895
896 #. type: TP
897 #: build/C/man7/capabilities.7:73
898 #, no-wrap
899 msgid "B<CAP_AUDIT_CONTROL> (since Linux 2.6.11)"
900 msgstr "B<CAP_AUDIT_CONTROL> (Linux 2.6.11 以降)"
901
902 #. type: Plain text
903 #: build/C/man7/capabilities.7:77
904 msgid ""
905 "Enable and disable kernel auditing; change auditing filter rules; retrieve "
906 "auditing status and filtering rules."
907 msgstr ""
908 "カーネル監査 (audit) の有効無効の切り替え、 監査のフィルタルールの変更、 監査"
909 "の状況やフィルタルールの取得ができる。"
910
911 #. type: TP
912 #: build/C/man7/capabilities.7:77
913 #, no-wrap
914 msgid "B<CAP_AUDIT_WRITE> (since Linux 2.6.11)"
915 msgstr "B<CAP_AUDIT_WRITE> (Linux 2.6.11 以降)"
916
917 #. type: Plain text
918 #: build/C/man7/capabilities.7:80
919 msgid "Write records to kernel auditing log."
920 msgstr "カーネル監査のログにレコードを書き込む。"
921
922 #. type: TP
923 #: build/C/man7/capabilities.7:80
924 #, fuzzy, no-wrap
925 #| msgid "B<CAP_MKNOD> (since Linux 2.4)"
926 msgid "B<CAP_BLOCK_SUSPEND> (since Linux 3.5)"
927 msgstr "B<CAP_MKNOD> (Linux 2.4 以降)"
928
929 #. type: Plain text
930 #: build/C/man7/capabilities.7:86
931 msgid ""
932 "Employ features that can block system suspend (B<epoll>(7)  B<EPOLLWAKEUP>, "
933 "I</proc/sys/wake_lock>)."
934 msgstr ""
935
936 #. type: TP
937 #: build/C/man7/capabilities.7:86
938 #, no-wrap
939 msgid "B<CAP_CHOWN>"
940 msgstr "B<CAP_CHOWN>"
941
942 #. type: Plain text
943 #: build/C/man7/capabilities.7:90
944 msgid "Make arbitrary changes to file UIDs and GIDs (see B<chown>(2))."
945 msgstr "ファイルの UID とGID を任意に変更する (B<chown>(2)  参照)。"
946
947 #. type: TP
948 #: build/C/man7/capabilities.7:90
949 #, no-wrap
950 msgid "B<CAP_DAC_OVERRIDE>"
951 msgstr "B<CAP_DAC_OVERRIDE>"
952
953 #. type: Plain text
954 #: build/C/man7/capabilities.7:94
955 msgid ""
956 "Bypass file read, write, and execute permission checks.  (DAC is an "
957 "abbreviation of \"discretionary access control\".)"
958 msgstr ""
959 "ファイルの読み出し、書き込み、実行の権限チェックをバイパスする (DAC は "
960 "\"discretionary access control (任意のアクセス制御)\" の略である)。"
961
962 #. type: TP
963 #: build/C/man7/capabilities.7:94
964 #, no-wrap
965 msgid "B<CAP_DAC_READ_SEARCH>"
966 msgstr "B<CAP_DAC_READ_SEARCH>"
967
968 #. type: Plain text
969 #: build/C/man7/capabilities.7:98
970 msgid ""
971 "Bypass file read permission checks and directory read and execute permission "
972 "checks."
973 msgstr ""
974 "ファイルの読み出し権限のチェックとディレクトリの読み出しと実行 の権限チェック"
975 "をバイパスする。"
976
977 #. type: TP
978 #: build/C/man7/capabilities.7:98
979 #, no-wrap
980 msgid "B<CAP_FOWNER>"
981 msgstr "B<CAP_FOWNER>"
982
983 #. type: IP
984 #: build/C/man7/capabilities.7:102 build/C/man7/capabilities.7:112
985 #: build/C/man7/capabilities.7:116 build/C/man7/capabilities.7:118
986 #: build/C/man7/capabilities.7:120 build/C/man7/capabilities.7:190
987 #: build/C/man7/capabilities.7:192 build/C/man7/capabilities.7:194
988 #: build/C/man7/capabilities.7:196 build/C/man7/capabilities.7:198
989 #: build/C/man7/capabilities.7:200 build/C/man7/capabilities.7:202
990 #: build/C/man7/capabilities.7:204 build/C/man7/capabilities.7:206
991 #: build/C/man7/capabilities.7:230 build/C/man7/capabilities.7:232
992 #: build/C/man7/capabilities.7:278 build/C/man7/capabilities.7:288
993 #: build/C/man7/capabilities.7:294 build/C/man7/capabilities.7:299
994 #: build/C/man7/capabilities.7:305 build/C/man7/capabilities.7:312
995 #: build/C/man7/capabilities.7:315 build/C/man7/capabilities.7:323
996 #: build/C/man7/capabilities.7:325 build/C/man7/capabilities.7:334
997 #: build/C/man7/capabilities.7:341 build/C/man7/capabilities.7:344
998 #: build/C/man7/capabilities.7:348 build/C/man7/capabilities.7:351
999 #: build/C/man7/capabilities.7:354 build/C/man7/capabilities.7:361
1000 #: build/C/man7/capabilities.7:366 build/C/man7/capabilities.7:372
1001 #: build/C/man7/capabilities.7:376 build/C/man7/capabilities.7:380
1002 #: build/C/man7/capabilities.7:384 build/C/man7/capabilities.7:388
1003 #: build/C/man7/capabilities.7:415 build/C/man7/capabilities.7:420
1004 #: build/C/man7/capabilities.7:425 build/C/man7/capabilities.7:428
1005 #: build/C/man7/capabilities.7:431 build/C/man7/capabilities.7:440
1006 #: build/C/man7/capabilities.7:444 build/C/man7/capabilities.7:470
1007 #: build/C/man7/capabilities.7:475 build/C/man7/capabilities.7:478
1008 #: build/C/man7/capabilities.7:483 build/C/man7/capabilities.7:486
1009 #: build/C/man7/capabilities.7:489 build/C/man7/capabilities.7:492
1010 #: build/C/man7/capabilities.7:495 build/C/man7/capabilities.7:500
1011 #: build/C/man7/capabilities.7:502 build/C/man7/capabilities.7:508
1012 #: build/C/man7/capabilities.7:516 build/C/man7/capabilities.7:518
1013 #: build/C/man7/capabilities.7:522 build/C/man7/capabilities.7:524
1014 #: build/C/man7/capabilities.7:527 build/C/man7/capabilities.7:531
1015 #: build/C/man7/capabilities.7:533 build/C/man7/capabilities.7:535
1016 #: build/C/man7/capabilities.7:537 build/C/man7/capabilities.7:546
1017 #: build/C/man7/capabilities.7:553 build/C/man7/capabilities.7:558
1018 #: build/C/man7/capabilities.7:563 build/C/man7/capabilities.7:590
1019 #: build/C/man7/capabilities.7:597 build/C/man7/capabilities.7:788
1020 #: build/C/man7/capabilities.7:796 build/C/man7/capabilities.7:1112
1021 #: build/C/man7/capabilities.7:1117 build/C/man7/cpuset.7:540
1022 #: build/C/man7/cpuset.7:545 build/C/man7/cpuset.7:550
1023 #: build/C/man7/cpuset.7:726 build/C/man7/cpuset.7:730
1024 #: build/C/man7/cpuset.7:927 build/C/man7/cpuset.7:930
1025 #: build/C/man7/cpuset.7:934 build/C/man7/cpuset.7:938
1026 #: build/C/man7/cpuset.7:942 build/C/man7/credentials.7:125
1027 #: build/C/man7/credentials.7:131 build/C/man7/credentials.7:143
1028 #: build/C/man7/credentials.7:165 build/C/man7/credentials.7:182
1029 #: build/C/man7/credentials.7:214 build/C/man7/credentials.7:217
1030 #: build/C/man7/credentials.7:227 build/C/man7/credentials.7:230
1031 #, no-wrap
1032 msgid "*"
1033 msgstr "*"
1034
1035 #. type: Plain text
1036 #: build/C/man7/capabilities.7:112
1037 msgid ""
1038 "Bypass permission checks on operations that normally require the file system "
1039 "UID of the process to match the UID of the file (e.g., B<chmod>(2), B<utime>"
1040 "(2)), excluding those operations covered by B<CAP_DAC_OVERRIDE> and "
1041 "B<CAP_DAC_READ_SEARCH>;"
1042 msgstr ""
1043 "通常、プロセスのファイルシステム UID がファイルの UID に一致することが 要求さ"
1044 "れる操作 (例えば B<chmod>(2), B<utime>(2))  における権限チェックをバイパスす"
1045 "る。 但し、 B<CAP_DAC_OVERRIDE> か B<CAP_DAC_READ_SEARCH> によりチェックが行"
1046 "われる操作は除く。"
1047
1048 #. type: Plain text
1049 #: build/C/man7/capabilities.7:116
1050 msgid "set extended file attributes (see B<chattr>(1))  on arbitrary files;"
1051 msgstr ""
1052 "任意のファイルに対して拡張ファイル属性を設定する (B<chattr>(1)  参照)。"
1053
1054 #. type: Plain text
1055 #: build/C/man7/capabilities.7:118
1056 msgid "set Access Control Lists (ACLs) on arbitrary files;"
1057 msgstr "任意のファイルに対してアクセス制御リスト (ACL) を設定する。"
1058
1059 #. type: Plain text
1060 #: build/C/man7/capabilities.7:120
1061 msgid "ignore directory sticky bit on file deletion;"
1062 msgstr "ファイルの削除の際にディレクトリのスティッキービットを無視する。"
1063
1064 #. type: Plain text
1065 #: build/C/man7/capabilities.7:127
1066 msgid ""
1067 "specify B<O_NOATIME> for arbitrary files in B<open>(2)  and B<fcntl>(2)."
1068 msgstr ""
1069 "B<open>(2)  や B<fcntl>(2)  で任意のファイルに対して B<O_NOATIME> を指定す"
1070 "る。"
1071
1072 #. type: TP
1073 #: build/C/man7/capabilities.7:129
1074 #, no-wrap
1075 msgid "B<CAP_FSETID>"
1076 msgstr "B<CAP_FSETID>"
1077
1078 #. type: Plain text
1079 #: build/C/man7/capabilities.7:135
1080 msgid ""
1081 "Don't clear set-user-ID and set-group-ID permission bits when a file is "
1082 "modified; set the set-group-ID bit for a file whose GID does not match the "
1083 "file system or any of the supplementary GIDs of the calling process."
1084 msgstr ""
1085 "ファイルが変更されたときに set-user-ID とset-group-ID の許可ビットをクリア し"
1086 "ない。呼び出し元プロセスのファイルシステム GID と追加の GID のいずれとも GID "
1087 "が一致しないファイルに対して set-group-ID ビットを設定する。"
1088
1089 #. type: TP
1090 #: build/C/man7/capabilities.7:135
1091 #, no-wrap
1092 msgid "B<CAP_IPC_LOCK>"
1093 msgstr "B<CAP_IPC_LOCK>"
1094
1095 #.  FIXME As at Linux 3.2, there are some strange uses of this capability
1096 #.  in other places; they probably should be replaced with something else.
1097 #. type: Plain text
1098 #: build/C/man7/capabilities.7:144
1099 msgid "Lock memory (B<mlock>(2), B<mlockall>(2), B<mmap>(2), B<shmctl>(2))."
1100 msgstr ""
1101 "メモリーのロック (B<mlock>(2), B<mlockall>(2), B<mmap>(2), B<shmctl>(2))  を"
1102 "行う。"
1103
1104 #. type: TP
1105 #: build/C/man7/capabilities.7:144
1106 #, no-wrap
1107 msgid "B<CAP_IPC_OWNER>"
1108 msgstr "B<CAP_IPC_OWNER>"
1109
1110 #. type: Plain text
1111 #: build/C/man7/capabilities.7:147
1112 msgid "Bypass permission checks for operations on System V IPC objects."
1113 msgstr ""
1114 "System V IPC オブジェクトに対する操作に関して権限チェックをバイパスする。"
1115
1116 #. type: TP
1117 #: build/C/man7/capabilities.7:147
1118 #, no-wrap
1119 msgid "B<CAP_KILL>"
1120 msgstr "B<CAP_KILL>"
1121
1122 #.  FIXME CAP_KILL also has an effect for threads + setting child
1123 #.        termination signal to other than SIGCHLD: without this
1124 #.        capability, the termination signal reverts to SIGCHLD
1125 #.        if the child does an exec().  What is the rationale
1126 #.        for this?
1127 #. type: Plain text
1128 #: build/C/man7/capabilities.7:160
1129 msgid ""
1130 "Bypass permission checks for sending signals (see B<kill>(2)).  This "
1131 "includes use of the B<ioctl>(2)  B<KDSIGACCEPT> operation."
1132 msgstr ""
1133 "シグナルを送信する際に権限チェックをバイパスする (B<kill>(2)  参照)。これに"
1134 "は B<ioctl>(2)  の B<KDSIGACCEPT> 操作の使用も含まれる。"
1135
1136 #. type: TP
1137 #: build/C/man7/capabilities.7:160
1138 #, no-wrap
1139 msgid "B<CAP_LEASE> (since Linux 2.4)"
1140 msgstr "B<CAP_LEASE> (Linux 2.4 以降)"
1141
1142 #. type: Plain text
1143 #: build/C/man7/capabilities.7:164
1144 msgid "Establish leases on arbitrary files (see B<fcntl>(2))."
1145 msgstr "任意のファイルに対して ファイルリースを設定する (B<fcntl>(2)  参照)。"
1146
1147 #. type: TP
1148 #: build/C/man7/capabilities.7:164
1149 #, no-wrap
1150 msgid "B<CAP_LINUX_IMMUTABLE>"
1151 msgstr "B<CAP_LINUX_IMMUTABLE>"
1152
1153 #.  These attributes are now available on ext2, ext3, Reiserfs, XFS, JFS
1154 #. type: Plain text
1155 #: build/C/man7/capabilities.7:173
1156 msgid ""
1157 "Set the B<FS_APPEND_FL> and B<FS_IMMUTABLE_FL> i-node flags (see B<chattr>"
1158 "(1))."
1159 msgstr ""
1160 "拡張ファイル属性 B<FS_APPEND_FL> と B<FS_IMMUTABLE_FL> を設定する (B<chattr>"
1161 "(1)  参照)。"
1162
1163 #. type: TP
1164 #: build/C/man7/capabilities.7:173
1165 #, no-wrap
1166 msgid "B<CAP_MAC_ADMIN> (since Linux 2.6.25)"
1167 msgstr "B<CAP_MAC_ADMIN> (Linux 2.6.25 以降)"
1168
1169 #. type: Plain text
1170 #: build/C/man7/capabilities.7:177
1171 msgid ""
1172 "Override Mandatory Access Control (MAC).  Implemented for the Smack Linux "
1173 "Security Module (LSM)."
1174 msgstr ""
1175 "強制アクセス制御 (MAC) を上書きする。 Smack Linux Security Module (LSM) 用に"
1176 "実装されている。"
1177
1178 #. type: TP
1179 #: build/C/man7/capabilities.7:177
1180 #, no-wrap
1181 msgid "B<CAP_MAC_OVERRIDE> (since Linux 2.6.25)"
1182 msgstr "B<CAP_MAC_OVERRIDE> (Linux 2.6.25 以降)"
1183
1184 #. type: Plain text
1185 #: build/C/man7/capabilities.7:181
1186 msgid ""
1187 "Allow MAC configuration or state changes.  Implemented for the Smack LSM."
1188 msgstr "MAC の設定や状態を変更する。 Smack LSM 用に実装されている。"
1189
1190 #. type: TP
1191 #: build/C/man7/capabilities.7:181
1192 #, no-wrap
1193 msgid "B<CAP_MKNOD> (since Linux 2.4)"
1194 msgstr "B<CAP_MKNOD> (Linux 2.4 以降)"
1195
1196 #. type: Plain text
1197 #: build/C/man7/capabilities.7:185
1198 msgid "Create special files using B<mknod>(2)."
1199 msgstr ""
1200 "(Linux 2.4 以降)  B<mknod>(2)  を使用してスペシャルファイルを作成する。"
1201
1202 #. type: TP
1203 #: build/C/man7/capabilities.7:185
1204 #, no-wrap
1205 msgid "B<CAP_NET_ADMIN>"
1206 msgstr "B<CAP_NET_ADMIN>"
1207
1208 #. type: Plain text
1209 #: build/C/man7/capabilities.7:188
1210 msgid "Perform various network-related operations:"
1211 msgstr "各種のネットワーク関係の操作を実行する:"
1212
1213 #. type: Plain text
1214 #: build/C/man7/capabilities.7:192
1215 msgid "interface configuration;"
1216 msgstr "インターフェースの設定"
1217
1218 #. type: Plain text
1219 #: build/C/man7/capabilities.7:194
1220 msgid "administration of IP firewall, masquerading, and accounting"
1221 msgstr "IP のファイアウォール、マスカレード、アカウンティング"
1222
1223 #. type: Plain text
1224 #: build/C/man7/capabilities.7:196
1225 msgid "modify routing tables;"
1226 msgstr "ルーティングテーブルの変更"
1227
1228 #. type: Plain text
1229 #: build/C/man7/capabilities.7:198
1230 msgid "bind to any address for transparent proxying;"
1231 msgstr "透過的プロキシでの任意のアドレスの割り当て (bind)"
1232
1233 #. type: Plain text
1234 #: build/C/man7/capabilities.7:200
1235 msgid "set type-of-service (TOS)"
1236 msgstr "サービス種別 (type-of-service; TOS) のセット"
1237
1238 #. type: Plain text
1239 #: build/C/man7/capabilities.7:202
1240 msgid "clear driver statistics;"
1241 msgstr "ドライバの統計情報のクリア"
1242
1243 #. type: Plain text
1244 #: build/C/man7/capabilities.7:204
1245 msgid "set promiscuous mode;"
1246 msgstr "promiscuous モードをセットする"
1247
1248 #. type: Plain text
1249 #: build/C/man7/capabilities.7:206
1250 msgid "enabling multicasting;"
1251 msgstr "マルチキャストを有効にする"
1252
1253 #. type: Plain text
1254 #: build/C/man7/capabilities.7:217
1255 msgid ""
1256 "use B<setsockopt>(2)  to set the following socket options: B<SO_DEBUG>, "
1257 "B<SO_MARK>, B<SO_PRIORITY> (for a priority outside the range 0 to 6), "
1258 "B<SO_RCVBUFFORCE>, and B<SO_SNDBUFFORCE>."
1259 msgstr ""
1260 "B<setsockopt>(2) を使って以下のソケットオプションを設定する:\n"
1261 "B<SO_DEBUG>, B<SO_MARK>, \n"
1262 "B<SO_PRIORITY> (優先度を 0 から 6 以外に設定する場合),\n"
1263 "B<SO_RCVBUFFORCE>, and B<SO_SNDBUFFORCE>"
1264
1265 #. type: TP
1266 #: build/C/man7/capabilities.7:219
1267 #, no-wrap
1268 msgid "B<CAP_NET_BIND_SERVICE>"
1269 msgstr "B<CAP_NET_BIND_SERVICE>"
1270
1271 #. type: Plain text
1272 #: build/C/man7/capabilities.7:223
1273 msgid ""
1274 "Bind a socket to Internet domain privileged ports (port numbers less than "
1275 "1024)."
1276 msgstr ""
1277 "インターネットドメインの特権ポート (ポート番号が 1024 番未満)  をバインドでき"
1278 "る。"
1279
1280 #. type: TP
1281 #: build/C/man7/capabilities.7:223
1282 #, no-wrap
1283 msgid "B<CAP_NET_BROADCAST>"
1284 msgstr "B<CAP_NET_BROADCAST>"
1285
1286 #. type: Plain text
1287 #: build/C/man7/capabilities.7:226
1288 msgid "(Unused)  Make socket broadcasts, and listen to multicasts."
1289 msgstr ""
1290 "(未使用) ソケットのブロードキャストと、マルチキャストの待ち受けを行う。"
1291
1292 #. type: TP
1293 #: build/C/man7/capabilities.7:226
1294 #, no-wrap
1295 msgid "B<CAP_NET_RAW>"
1296 msgstr "B<CAP_NET_RAW>"
1297
1298 #. type: Plain text
1299 #: build/C/man7/capabilities.7:232
1300 msgid "use RAW and PACKET sockets;"
1301 msgstr "RAW ソケットと PACKET ソケットを使用する。"
1302
1303 #. type: Plain text
1304 #: build/C/man7/capabilities.7:234
1305 msgid "bind to any address for transparent proxying."
1306 msgstr "透過的プロキシでの任意のアドレスの割り当て (bind)"
1307
1308 #. type: TP
1309 #: build/C/man7/capabilities.7:237
1310 #, no-wrap
1311 msgid "B<CAP_SETGID>"
1312 msgstr "B<CAP_SETGID>"
1313
1314 #. type: Plain text
1315 #: build/C/man7/capabilities.7:241
1316 msgid ""
1317 "Make arbitrary manipulations of process GIDs and supplementary GID list; "
1318 "forge GID when passing socket credentials via UNIX domain sockets."
1319 msgstr ""
1320 "プロセスの GID と追加の GID リストに対する任意の操作を行う。 UNIX ドメインソ"
1321 "ケット経由でソケットの資格情報 (credential) を渡す際に 偽の GID を渡すことが"
1322 "できる。"
1323
1324 #. type: TP
1325 #: build/C/man7/capabilities.7:241
1326 #, no-wrap
1327 msgid "B<CAP_SETFCAP> (since Linux 2.6.24)"
1328 msgstr "B<CAP_SETFCAP> (Linux 2.6.24 以降)"
1329
1330 #. type: Plain text
1331 #: build/C/man7/capabilities.7:244
1332 msgid "Set file capabilities."
1333 msgstr "ファイルケーパビリティを設定する。"
1334
1335 #. type: TP
1336 #: build/C/man7/capabilities.7:244
1337 #, no-wrap
1338 msgid "B<CAP_SETPCAP>"
1339 msgstr "B<CAP_SETPCAP>"
1340
1341 #. type: Plain text
1342 #: build/C/man7/capabilities.7:255
1343 msgid ""
1344 "If file capabilities are not supported: grant or remove any capability in "
1345 "the caller's permitted capability set to or from any other process.  (This "
1346 "property of B<CAP_SETPCAP> is not available when the kernel is configured to "
1347 "support file capabilities, since B<CAP_SETPCAP> has entirely different "
1348 "semantics for such kernels.)"
1349 msgstr ""
1350 "ファイルケーパビリティがサポートされていない場合: 呼び出し元が許可されている"
1351 "ケーパビリティセットに含まれる任意のケーパビリティを、 他のプロセスに付与した"
1352 "り、削除したりできる。 (カーネルがファイルケーパビリティをサポートしている場"
1353 "合、 B<CAP_SETPCAP> はこの役割を持たない。 なぜなら、ファイルケーパビリティを"
1354 "サポートしているカーネルでは B<CAP_SETPCAP> は全く別の意味を持つからである。)"
1355
1356 #. type: Plain text
1357 #: build/C/man7/capabilities.7:265
1358 msgid ""
1359 "If file capabilities are supported: add any capability from the calling "
1360 "thread's bounding set to its inheritable set; drop capabilities from the "
1361 "bounding set (via B<prctl>(2)  B<PR_CAPBSET_DROP>); make changes to the "
1362 "I<securebits> flags."
1363 msgstr ""
1364 "ファイルケーパビリティがサポートされている場合: 呼び出し元スレッドのバウン"
1365 "ディングセットの任意のケーパビリティを 自身の継承可能ケーパビリティセットに追"
1366 "加できる。 (B<prctl>(2)  B<PR_CAPBSET_DROP> を使って)  バウンディングセットか"
1367 "らケーパビリティを削除できる。 I<securebits> フラグを変更できる。"
1368
1369 #. type: TP
1370 #: build/C/man7/capabilities.7:265
1371 #, no-wrap
1372 msgid "B<CAP_SETUID>"
1373 msgstr "B<CAP_SETUID>"
1374
1375 #.  FIXME CAP_SETUID also an effect in exec(); document this.
1376 #. type: Plain text
1377 #: build/C/man7/capabilities.7:274
1378 msgid ""
1379 "Make arbitrary manipulations of process UIDs (B<setuid>(2), B<setreuid>(2), "
1380 "B<setresuid>(2), B<setfsuid>(2)); make forged UID when passing socket "
1381 "credentials via UNIX domain sockets."
1382 msgstr ""
1383 "プロセスの UID に対する任意の操作 (B<setuid>(2), B<setreuid>(2), B<setresuid>"
1384 "(2), B<setfsuid>(2))  を行う。 UNIX ドメインソケット経由でソケットの資格情報 "
1385 "(credential) を渡す際に 偽の UID を渡すことができる。"
1386
1387 #. type: TP
1388 #: build/C/man7/capabilities.7:274
1389 #, no-wrap
1390 msgid "B<CAP_SYS_ADMIN>"
1391 msgstr "B<CAP_SYS_ADMIN>"
1392
1393 #. type: Plain text
1394 #: build/C/man7/capabilities.7:288
1395 msgid ""
1396 "Perform a range of system administration operations including: B<quotactl>"
1397 "(2), B<mount>(2), B<umount>(2), B<swapon>(2), B<swapoff>(2), B<sethostname>"
1398 "(2), and B<setdomainname>(2);"
1399 msgstr ""
1400 "以下のシステム管理用の操作を実行する: B<quotactl>(2), B<mount>(2), B<umount>"
1401 "(2), B<swapon>(2), B<swapoff>(2), B<sethostname>(2), B<setdomainname>(2)."
1402
1403 #. type: Plain text
1404 #: build/C/man7/capabilities.7:294
1405 msgid ""
1406 "perform privileged B<syslog>(2)  operations (since Linux 2.6.37, "
1407 "B<CAP_SYSLOG> should be used to permit such operations);"
1408 msgstr ""
1409 "特権が必要な B<syslog>(2) の操作を実行する\n"
1410 "(Linux 2.6.37 以降では、このような操作を許可するには\n"
1411 "B<CAP_SYSLOG> を使うべきである)"
1412
1413 #. type: Plain text
1414 #: build/C/man7/capabilities.7:299
1415 msgid "perform B<VM86_REQUEST_IRQ> B<vm86>(2)  command;"
1416 msgstr "B<VM86_REQUEST_IRQ> B<vm86>(2) コマンドを実行する。"
1417
1418 #. type: Plain text
1419 #: build/C/man7/capabilities.7:305
1420 msgid ""
1421 "perform B<IPC_SET> and B<IPC_RMID> operations on arbitrary System V IPC "
1422 "objects;"
1423 msgstr ""
1424 "任意の System V IPC オブジェクトに対する B<IPC_SET> と B<IPC_RMID> 操作を実行"
1425 "する。"
1426
1427 #. type: Plain text
1428 #: build/C/man7/capabilities.7:312
1429 msgid ""
1430 "perform operations on I<trusted> and I<security> Extended Attributes (see "
1431 "B<attr>(5));"
1432 msgstr ""
1433 "拡張属性 I<trusted> と I<security> に対する操作を実行する (B<attr>(5)  参"
1434 "照)。"
1435
1436 #. type: Plain text
1437 #: build/C/man7/capabilities.7:315
1438 msgid "use B<lookup_dcookie>(2);"
1439 msgstr "B<lookup_dcookie>(2)  を呼び出す。"
1440
1441 #. type: Plain text
1442 #: build/C/man7/capabilities.7:323
1443 msgid ""
1444 "use B<ioprio_set>(2)  to assign B<IOPRIO_CLASS_RT> and (before Linux "
1445 "2.6.25)  B<IOPRIO_CLASS_IDLE> I/O scheduling classes;"
1446 msgstr ""
1447 "B<ioprio_set>(2)  を使って I/O スケジューリングクラス B<IOPRIO_CLASS_RT>, "
1448 "B<IOPRIO_CLASS_IDLE> を割り当てる (B<IOPRIO_CLASS_IDLE> は Linux 2.6.25 より"
1449 "前のバージョンのみ)。"
1450
1451 #. type: Plain text
1452 #: build/C/man7/capabilities.7:325
1453 msgid "forge UID when passing socket credentials;"
1454 msgstr "ソケットの資格情報 (credential) を渡す際に偽の UID を渡す。"
1455
1456 #. type: Plain text
1457 #: build/C/man7/capabilities.7:334
1458 msgid ""
1459 "exceed I</proc/sys/fs/file-max>, the system-wide limit on the number of open "
1460 "files, in system calls that open files (e.g., B<accept>(2), B<execve>(2), "
1461 "B<open>(2), B<pipe>(2));"
1462 msgstr ""
1463 "ファイルをオープンするシステムコール (例えば B<accept>(2), B<execve>(2), "
1464 "B<open>(2), B<pipe>(2))  でシステム全体でオープンできるファイル数の上限 I</"
1465 "proc/sys/fs/file-max> を超過する。"
1466
1467 #. type: Plain text
1468 #: build/C/man7/capabilities.7:341
1469 msgid ""
1470 "employ B<CLONE_*> flags that create new namespaces with B<clone>(2)  and "
1471 "B<unshare>(2);"
1472 msgstr ""
1473 "B<clone>(2) と B<unshare>(2) で新しい名前空間を作成する B<CLONE_*> \n"
1474 "フラグを利用する。"
1475
1476 #. type: Plain text
1477 #: build/C/man7/capabilities.7:344
1478 msgid "call B<perf_event_open>(2);"
1479 msgstr "B<perf_event_open>(2) を呼び出す。"
1480
1481 #. type: Plain text
1482 #: build/C/man7/capabilities.7:348
1483 msgid "access privileged I<perf> event information;"
1484 msgstr "特権が必要な I<perf> イベントの情報にアクセスする。"
1485
1486 #. type: Plain text
1487 #: build/C/man7/capabilities.7:351
1488 msgid "call B<setns>(2);"
1489 msgstr "B<setns>(2) を呼び出す。"
1490
1491 #. type: Plain text
1492 #: build/C/man7/capabilities.7:354
1493 msgid "call B<fanotify_init>(2);"
1494 msgstr "B<fanotify_init>(2) を呼び出す。"
1495
1496 #. type: Plain text
1497 #: build/C/man7/capabilities.7:361
1498 msgid "perform B<KEYCTL_CHOWN> and B<KEYCTL_SETPERM> B<keyctl>(2)  operations;"
1499 msgstr "B<keyctl>(2)  の B<KEYCTL_CHOWN> と B<KEYCTL_SETPERM> 操作を実行する。"
1500
1501 #. type: Plain text
1502 #: build/C/man7/capabilities.7:366
1503 msgid "perform B<madvise>(2)  B<MADV_HWPOISON> operation;"
1504 msgstr "B<madvise>(2)  の B<MADV_HWPOISON> 操作を実行する。"
1505
1506 #. type: Plain text
1507 #: build/C/man7/capabilities.7:372
1508 msgid ""
1509 "employ the B<TIOCSTI> B<ioctl>(2)  to insert characters into the input queue "
1510 "of a terminal other than the caller's controlling terminal."
1511 msgstr ""
1512 "B<TIOCSTI> B<ioctl>(2) を使って、\n"
1513 "呼び出し元の制御端末以外の端末の入力キューに文字を挿入する。"
1514
1515 #. type: Plain text
1516 #: build/C/man7/capabilities.7:376
1517 msgid "employ the obsolete B<nfsservctl>(2)  system call;"
1518 msgstr "廃止予定の B<nfsservctl>(2) システムコールを使用する。"
1519
1520 #. type: Plain text
1521 #: build/C/man7/capabilities.7:380
1522 msgid "employ the obsolete B<bdflush>(2)  system call;"
1523 msgstr "廃止予定の B<bdflush>(2) システムコールを使用する。"
1524
1525 #. type: Plain text
1526 #: build/C/man7/capabilities.7:384
1527 msgid "perform various privileged block-device B<ioctl>(2)  operations;"
1528 msgstr ""
1529 "特権が必要なブロックデバイスに対する各種の B<ioctl>(2) 操作を\n"
1530 "実行する。"
1531
1532 #. type: Plain text
1533 #: build/C/man7/capabilities.7:388
1534 msgid "perform various privileged file-system B<ioctl>(2)  operations;"
1535 msgstr ""
1536 "特権が必要なファイルシステムに対する各種の B<ioctl>(2) 操作を\n"
1537 "実行する。"
1538
1539 #. type: Plain text
1540 #: build/C/man7/capabilities.7:390
1541 msgid "perform administrative operations on many device drivers."
1542 msgstr "多くのデバイスドライバに対する管理命令を実行する。"
1543
1544 #. type: TP
1545 #: build/C/man7/capabilities.7:392
1546 #, no-wrap
1547 msgid "B<CAP_SYS_BOOT>"
1548 msgstr "B<CAP_SYS_BOOT>"
1549
1550 #. type: Plain text
1551 #: build/C/man7/capabilities.7:398
1552 msgid "Use B<reboot>(2)  and B<kexec_load>(2)."
1553 msgstr "B<reboot>(2)  と B<kexec_load>(2)  を呼び出す。"
1554
1555 #. type: TP
1556 #: build/C/man7/capabilities.7:398
1557 #, no-wrap
1558 msgid "B<CAP_SYS_CHROOT>"
1559 msgstr "B<CAP_SYS_CHROOT>"
1560
1561 #. type: Plain text
1562 #: build/C/man7/capabilities.7:402
1563 msgid "Use B<chroot>(2)."
1564 msgstr "B<chroot>(2).  を呼び出す。"
1565
1566 #. type: TP
1567 #: build/C/man7/capabilities.7:402
1568 #, no-wrap
1569 msgid "B<CAP_SYS_MODULE>"
1570 msgstr "B<CAP_SYS_MODULE>"
1571
1572 #. type: Plain text
1573 #: build/C/man7/capabilities.7:411
1574 msgid ""
1575 "Load and unload kernel modules (see B<init_module>(2)  and B<delete_module>"
1576 "(2)); in kernels before 2.6.25: drop capabilities from the system-wide "
1577 "capability bounding set."
1578 msgstr ""
1579 "カーネルモジュールのロード、アンロードを行う (B<init_module>(2)  と "
1580 "B<delete_module>(2)  を参照のこと)。 バージョン 2.6.25 より前のカーネルで、 "
1581 "システム全体のケーパビリティバウンディングセット (capability bounding set)  "
1582 "からケーパビリティを外す。"
1583
1584 #. type: TP
1585 #: build/C/man7/capabilities.7:411
1586 #, no-wrap
1587 msgid "B<CAP_SYS_NICE>"
1588 msgstr "B<CAP_SYS_NICE>"
1589
1590 #. type: Plain text
1591 #: build/C/man7/capabilities.7:420
1592 msgid ""
1593 "Raise process nice value (B<nice>(2), B<setpriority>(2))  and change the "
1594 "nice value for arbitrary processes;"
1595 msgstr ""
1596 "プロセスの nice 値の引き上げ (B<nice>(2), B<setpriority>(2))  や、任意のプロ"
1597 "セスの nice 値の変更を行う。"
1598
1599 #. type: Plain text
1600 #: build/C/man7/capabilities.7:425
1601 msgid ""
1602 "set real-time scheduling policies for calling process, and set scheduling "
1603 "policies and priorities for arbitrary processes (B<sched_setscheduler>(2), "
1604 "B<sched_setparam>(2));"
1605 msgstr ""
1606 "呼び出し元プロセスに対するリアルタイムスケジューリングポリシーと、 任意のプロ"
1607 "セスに対するスケジューリングポリシーと優先度を設定する (B<sched_setscheduler>"
1608 "(2), B<sched_setparam>(2))。"
1609
1610 #. type: Plain text
1611 #: build/C/man7/capabilities.7:428
1612 msgid "set CPU affinity for arbitrary processes (B<sched_setaffinity>(2));"
1613 msgstr ""
1614 "任意のプロセスに対する CPU affinity を設定できる (B<sched_setaffinity>(2))。"
1615
1616 #. type: Plain text
1617 #: build/C/man7/capabilities.7:431
1618 msgid ""
1619 "set I/O scheduling class and priority for arbitrary processes (B<ioprio_set>"
1620 "(2));"
1621 msgstr ""
1622 "任意のプロセスに対して I/O スケジューリングクラスと優先度を設定できる "
1623 "(B<ioprio_set>(2))。"
1624
1625 #.  FIXME CAP_SYS_NICE also has the following effect for
1626 #.  migrate_pages(2):
1627 #.      do_migrate_pages(mm, &old, &new,
1628 #.          capable(CAP_SYS_NICE) ? MPOL_MF_MOVE_ALL : MPOL_MF_MOVE);
1629 #. type: Plain text
1630 #: build/C/man7/capabilities.7:440
1631 msgid ""
1632 "apply B<migrate_pages>(2)  to arbitrary processes and allow processes to be "
1633 "migrated to arbitrary nodes;"
1634 msgstr ""
1635 "B<migrate_pages>(2)  を任意のプロセスに適用し、プロセスを任意のノードに移動す"
1636 "る。"
1637
1638 #. type: Plain text
1639 #: build/C/man7/capabilities.7:444
1640 msgid "apply B<move_pages>(2)  to arbitrary processes;"
1641 msgstr "B<move_pages>(2)  を任意のプロセスに対して行う。"
1642
1643 #. type: Plain text
1644 #: build/C/man7/capabilities.7:451
1645 msgid ""
1646 "use the B<MPOL_MF_MOVE_ALL> flag with B<mbind>(2)  and B<move_pages>(2)."
1647 msgstr ""
1648 "B<mbind>(2)  と B<move_pages>(2)  で B<MPOL_MF_MOVE_ALL> フラグを使用する。"
1649
1650 #. type: TP
1651 #: build/C/man7/capabilities.7:453
1652 #, no-wrap
1653 msgid "B<CAP_SYS_PACCT>"
1654 msgstr "B<CAP_SYS_PACCT>"
1655
1656 #. type: Plain text
1657 #: build/C/man7/capabilities.7:457
1658 msgid "Use B<acct>(2)."
1659 msgstr "B<acct>(2)  を呼び出す。"
1660
1661 #. type: TP
1662 #: build/C/man7/capabilities.7:457
1663 #, no-wrap
1664 msgid "B<CAP_SYS_PTRACE>"
1665 msgstr "B<CAP_SYS_PTRACE>"
1666
1667 #. type: Plain text
1668 #: build/C/man7/capabilities.7:466
1669 #, fuzzy
1670 #| msgid ""
1671 #| "Trace arbitrary processes using B<ptrace>(2); apply B<get_robust_list>"
1672 #| "(2)  to arbitrary processes."
1673 msgid ""
1674 "Trace arbitrary processes using B<ptrace>(2); apply B<get_robust_list>(2)  "
1675 "to arbitrary processes; inspect processes using B<kcmp>(2)."
1676 msgstr ""
1677 "B<ptrace>(2)  を使って任意のプロセスをトレースする。 任意のプロセスに "
1678 "B<get_robust_list>(2)  を適用する。"
1679
1680 #. type: TP
1681 #: build/C/man7/capabilities.7:466
1682 #, no-wrap
1683 msgid "B<CAP_SYS_RAWIO>"
1684 msgstr "B<CAP_SYS_RAWIO>"
1685
1686 #. type: Plain text
1687 #: build/C/man7/capabilities.7:475
1688 #, fuzzy
1689 #| msgid ""
1690 #| "Perform I/O port operations (B<iopl>(2)  and B<ioperm>(2)); access I</"
1691 #| "proc/kcore>; employ the B<FIBMAP> B<ioctl>(2)  operation."
1692 msgid "Perform I/O port operations (B<iopl>(2)  and B<ioperm>(2));"
1693 msgstr ""
1694 "I/O ポート操作を実行する (B<iopl>(2)、 B<ioperm>(2))。\n"
1695 "I</proc/kcore> にアクセスする。\n"
1696 "B<FIBMAP> B<ioctl>(2) 操作を使用する。"
1697
1698 #. type: Plain text
1699 #: build/C/man7/capabilities.7:478
1700 msgid "access I</proc/kcore>;"
1701 msgstr ""
1702
1703 #. type: Plain text
1704 #: build/C/man7/capabilities.7:483
1705 #, fuzzy
1706 #| msgid "employ B<prctl>(2)  B<PR_SET_MM> operation."
1707 msgid "employ the B<FIBMAP> B<ioctl>(2)  operation;"
1708 msgstr "B<prctl>(2) の B<PR_SET_MM> 操作を使用する。"
1709
1710 #. type: Plain text
1711 #: build/C/man7/capabilities.7:486
1712 msgid ""
1713 "open devices for accessing x86 model-specific registers (MSRs, see B<msr>(4))"
1714 msgstr ""
1715
1716 #. type: Plain text
1717 #: build/C/man7/capabilities.7:489
1718 msgid "update I</proc/sys/vm/mmap_min_addr>;"
1719 msgstr ""
1720
1721 #. type: Plain text
1722 #: build/C/man7/capabilities.7:492
1723 msgid ""
1724 "create memory mappings at addresses below the value specified by I</proc/sys/"
1725 "vm/mmap_min_addr>;"
1726 msgstr ""
1727
1728 #. type: Plain text
1729 #: build/C/man7/capabilities.7:495
1730 msgid "map files in I</proc/pci/bus>;"
1731 msgstr ""
1732
1733 #. type: Plain text
1734 #: build/C/man7/capabilities.7:500
1735 msgid "open I</dev/mem> and I</dev/kmem>;"
1736 msgstr ""
1737
1738 #. type: Plain text
1739 #: build/C/man7/capabilities.7:502
1740 msgid "perform various SCSI device commands;"
1741 msgstr ""
1742
1743 #. type: Plain text
1744 #: build/C/man7/capabilities.7:508
1745 msgid "perform certain operations on B<hpsa>(4)  and B<cciss>(4)  devices;"
1746 msgstr ""
1747
1748 #. type: Plain text
1749 #: build/C/man7/capabilities.7:510
1750 #, fuzzy
1751 #| msgid "perform administrative operations on many device drivers."
1752 msgid "perform a range of device-specific operations on other devices."
1753 msgstr "多くのデバイスドライバに対する管理命令を実行する。"
1754
1755 #. type: TP
1756 #: build/C/man7/capabilities.7:512
1757 #, no-wrap
1758 msgid "B<CAP_SYS_RESOURCE>"
1759 msgstr "B<CAP_SYS_RESOURCE>"
1760
1761 #. type: Plain text
1762 #: build/C/man7/capabilities.7:518
1763 msgid "Use reserved space on ext2 file systems;"
1764 msgstr "ext2 ファイルシステム上の予約されている領域を使用する。"
1765
1766 #. type: Plain text
1767 #: build/C/man7/capabilities.7:522
1768 msgid "make B<ioctl>(2)  calls controlling ext3 journaling;"
1769 msgstr "ext3 のジャーナル機能を制御する B<ioctl>(2)  を使用する。"
1770
1771 #. type: Plain text
1772 #: build/C/man7/capabilities.7:524
1773 msgid "override disk quota limits;"
1774 msgstr "ディスク quota の上限を上書きする。"
1775
1776 #. type: Plain text
1777 #: build/C/man7/capabilities.7:527
1778 msgid "increase resource limits (see B<setrlimit>(2));"
1779 msgstr "リソース上限を増やす (B<setrlimit>(2))。"
1780
1781 #. type: Plain text
1782 #: build/C/man7/capabilities.7:531
1783 msgid "override B<RLIMIT_NPROC> resource limit;"
1784 msgstr "B<RLIMIT_NPROC> リソース制限を上書きする。"
1785
1786 #. type: Plain text
1787 #: build/C/man7/capabilities.7:533
1788 msgid "override maximum number of consoles on console allocation;"
1789 msgstr "コンソール割り当てにおいてコンソールの最大数を上書きする。"
1790
1791 #. type: Plain text
1792 #: build/C/man7/capabilities.7:535
1793 msgid "override maximum number of keymaps;"
1794 msgstr "キーマップの最大数を上書きする。"
1795
1796 #. type: Plain text
1797 #: build/C/man7/capabilities.7:537
1798 msgid "allow more than 64hz interrupts from the real-time clock;"
1799 msgstr "リアルタイムクロックから秒間 64 回を越える回数の割り当てが許可する。"
1800
1801 #. type: Plain text
1802 #: build/C/man7/capabilities.7:546
1803 msgid ""
1804 "raise I<msg_qbytes> limit for a System V message queue above the limit in I</"
1805 "proc/sys/kernel/msgmnb> (see B<msgop>(2)  and B<msgctl>(2));"
1806 msgstr ""
1807 "メッセージキューに関する上限 I<msg_qbytes> を \n"
1808 "I</proc/sys/kernel/msgmnb> に指定されている上限よりも大きく設定する\n"
1809 "(B<msgop>(2) と B<msgctl>(2) 参照)。"
1810
1811 #. type: Plain text
1812 #: build/C/man7/capabilities.7:553
1813 msgid ""
1814 "override the I</proc/sys/fs/pipe-size-max> limit when setting the capacity "
1815 "of a pipe using the B<F_SETPIPE_SZ> B<fcntl>(2)  command."
1816 msgstr ""
1817 "B<F_SETPIPE_SZ> B<fcntl>(2) を使ってパイプの容量を設定する際に\n"
1818 "上限 I</proc/sys/fs/pipe-size-max> を上書きする。"
1819
1820 #. type: Plain text
1821 #: build/C/man7/capabilities.7:558
1822 msgid ""
1823 "use B<F_SETPIPE_SZ> to increase the capacity of a pipe above the limit "
1824 "specified by I</proc/sys/fs/pipe-max-size>;"
1825 msgstr ""
1826 "I</proc/sys/fs/pipe-max-size> に指定されている上限を超えてパイプの容量\n"
1827 "を増やすのに B<F_SETPIPE_SZ> を使用する。"
1828
1829 #. type: Plain text
1830 #: build/C/man7/capabilities.7:563
1831 msgid ""
1832 "override I</proc/sys/fs/mqueue/queues_max> limit when creating POSIX message "
1833 "queues (see B<mq_overview>(7));"
1834 msgstr ""
1835 "POSIX メッセージキューを作成する際に、\n"
1836 "上限 I</proc/sys/fs/mqueue/queues_max> を上書きする\n"
1837 "(B<mq_overview>(7) 参照)。"
1838
1839 #. type: Plain text
1840 #: build/C/man7/capabilities.7:572
1841 msgid ""
1842 "employ B<prctl>(2)  B<PR_SET_MM> operation; set I</proc/PID/oom_score_adj> "
1843 "to a value lower than the value last set by a process with "
1844 "B<CAP_SYS_RESOURCE>."
1845 msgstr ""
1846
1847 #. type: TP
1848 #: build/C/man7/capabilities.7:574
1849 #, no-wrap
1850 msgid "B<CAP_SYS_TIME>"
1851 msgstr "B<CAP_SYS_TIME>"
1852
1853 #. type: Plain text
1854 #: build/C/man7/capabilities.7:581
1855 msgid ""
1856 "Set system clock (B<settimeofday>(2), B<stime>(2), B<adjtimex>(2)); set real-"
1857 "time (hardware) clock."
1858 msgstr ""
1859 "システムクロックを変更する (B<settimeofday>(2), B<stime>(2), B<adjtimex>"
1860 "(2))。 リアルタイム (ハードウェア) クロックを変更する。"
1861
1862 #. type: TP
1863 #: build/C/man7/capabilities.7:581
1864 #, no-wrap
1865 msgid "B<CAP_SYS_TTY_CONFIG>"
1866 msgstr "B<CAP_SYS_TTY_CONFIG>"
1867
1868 #. type: Plain text
1869 #: build/C/man7/capabilities.7:588
1870 msgid ""
1871 "Use B<vhangup>(2); employ various privileged B<ioctl>(2)  operations on "
1872 "virtual terminals."
1873 msgstr ""
1874 "B<vhangup>(2) を使用する。\n"
1875 "特権が必要な仮想端末に関する各種の B<ioctl>(2) 操作を利用できる。"
1876
1877 #. type: TP
1878 #: build/C/man7/capabilities.7:588
1879 #, no-wrap
1880 msgid "B<CAP_SYSLOG> (since Linux 2.6.37)"
1881 msgstr "B<CAP_SYSLOG> (Linux 2.6.37 以降)"
1882
1883 #. type: Plain text
1884 #: build/C/man7/capabilities.7:597
1885 msgid ""
1886 "Perform privileged B<syslog>(2)  operations.  See B<syslog>(2)  for "
1887 "information on which operations require privilege."
1888 msgstr ""
1889 "特権が必要な B<syslog>(2) 操作を実行できる。\n"
1890 "どの操作が特権が必要かについての情報は B<syslog>(2) を参照。"
1891
1892 #. type: Plain text
1893 #: build/C/man7/capabilities.7:607
1894 msgid ""
1895 "View kernel addresses exposed via I</proc> and other interfaces when I</proc/"
1896 "sys/kernel/kptr_restrict> has the value 1.  (See the discussion of the "
1897 "I<kptr_restrict> in B<proc>(5).)"
1898 msgstr ""
1899
1900 #. type: TP
1901 #: build/C/man7/capabilities.7:607
1902 #, no-wrap
1903 msgid "B<CAP_WAKE_ALARM> (since Linux 3.0)"
1904 msgstr "B<CAP_WAKE_ALARM> (Linux 3.0 以降)"
1905
1906 #. type: Plain text
1907 #: build/C/man7/capabilities.7:615
1908 msgid ""
1909 "Trigger something that will wake up the system (set B<CLOCK_REALTIME_ALARM> "
1910 "and B<CLOCK_BOOTTIME_ALARM> timers)."
1911 msgstr ""
1912 "システムを起こすトリガーを有効にする (タイマー B<CLOCK_REALTIME_ALARM>\n"
1913 "や B<CLOCK_BOOTTIME_ALARM> を設定する)。"
1914
1915 #. type: SS
1916 #: build/C/man7/capabilities.7:615
1917 #, fuzzy, no-wrap
1918 #| msgid "Past and Current Implementation"
1919 msgid "Past and current implementation"
1920 msgstr "過去と現在の実装"
1921
1922 #. type: Plain text
1923 #: build/C/man7/capabilities.7:617
1924 msgid "A full implementation of capabilities requires that:"
1925 msgstr "完全な形のケーパビリティを実装するには、以下の要件を満たす必要がある:"
1926
1927 #. type: IP
1928 #: build/C/man7/capabilities.7:617 build/C/man7/capabilities.7:760
1929 #: build/C/man7/capabilities.7:907 build/C/man7/capabilities.7:960
1930 #, no-wrap
1931 msgid "1."
1932 msgstr "1."
1933
1934 #. type: Plain text
1935 #: build/C/man7/capabilities.7:621
1936 msgid ""
1937 "For all privileged operations, the kernel must check whether the thread has "
1938 "the required capability in its effective set."
1939 msgstr ""
1940 "全ての特権操作について、カーネルはそのスレッドの実効ケーパビリティセットに 必"
1941 "要なケーパビリティがあるかを確認する。"
1942
1943 #. type: IP
1944 #: build/C/man7/capabilities.7:621 build/C/man7/capabilities.7:765
1945 #: build/C/man7/capabilities.7:913 build/C/man7/capabilities.7:966
1946 #, no-wrap
1947 msgid "2."
1948 msgstr "2."
1949
1950 #. type: Plain text
1951 #: build/C/man7/capabilities.7:624
1952 msgid ""
1953 "The kernel must provide system calls allowing a thread's capability sets to "
1954 "be changed and retrieved."
1955 msgstr ""
1956 "カーネルで、あるスレッドのケーパビリティセットを変更したり、 取得したりできる"
1957 "システムコールが提供される。"
1958
1959 #. type: IP
1960 #: build/C/man7/capabilities.7:624 build/C/man7/capabilities.7:916
1961 #: build/C/man7/capabilities.7:970
1962 #, no-wrap
1963 msgid "3."
1964 msgstr "3."
1965
1966 #. type: Plain text
1967 #: build/C/man7/capabilities.7:627
1968 msgid ""
1969 "The file system must support attaching capabilities to an executable file, "
1970 "so that a process gains those capabilities when the file is executed."
1971 msgstr ""
1972 "ファイルシステムが、実行可能ファイルにケーパビリティを付与でき、ファイル 実行"
1973 "時にそのケーパビリティをプロセスが取得できるような機能をサポートする。"
1974
1975 #. type: Plain text
1976 #: build/C/man7/capabilities.7:631
1977 msgid ""
1978 "Before kernel 2.6.24, only the first two of these requirements are met; "
1979 "since kernel 2.6.24, all three requirements are met."
1980 msgstr ""
1981 "カーネル 2.6.24 より前では、最初の 2つの要件のみが満たされている。 カーネル "
1982 "2.6.24 以降では、3つの要件すべてが満たされている。"
1983
1984 #. type: SS
1985 #: build/C/man7/capabilities.7:631
1986 #, fuzzy, no-wrap
1987 #| msgid "Thread Capability Sets"
1988 msgid "Thread capability sets"
1989 msgstr "スレッドケーパビリティセット"
1990
1991 #. type: Plain text
1992 #: build/C/man7/capabilities.7:634
1993 msgid ""
1994 "Each thread has three capability sets containing zero or more of the above "
1995 "capabilities:"
1996 msgstr ""
1997 "各スレッドは以下の 3種類のケーパビリティセットを持つ。各々のケーパビリティ"
1998 "セットは 上記のケーパビリティの組み合わせである (全てのケーパビリティが無効で"
1999 "もよい)。"
2000
2001 #. type: TP
2002 #: build/C/man7/capabilities.7:634
2003 #, no-wrap
2004 msgid "I<Permitted>:"
2005 msgstr "I<許可 (permitted)>:"
2006
2007 #. type: Plain text
2008 #: build/C/man7/capabilities.7:642
2009 msgid ""
2010 "This is a limiting superset for the effective capabilities that the thread "
2011 "may assume.  It is also a limiting superset for the capabilities that may be "
2012 "added to the inheritable set by a thread that does not have the "
2013 "B<CAP_SETPCAP> capability in its effective set."
2014 msgstr ""
2015 "そのスレッドが持つことになっている実効ケーパビリティの 限定的なスーパーセット"
2016 "である。 これは、実効ケーパビリティセットに B<CAP_SETPCAP> ケーパビリティを"
2017 "持っていないスレッドが継承可能ケーパビリティセットに 追加可能なケーパビリティ"
2018 "の限定的なスーパーセットでもある。"
2019
2020 #. type: Plain text
2021 #: build/C/man7/capabilities.7:648
2022 msgid ""
2023 "If a thread drops a capability from its permitted set, it can never "
2024 "reacquire that capability (unless it B<execve>(2)s either a set-user-ID-root "
2025 "program, or a program whose associated file capabilities grant that "
2026 "capability)."
2027 msgstr ""
2028 "許可ケーパビリティセットから削除してしまったケーパビリティは、 (set-user-ID-"
2029 "root プログラムか、 そのケーパビリティをファイルケーパビリティで許可している"
2030 "プログラムを B<execve>(2)  しない限りは) もう一度獲得することはできない。"
2031
2032 #. type: TP
2033 #: build/C/man7/capabilities.7:648
2034 #, no-wrap
2035 msgid "I<Inheritable>:"
2036 msgstr "I<継承可能 (inheritable)>:"
2037
2038 #. type: Plain text
2039 #: build/C/man7/capabilities.7:655
2040 msgid ""
2041 "This is a set of capabilities preserved across an B<execve>(2).  It provides "
2042 "a mechanism for a process to assign capabilities to the permitted set of the "
2043 "new program during an B<execve>(2)."
2044 msgstr ""
2045 "B<execve>(2)  を前後で保持されるケーパビリティセットである。 この仕組みを使う"
2046 "ことで、あるプロセスが B<execve>(2)  を行う際に新しいプログラムの許可ケーパビ"
2047 "リティセットとして 割り当てるケーパビリティを指定することができる。"
2048
2049 #. type: TP
2050 #: build/C/man7/capabilities.7:655 build/C/man7/capabilities.7:697
2051 #, no-wrap
2052 msgid "I<Effective>:"
2053 msgstr "I<実効 (effective)>:"
2054
2055 #. type: Plain text
2056 #: build/C/man7/capabilities.7:659
2057 msgid ""
2058 "This is the set of capabilities used by the kernel to perform permission "
2059 "checks for the thread."
2060 msgstr ""
2061 "カーネルがスレッドの権限 (permission) をチェックするときに 使用するケーパビリ"
2062 "ティセットである。"
2063
2064 #. type: Plain text
2065 #: build/C/man7/capabilities.7:665
2066 msgid ""
2067 "A child created via B<fork>(2)  inherits copies of its parent's capability "
2068 "sets.  See below for a discussion of the treatment of capabilities during "
2069 "B<execve>(2)."
2070 msgstr ""
2071 "B<fork>(2)  で作成される子プロセスは、親のケーパビリティセットのコピーを継承"
2072 "する。 B<execve>(2)  中のケーパビリティの扱いについては下記を参照のこと。"
2073
2074 #. type: Plain text
2075 #: build/C/man7/capabilities.7:670
2076 msgid ""
2077 "Using B<capset>(2), a thread may manipulate its own capability sets (see "
2078 "below)."
2079 msgstr ""
2080 "B<capset>(2)  を使うと、プロセスは自分自身のケーパビリティセット を操作するこ"
2081 "とができる (下記参照)。"
2082
2083 #. type: SS
2084 #: build/C/man7/capabilities.7:670
2085 #, fuzzy, no-wrap
2086 #| msgid "File Capabilities"
2087 msgid "File capabilities"
2088 msgstr "ファイルケーパビリティ"
2089
2090 #. type: Plain text
2091 #: build/C/man7/capabilities.7:685
2092 msgid ""
2093 "Since kernel 2.6.24, the kernel supports associating capability sets with an "
2094 "executable file using B<setcap>(8).  The file capability sets are stored in "
2095 "an extended attribute (see B<setxattr>(2))  named I<security.capability>.  "
2096 "Writing to this extended attribute requires the B<CAP_SETFCAP> capability.  "
2097 "The file capability sets, in conjunction with the capability sets of the "
2098 "thread, determine the capabilities of a thread after an B<execve>(2)."
2099 msgstr ""
2100 "カーネル 2.6.24 以降では、 B<setcap>(8)  を使って実行ファイルにケーパビリティ"
2101 "セットを対応付けることができる。 ファイルケーパビリティセットは I<security."
2102 "capability> という名前の拡張属性に保存される (B<setxattr>(2)  参照)。この拡張"
2103 "属性への書き込みには B<CAP_SETFCAP> ケーパビリティが必要である。 ファイルケー"
2104 "パビリティセットとスレッドのケーパビリティセットの両方が 考慮され、 B<execve>"
2105 "(2)  後のスレッドのケーパビリティセットが決定される。"
2106
2107 #. type: Plain text
2108 #: build/C/man7/capabilities.7:687
2109 msgid "The three file capability sets are:"
2110 msgstr "3 つのファイルケーパビリティセットが定義されている。"
2111
2112 #. type: TP
2113 #: build/C/man7/capabilities.7:687
2114 #, no-wrap
2115 msgid "I<Permitted> (formerly known as I<forced>):"
2116 msgstr "I<許可 (Permitted)> (以前のI<強制 (Forced)>):"
2117
2118 #. type: Plain text
2119 #: build/C/man7/capabilities.7:691
2120 msgid ""
2121 "These capabilities are automatically permitted to the thread, regardless of "
2122 "the thread's inheritable capabilities."
2123 msgstr ""
2124 "スレッドの継承可能ケーパビリティに関わらず、そのスレッドに自動的に 認められる"
2125 "ケーパビリティ。"
2126
2127 #. type: TP
2128 #: build/C/man7/capabilities.7:691
2129 #, no-wrap
2130 msgid "I<Inheritable> (formerly known as I<allowed>):"
2131 msgstr "I<継承可能 (Inheritable)> (以前の I<許容 (Allowed)>):"
2132
2133 #. type: Plain text
2134 #: build/C/man7/capabilities.7:697
2135 msgid ""
2136 "This set is ANDed with the thread's inheritable set to determine which "
2137 "inheritable capabilities are enabled in the permitted set of the thread "
2138 "after the B<execve>(2)."
2139 msgstr ""
2140 "このセットと、スレッドの継承可能ケーパビリティセットとの 論理積 (AND) がとら"
2141 "れ、 B<execve>(2)  の後にそのスレッドの許可ケーパビリティセットで有効となる "
2142 "継承可能ケーパビリティが決定される。"
2143
2144 #. type: Plain text
2145 #: build/C/man7/capabilities.7:707
2146 msgid ""
2147 "This is not a set, but rather just a single bit.  If this bit is set, then "
2148 "during an B<execve>(2)  all of the new permitted capabilities for the thread "
2149 "are also raised in the effective set.  If this bit is not set, then after an "
2150 "B<execve>(2), none of the new permitted capabilities is in the new effective "
2151 "set."
2152 msgstr ""
2153 "これは集合ではなく、1 ビットの情報である。 このビットがセットされていると、 "
2154 "B<execve>(2)  実行中に、そのスレッドの新しい許可ケーパビリティが全て 実効ケー"
2155 "パビリティ集合においてもセットされる。 このビットがセットされていない場合、 "
2156 "B<execve>(2)  後には新しい許可ケーパビリティのどれも新しい実効ケーパビリティ"
2157 "集合 にセットされない。"
2158
2159 #. type: Plain text
2160 #: build/C/man7/capabilities.7:723
2161 msgid ""
2162 "Enabling the file effective capability bit implies that any file permitted "
2163 "or inheritable capability that causes a thread to acquire the corresponding "
2164 "permitted capability during an B<execve>(2)  (see the transformation rules "
2165 "described below) will also acquire that capability in its effective set.  "
2166 "Therefore, when assigning capabilities to a file (B<setcap>(8), "
2167 "B<cap_set_file>(3), B<cap_set_fd>(3)), if we specify the effective flag as "
2168 "being enabled for any capability, then the effective flag must also be "
2169 "specified as enabled for all other capabilities for which the corresponding "
2170 "permitted or inheritable flags is enabled."
2171 msgstr ""
2172 "ファイルの実効ケーパビリティビットを有効にするというのは、 B<execve>(2)  実行"
2173 "時に、ファイルの許可ケーパビリティと継承ケーパビリティに対応するものが スレッ"
2174 "ドの許可ケーパビリティセットとしてセットされるが、 これが実効ケーパビリティ"
2175 "セットにもセットされるということである (ケーパビリティの変換ルールは下記参"
2176 "照)。 したがって、ファイルにケーパビリティを割り当てる際 (B<setcap>(8), "
2177 "B<cap_set_file>(3), B<cap_set_fd>(3))、 いずれかのケーパビリティに対して実効"
2178 "フラグを有効と指定する場合、 許可フラグや継承可能フラグを有効にした他の全ての"
2179 "ケーパビリティ についても実効フラグを有効と指定しなければならない。"
2180
2181 #. type: SS
2182 #: build/C/man7/capabilities.7:723
2183 #, fuzzy, no-wrap
2184 #| msgid "Transformation of Capabilities During execve()"
2185 msgid "Transformation of capabilities during execve()"
2186 msgstr "execve() 中のケーパビリティの変換"
2187
2188 #. type: Plain text
2189 #: build/C/man7/capabilities.7:729
2190 msgid ""
2191 "During an B<execve>(2), the kernel calculates the new capabilities of the "
2192 "process using the following algorithm:"
2193 msgstr ""
2194 "B<execve>(2)  実行時に、カーネルはプロセスの新しいケーパビリティを次の アルゴ"
2195 "リズムを用いて計算する:"
2196
2197 #. type: Plain text
2198 #: build/C/man7/capabilities.7:734
2199 #, no-wrap
2200 msgid ""
2201 "P'(permitted) = (P(inheritable) & F(inheritable)) |\n"
2202 "                (F(permitted) & cap_bset)\n"
2203 msgstr ""
2204 "P'(permitted) = (P(inheritable) & F(inheritable)) |\n"
2205 "                (F(permitted) & cap_bset)\n"
2206
2207 #. type: Plain text
2208 #: build/C/man7/capabilities.7:736
2209 #, no-wrap
2210 msgid "P'(effective) = F(effective) ? P'(permitted) : 0\n"
2211 msgstr "P'(effective) = F(effective) ? P'(permitted) : 0\n"
2212
2213 #. type: Plain text
2214 #: build/C/man7/capabilities.7:738
2215 #, no-wrap
2216 msgid "P'(inheritable) = P(inheritable)    [i.e., unchanged]\n"
2217 msgstr "P'(inheritable) = P(inheritable)    [つまり、変更されない]\n"
2218
2219 #. type: Plain text
2220 #: build/C/man7/capabilities.7:742
2221 msgid "where:"
2222 msgstr "各変数の意味は以下の通り:"
2223
2224 #. type: IP
2225 #: build/C/man7/capabilities.7:743
2226 #, no-wrap
2227 msgid "P"
2228 msgstr "P"
2229
2230 #. type: Plain text
2231 #: build/C/man7/capabilities.7:746
2232 msgid "denotes the value of a thread capability set before the B<execve>(2)"
2233 msgstr "B<execve>(2)  前のスレッドのケーパビリティセットの値"
2234
2235 #. type: IP
2236 #: build/C/man7/capabilities.7:746
2237 #, no-wrap
2238 msgid "P'"
2239 msgstr "P'"
2240
2241 #. type: Plain text
2242 #: build/C/man7/capabilities.7:749
2243 msgid "denotes the value of a capability set after the B<execve>(2)"
2244 msgstr "B<execve>(2)  後のスレッドのケーパビリティセットの値"
2245
2246 #. type: IP
2247 #: build/C/man7/capabilities.7:749
2248 #, no-wrap
2249 msgid "F"
2250 msgstr "F"
2251
2252 #. type: Plain text
2253 #: build/C/man7/capabilities.7:751
2254 msgid "denotes a file capability set"
2255 msgstr "ファイルケーパビリティセットの値"
2256
2257 #. type: IP
2258 #: build/C/man7/capabilities.7:751
2259 #, no-wrap
2260 msgid "cap_bset"
2261 msgstr "cap_bset"
2262
2263 #. type: Plain text
2264 #: build/C/man7/capabilities.7:753
2265 msgid "is the value of the capability bounding set (described below)."
2266 msgstr "ケーパビリティバウンディングセットの値 (下記参照)"
2267
2268 #. type: SS
2269 #: build/C/man7/capabilities.7:755
2270 #, no-wrap
2271 msgid "Capabilities and execution of programs by root"
2272 msgstr "ケーパビリティと、ルートによるプログラムの実行"
2273
2274 #. type: Plain text
2275 #: build/C/man7/capabilities.7:760
2276 msgid ""
2277 "In order to provide an all-powerful I<root> using capability sets, during an "
2278 "B<execve>(2):"
2279 msgstr ""
2280 "B<execve>(2)  時に、ケーパビリティセットを使って、全ての権限を持った I<root> "
2281 "を実現するには、以下のようにする。"
2282
2283 #. type: Plain text
2284 #: build/C/man7/capabilities.7:765
2285 msgid ""
2286 "If a set-user-ID-root program is being executed, or the real user ID of the "
2287 "process is 0 (root)  then the file inheritable and permitted sets are "
2288 "defined to be all ones (i.e., all capabilities enabled)."
2289 msgstr ""
2290 "set-user-ID-root プログラムが実行される場合、 またはプロセスの実ユーザ ID が "
2291 "0 (root) の場合、 ファイルの継承可能セットと許可セットを全て 1 (全てのケーパ"
2292 "ビリティが有効) に定義する。"
2293
2294 #. type: Plain text
2295 #: build/C/man7/capabilities.7:768
2296 msgid ""
2297 "If a set-user-ID-root program is being executed, then the file effective bit "
2298 "is defined to be one (enabled)."
2299 msgstr ""
2300 "set-user-ID-root プログラムが実行される場合、 ファイルの実効ケーパビリティ"
2301 "ビットを 1 (enabled) に定義する。"
2302
2303 #.  If a process with real UID 0, and nonzero effective UID does an
2304 #.  exec(), then it gets all capabilities in its
2305 #.  permitted set, and no effective capabilities
2306 #. type: Plain text
2307 #: build/C/man7/capabilities.7:783
2308 msgid ""
2309 "The upshot of the above rules, combined with the capabilities "
2310 "transformations described above, is that when a process B<execve>(2)s a set-"
2311 "user-ID-root program, or when a process with an effective UID of 0 B<execve>"
2312 "(2)s a program, it gains all capabilities in its permitted and effective "
2313 "capability sets, except those masked out by the capability bounding set.  "
2314 "This provides semantics that are the same as those provided by traditional "
2315 "UNIX systems."
2316 msgstr ""
2317 "上記のルールにケーパビリティ変換を適用した結果をまとめると、 プロセスが set-"
2318 "user-ID-root プログラムを B<execve>(2)  する場合、または実効 UID が 0 のプロ"
2319 "セスがプログラムを B<execve>(2)  する場合、許可と実効のケーパビリティセットの"
2320 "全ケーパビリティ (正確には、ケーパビリティバウンディングセットによるマスクで"
2321 "除外されるもの 以外の全てのケーパビリティ) を取得するということである。 これ"
2322 "により、伝統的な UNIX システムと同じ振る舞いができるようになっている。"
2323
2324 #. type: SS
2325 #: build/C/man7/capabilities.7:783
2326 #, no-wrap
2327 msgid "Capability bounding set"
2328 msgstr "ケーパビリティ・バウンディングセット"
2329
2330 #. type: Plain text
2331 #: build/C/man7/capabilities.7:788
2332 msgid ""
2333 "The capability bounding set is a security mechanism that can be used to "
2334 "limit the capabilities that can be gained during an B<execve>(2).  The "
2335 "bounding set is used in the following ways:"
2336 msgstr ""
2337 "ケーパビリティ・バウンディングセット (capability bounding set) は、 B<execve>"
2338 "(2)  時に獲得できるケーパビリティを制限するために使われる セキュリティ機構で"
2339 "ある。 バウンディングセットは以下のように使用される。"
2340
2341 #. type: Plain text
2342 #: build/C/man7/capabilities.7:796
2343 msgid ""
2344 "During an B<execve>(2), the capability bounding set is ANDed with the file "
2345 "permitted capability set, and the result of this operation is assigned to "
2346 "the thread's permitted capability set.  The capability bounding set thus "
2347 "places a limit on the permitted capabilities that may be granted by an "
2348 "executable file."
2349 msgstr ""
2350 "B<execve>(2)  実行時に、ケーパビリティ・バウンディングセットと ファイルの許可"
2351 "ケーパビリティセットの論理和 (AND) を取ったものが、 そのスレッドの許可ケーパ"
2352 "ビリティセットに割り当てられる。 つまり、ケーパビリティ・バウンディングセット"
2353 "は、 実行ファイルが認めている許可ケーパビリティに対して 制限を課す働きをす"
2354 "る。"
2355
2356 #. type: Plain text
2357 #: build/C/man7/capabilities.7:808
2358 msgid ""
2359 "(Since Linux 2.6.25)  The capability bounding set acts as a limiting "
2360 "superset for the capabilities that a thread can add to its inheritable set "
2361 "using B<capset>(2).  This means that if a capability is not in the bounding "
2362 "set, then a thread can't add this capability to its inheritable set, even if "
2363 "it was in its permitted capabilities, and thereby cannot have this "
2364 "capability preserved in its permitted set when it B<execve>(2)s a file that "
2365 "has the capability in its inheritable set."
2366 msgstr ""
2367 "(Linux 2.6.25 以降)  ケーパビリティ・バウンディングセットは、スレッドが "
2368 "B<capset>(2)  により自身の継承可能セットに追加可能なケーパビリティの母集団を "
2369 "制限する役割を持つ。 スレッドに許可されたケーパビリティであっても、バウンディ"
2370 "ングセットに 含まれていなければ、スレッドはそのケーパビリティは自身の継承可能"
2371 "セットに 追加できず、その結果、継承可能セットにそのケーパビリティを含むファイ"
2372 "ルを B<execve>(2)  する場合、そのケーパビリティを許可セットに持ち続けることが"
2373 "できない、 ということである。"
2374
2375 #. type: Plain text
2376 #: build/C/man7/capabilities.7:815
2377 msgid ""
2378 "Note that the bounding set masks the file permitted capabilities, but not "
2379 "the inherited capabilities.  If a thread maintains a capability in its "
2380 "inherited set that is not in its bounding set, then it can still gain that "
2381 "capability in its permitted set by executing a file that has the capability "
2382 "in its inherited set."
2383 msgstr ""
2384 "バウンディングセットがマスクを行うのは、継承可能ケーパビリティではなく、 ファ"
2385 "イルの許可ケーパビリティのマスクを行う点に注意すること。 あるスレッドの継承可"
2386 "能セットにそのスレッドのバウンディングセットに 存在しないケーパビリティが含ま"
2387 "れている場合、そのスレッドは、 継承可能セットに含まれるケーパビリティを持つ"
2388 "ファイルを実行することにより、 許可セットに含まれるケーパビリティも獲得できる"
2389 "ということである。"
2390
2391 #. type: Plain text
2392 #: build/C/man7/capabilities.7:818
2393 msgid ""
2394 "Depending on the kernel version, the capability bounding set is either a "
2395 "system-wide attribute, or a per-process attribute."
2396 msgstr ""
2397 "カーネルのバージョンにより、ケーパビリティ・バウンディングセットは システム共"
2398 "通の属性の場合と、プロセス単位の属性の場合がある。"
2399
2400 #. type: Plain text
2401 #: build/C/man7/capabilities.7:820
2402 msgid "B<Capability bounding set prior to Linux 2.6.25>"
2403 msgstr "B<Linux 2.6.25 より前のケーパビリティ・バウンディングセット>"
2404
2405 #. type: Plain text
2406 #: build/C/man7/capabilities.7:828
2407 msgid ""
2408 "In kernels before 2.6.25, the capability bounding set is a system-wide "
2409 "attribute that affects all threads on the system.  The bounding set is "
2410 "accessible via the file I</proc/sys/kernel/cap-bound>.  (Confusingly, this "
2411 "bit mask parameter is expressed as a signed decimal number in I</proc/sys/"
2412 "kernel/cap-bound>.)"
2413 msgstr ""
2414 "2.6.25 より前のカーネルでは、ケーパビリティ・バウンディングセットは システム"
2415 "共通の属性で、システム上の全てのスレッドに適用される。 バウンディングセット"
2416 "は I</proc/sys/kernel/cap-bound> ファイル経由で参照できる。 (間違えやすいが、"
2417 "このビットマスク形式のパラメータは、 I</proc/sys/kernel/cap-bound> では符号付"
2418 "きの十進数で表現される。)"
2419
2420 #. type: Plain text
2421 #: build/C/man7/capabilities.7:835
2422 msgid ""
2423 "Only the B<init> process may set capabilities in the capability bounding "
2424 "set; other than that, the superuser (more precisely: programs with the "
2425 "B<CAP_SYS_MODULE> capability) may only clear capabilities from this set."
2426 msgstr ""
2427 "B<init> プロセスだけがケーパビリティ・バウンディングセットで ケーパビリティを"
2428 "セットすることができる。 それ以外では、スーパーユーザ (より正確には、 "
2429 "B<CAP_SYS_MODULE> ケーパビリティを持ったプログラム) が、 ケーパビリティ・バウ"
2430 "ンディングセットのケーパビリティのクリアが できるだけである。"
2431
2432 #. type: Plain text
2433 #: build/C/man7/capabilities.7:844
2434 msgid ""
2435 "On a standard system the capability bounding set always masks out the "
2436 "B<CAP_SETPCAP> capability.  To remove this restriction (dangerous!), modify "
2437 "the definition of B<CAP_INIT_EFF_SET> in I<include/linux/capability.h> and "
2438 "rebuild the kernel."
2439 msgstr ""
2440 "通常のシステムでは、ケーパビリティ・バウンディングセットは、 B<CAP_SETPCAP> "
2441 "が無効になっている。 この制限を取り去るには (取り去るのは危険!)、 I<include/"
2442 "linux/capability.h> 内の B<CAP_INIT_EFF_SET> の定義を修正し、カーネルを再構築"
2443 "する必要がある。"
2444
2445 #. type: Plain text
2446 #: build/C/man7/capabilities.7:848
2447 msgid ""
2448 "The system-wide capability bounding set feature was added to Linux starting "
2449 "with kernel version 2.2.11."
2450 msgstr ""
2451 "システム共通のケーパビリティ・バウンディングセット機能は、 カーネル 2.2.11 以"
2452 "降で Linux に追加された。"
2453
2454 #. type: Plain text
2455 #: build/C/man7/capabilities.7:850
2456 msgid "B<Capability bounding set from Linux 2.6.25 onward>"
2457 msgstr "B<Linux 2.6.25 以降のケーパビリティ・バウンディングセット>"
2458
2459 #. type: Plain text
2460 #: build/C/man7/capabilities.7:855
2461 msgid ""
2462 "From Linux 2.6.25, the I<capability bounding set> is a per-thread "
2463 "attribute.  (There is no longer a system-wide capability bounding set.)"
2464 msgstr ""
2465 "Linux 2.6.25 以降では、 「ケーパビリティ・バウンディングセット」はスレッド単"
2466 "位の属性である (システム共通のケーパビリティ・バウンディングセットはもはや存"
2467 "在しない)。"
2468
2469 #. type: Plain text
2470 #: build/C/man7/capabilities.7:860
2471 msgid ""
2472 "The bounding set is inherited at B<fork>(2)  from the thread's parent, and "
2473 "is preserved across an B<execve>(2)."
2474 msgstr ""
2475 "バウンディングセットは B<fork>(2)  時にはスレッドの親プロセスから継承され、 "
2476 "B<execve>(2)  の前後では保持される。"
2477
2478 #. type: Plain text
2479 #: build/C/man7/capabilities.7:873
2480 msgid ""
2481 "A thread may remove capabilities from its capability bounding set using the "
2482 "B<prctl>(2)  B<PR_CAPBSET_DROP> operation, provided it has the "
2483 "B<CAP_SETPCAP> capability.  Once a capability has been dropped from the "
2484 "bounding set, it cannot be restored to that set.  A thread can determine if "
2485 "a capability is in its bounding set using the B<prctl>(2)  "
2486 "B<PR_CAPBSET_READ> operation."
2487 msgstr ""
2488 "スレッドが B<CAP_SETPCAP> ケーパビリティを持っている場合、そのスレッドは "
2489 "B<prctl>(2)  の B<PR_CAPBSET_DROP> 操作を使って自身のケーパビリティ・バウン"
2490 "ディングセットから ケーパビリティを削除することができる。 いったんケーパビリ"
2491 "ティをバウンディングセットから削除してしまうと、 スレッドはそのケーパビリティ"
2492 "を再度セットすることはできない。 B<prctl>(2)  の B<PR_CAPBSET_READ> 操作を使"
2493 "うことで、スレッドがあるケーパビリティが自身のバウンディングセット に含まれて"
2494 "いるかを知ることができる。"
2495
2496 #. type: Plain text
2497 #: build/C/man7/capabilities.7:891
2498 msgid ""
2499 "Removing capabilities from the bounding set is only supported if file "
2500 "capabilities are compiled into the kernel.  In kernels before Linux 2.6.33, "
2501 "file capabilities were an optional feature configurable via the "
2502 "CONFIG_SECURITY_FILE_CAPABILITIES option.  Since Linux 2.6.33, the "
2503 "configuration option has been removed and file capabilities are always part "
2504 "of the kernel.  When file capabilities are compiled into the kernel, the "
2505 "B<init> process (the ancestor of all processes) begins with a full bounding "
2506 "set.  If file capabilities are not compiled into the kernel, then B<init> "
2507 "begins with a full bounding set minus B<CAP_SETPCAP>, because this "
2508 "capability has a different meaning when there are no file capabilities."
2509 msgstr ""
2510 "バウンディングセットからのケーパビリティの削除がサポートされるのは、\n"
2511 "カーネルのコンパイル時にファイルケーパビリティが有効になっている場合\n"
2512 "だけである。Linux 2.6.33 より前のカーネルでは、ファイルケーパビリティは\n"
2513 "設定オプション CONFIG_SECURITY_FILE_CAPABILITIES で切り替えられる追加の\n"
2514 "機能であった。Linux 2.6.33 以降では、この設定オプションは削除され、\n"
2515 "ファイルケーパビリティは常にカーネルに組込まれるようになった。\n"
2516 "ファイルケーパビリティがカーネルにコンパイル時に組み込まれている場合、\n"
2517 "(全てのプロセスの先祖である) I<init> プロセスはバウンディングセットで\n"
2518 "全てのケーパビリティが セットされた状態で開始する。ファイルケーパビリティ\n"
2519 "が有効になっていない場合には、 I<init> はバウンディングセットで\n"
2520 "B<CAP_SETPCAP> 以外の全てのケーパビリティがセットされた状態で開始する。\n"
2521 "このようになっているのは、 B<CAP_SETPCAP> ケーパビリティがファイルケー\n"
2522 "パビリティがサポートされていない場合には 違った意味を持つからである。"
2523
2524 #. type: Plain text
2525 #: build/C/man7/capabilities.7:898
2526 msgid ""
2527 "Removing a capability from the bounding set does not remove it from the "
2528 "thread's inherited set.  However it does prevent the capability from being "
2529 "added back into the thread's inherited set in the future."
2530 msgstr ""
2531 "バウンディングセットからケーパビリティを削除しても、 スレッドの継承可能セット"
2532 "からはそのケーパビリティは削除されない。 しかしながら、バウンディングセットか"
2533 "らの削除により、 この先そのケーパビリティをスレッドの継承可能セットに追加する"
2534 "こと はできなくなる。"
2535
2536 #. type: SS
2537 #: build/C/man7/capabilities.7:898
2538 #, fuzzy, no-wrap
2539 #| msgid "Effect of User ID Changes on Capabilities"
2540 msgid "Effect of user ID changes on capabilities"
2541 msgstr "ユーザ ID 変更のケーパビリティへの影響"
2542
2543 #. type: Plain text
2544 #: build/C/man7/capabilities.7:907
2545 msgid ""
2546 "To preserve the traditional semantics for transitions between 0 and nonzero "
2547 "user IDs, the kernel makes the following changes to a thread's capability "
2548 "sets on changes to the thread's real, effective, saved set, and file system "
2549 "user IDs (using B<setuid>(2), B<setresuid>(2), or similar):"
2550 msgstr ""
2551 "ユーザ ID が 0 と 0 以外の間で変化する際の振る舞いを従来と同じにするため、 ス"
2552 "レッドの実 UID、実効 UID、保存 set-user-ID、ファイルシステム UID が "
2553 "(B<setuid>(2), B<setresuid>(2)  などを使って) 変更された際に、カーネルはその"
2554 "スレッドのケーパビリティセットに 以下の変更を行う:"
2555
2556 #. type: Plain text
2557 #: build/C/man7/capabilities.7:913
2558 msgid ""
2559 "If one or more of the real, effective or saved set user IDs was previously "
2560 "0, and as a result of the UID changes all of these IDs have a nonzero value, "
2561 "then all capabilities are cleared from the permitted and effective "
2562 "capability sets."
2563 msgstr ""
2564 "UID の変更前には実 UID、実効 UID、保存 set-user-ID のうち 少なくとも一つが 0 "
2565 "で、変更後に実 UID、実効 UID、保存 set-user-ID が すべて 0 以外の値になった場"
2566 "合、許可と実効のケーパビリティセットの 全ケーパビリティをクリアする。"
2567
2568 #. type: Plain text
2569 #: build/C/man7/capabilities.7:916
2570 msgid ""
2571 "If the effective user ID is changed from 0 to nonzero, then all capabilities "
2572 "are cleared from the effective set."
2573 msgstr ""
2574 "実効 UID が 0 から 0 以外に変更された場合、 実効ケーパビリティセットの全ケー"
2575 "パビリティをクリアする。"
2576
2577 #. type: Plain text
2578 #: build/C/man7/capabilities.7:919
2579 msgid ""
2580 "If the effective user ID is changed from nonzero to 0, then the permitted "
2581 "set is copied to the effective set."
2582 msgstr ""
2583 "実効 UID が 0 以外から 0 に変更された場合、 許可ケーパビリティセットの内容を"
2584 "実効ケーパビリティセットにコピーする。"
2585
2586 #. type: IP
2587 #: build/C/man7/capabilities.7:919 build/C/man7/capabilities.7:974
2588 #, no-wrap
2589 msgid "4."
2590 msgstr "4."
2591
2592 #. type: Plain text
2593 #: build/C/man7/capabilities.7:937
2594 msgid ""
2595 "If the file system user ID is changed from 0 to nonzero (see B<setfsuid>"
2596 "(2))  then the following capabilities are cleared from the effective set: "
2597 "B<CAP_CHOWN>, B<CAP_DAC_OVERRIDE>, B<CAP_DAC_READ_SEARCH>, B<CAP_FOWNER>, "
2598 "B<CAP_FSETID>, B<CAP_LINUX_IMMUTABLE> (since Linux 2.2.30), "
2599 "B<CAP_MAC_OVERRIDE>, and B<CAP_MKNOD> (since Linux 2.2.30).  If the file "
2600 "system UID is changed from nonzero to 0, then any of these capabilities that "
2601 "are enabled in the permitted set are enabled in the effective set."
2602 msgstr ""
2603 "ファイルシステム UID が 0 から 0 以外に変更された場合 (B<setfsuid>(2)  参"
2604 "照)、実効ケーパビリティセットの以下のケーパビリティがクリアされる: "
2605 "B<CAP_CHOWN>, B<CAP_DAC_OVERRIDE>, B<CAP_DAC_READ_SEARCH>, B<CAP_FOWNER>, "
2606 "B<CAP_FSETID>, B<CAP_LINUX_IMMUTABLE> (Linux 2.2.30 以降), "
2607 "B<CAP_MAC_OVERRIDE>, B<CAP_MKNOD> (Linux 2.2.30 以降)。 ファイルシステム UID "
2608 "が 0 以外から 0 に変更された場合、 上記のケーパビリティのうち許可ケーパビリ"
2609 "ティセットで有効になっているものが 実効ケーパビリティセットで有効にされる。"
2610
2611 #. type: Plain text
2612 #: build/C/man7/capabilities.7:945
2613 msgid ""
2614 "If a thread that has a 0 value for one or more of its user IDs wants to "
2615 "prevent its permitted capability set being cleared when it resets all of its "
2616 "user IDs to nonzero values, it can do so using the B<prctl>(2)  "
2617 "B<PR_SET_KEEPCAPS> operation."
2618 msgstr ""
2619 "各種 UID のうち少なくとも一つが 0 であるスレッドが、 その UID の全てが 0 以外"
2620 "になったときに許可ケーパビリティセットが クリアされないようにしたい場合に"
2621 "は、 B<prctl>(2)  の B<PR_SET_KEEPCAPS> 操作を使えばよい。"
2622
2623 #. type: SS
2624 #: build/C/man7/capabilities.7:945
2625 #, no-wrap
2626 msgid "Programmatically adjusting capability sets"
2627 msgstr "プログラムでケーパビリティセットを調整する"
2628
2629 #. type: Plain text
2630 #: build/C/man7/capabilities.7:960
2631 msgid ""
2632 "A thread can retrieve and change its capability sets using the B<capget>(2)  "
2633 "and B<capset>(2)  system calls.  However, the use of B<cap_get_proc>(3)  and "
2634 "B<cap_set_proc>(3), both provided in the I<libcap> package, is preferred for "
2635 "this purpose.  The following rules govern changes to the thread capability "
2636 "sets:"
2637 msgstr ""
2638 "各スレッドは、 B<capget>(2)  や B<capset>(2)  を使って、自身のケーパビリティ"
2639 "セットを取得したり変更したりできる。 ただし、これを行うには、 I<libcap> パッ"
2640 "ケージで提供されている B<cap_get_proc>(3)  や B<cap_set_proc>(3)  を使うのが"
2641 "望ましい。 スレッドのケーパビリティセットの変更には以下のルールが適用される。"
2642
2643 #. type: Plain text
2644 #: build/C/man7/capabilities.7:966
2645 msgid ""
2646 "If the caller does not have the B<CAP_SETPCAP> capability, the new "
2647 "inheritable set must be a subset of the combination of the existing "
2648 "inheritable and permitted sets."
2649 msgstr ""
2650 "呼び出し側が B<CAP_SETPCAP> ケーパビリティを持っていない場合、新しい継承可能"
2651 "セットは、 既存の継承可能セットと許可セットの積集合 (AND) の部分集合で なけれ"
2652 "ばならない。"
2653
2654 #. type: Plain text
2655 #: build/C/man7/capabilities.7:970
2656 msgid ""
2657 "(Since kernel 2.6.25)  The new inheritable set must be a subset of the "
2658 "combination of the existing inheritable set and the capability bounding set."
2659 msgstr ""
2660 "(カーネル 2.6.25 以降)  新しい継承可能セットは、既存の継承可能セットとケーパ"
2661 "ビリティ・ バウンディングセットの積集合 (AND) の部分集合でなければならない。"
2662
2663 #. type: Plain text
2664 #: build/C/man7/capabilities.7:974
2665 msgid ""
2666 "The new permitted set must be a subset of the existing permitted set (i.e., "
2667 "it is not possible to acquire permitted capabilities that the thread does "
2668 "not currently have)."
2669 msgstr ""
2670 "新しい許可セットは、既存の許可セットの部分集合でなければならない (つまり、そ"
2671 "のスレッドが現在持っていない許可ケーパビリティを 獲得することはできない)。"
2672
2673 #. type: Plain text
2674 #: build/C/man7/capabilities.7:976
2675 msgid "The new effective set must be a subset of the new permitted set."
2676 msgstr ""
2677 "新しい実効ケーパビリティセットは新しい許可ケーパビリティセットの 部分集合に"
2678 "なっていなければならない。"
2679
2680 #. type: SS
2681 #: build/C/man7/capabilities.7:976
2682 #, fuzzy, no-wrap
2683 #| msgid "The \"securebits\" flags: establishing a capabilities-only environment"
2684 msgid "The securebits flags: establishing a capabilities-only environment"
2685 msgstr "securebits フラグ: ケーパビリティだけの環境を構築する"
2686
2687 #.  For some background:
2688 #.        see http://lwn.net/Articles/280279/ and
2689 #.        http://article.gmane.org/gmane.linux.kernel.lsm/5476/
2690 #. type: Plain text
2691 #: build/C/man7/capabilities.7:987
2692 msgid ""
2693 "Starting with kernel 2.6.26, and with a kernel in which file capabilities "
2694 "are enabled, Linux implements a set of per-thread I<securebits> flags that "
2695 "can be used to disable special handling of capabilities for UID 0 "
2696 "(I<root>).  These flags are as follows:"
2697 msgstr ""
2698 "カーネル 2.6.26 以降で、 ファイルケーパビリティが有効になったカーネルでは、 "
2699 "スレッド単位の I<securebits> フラグが実装されており、このフラグを使うと UID "
2700 "0 (I<root>)  に対するケーパビリティの特別扱いを無効することができる。 以下の"
2701 "ようなフラグがある。"
2702
2703 #. type: TP
2704 #: build/C/man7/capabilities.7:987
2705 #, no-wrap
2706 msgid "B<SECBIT_KEEP_CAPS>"
2707 msgstr "B<SECBIT_KEEP_CAPS>"
2708
2709 #. type: Plain text
2710 #: build/C/man7/capabilities.7:999
2711 msgid ""
2712 "Setting this flag allows a thread that has one or more 0 UIDs to retain its "
2713 "capabilities when it switches all of its UIDs to a nonzero value.  If this "
2714 "flag is not set, then such a UID switch causes the thread to lose all "
2715 "capabilities.  This flag is always cleared on an B<execve>(2).  (This flag "
2716 "provides the same functionality as the older B<prctl>(2)  B<PR_SET_KEEPCAPS> "
2717 "operation.)"
2718 msgstr ""
2719 "このフラグをセットされている場合、UID が 0 のスレッドの UID が 0 以外の値に "
2720 "切り替わる際に、そのスレッドはケーパビリティを維持することができる。 このフラ"
2721 "グがセットされていない場合には、UID が 0 から 0 以外の値に 切り替わると、その"
2722 "スレッドは全てのケーパビリティを失う。 このフラグは B<execve>(2)  時には全て"
2723 "クリアされる (このフラグは、以前の B<prctl>(2)  の B<PR_SET_KEEPCAPS> 操作と"
2724 "同じ機能を提供するものである)。"
2725
2726 #. type: TP
2727 #: build/C/man7/capabilities.7:999
2728 #, no-wrap
2729 msgid "B<SECBIT_NO_SETUID_FIXUP>"
2730 msgstr "B<SECBIT_NO_SETUID_FIXUP>"
2731
2732 #. type: Plain text
2733 #: build/C/man7/capabilities.7:1006
2734 msgid ""
2735 "Setting this flag stops the kernel from adjusting capability sets when the "
2736 "threads's effective and file system UIDs are switched between zero and "
2737 "nonzero values.  (See the subsection I<Effect of User ID Changes on "
2738 "Capabilities>.)"
2739 msgstr ""
2740 "このフラグをセットすると、スレッドの実効 UID とファイルシステム UID が 0 と "
2741 "0 以外の間で切り替わった場合に、 カーネルはケーパビリティセットの調整を行わな"
2742 "くなる (「ユーザ ID 変更のケーパビリティへの影響」の節を参照)。"
2743
2744 #. type: TP
2745 #: build/C/man7/capabilities.7:1006
2746 #, no-wrap
2747 msgid "B<SECBIT_NOROOT>"
2748 msgstr "B<SECBIT_NOROOT>"
2749
2750 #. type: Plain text
2751 #: build/C/man7/capabilities.7:1014
2752 msgid ""
2753 "If this bit is set, then the kernel does not grant capabilities when a set-"
2754 "user-ID-root program is executed, or when a process with an effective or "
2755 "real UID of 0 calls B<execve>(2).  (See the subsection I<Capabilities and "
2756 "execution of programs by root>.)"
2757 msgstr ""
2758 "このビットがセットされている場合、 set-user-ID-root プログラムの実行時や、 実"
2759 "効 UID か 実 UID が 0 のプロセスが B<execve>(2)  を呼び出した時に、カーネルは"
2760 "ケーパビリティを許可しない (「ケーパビリティと、ルートによるプログラムの実"
2761 "行」の節を参照)。"
2762
2763 #. type: Plain text
2764 #: build/C/man7/capabilities.7:1024
2765 msgid ""
2766 "Each of the above \"base\" flags has a companion \"locked\" flag.  Setting "
2767 "any of the \"locked\" flags is irreversible, and has the effect of "
2768 "preventing further changes to the corresponding \"base\" flag.  The locked "
2769 "flags are: B<SECBIT_KEEP_CAPS_LOCKED>, B<SECBIT_NO_SETUID_FIXUP_LOCKED>, and "
2770 "B<SECBIT_NOROOT_LOCKED>."
2771 msgstr ""
2772 "上記の \"base\" フラグの各々には対応する \"locked\" フラグが存在する。 いずれ"
2773 "の \"locked\" フラグも一度セットされると戻すことはできず、 それ以降は対応す"
2774 "る \"base\" フラグを変更することができなくなる。 \"locked\" フラグは "
2775 "B<SECBIT_KEEP_CAPS_LOCKED>, B<SECBIT_NO_SETUID_FIXUP_LOCKED>, "
2776 "B<SECBIT_NOROOT_LOCKED> という名前である。"
2777
2778 #. type: Plain text
2779 #: build/C/man7/capabilities.7:1036
2780 msgid ""
2781 "The I<securebits> flags can be modified and retrieved using the B<prctl>(2)  "
2782 "B<PR_SET_SECUREBITS> and B<PR_GET_SECUREBITS> operations.  The "
2783 "B<CAP_SETPCAP> capability is required to modify the flags."
2784 msgstr ""
2785 "I<securebits> フラグは、 B<prctl>(2)  の操作 B<PR_SET_SECUREBITS> や "
2786 "B<PR_GET_SECUREBITS> を使うことで変更したり取得したりできる。 フラグを変更す"
2787 "るには B<CAP_SETPCAP> ケーパビリティが必要である。"
2788
2789 #. type: Plain text
2790 #: build/C/man7/capabilities.7:1045
2791 msgid ""
2792 "The I<securebits> flags are inherited by child processes.  During an "
2793 "B<execve>(2), all of the flags are preserved, except B<SECBIT_KEEP_CAPS> "
2794 "which is always cleared."
2795 msgstr ""
2796 "I<securebits> フラグは子プロセスに継承される。 B<execve>(2) においては、\n"
2797 "B<SECBIT_KEEP_CAPS> が常にクリアされる以外は、全てのフラグが保持される。"
2798
2799 #. type: Plain text
2800 #: build/C/man7/capabilities.7:1050
2801 msgid ""
2802 "An application can use the following call to lock itself, and all of its "
2803 "descendants, into an environment where the only way of gaining capabilities "
2804 "is by executing a program with associated file capabilities:"
2805 msgstr ""
2806 "アプリケーションは、以下の呼び出しを行うことにより、 自分自身および子孫となる"
2807 "プロセス全てに対して、 必要なファイルケーパビリティを持ったプログラムを実行し"
2808 "ない限り、 対応するケーパビリティを獲得できないような状況に閉じこめることがで"
2809 "きる。"
2810
2811 #. type: Plain text
2812 #: build/C/man7/capabilities.7:1059
2813 #, no-wrap
2814 msgid ""
2815 "prctl(PR_SET_SECUREBITS,\n"
2816 "        SECBIT_KEEP_CAPS_LOCKED |\n"
2817 "        SECBIT_NO_SETUID_FIXUP |\n"
2818 "        SECBIT_NO_SETUID_FIXUP_LOCKED |\n"
2819 "        SECBIT_NOROOT |\n"
2820 "        SECBIT_NOROOT_LOCKED);\n"
2821 msgstr ""
2822 "prctl(PR_SET_SECUREBITS,\n"
2823 "        SECBIT_KEEP_CAPS_LOCKED |\n"
2824 "        SECBIT_NO_SETUID_FIXUP |\n"
2825 "        SECBIT_NO_SETUID_FIXUP_LOCKED |\n"
2826 "        SECBIT_NOROOT |\n"
2827 "        SECBIT_NOROOT_LOCKED);\n"
2828
2829 #. type: Plain text
2830 #: build/C/man7/capabilities.7:1067
2831 #, fuzzy
2832 #| msgid ""
2833 #| "No standards govern capabilities, but the Linux capability implementation "
2834 #| "is based on the withdrawn POSIX.1e draft standard; see I<http://wt.xpilot."
2835 #| "org/publications/posix.1e/>."
2836 msgid ""
2837 "No standards govern capabilities, but the Linux capability implementation is "
2838 "based on the withdrawn POSIX.1e draft standard; see E<.UR http://wt."
2839 "tuxomania.net\\:/publications\\:/posix.1e/> E<.UE .>"
2840 msgstr ""
2841 "ケーパビリティに関する標準はないが、 Linux のケーパビリティは廃案になった "
2842 "POSIX.1e 草案に基づいて実装されている。 I<http://wt.xpilot.org/publications/"
2843 "posix.1e/> を参照。"
2844
2845 #. type: Plain text
2846 #: build/C/man7/capabilities.7:1071
2847 msgid ""
2848 "Since kernel 2.5.27, capabilities are an optional kernel component, and can "
2849 "be enabled/disabled via the CONFIG_SECURITY_CAPABILITIES kernel "
2850 "configuration option."
2851 msgstr ""
2852 "カーネル 2.5.27 以降、ケーパビリティは選択式のカーネルコンポーネント となって"
2853 "おり、カーネル設定オプション CONFIG_SECURITY_CAPABILITIES により有効/無効を切"
2854 "り替えることができる。"
2855
2856 #.  7b9a7ec565505699f503b4fcf61500dceb36e744
2857 #. type: Plain text
2858 #: build/C/man7/capabilities.7:1085
2859 #, fuzzy
2860 #| msgid ""
2861 #| "The I</proc/PID/task/TID/status> file can be used to view the capability "
2862 #| "sets of a thread.  The I</proc/PID/status> file shows the capability sets "
2863 #| "of a process's main thread."
2864 msgid ""
2865 "The I</proc/PID/task/TID/status> file can be used to view the capability "
2866 "sets of a thread.  The I</proc/PID/status> file shows the capability sets of "
2867 "a process's main thread.  Before Linux 3.8, nonexistent capabilities were "
2868 "shown as being enabled (1) in these sets.  Since Linux 3.8, all non-existent "
2869 "capabilities (above B<CAP_LAST_CAP>)  are shown as disabled (0)."
2870 msgstr ""
2871 "I</proc/PID/task/TID/status> ファイルを使うと、スレッドのケーパビリティセット"
2872 "を見ることができる。 I</proc/PID/status> ファイルには、プロセスのメインスレッ"
2873 "ドのケーパビリティセットが表示される。"
2874
2875 #. type: Plain text
2876 #: build/C/man7/capabilities.7:1100
2877 msgid ""
2878 "The I<libcap> package provides a suite of routines for setting and getting "
2879 "capabilities that is more comfortable and less likely to change than the "
2880 "interface provided by B<capset>(2)  and B<capget>(2).  This package also "
2881 "provides the B<setcap>(8)  and B<getcap>(8)  programs.  It can be found at"
2882 msgstr ""
2883 "I<libcap> パッケージは、ケーパビリティを設定・取得するための ルーチン群を提供"
2884 "している。これらのインタフェースは、 B<capset>(2)  と B<capget>(2)  が提供す"
2885 "るインターフェースと比べて、より使いやすく、変更される可能性が少ない。 この"
2886 "パッケージでは、 B<setcap>(8), B<getcap>(8)  というプログラムも提供されてい"
2887 "る。 パッケージは以下で入手できる。"
2888
2889 #. type: Plain text
2890 #: build/C/man7/capabilities.7:1103
2891 #, fuzzy
2892 #| msgid "I<http://www.kernel.org/pub/linux/libs/security/linux-privs>."
2893 msgid ""
2894 "E<.UR http://www.kernel.org\\:/pub\\:/linux\\:/libs\\:/security\\:/linux-"
2895 "privs> E<.UE .>"
2896 msgstr "I<http://www.kernel.org/pub/linux/libs/security/linux-privs>"
2897
2898 #. type: Plain text
2899 #: build/C/man7/capabilities.7:1112
2900 msgid ""
2901 "Before kernel 2.6.24, and since kernel 2.6.24 if file capabilities are not "
2902 "enabled, a thread with the B<CAP_SETPCAP> capability can manipulate the "
2903 "capabilities of threads other than itself.  However, this is only "
2904 "theoretically possible, since no thread ever has B<CAP_SETPCAP> in either of "
2905 "these cases:"
2906 msgstr ""
2907 "バージョン 2.6.24 より前、およびファイルケーパビリティが 有効になっていない"
2908 "2.6.24 以降のカーネルでは、 B<CAP_SETPCAP> ケーパビリティを持ったスレッドは自"
2909 "分以外のスレッドの ケーパビリティを操作できる。 しかしながら、これは理論的に"
2910 "可能というだけである。 以下のいずれかの場合においても、どのスレッドも "
2911 "B<CAP_SETPCAP> ケーパビリティを持つことはないからである。"
2912
2913 #. type: Plain text
2914 #: build/C/man7/capabilities.7:1117
2915 msgid ""
2916 "In the pre-2.6.25 implementation the system-wide capability bounding set, I</"
2917 "proc/sys/kernel/cap-bound>, always masks out this capability, and this can "
2918 "not be changed without modifying the kernel source and rebuilding."
2919 msgstr ""
2920 "2.6.25 より前の実装では、システム共通のケーパビリティ・バウンディングセット "
2921 "I</proc/sys/kernel/cap-bound> ではこのケーパビリティは常に無効になっており、 "
2922 "ソースを変更してカーネルを再コンパイルしない限り、 これを変更することはできな"
2923 "い。"
2924
2925 #. type: Plain text
2926 #: build/C/man7/capabilities.7:1123
2927 msgid ""
2928 "If file capabilities are disabled in the current implementation, then "
2929 "B<init> starts out with this capability removed from its per-process "
2930 "bounding set, and that bounding set is inherited by all other processes "
2931 "created on the system."
2932 msgstr ""
2933 "現在の実装ではファイルケーパビリティが無効になっている場合、 プロセス毎のバウ"
2934 "ンディングセットからこのケーパビリティを抜いて B<init> は開始され、 システム"
2935 "上で生成される他の全てのプロセスでこのバウンディングセットが 継承される。"
2936
2937 #. type: Plain text
2938 #: build/C/man7/capabilities.7:1140
2939 msgid ""
2940 "B<capget>(2), B<prctl>(2), B<setfsuid>(2), B<cap_clear>(3), B<cap_copy_ext>"
2941 "(3), B<cap_from_text>(3), B<cap_get_file>(3), B<cap_get_proc>(3), B<cap_init>"
2942 "(3), B<capgetp>(3), B<capsetp>(3), B<libcap>(3), B<credentials>(7), "
2943 "B<pthreads>(7), B<getcap>(8), B<setcap>(8)"
2944 msgstr ""
2945 "B<capget>(2), B<prctl>(2), B<setfsuid>(2), B<cap_clear>(3),\n"
2946 "B<cap_copy_ext>(3), B<cap_from_text>(3), B<cap_get_file>(3),\n"
2947 "B<cap_get_proc>(3), B<cap_init>(3), B<capgetp>(3), B<capsetp>(3),\n"
2948 "B<libcap>(3), B<credentials>(7), B<pthreads>(7), B<getcap>(8), B<setcap>(8)"
2949
2950 #. type: Plain text
2951 #: build/C/man7/capabilities.7:1143
2952 #, fuzzy
2953 #| msgid ""
2954 #| "Comments on the purposes of various capabilities in I<include/linux/"
2955 #| "capability.h> in the kernel source"
2956 msgid "I<include/linux/capability.h> in the Linux kernel source tree"
2957 msgstr ""
2958 "カーネルソース内の I<include/linux/capability.h> に\n"
2959 "各種のケーパビリティの目的についてのコメント"
2960
2961 #. type: TH
2962 #: build/C/man2/capget.2:15
2963 #, no-wrap
2964 msgid "CAPGET"
2965 msgstr "CAPGET"
2966
2967 #. type: Plain text
2968 #: build/C/man2/capget.2:18
2969 msgid "capget, capset - set/get capabilities of thread(s)"
2970 msgstr "capget, capset - スレッドのケーパビリティを設定/取得する"
2971
2972 #. type: Plain text
2973 #: build/C/man2/capget.2:20
2974 msgid "B<#include E<lt>sys/capability.hE<gt>>"
2975 msgstr "B<#include E<lt>sys/capability.hE<gt>>"
2976
2977 #. type: Plain text
2978 #: build/C/man2/capget.2:22
2979 msgid ""
2980 "B<int capget(cap_user_header_t >I<hdrp>B<, cap_user_data_t >I<datap>B<);>"
2981 msgstr ""
2982 "B<int capget(cap_user_header_t >I<hdrp>B<, cap_user_data_t >I<datap>B<);>"
2983
2984 #. type: Plain text
2985 #: build/C/man2/capget.2:24
2986 msgid ""
2987 "B<int capset(cap_user_header_t >I<hdrp>B<, const cap_user_data_t "
2988 ">I<datap>B<);>"
2989 msgstr ""
2990 "B<int capset(cap_user_header_t >I<hdrp>B<, const cap_user_data_t "
2991 ">I<datap>B<);>"
2992
2993 #. type: Plain text
2994 #: build/C/man2/capget.2:35
2995 msgid ""
2996 "As of Linux 2.2, the power of the superuser (root) has been partitioned into "
2997 "a set of discrete capabilities.  Each thread has a set of effective "
2998 "capabilities identifying which capabilities (if any) it may currently "
2999 "exercise.  Each thread also has a set of inheritable capabilities that may "
3000 "be passed through an B<execve>(2)  call, and a set of permitted capabilities "
3001 "that it can make effective or inheritable."
3002 msgstr ""
3003 "Linux 2.2 で、スーパーユーザー (root) の権限は、個別のケーパビリティ "
3004 "(capabilities) へと分割され、その集合として表現されるようになった。 各スレッ"
3005 "ドは「実効ケーパビリティ (effective capability) の集合」を持ち、 それによって"
3006 "現在どの操作が実行可能かを識別できる。 また、各スレッドは、 「継承可能ケーパ"
3007 "ビリティ (inheritable capability) の集合」と 「許可ケーパビリティ (permitted "
3008 "capability) の集合」を持つ。 「継承可能ケーパビリティの集合」は B<execve>"
3009 "(2)  を通じて渡すことができるケーパビリティの集合であり、 「許可ケーパビリ"
3010 "ティ (permitted capability) の集合」は 実効ケーパビリティや継承可能ケーパビリ"
3011 "ティとして有効にできる ケーパビリティを規定するものである。"
3012
3013 #. type: Plain text
3014 #: build/C/man2/capget.2:44
3015 #, fuzzy
3016 #| msgid ""
3017 #| "These two functions are the raw kernel interface for getting and setting "
3018 #| "thread capabilities.  Not only are these system calls specific to Linux, "
3019 #| "but the kernel API is likely to change and use of these functions (in "
3020 #| "particular the format of the I<cap_user_*_t> types) is subject to "
3021 #| "extension with each kernel revision, but old programs will keep working."
3022 msgid ""
3023 "These two system calls are the raw kernel interface for getting and setting "
3024 "thread capabilities.  Not only are these system calls specific to Linux, but "
3025 "the kernel API is likely to change and use of these system calls (in "
3026 "particular the format of the I<cap_user_*_t> types) is subject to extension "
3027 "with each kernel revision, but old programs will keep working."
3028 msgstr ""
3029 "この二つの関数はスレッドのケーパビリティを取得したり設定したりするための 生の"
3030 "カーネルインターフェースである。 これらのシステムコールは Linux 特有であると"
3031 "いうだけでなく、 カーネル API は変更されるかもしれず、これらの 関数の使用法 "
3032 "(特に I<cap_user_*_t> 型という書式) はカーネルのリビジョン毎に拡張されるかも"
3033 "しれないが、 以前のプログラムはそのまま動作する。"
3034
3035 #. type: Plain text
3036 #: build/C/man2/capget.2:55
3037 msgid ""
3038 "The portable interfaces are B<cap_set_proc>(3)  and B<cap_get_proc>(3); if "
3039 "possible you should use those interfaces in applications.  If you wish to "
3040 "use the Linux extensions in applications, you should use the easier-to-use "
3041 "interfaces B<capsetp>(3)  and B<capgetp>(3)."
3042 msgstr ""
3043 "移植性のあるインターフェースは B<cap_set_proc>(3)  と B<cap_get_proc>(3)  で"
3044 "ある。 可能ならばアプリケーションはこれらの関数を使用すべきである。 アプリ"
3045 "ケーションに Linux 拡張を使用したい場合には、より簡単に 使えるインターフェー"
3046 "スである B<capsetp>(3)  と B<capgetp>(3)  を使用すべきである。"
3047
3048 #. type: SS
3049 #: build/C/man2/capget.2:55
3050 #, no-wrap
3051 msgid "Current details"
3052 msgstr "現在の詳細"
3053
3054 #. type: Plain text
3055 #: build/C/man2/capget.2:58
3056 msgid ""
3057 "Now that you have been warned, some current kernel details.  The structures "
3058 "are defined as follows."
3059 msgstr ""
3060 "現在のカーネルの詳細について注意を述べておく。 構造体は以下のように定義され"
3061 "る。"
3062
3063 #. type: Plain text
3064 #: build/C/man2/capget.2:63
3065 #, no-wrap
3066 msgid ""
3067 "#define _LINUX_CAPABILITY_VERSION_1  0x19980330\n"
3068 "#define _LINUX_CAPABILITY_U32S_1     1\n"
3069 msgstr ""
3070 "#define _LINUX_CAPABILITY_VERSION_1  0x19980330\n"
3071 "#define _LINUX_CAPABILITY_U32S_1     1\n"
3072
3073 #. type: Plain text
3074 #: build/C/man2/capget.2:66
3075 #, no-wrap
3076 msgid ""
3077 "#define _LINUX_CAPABILITY_VERSION_2  0x20071026\n"
3078 "#define _LINUX_CAPABILITY_U32S_2     2\n"
3079 msgstr ""
3080 "#define _LINUX_CAPABILITY_VERSION_2  0x20071026\n"
3081 "#define _LINUX_CAPABILITY_U32S_2     2\n"
3082
3083 #. type: Plain text
3084 #: build/C/man2/capget.2:71
3085 #, no-wrap
3086 msgid ""
3087 "typedef struct __user_cap_header_struct {\n"
3088 "   __u32 version;\n"
3089 "   int pid;\n"
3090 "} *cap_user_header_t;\n"
3091 msgstr ""
3092 "typedef struct __user_cap_header_struct {\n"
3093 "   __u32 version;\n"
3094 "   int pid;\n"
3095 "} *cap_user_header_t;\n"
3096
3097 #. type: Plain text
3098 #: build/C/man2/capget.2:77
3099 #, no-wrap
3100 msgid ""
3101 "typedef struct __user_cap_data_struct {\n"
3102 "   __u32 effective;\n"
3103 "   __u32 permitted;\n"
3104 "   __u32 inheritable;\n"
3105 "} *cap_user_data_t;\n"
3106 msgstr ""
3107 "typedef struct __user_cap_data_struct {\n"
3108 "   __u32 effective;\n"
3109 "   __u32 permitted;\n"
3110 "   __u32 inheritable;\n"
3111 "} *cap_user_data_t;\n"
3112
3113 #. type: Plain text
3114 #: build/C/man2/capget.2:96
3115 #, fuzzy
3116 #| msgid ""
3117 #| "I<effective, permitted, inheritable> are bitmasks of the capabilities "
3118 #| "defined in I<capability(7).> Note the I<CAP_*> values are bit indexes and "
3119 #| "need to be bit-shifted before ORing into the bit fields.  To define the "
3120 #| "structures for passing to the system call you have to use the I<struct "
3121 #| "__user_cap_header_struct> and I<struct __user_cap_data_struct> names "
3122 #| "because the typedefs are only pointers."
3123 msgid ""
3124 "The I<effective>, I<permitted>, and I<inheritable> fields are bit masks of "
3125 "the capabilities defined in I<capability(7).> Note the B<CAP_*> values are "
3126 "bit indexes and need to be bit-shifted before ORing into the bit fields.  To "
3127 "define the structures for passing to the system call you have to use the "
3128 "I<struct __user_cap_header_struct> and I<struct __user_cap_data_struct> "
3129 "names because the typedefs are only pointers."
3130 msgstr ""
3131 "I<effective, permitted, inheritable> は、 B<capability>(7)  で定義されるケー"
3132 "パビリティのビットマスクである。 I<CAP_*> はビット番号を表すインデックス値で"
3133 "あり、 ビットフィールドに OR を行う前に I<CAP_*> の値の分だけビットシフトを行"
3134 "う必要がある。 typedef の方はポインタなので、 このシステムコールに渡す構造体"
3135 "を定義するには、 I<struct __user_cap_header_struct> と I<struct "
3136 "__user_cap_data_struct> という名前を使用しなければならない。"
3137
3138 #. type: Plain text
3139 #: build/C/man2/capget.2:108
3140 msgid ""
3141 "Kernels prior to 2.6.25 prefer 32-bit capabilities with version "
3142 "B<_LINUX_CAPABILITY_VERSION_1>, and kernels 2.6.25+ prefer 64-bit "
3143 "capabilities with version B<_LINUX_CAPABILITY_VERSION_2>.  Note, 64-bit "
3144 "capabilities use I<datap>[0] and I<datap>[1], whereas 32-bit capabilities "
3145 "use only I<datap>[0]."
3146 msgstr ""
3147 "カーネル 2.6.25 より前では、バージョン B<_LINUX_CAPABILITY_VERSION_1> の 32 "
3148 "ビットケーパビリティが推奨である。 カーネル 2.6.25 以降では、バージョン "
3149 "B<_LINUX_CAPABILITY_VERSION_2> の 64 ビットケーパビリティが推奨である。 64 "
3150 "ビットケーパビリティでは I<datap>[0] と I<datap>[1] が使用されるのに対し、 "
3151 "32 ビットケーパビリティでは I<datap>[0] だけが使用される。"
3152
3153 #. type: Plain text
3154 #: build/C/man2/capget.2:112
3155 msgid ""
3156 "Another change affecting the behavior of these system calls is kernel "
3157 "support for file capabilities (VFS capability support).  This support is "
3158 "currently a compile time option (added in kernel 2.6.24)."
3159 msgstr ""
3160 "これらのシステムコールの挙動に影響があるもう一つの変更点は、 ファイルケーパビ"
3161 "リティ (file capabilities) のカーネルによるサポート (VFS ケーパビリティのサ"
3162 "ポート) である。 VFS ケーパビリティのサポートは現在のところコンパイル時のオプ"
3163 "ションである (カーネル 2.6.24 で追加された)。"
3164
3165 #. type: Plain text
3166 #: build/C/man2/capget.2:119
3167 msgid ""
3168 "For B<capget>()  calls, one can probe the capabilities of any process by "
3169 "specifying its process ID with the I<hdrp-E<gt>pid> field value."
3170 msgstr ""
3171 "B<capget>()  では、 I<hdrp-E<gt>pid> のフィールド値にケーパビリティを知りたい"
3172 "プロセスのプロセス ID を 指定することで、任意のプロセスのケーパビリティを調べ"
3173 "ることができる。"
3174
3175 #. type: SS
3176 #: build/C/man2/capget.2:119
3177 #, fuzzy, no-wrap
3178 #| msgid "With VFS Capability Support"
3179 msgid "With VFS capability support"
3180 msgstr "VFS ケーパビリティがサポートされている場合"
3181
3182 #. type: Plain text
3183 #: build/C/man2/capget.2:131
3184 msgid ""
3185 "VFS Capability support creates a file-attribute method for adding "
3186 "capabilities to privileged executables.  This privilege model obsoletes "
3187 "kernel support for one process asynchronously setting the capabilities of "
3188 "another.  That is, with VFS support, for B<capset>()  calls the only "
3189 "permitted values for I<hdrp-E<gt>pid> are 0 or B<getpid>(2), which are "
3190 "equivalent."
3191 msgstr ""
3192 "VFS ケーパビリティのサポートでは、特権実行ファイルにケーパビリティを 追加する"
3193 "ためのファイル属性メソッドが作成された。 この特権モデルの導入により、あるプロ"
3194 "セスにより別のプロセスのケーパビリティ を非同期に設定する機能のカーネルによる"
3195 "サポートは廃止される。 つまり、VFS サポートでは、 B<capset>()  を呼び出す際"
3196 "に I<hdrp-E<gt>pid> の値として許されるのは 0 と B<getpid>(2)  が返す値だけと"
3197 "なる (どちらの値でも等価である)。"
3198
3199 #. type: SS
3200 #: build/C/man2/capget.2:131
3201 #, fuzzy, no-wrap
3202 #| msgid "Without VFS Capability Support"
3203 msgid "Without VFS capability support"
3204 msgstr "VFS ケーパビリティがサポートされていない場合"
3205
3206 #. type: Plain text
3207 #: build/C/man2/capget.2:157
3208 msgid ""
3209 "When the kernel does not support VFS capabilities, B<capset>()  calls can "
3210 "operate on the capabilities of the thread specified by the I<pid> field of "
3211 "I<hdrp> when that is nonzero, or on the capabilities of the calling thread "
3212 "if I<pid> is 0.  If I<pid> refers to a single-threaded process, then I<pid> "
3213 "can be specified as a traditional process ID; operating on a thread of a "
3214 "multithreaded process requires a thread ID of the type returned by B<gettid>"
3215 "(2).  For B<capset>(), I<pid> can also be: -1, meaning perform the change on "
3216 "all threads except the caller and B<init>(8); or a value less than -1, in "
3217 "which case the change is applied to all members of the process group whose "
3218 "ID is -I<pid>."
3219 msgstr ""
3220 "カーネルが VFS ケーパビリティをサポートしていない場合、 I<hdrp> の I<pid> "
3221 "フィールドが 0 以外であれば、 B<capset>()  の操作対象は I<pid> で指定されたス"
3222 "レッドのケーパビリティになる。 I<pid> が 0 の場合は呼び出し元のスレッドのケー"
3223 "パビリティが操作対象となる。 I<pid> がシングルスレッド・プロセスを参照してい"
3224 "る場合、 I<pid> は以前から使われているプロセスID を使って指定できる。 マルチ"
3225 "スレッド・プロセス内のあるスレッドを対象にする場合は、 B<gettid>(2)  が返すス"
3226 "レッドID を用いて指定する必要がある。 また、 B<capset>()  では -1 や -1 より"
3227 "小さな値を指定することもできる。 -1 は呼び出し元と B<init>(8)  を除く全てのス"
3228 "レッドを対象として変更を行うことを、 -1 より小さな値は ID が -I<pid> のプロセ"
3229 "スグループの全メンバ を対象として変更を行うことを意味する。"
3230
3231 #. type: Plain text
3232 #: build/C/man2/capget.2:160
3233 msgid "For details on the data, see B<capabilities>(7)."
3234 msgstr "このデータの詳細は B<capabilities>(7)  を参照すること。"
3235
3236 #. type: Plain text
3237 #: build/C/man2/capget.2:179
3238 msgid ""
3239 "The calls will fail with the error B<EINVAL>, and set the I<version> field "
3240 "of I<hdrp> to the kernel preferred value of B<_LINUX_CAPABILITY_VERSION_?> "
3241 "when an unsupported I<version> value is specified.  In this way, one can "
3242 "probe what the current preferred capability revision is."
3243 msgstr ""
3244 "I<hdrp> のフィールド I<version> にサポートされていない値が指定された場合、 呼"
3245 "び出しはエラー B<EINVAL> で失敗し、 I<version> にカーネル推奨の "
3246 "B<_LINUX_CAPABILITY_VERSION_?> を設定する。 このようにして、現在の推奨ケーパ"
3247 "ビリティ・リビジョンが何かを 調べることができる。"
3248
3249 #. type: Plain text
3250 #: build/C/man2/capget.2:188
3251 msgid ""
3252 "Bad memory address.  I<hdrp> must not be NULL.  I<datap> may be NULL only "
3253 "when the user is trying to determine the preferred capability version format "
3254 "supported by the kernel."
3255 msgstr ""
3256 "不正なメモリアドレス。 I<hdrp> は NULL であってはならない。 I<datap> に NULL "
3257 "を指定してよいのは、ユーザがカーネルがサポートしている 推奨のケーパビリティ・"
3258 "バージョンを判定しようとしているときだけである。"
3259
3260 #. type: TP
3261 #: build/C/man2/capget.2:188 build/C/man7/cpuset.7:1180
3262 #: build/C/man7/cpuset.7:1189 build/C/man7/cpuset.7:1198
3263 #: build/C/man7/cpuset.7:1208 build/C/man7/cpuset.7:1217
3264 #: build/C/man7/cpuset.7:1224 build/C/man7/cpuset.7:1231
3265 #: build/C/man2/getgroups.2:114 build/C/man2/getgroups.2:121
3266 #: build/C/man2/getpriority.2:121 build/C/man2/getrlimit.2:440
3267 #: build/C/man2/getrusage.2:190 build/C/man2/iopl.2:72
3268 #: build/C/man2/ioprio_set.2:170 build/C/man2/setpgid.2:202
3269 #, no-wrap
3270 msgid "B<EINVAL>"
3271 msgstr "B<EINVAL>"
3272
3273 #. type: Plain text
3274 #: build/C/man2/capget.2:191
3275 msgid "One of the arguments was invalid."
3276 msgstr "引き数のどれかが無効である。"
3277
3278 #. type: Plain text
3279 #: build/C/man2/capget.2:196
3280 msgid ""
3281 "An attempt was made to add a capability to the Permitted set, or to set a "
3282 "capability in the Effective or Inheritable sets that is not in the Permitted "
3283 "set."
3284 msgstr ""
3285 "「許可ケーパビリティセット」にケーパビリティを追加しようとしているか、 もしく"
3286 "は「許可ケーパビリティセット」に含まれないケーパビリティを 「実効ケーパビリ"
3287 "ティセット」や「継承可能ケーパビリティセット」に セットしようとしている。"
3288
3289 #. type: Plain text
3290 #: build/C/man2/capget.2:215
3291 msgid ""
3292 "The caller attempted to use B<capset>()  to modify the capabilities of a "
3293 "thread other than itself, but lacked sufficient privilege.  For kernels "
3294 "supporting VFS capabilities, this is never permitted.  For kernels lacking "
3295 "VFS support, the B<CAP_SETPCAP> capability is required.  (A bug in kernels "
3296 "before 2.6.11 meant that this error could also occur if a thread without "
3297 "this capability tried to change its own capabilities by specifying the "
3298 "I<pid> field as a nonzero value (i.e., the value returned by B<getpid>(2))  "
3299 "instead of 0.)"
3300 msgstr ""
3301 "呼び出し元が自分以外のスレッドのケーパビリティを B<capset>()  を使って修正し"
3302 "ようとしたが、十分な特権がなかった。 VFS ケーパビリティをサポートしているカー"
3303 "ネルでは、 この操作が許可されることは決してない。 VFS ケーパビリティをサポー"
3304 "トしていないカーネルでは、 B<CAP_SETPCAP> ケーパビリティが必要である。 (バー"
3305 "ジョン 2.6.11 より前のカーネルには、 このケーパビリティを持たないスレッドが "
3306 "I<pid> フィールドに 0 でない値 (つまり、0 の代わりに B<getpid>(2)  が返す値) "
3307 "を指定して自分自身のケーパビリティを変更しようとした場合にも、 このエラーが発"
3308 "生するというバグがあった。)"
3309
3310 #. type: TP
3311 #: build/C/man2/capget.2:215 build/C/man7/cpuset.7:1330
3312 #: build/C/man2/getpriority.2:129 build/C/man2/getrlimit.2:464
3313 #: build/C/man2/getsid.2:70 build/C/man2/ioprio_set.2:187
3314 #: build/C/man2/setpgid.2:217
3315 #, no-wrap
3316 msgid "B<ESRCH>"
3317 msgstr "B<ESRCH>"
3318
3319 #. type: Plain text
3320 #: build/C/man2/capget.2:218
3321 msgid "No such thread."
3322 msgstr "そのようなスレッドが存在しない。"
3323
3324 #. type: Plain text
3325 #: build/C/man2/capget.2:220 build/C/man2/ioprio_set.2:198
3326 msgid "These system calls are Linux-specific."
3327 msgstr "これらのシステムコールは Linux 独自である。"
3328
3329 #. type: Plain text
3330 #: build/C/man2/capget.2:225
3331 msgid ""
3332 "The portable interface to the capability querying and setting functions is "
3333 "provided by the I<libcap> library and is available here:"
3334 msgstr ""
3335 "ケーパビリティを設定したり取得したりする機能のための移植性ある インターフェー"
3336 "スは I<libcap> ライブラリによって提供される。 このライブラリは以下から入手で"
3337 "きる:"
3338
3339 #. type: Plain text
3340 #: build/C/man2/capget.2:228
3341 msgid ""
3342 "E<.UR http://git.kernel.org/cgit\\:/linux\\:/kernel\\:/git\\:/morgan\\:\\:/"
3343 "libcap.git> E<.UE>"
3344 msgstr ""
3345
3346 #. type: Plain text
3347 #: build/C/man2/capget.2:232
3348 msgid "B<clone>(2), B<gettid>(2), B<capabilities>(7)"
3349 msgstr "B<clone>(2), B<gettid>(2), B<capabilities>(7)"
3350
3351 #. type: TH
3352 #: build/C/man7/cpuset.7:25
3353 #, no-wrap
3354 msgid "CPUSET"
3355 msgstr "CPUSET"
3356
3357 #. type: TH
3358 #: build/C/man7/cpuset.7:25 build/C/man2/getpriority.2:48
3359 #: build/C/man2/ioprio_set.2:24 build/C/man7/svipc.7:27
3360 #, no-wrap
3361 msgid "2013-02-12"
3362 msgstr ""
3363
3364 #. type: Plain text
3365 #: build/C/man7/cpuset.7:28
3366 msgid "cpuset - confine processes to processor and memory node subsets"
3367 msgstr ""
3368
3369 #. type: Plain text
3370 #: build/C/man7/cpuset.7:35
3371 msgid ""
3372 "The cpuset file system is a pseudo-file-system interface to the kernel "
3373 "cpuset mechanism, which is used to control the processor placement and "
3374 "memory placement of processes.  It is commonly mounted at I</dev/cpuset>."
3375 msgstr ""
3376
3377 #. type: Plain text
3378 #: build/C/man7/cpuset.7:52
3379 msgid ""
3380 "On systems with kernels compiled with built in support for cpusets, all "
3381 "processes are attached to a cpuset, and cpusets are always present.  If a "
3382 "system supports cpusets, then it will have the entry B<nodev cpuset> in the "
3383 "file I</proc/filesystems>.  By mounting the cpuset file system (see the "
3384 "B<EXAMPLE> section below), the administrator can configure the cpusets on a "
3385 "system to control the processor and memory placement of processes on that "
3386 "system.  By default, if the cpuset configuration on a system is not modified "
3387 "or if the cpuset file system is not even mounted, then the cpuset mechanism, "
3388 "though present, has no affect on the system's behavior."
3389 msgstr ""
3390
3391 #. type: Plain text
3392 #: build/C/man7/cpuset.7:54
3393 msgid "A cpuset defines a list of CPUs and memory nodes."
3394 msgstr ""
3395
3396 #. type: Plain text
3397 #: build/C/man7/cpuset.7:63
3398 msgid ""
3399 "The CPUs of a system include all the logical processing units on which a "
3400 "process can execute, including, if present, multiple processor cores within "
3401 "a package and Hyper-Threads within a processor core.  Memory nodes include "
3402 "all distinct banks of main memory; small and SMP systems typically have just "
3403 "one memory node that contains all the system's main memory, while NUMA (non-"
3404 "uniform memory access) systems have multiple memory nodes."
3405 msgstr ""
3406
3407 #. type: Plain text
3408 #: build/C/man7/cpuset.7:73
3409 msgid ""
3410 "Cpusets are represented as directories in a hierarchical pseudo-file system, "
3411 "where the top directory in the hierarchy (I</dev/cpuset>)  represents the "
3412 "entire system (all online CPUs and memory nodes)  and any cpuset that is the "
3413 "child (descendant) of another parent cpuset contains a subset of that "
3414 "parent's CPUs and memory nodes.  The directories and files representing "
3415 "cpusets have normal file-system permissions."
3416 msgstr ""
3417
3418 #. type: Plain text
3419 #: build/C/man7/cpuset.7:84
3420 msgid ""
3421 "Every process in the system belongs to exactly one cpuset.  A process is "
3422 "confined to only run on the CPUs in the cpuset it belongs to, and to "
3423 "allocate memory only on the memory nodes in that cpuset.  When a process "
3424 "B<fork>(2)s, the child process is placed in the same cpuset as its parent.  "
3425 "With sufficient privilege, a process may be moved from one cpuset to another "
3426 "and the allowed CPUs and memory nodes of an existing cpuset may be changed."
3427 msgstr ""
3428
3429 #. type: Plain text
3430 #: build/C/man7/cpuset.7:92
3431 msgid ""
3432 "When the system begins booting, a single cpuset is defined that includes all "
3433 "CPUs and memory nodes on the system, and all processes are in that cpuset.  "
3434 "During the boot process, or later during normal system operation, other "
3435 "cpusets may be created, as subdirectories of this top cpuset, under the "
3436 "control of the system administrator, and processes may be placed in these "
3437 "other cpusets."
3438 msgstr ""
3439
3440 #. type: Plain text
3441 #: build/C/man7/cpuset.7:114
3442 msgid ""
3443 "Cpusets are integrated with the B<sched_setaffinity>(2)  scheduling affinity "
3444 "mechanism and the B<mbind>(2)  and B<set_mempolicy>(2)  memory-placement "
3445 "mechanisms in the kernel.  Neither of these mechanisms let a process make "
3446 "use of a CPU or memory node that is not allowed by that process's cpuset.  "
3447 "If changes to a process's cpuset placement conflict with these other "
3448 "mechanisms, then cpuset placement is enforced even if it means overriding "
3449 "these other mechanisms.  The kernel accomplishes this overriding by silently "
3450 "restricting the CPUs and memory nodes requested by these other mechanisms to "
3451 "those allowed by the invoking process's cpuset.  This can result in these "
3452 "other calls returning an error, if for example, such a call ends up "
3453 "requesting an empty set of CPUs or memory nodes, after that request is "
3454 "restricted to the invoking process's cpuset."
3455 msgstr ""
3456
3457 #. type: Plain text
3458 #: build/C/man7/cpuset.7:120
3459 msgid ""
3460 "Typically, a cpuset is used to manage the CPU and memory-node confinement "
3461 "for a set of cooperating processes such as a batch scheduler job, and these "
3462 "other mechanisms are used to manage the placement of individual processes or "
3463 "memory regions within that set or job."
3464 msgstr ""
3465
3466 #. type: SH
3467 #: build/C/man7/cpuset.7:120
3468 #, no-wrap
3469 msgid "FILES"
3470 msgstr ""
3471
3472 #. type: Plain text
3473 #: build/C/man7/cpuset.7:125
3474 msgid ""
3475 "Each directory below I</dev/cpuset> represents a cpuset and contains a fixed "
3476 "set of pseudo-files describing the state of that cpuset."
3477 msgstr ""
3478
3479 #. type: Plain text
3480 #: build/C/man7/cpuset.7:135
3481 msgid ""
3482 "New cpusets are created using the B<mkdir>(2)  system call or the B<mkdir>"
3483 "(1)  command.  The properties of a cpuset, such as its flags, allowed CPUs "
3484 "and memory nodes, and attached processes, are queried and modified by "
3485 "reading or writing to the appropriate file in that cpuset's directory, as "
3486 "listed below."
3487 msgstr ""
3488
3489 #. type: Plain text
3490 #: build/C/man7/cpuset.7:141
3491 msgid ""
3492 "The pseudo-files in each cpuset directory are automatically created when the "
3493 "cpuset is created, as a result of the B<mkdir>(2)  invocation.  It is not "
3494 "possible to directly add or remove these pseudo-files."
3495 msgstr ""
3496
3497 #. type: Plain text
3498 #: build/C/man7/cpuset.7:149
3499 msgid ""
3500 "A cpuset directory that contains no child cpuset directories, and has no "
3501 "attached processes, can be removed using B<rmdir>(2)  or B<rmdir>(1).  It is "
3502 "not necessary, or possible, to remove the pseudo-files inside the directory "
3503 "before removing it."
3504 msgstr ""
3505
3506 #. type: Plain text
3507 #: build/C/man7/cpuset.7:163
3508 msgid ""
3509 "The pseudo-files in each cpuset directory are small text files that may be "
3510 "read and written using traditional shell utilities such as B<cat>(1), and "
3511 "B<echo>(1), or from a program by using file I/O library functions or system "
3512 "calls, such as B<open>(2), B<read>(2), B<write>(2), and B<close>(2)."
3513 msgstr ""
3514
3515 #.  ====================== tasks ======================
3516 #. type: Plain text
3517 #: build/C/man7/cpuset.7:168
3518 msgid ""
3519 "The pseudo-files in a cpuset directory represent internal kernel state and "
3520 "do not have any persistent image on disk.  Each of these per-cpuset files is "
3521 "listed and described below."
3522 msgstr ""
3523
3524 #. type: TP
3525 #: build/C/man7/cpuset.7:168
3526 #, no-wrap
3527 msgid "I<tasks>"
3528 msgstr "I<tasks>"
3529
3530 #. type: Plain text
3531 #: build/C/man7/cpuset.7:178
3532 msgid ""
3533 "List of the process IDs (PIDs) of the processes in that cpuset.  The list is "
3534 "formatted as a series of ASCII decimal numbers, each followed by a newline.  "
3535 "A process may be added to a cpuset (automatically removing it from the "
3536 "cpuset that previously contained it) by writing its PID to that cpuset's "
3537 "I<tasks> file (with or without a trailing newline.)"
3538 msgstr ""
3539
3540 #.  =================== notify_on_release ===================
3541 #. type: Plain text
3542 #: build/C/man7/cpuset.7:186
3543 msgid ""
3544 "B<Warning:> only one PID may be written to the I<tasks> file at a time.  If "
3545 "a string is written that contains more than one PID, only the first one will "
3546 "be used."
3547 msgstr ""
3548
3549 #. type: TP
3550 #: build/C/man7/cpuset.7:186
3551 #, no-wrap
3552 msgid "I<notify_on_release>"
3553 msgstr "I<notify_on_release>"
3554
3555 #.  ====================== cpus ======================
3556 #. type: Plain text
3557 #: build/C/man7/cpuset.7:195
3558 msgid ""
3559 "Flag (0 or 1).  If set (1), that cpuset will receive special handling after "
3560 "it is released, that is, after all processes cease using it (i.e., terminate "
3561 "or are moved to a different cpuset)  and all child cpuset directories have "
3562 "been removed.  See the B<Notify On Release> section, below."
3563 msgstr ""
3564
3565 #. type: TP
3566 #: build/C/man7/cpuset.7:195
3567 #, fuzzy, no-wrap
3568 #| msgid "I<cpus>"
3569 msgid "I<cpuset.cpus>"
3570 msgstr "I<cpus>"
3571
3572 #. type: Plain text
3573 #: build/C/man7/cpuset.7:202
3574 msgid ""
3575 "List of the physical numbers of the CPUs on which processes in that cpuset "
3576 "are allowed to execute.  See B<List Format> below for a description of the "
3577 "format of I<cpus>."
3578 msgstr ""
3579
3580 #.  ==================== cpu_exclusive ====================
3581 #. type: Plain text
3582 #: build/C/man7/cpuset.7:208
3583 msgid ""
3584 "The CPUs allowed to a cpuset may be changed by writing a new list to its "
3585 "I<cpus> file."
3586 msgstr ""
3587
3588 #. type: TP
3589 #: build/C/man7/cpuset.7:208
3590 #, fuzzy, no-wrap
3591 #| msgid "I<cpu_exclusive>"
3592 msgid "I<cpuset.cpu_exclusive>"
3593 msgstr "I<cpu_exclusive>"
3594
3595 #. type: Plain text
3596 #: build/C/man7/cpuset.7:215
3597 msgid ""
3598 "Flag (0 or 1).  If set (1), the cpuset has exclusive use of its CPUs (no "
3599 "sibling or cousin cpuset may overlap CPUs).  By default this is off (0).  "
3600 "Newly created cpusets also initially default this to off (0)."
3601 msgstr ""
3602
3603 #.  ====================== mems ======================
3604 #. type: Plain text
3605 #: build/C/man7/cpuset.7:237
3606 msgid ""
3607 "Two cpusets are I<sibling> cpusets if they share the same parent cpuset in "
3608 "the I</dev/cpuset> hierarchy.  Two cpusets are I<cousin> cpusets if neither "
3609 "is the ancestor of the other.  Regardless of the I<cpu_exclusive> setting, "
3610 "if one cpuset is the ancestor of another, and if both of these cpusets have "
3611 "nonempty I<cpus>, then their I<cpus> must overlap, because the I<cpus> of "
3612 "any cpuset are always a subset of the I<cpus> of its parent cpuset."
3613 msgstr ""
3614
3615 #. type: TP
3616 #: build/C/man7/cpuset.7:237
3617 #, fuzzy, no-wrap
3618 #| msgid "I<sem_nsems>"
3619 msgid "I<cpuset.mems>"
3620 msgstr "I<sem_nsems>"
3621
3622 #.  ==================== mem_exclusive ====================
3623 #. type: Plain text
3624 #: build/C/man7/cpuset.7:245
3625 msgid ""
3626 "List of memory nodes on which processes in this cpuset are allowed to "
3627 "allocate memory.  See B<List Format> below for a description of the format "
3628 "of I<mems>."
3629 msgstr ""
3630
3631 #. type: TP
3632 #: build/C/man7/cpuset.7:245
3633 #, fuzzy, no-wrap
3634 #| msgid "I<mem_exclusive>"
3635 msgid "I<cpuset.mem_exclusive>"
3636 msgstr "I<mem_exclusive>"
3637
3638 #. type: Plain text
3639 #: build/C/man7/cpuset.7:253
3640 msgid ""
3641 "Flag (0 or 1).  If set (1), the cpuset has exclusive use of its memory nodes "
3642 "(no sibling or cousin may overlap).  Also if set (1), the cpuset is a "
3643 "B<Hardwall> cpuset (see below.)  By default this is off (0).  Newly created "
3644 "cpusets also initially default this to off (0)."
3645 msgstr ""
3646
3647 #.  ==================== mem_hardwall ====================
3648 #. type: Plain text
3649 #: build/C/man7/cpuset.7:261
3650 msgid ""
3651 "Regardless of the I<mem_exclusive> setting, if one cpuset is the ancestor of "
3652 "another, then their memory nodes must overlap, because the memory nodes of "
3653 "any cpuset are always a subset of the memory nodes of that cpuset's parent "
3654 "cpuset."
3655 msgstr ""
3656
3657 #. type: TP
3658 #: build/C/man7/cpuset.7:261
3659 #, fuzzy, no-wrap
3660 #| msgid "I<ru_maxrss> (since Linux 2.6.32)"
3661 msgid "I<cpuset.mem_hardwall> (since Linux 2.6.26)"
3662 msgstr "I<ru_maxrss> (Linux 2.6.32 以降)"
3663
3664 #.  ==================== memory_migrate ====================
3665 #. type: Plain text
3666 #: build/C/man7/cpuset.7:272
3667 msgid ""
3668 "Flag (0 or 1).  If set (1), the cpuset is a B<Hardwall> cpuset (see below.)  "
3669 "Unlike B<mem_exclusive>, there is no constraint on whether cpusets marked "
3670 "B<mem_hardwall> may have overlapping memory nodes with sibling or cousin "
3671 "cpusets.  By default this is off (0).  Newly created cpusets also initially "
3672 "default this to off (0)."
3673 msgstr ""
3674
3675 #. type: TP
3676 #: build/C/man7/cpuset.7:272
3677 #, fuzzy, no-wrap
3678 #| msgid "I<ru_maxrss> (since Linux 2.6.32)"
3679 msgid "I<cpuset.memory_migrate> (since Linux 2.6.16)"
3680 msgstr "I<ru_maxrss> (Linux 2.6.32 以降)"
3681
3682 #.  ==================== memory_pressure ====================
3683 #. type: Plain text
3684 #: build/C/man7/cpuset.7:279
3685 msgid ""
3686 "Flag (0 or 1).  If set (1), then memory migration is enabled.  By default "
3687 "this is off (0).  See the B<Memory Migration> section, below."
3688 msgstr ""
3689
3690 #. type: TP
3691 #: build/C/man7/cpuset.7:279
3692 #, fuzzy, no-wrap
3693 #| msgid "I<ru_maxrss> (since Linux 2.6.32)"
3694 msgid "I<cpuset.memory_pressure> (since Linux 2.6.16)"
3695 msgstr "I<ru_maxrss> (Linux 2.6.32 以降)"
3696
3697 #.  ================= memory_pressure_enabled =================
3698 #. type: Plain text
3699 #: build/C/man7/cpuset.7:292
3700 msgid ""
3701 "A measure of how much memory pressure the processes in this cpuset are "
3702 "causing.  See the B<Memory Pressure> section, below.  Unless "
3703 "I<memory_pressure_enabled> is enabled, always has value zero (0).  This file "
3704 "is read-only.  See the B<WARNINGS> section, below."
3705 msgstr ""
3706
3707 #. type: TP
3708 #: build/C/man7/cpuset.7:292
3709 #, fuzzy, no-wrap
3710 #| msgid "I<ru_inblock> (since Linux 2.6.22)"
3711 msgid "I<cpuset.memory_pressure_enabled> (since Linux 2.6.16)"
3712 msgstr "I<ru_inblock> (Linux 2.6.22 以降)"
3713
3714 #.  ================== memory_spread_page ==================
3715 #. type: Plain text
3716 #: build/C/man7/cpuset.7:304
3717 msgid ""
3718 "Flag (0 or 1).  This file is only present in the root cpuset, normally I</"
3719 "dev/cpuset>.  If set (1), the I<memory_pressure> calculations are enabled "
3720 "for all cpusets in the system.  By default this is off (0).  See the "
3721 "B<Memory Pressure> section, below."
3722 msgstr ""
3723
3724 #. type: TP
3725 #: build/C/man7/cpuset.7:304
3726 #, fuzzy, no-wrap
3727 #| msgid "I<ru_maxrss> (since Linux 2.6.32)"
3728 msgid "I<cpuset.memory_spread_page> (since Linux 2.6.17)"
3729 msgstr "I<ru_maxrss> (Linux 2.6.32 以降)"
3730
3731 #.  ================== memory_spread_slab ==================
3732 #. type: Plain text
3733 #: build/C/man7/cpuset.7:314
3734 msgid ""
3735 "Flag (0 or 1).  If set (1), pages in the kernel page cache (file-system "
3736 "buffers) are uniformly spread across the cpuset.  By default this is off (0) "
3737 "in the top cpuset, and inherited from the parent cpuset in newly created "
3738 "cpusets.  See the B<Memory Spread> section, below."
3739 msgstr ""
3740
3741 #. type: TP
3742 #: build/C/man7/cpuset.7:314
3743 #, fuzzy, no-wrap
3744 #| msgid "I<ru_maxrss> (since Linux 2.6.32)"
3745 msgid "I<cpuset.memory_spread_slab> (since Linux 2.6.17)"
3746 msgstr "I<ru_maxrss> (Linux 2.6.32 以降)"
3747
3748 #.  ================== sched_load_balance ==================
3749 #. type: Plain text
3750 #: build/C/man7/cpuset.7:325
3751 msgid ""
3752 "Flag (0 or 1).  If set (1), the kernel slab caches for file I/O (directory "
3753 "and inode structures) are uniformly spread across the cpuset.  By default "
3754 "this is off (0) in the top cpuset, and inherited from the parent cpuset in "
3755 "newly created cpusets.  See the B<Memory Spread> section, below."
3756 msgstr ""
3757
3758 #. type: TP
3759 #: build/C/man7/cpuset.7:325
3760 #, fuzzy, no-wrap
3761 #| msgid "I<ru_oublock> (since Linux 2.6.22)"
3762 msgid "I<cpuset.sched_load_balance> (since Linux 2.6.24)"
3763 msgstr "I<ru_oublock> (Linux 2.6.22 以降)"
3764
3765 #.  ================== sched_relax_domain_level ==================
3766 #. type: Plain text
3767 #: build/C/man7/cpuset.7:339
3768 msgid ""
3769 "Flag (0 or 1).  If set (1, the default) the kernel will automatically load "
3770 "balance processes in that cpuset over the allowed CPUs in that cpuset.  If "
3771 "cleared (0) the kernel will avoid load balancing processes in this cpuset, "
3772 "I<unless> some other cpuset with overlapping CPUs has its "
3773 "I<sched_load_balance> flag set.  See B<Scheduler Load Balancing>, below, for "
3774 "further details."
3775 msgstr ""
3776
3777 #. type: TP
3778 #: build/C/man7/cpuset.7:339
3779 #, fuzzy, no-wrap
3780 #| msgid "I<ru_inblock> (since Linux 2.6.22)"
3781 msgid "I<cpuset.sched_relax_domain_level> (since Linux 2.6.26)"
3782 msgstr "I<ru_inblock> (Linux 2.6.22 以降)"
3783
3784 #.  ================== proc cpuset ==================
3785 #. type: Plain text
3786 #: build/C/man7/cpuset.7:359
3787 msgid ""
3788 "Integer, between -1 and a small positive value.  The "
3789 "I<sched_relax_domain_level> controls the width of the range of CPUs over "
3790 "which the kernel scheduler performs immediate rebalancing of runnable tasks "
3791 "across CPUs.  If I<sched_load_balance> is disabled, then the setting of "
3792 "I<sched_relax_domain_level> does not matter, as no such load balancing is "
3793 "done.  If I<sched_load_balance> is enabled, then the higher the value of the "
3794 "I<sched_relax_domain_level>, the wider the range of CPUs over which "
3795 "immediate load balancing is attempted.  See B<Scheduler Relax Domain Level>, "
3796 "below, for further details."
3797 msgstr ""
3798
3799 #.  ================== proc status ==================
3800 #. type: Plain text
3801 #: build/C/man7/cpuset.7:367
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
3809 #. type: Plain text
3810 #: build/C/man7/cpuset.7:378
3811 msgid ""
3812 "Also the I</proc/E<lt>pidE<gt>/status> file for each process has four added "
3813 "lines, displaying the process's I<Cpus_allowed> (on which CPUs it may be "
3814 "scheduled) and I<Mems_allowed> (on which memory nodes it may obtain memory), "
3815 "in the two formats B<Mask Format> and B<List Format> (see below)  as shown "
3816 "in the following example:"
3817 msgstr ""
3818
3819 #. type: Plain text
3820 #: build/C/man7/cpuset.7:385
3821 #, no-wrap
3822 msgid ""
3823 "Cpus_allowed:   ffffffff,ffffffff,ffffffff,ffffffff\n"
3824 "Cpus_allowed_list:     0-127\n"
3825 "Mems_allowed:   ffffffff,ffffffff\n"
3826 "Mems_allowed_list:     0-63\n"
3827 msgstr ""
3828 "Cpus_allowed:   ffffffff,ffffffff,ffffffff,ffffffff\n"
3829 "Cpus_allowed_list:     0-127\n"
3830 "Mems_allowed:   ffffffff,ffffffff\n"
3831 "Mems_allowed_list:     0-63\n"
3832
3833 #.  ================== EXTENDED CAPABILITIES ==================
3834 #. type: Plain text
3835 #: build/C/man7/cpuset.7:391
3836 msgid ""
3837 "The \"allowed\" fields were added in Linux 2.6.24; the \"allowed_list\" "
3838 "fields were added in Linux 2.6.26."
3839 msgstr ""
3840
3841 #. type: SH
3842 #: build/C/man7/cpuset.7:391
3843 #, no-wrap
3844 msgid "EXTENDED CAPABILITIES"
3845 msgstr ""
3846
3847 #.  ================== Exclusive Cpusets ==================
3848 #. type: Plain text
3849 #: build/C/man7/cpuset.7:399
3850 msgid ""
3851 "In addition to controlling which I<cpus> and I<mems> a process is allowed to "
3852 "use, cpusets provide the following extended capabilities."
3853 msgstr ""
3854
3855 #. type: SS
3856 #: build/C/man7/cpuset.7:399
3857 #, no-wrap
3858 msgid "Exclusive cpusets"
3859 msgstr ""
3860
3861 #. type: Plain text
3862 #: build/C/man7/cpuset.7:406
3863 msgid ""
3864 "If a cpuset is marked I<cpu_exclusive> or I<mem_exclusive>, no other cpuset, "
3865 "other than a direct ancestor or descendant, may share any of the same CPUs "
3866 "or memory nodes."
3867 msgstr ""
3868
3869 #.  ================== Hardwall ==================
3870 #. type: Plain text
3871 #: build/C/man7/cpuset.7:432
3872 msgid ""
3873 "A cpuset that is I<mem_exclusive> restricts kernel allocations for buffer "
3874 "cache pages and other internal kernel data pages commonly shared by the "
3875 "kernel across multiple users.  All cpusets, whether I<mem_exclusive> or not, "
3876 "restrict allocations of memory for user space.  This enables configuring a "
3877 "system so that several independent jobs can share common kernel data, while "
3878 "isolating each job's user allocation in its own cpuset.  To do this, "
3879 "construct a large I<mem_exclusive> cpuset to hold all the jobs, and "
3880 "construct child, non-I<mem_exclusive> cpusets for each individual job.  Only "
3881 "a small amount of kernel memory, such as requests from interrupt handlers, "
3882 "is allowed to be placed on memory nodes outside even a I<mem_exclusive> "
3883 "cpuset."
3884 msgstr ""
3885
3886 #. type: SS
3887 #: build/C/man7/cpuset.7:432
3888 #, no-wrap
3889 msgid "Hardwall"
3890 msgstr ""
3891
3892 #. type: Plain text
3893 #: build/C/man7/cpuset.7:447
3894 msgid ""
3895 "A cpuset that has I<mem_exclusive> or I<mem_hardwall> set is a I<hardwall> "
3896 "cpuset.  A I<hardwall> cpuset restricts kernel allocations for page, buffer, "
3897 "and other data commonly shared by the kernel across multiple users.  All "
3898 "cpusets, whether I<hardwall> or not, restrict allocations of memory for user "
3899 "space."
3900 msgstr ""
3901
3902 #. type: Plain text
3903 #: build/C/man7/cpuset.7:458
3904 msgid ""
3905 "This enables configuring a system so that several independent jobs can share "
3906 "common kernel data, such as file system pages, while isolating each job's "
3907 "user allocation in its own cpuset.  To do this, construct a large "
3908 "I<hardwall> cpuset to hold all the jobs, and construct child cpusets for "
3909 "each individual job which are not I<hardwall> cpusets."
3910 msgstr ""
3911
3912 #.  ================== Notify On Release ==================
3913 #. type: Plain text
3914 #: build/C/man7/cpuset.7:464
3915 msgid ""
3916 "Only a small amount of kernel memory, such as requests from interrupt "
3917 "handlers, is allowed to be taken outside even a I<hardwall> cpuset."
3918 msgstr ""
3919
3920 #. type: SS
3921 #: build/C/man7/cpuset.7:464
3922 #, fuzzy, no-wrap
3923 #| msgid "I<notify_on_release>"
3924 msgid "Notify on release"
3925 msgstr "I<notify_on_release>"
3926
3927 #. type: Plain text
3928 #: build/C/man7/cpuset.7:476
3929 msgid ""
3930 "If the I<notify_on_release> flag is enabled (1) in a cpuset, then whenever "
3931 "the last process in the cpuset leaves (exits or attaches to some other "
3932 "cpuset)  and the last child cpuset of that cpuset is removed, the kernel "
3933 "will run the command I</sbin/cpuset_release_agent>, supplying the pathname "
3934 "(relative to the mount point of the cpuset file system) of the abandoned "
3935 "cpuset.  This enables automatic removal of abandoned cpusets."
3936 msgstr ""
3937
3938 #. type: Plain text
3939 #: build/C/man7/cpuset.7:484
3940 msgid ""
3941 "The default value of I<notify_on_release> in the root cpuset at system boot "
3942 "is disabled (0).  The default value of other cpusets at creation is the "
3943 "current value of their parent's I<notify_on_release> setting."
3944 msgstr ""
3945
3946 #. type: Plain text
3947 #: build/C/man7/cpuset.7:492
3948 msgid ""
3949 "The command I</sbin/cpuset_release_agent> is invoked, with the name (I</dev/"
3950 "cpuset> relative path)  of the to-be-released cpuset in I<argv[1]>."
3951 msgstr ""
3952
3953 #. type: Plain text
3954 #: build/C/man7/cpuset.7:496
3955 msgid ""
3956 "The usual contents of the command I</sbin/cpuset_release_agent> is simply "
3957 "the shell script:"
3958 msgstr ""
3959
3960 #. type: Plain text
3961 #: build/C/man7/cpuset.7:501
3962 #, no-wrap
3963 msgid ""
3964 "#!/bin/sh\n"
3965 "rmdir /dev/cpuset/$1\n"
3966 msgstr ""
3967 "#!/bin/sh\n"
3968 "rmdir /dev/cpuset/$1\n"
3969
3970 #.  ================== Memory Pressure ==================
3971 #. type: Plain text
3972 #: build/C/man7/cpuset.7:509
3973 msgid ""
3974 "As with other flag values below, this flag can be changed by writing an "
3975 "ASCII number 0 or 1 (with optional trailing newline)  into the file, to "
3976 "clear or set the flag, respectively."
3977 msgstr ""
3978
3979 #. type: SS
3980 #: build/C/man7/cpuset.7:509
3981 #, no-wrap
3982 msgid "Memory pressure"
3983 msgstr ""
3984
3985 #. type: Plain text
3986 #: build/C/man7/cpuset.7:515
3987 msgid ""
3988 "The I<memory_pressure> of a cpuset provides a simple per-cpuset running "
3989 "average of the rate that the processes in a cpuset are attempting to free up "
3990 "in-use memory on the nodes of the cpuset to satisfy additional memory "
3991 "requests."
3992 msgstr ""
3993
3994 #. type: Plain text
3995 #: build/C/man7/cpuset.7:519
3996 msgid ""
3997 "This enables batch managers that are monitoring jobs running in dedicated "
3998 "cpusets to efficiently detect what level of memory pressure that job is "
3999 "causing."
4000 msgstr ""
4001
4002 #. type: Plain text
4003 #: build/C/man7/cpuset.7:526
4004 msgid ""
4005 "This is useful both on tightly managed systems running a wide mix of "
4006 "submitted jobs, which may choose to terminate or reprioritize jobs that are "
4007 "trying to use more memory than allowed on the nodes assigned them, and with "
4008 "tightly coupled, long-running, massively parallel scientific computing jobs "
4009 "that will dramatically fail to meet required performance goals if they start "
4010 "to use more memory than allowed to them."
4011 msgstr ""
4012
4013 #. type: Plain text
4014 #: build/C/man7/cpuset.7:531
4015 msgid ""
4016 "This mechanism provides a very economical way for the batch manager to "
4017 "monitor a cpuset for signs of memory pressure.  It's up to the batch manager "
4018 "or other user code to decide what action to take if it detects signs of "
4019 "memory pressure."
4020 msgstr ""
4021
4022 #. type: Plain text
4023 #: build/C/man7/cpuset.7:538
4024 msgid ""
4025 "Unless memory pressure calculation is enabled by setting the pseudo-file I</"
4026 "dev/cpuset/cpuset.memory_pressure_enabled>, it is not computed for any "
4027 "cpuset, and reads from any I<memory_pressure> always return zero, as "
4028 "represented by the ASCII string \"0\\en\".  See the B<WARNINGS> section, "
4029 "below."
4030 msgstr ""
4031
4032 #. type: Plain text
4033 #: build/C/man7/cpuset.7:540
4034 msgid "A per-cpuset, running average is employed for the following reasons:"
4035 msgstr ""
4036
4037 #. type: Plain text
4038 #: build/C/man7/cpuset.7:545
4039 msgid ""
4040 "Because this meter is per-cpuset rather than per-process or per virtual "
4041 "memory region, the system load imposed by a batch scheduler monitoring this "
4042 "metric is sharply reduced on large systems, because a scan of the tasklist "
4043 "can be avoided on each set of queries."
4044 msgstr ""
4045
4046 #. type: Plain text
4047 #: build/C/man7/cpuset.7:550
4048 msgid ""
4049 "Because this meter is a running average rather than an accumulating counter, "
4050 "a batch scheduler can detect memory pressure with a single read, instead of "
4051 "having to read and accumulate results for a period of time."
4052 msgstr ""
4053
4054 #. type: Plain text
4055 #: build/C/man7/cpuset.7:556
4056 msgid ""
4057 "Because this meter is per-cpuset rather than per-process, the batch "
4058 "scheduler can obtain the key information\\(emmemory pressure in a cpuset"
4059 "\\(emwith a single read, rather than having to query and accumulate results "
4060 "over all the (dynamically changing)  set of processes in the cpuset."
4061 msgstr ""
4062
4063 #. type: Plain text
4064 #: build/C/man7/cpuset.7:564
4065 msgid ""
4066 "The I<memory_pressure> of a cpuset is calculated using a per-cpuset simple "
4067 "digital filter that is kept within the kernel.  For each cpuset, this filter "
4068 "tracks the recent rate at which processes attached to that cpuset enter the "
4069 "kernel direct reclaim code."
4070 msgstr ""
4071
4072 #. type: Plain text
4073 #: build/C/man7/cpuset.7:573
4074 msgid ""
4075 "The kernel direct reclaim code is entered whenever a process has to satisfy "
4076 "a memory page request by first finding some other page to repurpose, due to "
4077 "lack of any readily available already free pages.  Dirty file system pages "
4078 "are repurposed by first writing them to disk.  Unmodified file system buffer "
4079 "pages are repurposed by simply dropping them, though if that page is needed "
4080 "again, it will have to be reread from disk."
4081 msgstr ""
4082
4083 #.  ================== Memory Spread ==================
4084 #. type: Plain text
4085 #: build/C/man7/cpuset.7:581
4086 msgid ""
4087 "The I<cpuset.memory_pressure> file provides an integer number representing "
4088 "the recent (half-life of 10 seconds) rate of entries to the direct reclaim "
4089 "code caused by any process in the cpuset, in units of reclaims attempted per "
4090 "second, times 1000."
4091 msgstr ""
4092
4093 #. type: SS
4094 #: build/C/man7/cpuset.7:581
4095 #, no-wrap
4096 msgid "Memory spread"
4097 msgstr ""
4098
4099 #. type: Plain text
4100 #: build/C/man7/cpuset.7:589
4101 msgid ""
4102 "There are two Boolean flag files per cpuset that control where the kernel "
4103 "allocates pages for the file-system buffers and related in-kernel data "
4104 "structures.  They are called I<cpuset.memory_spread_page> and I<cpuset."
4105 "memory_spread_slab>."
4106 msgstr ""
4107
4108 #. type: Plain text
4109 #: build/C/man7/cpuset.7:596
4110 msgid ""
4111 "If the per-cpuset Boolean flag file I<cpuset.memory_spread_page> is set, "
4112 "then the kernel will spread the file-system buffers (page cache) evenly over "
4113 "all the nodes that the faulting process is allowed to use, instead of "
4114 "preferring to put those pages on the node where the process is running."
4115 msgstr ""
4116
4117 #. type: Plain text
4118 #: build/C/man7/cpuset.7:604
4119 msgid ""
4120 "If the per-cpuset Boolean flag file I<cpuset.memory_spread_slab> is set, "
4121 "then the kernel will spread some file-system-related slab caches, such as "
4122 "those for inodes and directory entries, evenly over all the nodes that the "
4123 "faulting process is allowed to use, instead of preferring to put those pages "
4124 "on the node where the process is running."
4125 msgstr ""
4126
4127 #. type: Plain text
4128 #: build/C/man7/cpuset.7:609
4129 msgid ""
4130 "The setting of these flags does not affect the data segment (see B<brk>(2))  "
4131 "or stack segment pages of a process."
4132 msgstr ""
4133
4134 #. type: Plain text
4135 #: build/C/man7/cpuset.7:617
4136 msgid ""
4137 "By default, both kinds of memory spreading are off and the kernel prefers to "
4138 "allocate memory pages on the node local to where the requesting process is "
4139 "running.  If that node is not allowed by the process's NUMA memory policy or "
4140 "cpuset configuration or if there are insufficient free memory pages on that "
4141 "node, then the kernel looks for the nearest node that is allowed and has "
4142 "sufficient free memory."
4143 msgstr ""
4144
4145 #. type: Plain text
4146 #: build/C/man7/cpuset.7:620
4147 msgid ""
4148 "When new cpusets are created, they inherit the memory spread settings of "
4149 "their parent."
4150 msgstr ""
4151
4152 #. type: Plain text
4153 #: build/C/man7/cpuset.7:635
4154 msgid ""
4155 "Setting memory spreading causes allocations for the affected page or slab "
4156 "caches to ignore the process's NUMA memory policy and be spread instead.  "
4157 "However, the effect of these changes in memory placement caused by cpuset-"
4158 "specified memory spreading is hidden from the B<mbind>(2)  or "
4159 "B<set_mempolicy>(2)  calls.  These two NUMA memory policy calls always "
4160 "appear to behave as if no cpuset-specified memory spreading is in effect, "
4161 "even if it is.  If cpuset memory spreading is subsequently turned off, the "
4162 "NUMA memory policy most recently specified by these calls is automatically "
4163 "reapplied."
4164 msgstr ""
4165
4166 #. type: Plain text
4167 #: build/C/man7/cpuset.7:644
4168 msgid ""
4169 "Both I<cpuset.memory_spread_page> and I<cpuset.memory_spread_slab> are "
4170 "Boolean flag files.  By default they contain \"0\", meaning that the feature "
4171 "is off for that cpuset.  If a \"1\" is written to that file, that turns the "
4172 "named feature on."
4173 msgstr ""
4174
4175 #. type: Plain text
4176 #: build/C/man7/cpuset.7:647
4177 msgid ""
4178 "Cpuset-specified memory spreading behaves similarly to what is known (in "
4179 "other contexts) as round-robin or interleave memory placement."
4180 msgstr ""
4181
4182 #. type: Plain text
4183 #: build/C/man7/cpuset.7:650
4184 msgid ""
4185 "Cpuset-specified memory spreading can provide substantial performance "
4186 "improvements for jobs that:"
4187 msgstr ""
4188
4189 #. type: IP
4190 #: build/C/man7/cpuset.7:650
4191 #, no-wrap
4192 msgid "a)"
4193 msgstr "a)"
4194
4195 #. type: Plain text
4196 #: build/C/man7/cpuset.7:654
4197 msgid ""
4198 "need to place thread-local data on memory nodes close to the CPUs which are "
4199 "running the threads that most frequently access that data; but also"
4200 msgstr ""
4201
4202 #. type: IP
4203 #: build/C/man7/cpuset.7:654
4204 #, no-wrap
4205 msgid "b)"
4206 msgstr "b)"
4207
4208 #. type: Plain text
4209 #: build/C/man7/cpuset.7:657
4210 msgid ""
4211 "need to access large file-system data sets that must to be spread across the "
4212 "several nodes in the job's cpuset in order to fit."
4213 msgstr ""
4214
4215 #.  ================== Memory Migration ==================
4216 #. type: Plain text
4217 #: build/C/man7/cpuset.7:664
4218 msgid ""
4219 "Without this policy, the memory allocation across the nodes in the job's "
4220 "cpuset can become very uneven, especially for jobs that might have just a "
4221 "single thread initializing or reading in the data set."
4222 msgstr ""
4223
4224 #. type: SS
4225 #: build/C/man7/cpuset.7:664
4226 #, no-wrap
4227 msgid "Memory migration"
4228 msgstr ""
4229
4230 #. type: Plain text
4231 #: build/C/man7/cpuset.7:673
4232 msgid ""
4233 "Normally, under the default setting (disabled) of I<cpuset.memory_migrate>, "
4234 "once a page is allocated (given a physical page of main memory) then that "
4235 "page stays on whatever node it was allocated, so long as it remains "
4236 "allocated, even if the cpuset's memory-placement policy I<mems> subsequently "
4237 "changes."
4238 msgstr ""
4239
4240 #. type: Plain text
4241 #: build/C/man7/cpuset.7:679
4242 msgid ""
4243 "When memory migration is enabled in a cpuset, if the I<mems> setting of the "
4244 "cpuset is changed, then any memory page in use by any process in the cpuset "
4245 "that is on a memory node that is no longer allowed will be migrated to a "
4246 "memory node that is allowed."
4247 msgstr ""
4248
4249 #. type: Plain text
4250 #: build/C/man7/cpuset.7:685
4251 msgid ""
4252 "Furthermore, if a process is moved into a cpuset with I<memory_migrate> "
4253 "enabled, any memory pages it uses that were on memory nodes allowed in its "
4254 "previous cpuset, but which are not allowed in its new cpuset, will be "
4255 "migrated to a memory node allowed in the new cpuset."
4256 msgstr ""
4257
4258 #.  ================== Scheduler Load Balancing ==================
4259 #. type: Plain text
4260 #: build/C/man7/cpuset.7:693
4261 msgid ""
4262 "The relative placement of a migrated page within the cpuset is preserved "
4263 "during these migration operations if possible.  For example, if the page was "
4264 "on the second valid node of the prior cpuset, then the page will be placed "
4265 "on the second valid node of the new cpuset, if possible."
4266 msgstr ""
4267
4268 #. type: SS
4269 #: build/C/man7/cpuset.7:693
4270 #, no-wrap
4271 msgid "Scheduler load balancing"
4272 msgstr ""
4273
4274 #. type: Plain text
4275 #: build/C/man7/cpuset.7:700
4276 msgid ""
4277 "The kernel scheduler automatically load balances processes.  If one CPU is "
4278 "underutilized, the kernel will look for processes on other more overloaded "
4279 "CPUs and move those processes to the underutilized CPU, within the "
4280 "constraints of such placement mechanisms as cpusets and B<sched_setaffinity>"
4281 "(2)."
4282 msgstr ""
4283
4284 #. type: Plain text
4285 #: build/C/man7/cpuset.7:713
4286 msgid ""
4287 "The algorithmic cost of load balancing and its impact on key shared kernel "
4288 "data structures such as the process list increases more than linearly with "
4289 "the number of CPUs being balanced.  For example, it costs more to load "
4290 "balance across one large set of CPUs than it does to balance across two "
4291 "smaller sets of CPUs, each of half the size of the larger set.  (The precise "
4292 "relationship between the number of CPUs being balanced and the cost of load "
4293 "balancing depends on implementation details of the kernel process scheduler, "
4294 "which is subject to change over time, as improved kernel scheduler "
4295 "algorithms are implemented.)"
4296 msgstr ""
4297
4298 #. type: Plain text
4299 #: build/C/man7/cpuset.7:719
4300 msgid ""
4301 "The per-cpuset flag I<sched_load_balance> provides a mechanism to suppress "
4302 "this automatic scheduler load balancing in cases where it is not needed and "
4303 "suppressing it would have worthwhile performance benefits."
4304 msgstr ""
4305
4306 #. type: Plain text
4307 #: build/C/man7/cpuset.7:723
4308 msgid ""
4309 "By default, load balancing is done across all CPUs, except those marked "
4310 "isolated using the kernel boot time \"isolcpus=\" argument.  (See "
4311 "B<Scheduler Relax Domain Level>, below, to change this default.)"
4312 msgstr ""
4313
4314 #. type: Plain text
4315 #: build/C/man7/cpuset.7:726
4316 msgid ""
4317 "This default load balancing across all CPUs is not well suited to the "
4318 "following two situations:"
4319 msgstr ""
4320
4321 #. type: Plain text
4322 #: build/C/man7/cpuset.7:730
4323 msgid ""
4324 "On large systems, load balancing across many CPUs is expensive.  If the "
4325 "system is managed using cpusets to place independent jobs on separate sets "
4326 "of CPUs, full load balancing is unnecessary."
4327 msgstr ""
4328
4329 #. type: Plain text
4330 #: build/C/man7/cpuset.7:734
4331 msgid ""
4332 "Systems supporting real-time on some CPUs need to minimize system overhead "
4333 "on those CPUs, including avoiding process load balancing if that is not "
4334 "needed."
4335 msgstr ""
4336
4337 #. type: Plain text
4338 #: build/C/man7/cpuset.7:744
4339 msgid ""
4340 "When the per-cpuset flag I<sched_load_balance> is enabled (the default "
4341 "setting), it requests load balancing across all the CPUs in that cpuset's "
4342 "allowed CPUs, ensuring that load balancing can move a process (not otherwise "
4343 "pinned, as by B<sched_setaffinity>(2))  from any CPU in that cpuset to any "
4344 "other."
4345 msgstr ""
4346
4347 #. type: Plain text
4348 #: build/C/man7/cpuset.7:753
4349 msgid ""
4350 "When the per-cpuset flag I<sched_load_balance> is disabled, then the "
4351 "scheduler will avoid load balancing across the CPUs in that cpuset, "
4352 "I<except> in so far as is necessary because some overlapping cpuset has "
4353 "I<sched_load_balance> enabled."
4354 msgstr ""
4355
4356 #. type: Plain text
4357 #: build/C/man7/cpuset.7:761
4358 msgid ""
4359 "So, for example, if the top cpuset has the flag I<sched_load_balance> "
4360 "enabled, then the scheduler will load balance across all CPUs, and the "
4361 "setting of the I<sched_load_balance> flag in other cpusets has no effect, as "
4362 "we're already fully load balancing."
4363 msgstr ""
4364
4365 #. type: Plain text
4366 #: build/C/man7/cpuset.7:766
4367 msgid ""
4368 "Therefore in the above two situations, the flag I<sched_load_balance> should "
4369 "be disabled in the top cpuset, and only some of the smaller, child cpusets "
4370 "would have this flag enabled."
4371 msgstr ""
4372
4373 #. type: Plain text
4374 #: build/C/man7/cpuset.7:774
4375 msgid ""
4376 "When doing this, you don't usually want to leave any unpinned processes in "
4377 "the top cpuset that might use nontrivial amounts of CPU, as such processes "
4378 "may be artificially constrained to some subset of CPUs, depending on the "
4379 "particulars of this flag setting in descendant cpusets.  Even if such a "
4380 "process could use spare CPU cycles in some other CPUs, the kernel scheduler "
4381 "might not consider the possibility of load balancing that process to the "
4382 "underused CPU."
4383 msgstr ""
4384
4385 #.  ================== Scheduler Relax Domain Level ==================
4386 #. type: Plain text
4387 #: build/C/man7/cpuset.7:780
4388 msgid ""
4389 "Of course, processes pinned to a particular CPU can be left in a cpuset that "
4390 "disables I<sched_load_balance> as those processes aren't going anywhere else "
4391 "anyway."
4392 msgstr ""
4393
4394 #. type: SS
4395 #: build/C/man7/cpuset.7:780
4396 #, no-wrap
4397 msgid "Scheduler relax domain level"
4398 msgstr ""
4399
4400 #. type: Plain text
4401 #: build/C/man7/cpuset.7:801
4402 msgid ""
4403 "The kernel scheduler performs immediate load balancing whenever a CPU "
4404 "becomes free or another task becomes runnable.  This load balancing works to "
4405 "ensure that as many CPUs as possible are usefully employed running tasks.  "
4406 "The kernel also performs periodic load balancing off the software clock "
4407 "described in I<time>(7).  The setting of I<sched_relax_domain_level> only "
4408 "applies to immediate load balancing.  Regardless of the "
4409 "I<sched_relax_domain_level> setting, periodic load balancing is attempted "
4410 "over all CPUs (unless disabled by turning off I<sched_load_balance>.)  In "
4411 "any case, of course, tasks will only be scheduled to run on CPUs allowed by "
4412 "their cpuset, as modified by B<sched_setaffinity>(2)  system calls."
4413 msgstr ""
4414
4415 #. type: Plain text
4416 #: build/C/man7/cpuset.7:809
4417 msgid ""
4418 "On small systems, such as those with just a few CPUs, immediate load "
4419 "balancing is useful to improve system interactivity and to minimize wasteful "
4420 "idle CPU cycles.  But on large systems, attempting immediate load balancing "
4421 "across a large number of CPUs can be more costly than it is worth, depending "
4422 "on the particular performance characteristics of the job mix and the "
4423 "hardware."
4424 msgstr ""
4425
4426 #. type: Plain text
4427 #: build/C/man7/cpuset.7:817
4428 msgid ""
4429 "The exact meaning of the small integer values of I<sched_relax_domain_level> "
4430 "will depend on internal implementation details of the kernel scheduler code "
4431 "and on the non-uniform architecture of the hardware.  Both of these will "
4432 "evolve over time and vary by system architecture and kernel version."
4433 msgstr ""
4434
4435 #. type: Plain text
4436 #: build/C/man7/cpuset.7:822
4437 msgid ""
4438 "As of this writing, when this capability was introduced in Linux 2.6.26, on "
4439 "certain popular architectures, the positive values of "
4440 "I<sched_relax_domain_level> have the following meanings."
4441 msgstr ""
4442
4443 #. type: IP
4444 #: build/C/man7/cpuset.7:824
4445 #, no-wrap
4446 msgid "B<(1)>"
4447 msgstr "B<(1)>"
4448
4449 #. type: Plain text
4450 #: build/C/man7/cpuset.7:827
4451 msgid ""
4452 "Perform immediate load balancing across Hyper-Thread siblings on the same "
4453 "core."
4454 msgstr ""
4455
4456 #. type: IP
4457 #: build/C/man7/cpuset.7:827
4458 #, no-wrap
4459 msgid "B<(2)>"
4460 msgstr "B<(2)>"
4461
4462 #. type: Plain text
4463 #: build/C/man7/cpuset.7:829
4464 msgid ""
4465 "Perform immediate load balancing across other cores in the same package."
4466 msgstr ""
4467
4468 #. type: IP
4469 #: build/C/man7/cpuset.7:829
4470 #, no-wrap
4471 msgid "B<(3)>"
4472 msgstr "B<(3)>"
4473
4474 #. type: Plain text
4475 #: build/C/man7/cpuset.7:832
4476 msgid ""
4477 "Perform immediate load balancing across other CPUs on the same node or blade."
4478 msgstr ""
4479
4480 #. type: IP
4481 #: build/C/man7/cpuset.7:832
4482 #, no-wrap
4483 msgid "B<(4)>"
4484 msgstr "B<(4)>"
4485
4486 #. type: Plain text
4487 #: build/C/man7/cpuset.7:835
4488 msgid ""
4489 "Perform immediate load balancing across over several (implementation detail) "
4490 "nodes [On NUMA systems]."
4491 msgstr ""
4492
4493 #. type: IP
4494 #: build/C/man7/cpuset.7:835
4495 #, no-wrap
4496 msgid "B<(5)>"
4497 msgstr "B<(5)>"
4498
4499 #. type: Plain text
4500 #: build/C/man7/cpuset.7:838
4501 msgid ""
4502 "Perform immediate load balancing across over all CPUs in system [On NUMA "
4503 "systems]."
4504 msgstr ""
4505
4506 #. type: Plain text
4507 #: build/C/man7/cpuset.7:847
4508 msgid ""
4509 "The I<sched_relax_domain_level> value of zero (0) always means don't perform "
4510 "immediate load balancing, hence that load balancing is only done "
4511 "periodically, not immediately when a CPU becomes available or another task "
4512 "becomes runnable."
4513 msgstr ""
4514
4515 #. type: Plain text
4516 #: build/C/man7/cpuset.7:855
4517 msgid ""
4518 "The I<sched_relax_domain_level> value of minus one (-1)  always means use "
4519 "the system default value.  The system default value can vary by architecture "
4520 "and kernel version.  This system default value can be changed by kernel boot-"
4521 "time \"relax_domain_level=\" argument."
4522 msgstr ""
4523
4524 #. type: Plain text
4525 #: build/C/man7/cpuset.7:863
4526 msgid ""
4527 "In the case of multiple overlapping cpusets which have conflicting "
4528 "I<sched_relax_domain_level> values, then the highest such value applies to "
4529 "all CPUs in any of the overlapping cpusets.  In such cases, the value "
4530 "B<minus one (-1)> is the lowest value, overridden by any other value, and "
4531 "the value B<zero (0)> is the next lowest value."
4532 msgstr ""
4533
4534 #. type: SH
4535 #: build/C/man7/cpuset.7:863
4536 #, no-wrap
4537 msgid "FORMATS"
4538 msgstr ""
4539
4540 #.  ================== Mask Format ==================
4541 #. type: Plain text
4542 #: build/C/man7/cpuset.7:867
4543 msgid ""
4544 "The following formats are used to represent sets of CPUs and memory nodes."
4545 msgstr ""
4546
4547 #. type: SS
4548 #: build/C/man7/cpuset.7:867
4549 #, no-wrap
4550 msgid "Mask format"
4551 msgstr ""
4552
4553 #. type: Plain text
4554 #: build/C/man7/cpuset.7:872
4555 msgid ""
4556 "The B<Mask Format> is used to represent CPU and memory-node bit masks in the "
4557 "I</proc/E<lt>pidE<gt>/status> file."
4558 msgstr ""
4559
4560 #. type: Plain text
4561 #: build/C/man7/cpuset.7:880
4562 msgid ""
4563 "This format displays each 32-bit word in hexadecimal (using ASCII characters "
4564 "\"0\" - \"9\" and \"a\" - \"f\"); words are filled with leading zeros, if "
4565 "required.  For masks longer than one word, a comma separator is used between "
4566 "words.  Words are displayed in big-endian order, which has the most "
4567 "significant bit first.  The hex digits within a word are also in big-endian "
4568 "order."
4569 msgstr ""
4570
4571 #. type: Plain text
4572 #: build/C/man7/cpuset.7:883
4573 msgid ""
4574 "The number of 32-bit words displayed is the minimum number needed to display "
4575 "all bits of the bit mask, based on the size of the bit mask."
4576 msgstr ""
4577
4578 #. type: Plain text
4579 #: build/C/man7/cpuset.7:885
4580 msgid "Examples of the B<Mask Format>:"
4581 msgstr ""
4582
4583 #. type: Plain text
4584 #: build/C/man7/cpuset.7:893
4585 #, no-wrap
4586 msgid ""
4587 "00000001                        # just bit 0 set\n"
4588 "40000000,00000000,00000000      # just bit 94 set\n"
4589 "00000001,00000000,00000000      # just bit 64 set\n"
4590 "000000ff,00000000               # bits 32-39 set\n"
4591 "00000000,000E3862               # 1,5,6,11-13,17-19 set\n"
4592 msgstr ""
4593 "00000001                        # just bit 0 set\n"
4594 "40000000,00000000,00000000      # just bit 94 set\n"
4595 "00000001,00000000,00000000      # just bit 64 set\n"
4596 "000000ff,00000000               # bits 32-39 set\n"
4597 "00000000,000E3862               # 1,5,6,11-13,17-19 set\n"
4598
4599 #. type: Plain text
4600 #: build/C/man7/cpuset.7:897
4601 msgid "A mask with bits 0, 1, 2, 4, 8, 16, 32, and 64 set displays as:"
4602 msgstr ""
4603
4604 #. type: Plain text
4605 #: build/C/man7/cpuset.7:901
4606 #, no-wrap
4607 msgid "00000001,00000001,00010117\n"
4608 msgstr "00000001,00000001,00010117\n"
4609
4610 #.  ================== List Format ==================
4611 #. type: Plain text
4612 #: build/C/man7/cpuset.7:908
4613 msgid ""
4614 "The first \"1\" is for bit 64, the second for bit 32, the third for bit 16, "
4615 "the fourth for bit 8, the fifth for bit 4, and the \"7\" is for bits 2, 1, "
4616 "and 0."
4617 msgstr ""
4618
4619 #. type: SS
4620 #: build/C/man7/cpuset.7:908
4621 #, no-wrap
4622 msgid "List format"
4623 msgstr ""
4624
4625 #. type: Plain text
4626 #: build/C/man7/cpuset.7:915
4627 msgid ""
4628 "The B<List Format> for I<cpus> and I<mems> is a comma-separated list of CPU "
4629 "or memory-node numbers and ranges of numbers, in ASCII decimal."
4630 msgstr ""
4631
4632 #. type: Plain text
4633 #: build/C/man7/cpuset.7:917
4634 msgid "Examples of the B<List Format>:"
4635 msgstr ""
4636
4637 #. type: Plain text
4638 #: build/C/man7/cpuset.7:922
4639 #, no-wrap
4640 msgid ""
4641 "0-4,9           # bits 0, 1, 2, 3, 4, and 9 set\n"
4642 "0-2,7,12-14     # bits 0, 1, 2, 7, 12, 13, and 14 set\n"
4643 msgstr ""
4644 "0-4,9           # bits 0, 1, 2, 3, 4, and 9 set\n"
4645 "0-2,7,12-14     # bits 0, 1, 2, 7, 12, 13, and 14 set\n"
4646
4647 #.  ================== RULES ==================
4648 #. type: SH
4649 #: build/C/man7/cpuset.7:925
4650 #, no-wrap
4651 msgid "RULES"
4652 msgstr ""
4653
4654 #. type: Plain text
4655 #: build/C/man7/cpuset.7:927
4656 msgid "The following rules apply to each cpuset:"
4657 msgstr ""
4658
4659 #. type: Plain text
4660 #: build/C/man7/cpuset.7:930
4661 msgid ""
4662 "Its CPUs and memory nodes must be a (possibly equal)  subset of its parent's."
4663 msgstr ""
4664
4665 #. type: Plain text
4666 #: build/C/man7/cpuset.7:934
4667 msgid "It can only be marked I<cpu_exclusive> if its parent is."
4668 msgstr ""
4669
4670 #. type: Plain text
4671 #: build/C/man7/cpuset.7:938
4672 msgid "It can only be marked I<mem_exclusive> if its parent is."
4673 msgstr ""
4674
4675 #. type: Plain text
4676 #: build/C/man7/cpuset.7:942
4677 msgid "If it is I<cpu_exclusive>, its CPUs may not overlap any sibling."
4678 msgstr ""
4679
4680 #.  ================== PERMISSIONS ==================
4681 #. type: Plain text
4682 #: build/C/man7/cpuset.7:947
4683 msgid ""
4684 "If it is I<memory_exclusive>, its memory nodes may not overlap any sibling."
4685 msgstr ""
4686
4687 #. type: SH
4688 #: build/C/man7/cpuset.7:947
4689 #, no-wrap
4690 msgid "PERMISSIONS"
4691 msgstr ""
4692
4693 #. type: Plain text
4694 #: build/C/man7/cpuset.7:952
4695 msgid ""
4696 "The permissions of a cpuset are determined by the permissions of the "
4697 "directories and pseudo-files in the cpuset file system, normally mounted at "
4698 "I</dev/cpuset>."
4699 msgstr ""
4700
4701 #. type: Plain text
4702 #: build/C/man7/cpuset.7:961
4703 msgid ""
4704 "For instance, a process can put itself in some other cpuset (than its "
4705 "current one) if it can write the I<tasks> file for that cpuset.  This "
4706 "requires execute permission on the encompassing directories and write "
4707 "permission on the I<tasks> file."
4708 msgstr ""
4709
4710 #. type: Plain text
4711 #: build/C/man7/cpuset.7:968
4712 msgid ""
4713 "An additional constraint is applied to requests to place some other process "
4714 "in a cpuset.  One process may not attach another to a cpuset unless it would "
4715 "have permission to send that process a signal (see B<kill>(2))."
4716 msgstr ""
4717
4718 #. type: Plain text
4719 #: build/C/man7/cpuset.7:979
4720 msgid ""
4721 "A process may create a child cpuset if it can access and write the parent "
4722 "cpuset directory.  It can modify the CPUs or memory nodes in a cpuset if it "
4723 "can access that cpuset's directory (execute permissions on the each of the "
4724 "parent directories) and write the corresponding I<cpus> or I<mems> file."
4725 msgstr ""
4726
4727 #. type: Plain text
4728 #: build/C/man7/cpuset.7:1000
4729 msgid ""
4730 "There is one minor difference between the manner in which these permissions "
4731 "are evaluated and the manner in which normal file-system operation "
4732 "permissions are evaluated.  The kernel interprets relative pathnames "
4733 "starting at a process's current working directory.  Even if one is operating "
4734 "on a cpuset file, relative pathnames are interpreted relative to the "
4735 "process's current working directory, not relative to the process's current "
4736 "cpuset.  The only ways that cpuset paths relative to a process's current "
4737 "cpuset can be used are if either the process's current working directory is "
4738 "its cpuset (it first did a B<cd> or B<chdir>(2)  to its cpuset directory "
4739 "beneath I</dev/cpuset>, which is a bit unusual)  or if some user code "
4740 "converts the relative cpuset path to a full file-system path."
4741 msgstr ""
4742
4743 #.  ================== WARNINGS ==================
4744 #. type: Plain text
4745 #: build/C/man7/cpuset.7:1015
4746 msgid ""
4747 "In theory, this means that user code should specify cpusets using absolute "
4748 "pathnames, which requires knowing the mount point of the cpuset file system "
4749 "(usually, but not necessarily, I</dev/cpuset>).  In practice, all user level "
4750 "code that this author is aware of simply assumes that if the cpuset file "
4751 "system is mounted, then it is mounted at I</dev/cpuset>.  Furthermore, it is "
4752 "common practice for carefully written user code to verify the presence of "
4753 "the pseudo-file I</dev/cpuset/tasks> in order to verify that the cpuset "
4754 "pseudo-file system is currently mounted."
4755 msgstr ""
4756
4757 #. type: SH
4758 #: build/C/man7/cpuset.7:1015
4759 #, no-wrap
4760 msgid "WARNINGS"
4761 msgstr ""
4762
4763 #. type: SS
4764 #: build/C/man7/cpuset.7:1016
4765 #, no-wrap
4766 msgid "Enabling memory_pressure"
4767 msgstr ""
4768
4769 #. type: Plain text
4770 #: build/C/man7/cpuset.7:1025
4771 msgid ""
4772 "By default, the per-cpuset file I<cpuset.memory_pressure> always contains "
4773 "zero (0).  Unless this feature is enabled by writing \"1\" to the pseudo-"
4774 "file I</dev/cpuset/cpuset.memory_pressure_enabled>, the kernel does not "
4775 "compute per-cpuset I<memory_pressure>."
4776 msgstr ""
4777
4778 #. type: SS
4779 #: build/C/man7/cpuset.7:1025
4780 #, no-wrap
4781 msgid "Using the echo command"
4782 msgstr ""
4783
4784 #.  Gack!  csh(1)'s echo does this
4785 #. type: Plain text
4786 #: build/C/man7/cpuset.7:1036
4787 msgid ""
4788 "When using the B<echo> command at the shell prompt to change the values of "
4789 "cpuset files, beware that the built-in B<echo> command in some shells does "
4790 "not display an error message if the B<write>(2)  system call fails.  For "
4791 "example, if the command:"
4792 msgstr ""
4793
4794 #. type: Plain text
4795 #: build/C/man7/cpuset.7:1040
4796 #, fuzzy, no-wrap
4797 #| msgid "echo 19 E<gt> mems\n"
4798 msgid "echo 19 E<gt> cpuset.mems\n"
4799 msgstr "echo 19 E<gt> mems\n"
4800
4801 #. type: Plain text
4802 #: build/C/man7/cpuset.7:1053
4803 msgid ""
4804 "failed because memory node 19 was not allowed (perhaps the current system "
4805 "does not have a memory node 19), then the B<echo> command might not display "
4806 "any error.  It is better to use the B</bin/echo> external command to change "
4807 "cpuset file settings, as this command will display B<write>(2)  errors, as "
4808 "in the example:"
4809 msgstr ""
4810
4811 #. type: Plain text
4812 #: build/C/man7/cpuset.7:1058
4813 #, fuzzy, no-wrap
4814 #| msgid ""
4815 #| "/bin/echo 19 E<gt> mems\n"
4816 #| "/bin/echo: write error: Invalid argument\n"
4817 msgid ""
4818 "/bin/echo 19 E<gt> cpuset.mems\n"
4819 "/bin/echo: write error: Invalid argument\n"
4820 msgstr ""
4821 "/bin/echo 19 E<gt> mems\n"
4822 "/bin/echo: write error: Invalid argument\n"
4823
4824 #.  ================== EXCEPTIONS ==================
4825 #. type: SH
4826 #: build/C/man7/cpuset.7:1061
4827 #, no-wrap
4828 msgid "EXCEPTIONS"
4829 msgstr ""
4830
4831 #. type: SS
4832 #: build/C/man7/cpuset.7:1062
4833 #, no-wrap
4834 msgid "Memory placement"
4835 msgstr ""
4836
4837 #. type: Plain text
4838 #: build/C/man7/cpuset.7:1065
4839 msgid ""
4840 "Not all allocations of system memory are constrained by cpusets, for the "
4841 "following reasons."
4842 msgstr ""
4843
4844 #. type: Plain text
4845 #: build/C/man7/cpuset.7:1080
4846 msgid ""
4847 "If hot-plug functionality is used to remove all the CPUs that are currently "
4848 "assigned to a cpuset, then the kernel will automatically update the "
4849 "I<cpus_allowed> of all processes attached to CPUs in that cpuset to allow "
4850 "all CPUs.  When memory hot-plug functionality for removing memory nodes is "
4851 "available, a similar exception is expected to apply there as well.  In "
4852 "general, the kernel prefers to violate cpuset placement, rather than "
4853 "starving a process that has had all its allowed CPUs or memory nodes taken "
4854 "offline.  User code should reconfigure cpusets to only refer to online CPUs "
4855 "and memory nodes when using hot-plug to add or remove such resources."
4856 msgstr ""
4857
4858 #. type: Plain text
4859 #: build/C/man7/cpuset.7:1088
4860 msgid ""
4861 "A few kernel-critical, internal memory-allocation requests, marked "
4862 "GFP_ATOMIC, must be satisfied immediately.  The kernel may drop some request "
4863 "or malfunction if one of these allocations fail.  If such a request cannot "
4864 "be satisfied within the current process's cpuset, then we relax the cpuset, "
4865 "and look for memory anywhere we can find it.  It's better to violate the "
4866 "cpuset than stress the kernel."
4867 msgstr ""
4868
4869 #. type: Plain text
4870 #: build/C/man7/cpuset.7:1092
4871 msgid ""
4872 "Allocations of memory requested by kernel drivers while processing an "
4873 "interrupt lack any relevant process context, and are not confined by cpusets."
4874 msgstr ""
4875
4876 #. type: SS
4877 #: build/C/man7/cpuset.7:1092
4878 #, no-wrap
4879 msgid "Renaming cpusets"
4880 msgstr ""
4881
4882 #.  ================== ERRORS ==================
4883 #. type: Plain text
4884 #: build/C/man7/cpuset.7:1100
4885 msgid ""
4886 "You can use the B<rename>(2)  system call to rename cpusets.  Only simple "
4887 "renaming is supported; that is, changing the name of a cpuset directory is "
4888 "permitted, but moving a directory into a different directory is not "
4889 "permitted."
4890 msgstr ""
4891
4892 #. type: Plain text
4893 #: build/C/man7/cpuset.7:1104
4894 msgid ""
4895 "The Linux kernel implementation of cpusets sets I<errno> to specify the "
4896 "reason for a failed system call affecting cpusets."
4897 msgstr ""
4898
4899 #. type: Plain text
4900 #: build/C/man7/cpuset.7:1109
4901 msgid ""
4902 "The possible I<errno> settings and their meaning when set on a failed cpuset "
4903 "call are as listed below."
4904 msgstr ""
4905
4906 #. type: TP
4907 #: build/C/man7/cpuset.7:1109
4908 #, no-wrap
4909 msgid "B<E2BIG>"
4910 msgstr "B<E2BIG>"
4911
4912 #. type: Plain text
4913 #: build/C/man7/cpuset.7:1116
4914 msgid ""
4915 "Attempted a B<write>(2)  on a special cpuset file with a length larger than "
4916 "some kernel-determined upper limit on the length of such writes."
4917 msgstr ""
4918
4919 #. type: Plain text
4920 #: build/C/man7/cpuset.7:1123
4921 msgid ""
4922 "Attempted to B<write>(2)  the process ID (PID) of a process to a cpuset "
4923 "I<tasks> file when one lacks permission to move that process."
4924 msgstr ""
4925
4926 #. type: Plain text
4927 #: build/C/man7/cpuset.7:1129
4928 msgid ""
4929 "Attempted to add, using B<write>(2), a CPU or memory node to a cpuset, when "
4930 "that CPU or memory node was not already in its parent."
4931 msgstr ""
4932
4933 #. type: Plain text
4934 #: build/C/man7/cpuset.7:1137
4935 msgid ""
4936 "Attempted to set, using B<write>(2), I<cpuset.cpu_exclusive> or I<cpuset."
4937 "mem_exclusive> on a cpuset whose parent lacks the same setting."
4938 msgstr ""
4939
4940 #. type: Plain text
4941 #: build/C/man7/cpuset.7:1144
4942 msgid "Attempted to B<write>(2)  a I<cpuset.memory_pressure> file."
4943 msgstr ""
4944
4945 #. type: Plain text
4946 #: build/C/man7/cpuset.7:1147
4947 msgid "Attempted to create a file in a cpuset directory."
4948 msgstr ""
4949
4950 #. type: TP
4951 #: build/C/man7/cpuset.7:1147 build/C/man7/cpuset.7:1152
4952 #: build/C/man7/cpuset.7:1157
4953 #, no-wrap
4954 msgid "B<EBUSY>"
4955 msgstr "B<EBUSY>"
4956
4957 #. type: Plain text
4958 #: build/C/man7/cpuset.7:1152
4959 msgid ""
4960 "Attempted to remove, using B<rmdir>(2), a cpuset with attached processes."
4961 msgstr ""
4962
4963 #. type: Plain text
4964 #: build/C/man7/cpuset.7:1157
4965 msgid "Attempted to remove, using B<rmdir>(2), a cpuset with child cpusets."
4966 msgstr ""
4967
4968 #. type: Plain text
4969 #: build/C/man7/cpuset.7:1162
4970 msgid ""
4971 "Attempted to remove a CPU or memory node from a cpuset that is also in a "
4972 "child of that cpuset."
4973 msgstr ""
4974
4975 #. type: TP
4976 #: build/C/man7/cpuset.7:1162 build/C/man7/cpuset.7:1167
4977 #, no-wrap
4978 msgid "B<EEXIST>"
4979 msgstr "B<EEXIST>"
4980
4981 #. type: Plain text
4982 #: build/C/man7/cpuset.7:1167
4983 msgid "Attempted to create, using B<mkdir>(2), a cpuset that already exists."
4984 msgstr ""
4985
4986 #. type: Plain text
4987 #: build/C/man7/cpuset.7:1172
4988 msgid "Attempted to B<rename>(2)  a cpuset to a name that already exists."
4989 msgstr ""
4990
4991 #. type: Plain text
4992 #: build/C/man7/cpuset.7:1180
4993 msgid ""
4994 "Attempted to B<read>(2)  or B<write>(2)  a cpuset file using a buffer that "
4995 "is outside the writing processes accessible address space."
4996 msgstr ""
4997
4998 #. type: Plain text
4999 #: build/C/man7/cpuset.7:1189
5000 msgid ""
5001 "Attempted to change a cpuset, using B<write>(2), in a way that would violate "
5002 "a I<cpu_exclusive> or I<mem_exclusive> attribute of that cpuset or any of "
5003 "its siblings."
5004 msgstr ""
5005
5006 #. type: Plain text
5007 #: build/C/man7/cpuset.7:1198
5008 msgid ""
5009 "Attempted to B<write>(2)  an empty I<cpuset.cpus> or I<cpuset.mems> list to "
5010 "a cpuset which has attached processes or child cpusets."
5011 msgstr ""
5012
5013 #. type: Plain text
5014 #: build/C/man7/cpuset.7:1208
5015 msgid ""
5016 "Attempted to B<write>(2)  a I<cpuset.cpus> or I<cpuset.mems> list which "
5017 "included a range with the second number smaller than the first number."
5018 msgstr ""
5019
5020 #. type: Plain text
5021 #: build/C/man7/cpuset.7:1217
5022 msgid ""
5023 "Attempted to B<write>(2)  a I<cpuset.cpus> or I<cpuset.mems> list which "
5024 "included an invalid character in the string."
5025 msgstr ""
5026
5027 #. type: Plain text
5028 #: build/C/man7/cpuset.7:1224
5029 msgid ""
5030 "Attempted to B<write>(2)  a list to a I<cpuset.cpus> file that did not "
5031 "include any online CPUs."
5032 msgstr ""
5033
5034 #. type: Plain text
5035 #: build/C/man7/cpuset.7:1231
5036 msgid ""
5037 "Attempted to B<write>(2)  a list to a I<cpuset.mems> file that did not "
5038 "include any online memory nodes."
5039 msgstr ""
5040
5041 #. type: Plain text
5042 #: build/C/man7/cpuset.7:1238
5043 msgid ""
5044 "Attempted to B<write>(2)  a list to a I<cpuset.mems> file that included a "
5045 "node that held no memory."
5046 msgstr ""
5047
5048 #. type: Plain text
5049 #: build/C/man7/cpuset.7:1246
5050 msgid ""
5051 "Attempted to B<write>(2)  a string to a cpuset I<tasks> file that does not "
5052 "begin with an ASCII decimal integer."
5053 msgstr ""
5054
5055 #. type: Plain text
5056 #: build/C/man7/cpuset.7:1251
5057 msgid "Attempted to B<rename>(2)  a cpuset into a different directory."
5058 msgstr ""
5059
5060 #. type: Plain text
5061 #: build/C/man7/cpuset.7:1258
5062 msgid ""
5063 "Attempted to B<read>(2)  a I</proc/E<lt>pidE<gt>/cpuset> file for a cpuset "
5064 "path that is longer than the kernel page size."
5065 msgstr ""
5066
5067 #. type: Plain text
5068 #: build/C/man7/cpuset.7:1263
5069 msgid ""
5070 "Attempted to create, using B<mkdir>(2), a cpuset whose base directory name "
5071 "is longer than 255 characters."
5072 msgstr ""
5073
5074 #. type: Plain text
5075 #: build/C/man7/cpuset.7:1270
5076 msgid ""
5077 "Attempted to create, using B<mkdir>(2), a cpuset whose full pathname, "
5078 "including the mount point (typically \"/dev/cpuset/\") prefix, is longer "
5079 "than 4095 characters."
5080 msgstr ""
5081
5082 #. type: TP
5083 #: build/C/man7/cpuset.7:1270
5084 #, no-wrap
5085 msgid "B<ENODEV>"
5086 msgstr "B<ENODEV>"
5087
5088 #. type: Plain text
5089 #: build/C/man7/cpuset.7:1275
5090 msgid ""
5091 "The cpuset was removed by another process at the same time as a B<write>(2)  "
5092 "was attempted on one of the pseudo-files in the cpuset directory."
5093 msgstr ""
5094
5095 #. type: Plain text
5096 #: build/C/man7/cpuset.7:1280
5097 msgid ""
5098 "Attempted to create, using B<mkdir>(2), a cpuset in a parent cpuset that "
5099 "doesn't exist."
5100 msgstr ""
5101
5102 #. type: Plain text
5103 #: build/C/man7/cpuset.7:1287
5104 msgid ""
5105 "Attempted to B<access>(2)  or B<open>(2)  a nonexistent file in a cpuset "
5106 "directory."
5107 msgstr ""
5108
5109 #. type: Plain text
5110 #: build/C/man7/cpuset.7:1292
5111 msgid ""
5112 "Insufficient memory is available within the kernel; can occur on a variety "
5113 "of system calls affecting cpusets, but only if the system is extremely short "
5114 "of memory."
5115 msgstr ""
5116
5117 #. type: TP
5118 #: build/C/man7/cpuset.7:1292 build/C/man7/cpuset.7:1304
5119 #, no-wrap
5120 msgid "B<ENOSPC>"
5121 msgstr "B<ENOSPC>"
5122
5123 #. type: Plain text
5124 #: build/C/man7/cpuset.7:1304
5125 msgid ""
5126 "Attempted to B<write>(2)  the process ID (PID)  of a process to a cpuset "
5127 "I<tasks> file when the cpuset had an empty I<cpuset.cpus> or empty I<cpuset."
5128 "mems> setting."
5129 msgstr ""
5130
5131 #. type: Plain text
5132 #: build/C/man7/cpuset.7:1314
5133 msgid ""
5134 "Attempted to B<write>(2)  an empty I<cpuset.cpus> or I<cpuset.mems> setting "
5135 "to a cpuset that has tasks attached."
5136 msgstr ""
5137
5138 #. type: Plain text
5139 #: build/C/man7/cpuset.7:1319
5140 msgid "Attempted to B<rename>(2)  a nonexistent cpuset."
5141 msgstr ""
5142
5143 #. type: Plain text
5144 #: build/C/man7/cpuset.7:1322
5145 msgid "Attempted to remove a file from a cpuset directory."
5146 msgstr ""
5147
5148 #. type: TP
5149 #: build/C/man7/cpuset.7:1322
5150 #, no-wrap
5151 msgid "B<ERANGE>"
5152 msgstr "B<ERANGE>"
5153
5154 #. type: Plain text
5155 #: build/C/man7/cpuset.7:1330
5156 msgid ""
5157 "Specified a I<cpuset.cpus> or I<cpuset.mems> list to the kernel which "
5158 "included a number too large for the kernel to set in its bit masks."
5159 msgstr ""
5160
5161 #.  ================== VERSIONS ==================
5162 #. type: Plain text
5163 #: build/C/man7/cpuset.7:1338
5164 msgid ""
5165 "Attempted to B<write>(2)  the process ID (PID) of a nonexistent process to a "
5166 "cpuset I<tasks> file."
5167 msgstr ""
5168
5169 #.  ================== NOTES ==================
5170 #. type: Plain text
5171 #: build/C/man7/cpuset.7:1341
5172 msgid "Cpusets appeared in version 2.6.12 of the Linux kernel."
5173 msgstr ""
5174
5175 #.  ================== BUGS ==================
5176 #. type: Plain text
5177 #: build/C/man7/cpuset.7:1352
5178 msgid ""
5179 "Despite its name, the I<pid> parameter is actually a thread ID, and each "
5180 "thread in a threaded group can be attached to a different cpuset.  The value "
5181 "returned from a call to B<gettid>(2)  can be passed in the argument I<pid>."
5182 msgstr ""
5183
5184 #. type: SH
5185 #: build/C/man7/cpuset.7:1352 build/C/man2/getpriority.2:225
5186 #: build/C/man2/getrlimit.2:525 build/C/man2/ioprio_set.2:337
5187 #: build/C/man2/setfsgid.2:104 build/C/man2/setfsuid.2:104
5188 #, no-wrap
5189 msgid "BUGS"
5190 msgstr "バグ"
5191
5192 #.  ================== EXAMPLE ==================
5193 #. type: Plain text
5194 #: build/C/man7/cpuset.7:1365
5195 msgid ""
5196 "I<cpuset.memory_pressure> cpuset files can be opened for writing, creation, "
5197 "or truncation, but then the B<write>(2)  fails with I<errno> set to "
5198 "B<EACCES>, and the creation and truncation options on B<open>(2)  have no "
5199 "effect."
5200 msgstr ""
5201
5202 #. type: SH
5203 #: build/C/man7/cpuset.7:1365 build/C/man2/getrlimit.2:600
5204 #, no-wrap
5205 msgid "EXAMPLE"
5206 msgstr "例"
5207
5208 #. type: Plain text
5209 #: build/C/man7/cpuset.7:1368
5210 msgid ""
5211 "The following examples demonstrate querying and setting cpuset options using "
5212 "shell commands."
5213 msgstr ""
5214
5215 #. type: SS
5216 #: build/C/man7/cpuset.7:1368
5217 #, no-wrap
5218 msgid "Creating and attaching to a cpuset."
5219 msgstr ""
5220
5221 #. type: Plain text
5222 #: build/C/man7/cpuset.7:1371
5223 msgid ""
5224 "To create a new cpuset and attach the current command shell to it, the steps "
5225 "are:"
5226 msgstr ""
5227
5228 #. type: IP
5229 #: build/C/man7/cpuset.7:1373 build/C/man7/cpuset.7:1412
5230 #, no-wrap
5231 msgid "1)"
5232 msgstr "1)"
5233
5234 #. type: Plain text
5235 #: build/C/man7/cpuset.7:1375
5236 msgid "mkdir /dev/cpuset (if not already done)"
5237 msgstr ""
5238
5239 #. type: IP
5240 #: build/C/man7/cpuset.7:1375 build/C/man7/cpuset.7:1418
5241 #, no-wrap
5242 msgid "2)"
5243 msgstr "2)"
5244
5245 #. type: Plain text
5246 #: build/C/man7/cpuset.7:1377
5247 msgid "mount -t cpuset none /dev/cpuset (if not already done)"
5248 msgstr ""
5249
5250 #. type: IP
5251 #: build/C/man7/cpuset.7:1377 build/C/man7/cpuset.7:1421
5252 #, no-wrap
5253 msgid "3)"
5254 msgstr "3)"
5255
5256 #. type: Plain text
5257 #: build/C/man7/cpuset.7:1380
5258 msgid "Create the new cpuset using B<mkdir>(1)."
5259 msgstr ""
5260
5261 #. type: IP
5262 #: build/C/man7/cpuset.7:1380 build/C/man7/cpuset.7:1424
5263 #, no-wrap
5264 msgid "4)"
5265 msgstr "4)"
5266
5267 #. type: Plain text
5268 #: build/C/man7/cpuset.7:1382
5269 msgid "Assign CPUs and memory nodes to the new cpuset."
5270 msgstr ""
5271
5272 #. type: IP
5273 #: build/C/man7/cpuset.7:1382 build/C/man7/cpuset.7:1429
5274 #, no-wrap
5275 msgid "5)"
5276 msgstr "5)"
5277
5278 #. type: Plain text
5279 #: build/C/man7/cpuset.7:1384
5280 msgid "Attach the shell to the new cpuset."
5281 msgstr ""
5282
5283 #. type: Plain text
5284 #: build/C/man7/cpuset.7:1389
5285 msgid ""
5286 "For example, the following sequence of commands will set up a cpuset named "
5287 "\"Charlie\", containing just CPUs 2 and 3, and memory node 1, and then "
5288 "attach the current shell to that cpuset."
5289 msgstr ""
5290
5291 #. type: Plain text
5292 #: build/C/man7/cpuset.7:1403
5293 #, fuzzy, no-wrap
5294 #| msgid ""
5295 #| "$B< mkdir /dev/cpuset>\n"
5296 #| "$B< mount -t cpuset cpuset /dev/cpuset>\n"
5297 #| "$B< cd /dev/cpuset>\n"
5298 #| "$B< mkdir Charlie>\n"
5299 #| "$B< cd Charlie>\n"
5300 #| "$B< /bin/echo 2-3 E<gt> cpus>\n"
5301 #| "$B< /bin/echo 1 E<gt> mems>\n"
5302 #| "$B< /bin/echo $$ E<gt> tasks>\n"
5303 #| "# The current shell is now running in cpuset Charlie\n"
5304 #| "# The next line should display '/Charlie'\n"
5305 #| "$B< cat /proc/self/cpuset>\n"
5306 msgid ""
5307 "$B< mkdir /dev/cpuset>\n"
5308 "$B< mount -t cpuset cpuset /dev/cpuset>\n"
5309 "$B< cd /dev/cpuset>\n"
5310 "$B< mkdir Charlie>\n"
5311 "$B< cd Charlie>\n"
5312 "$B< /bin/echo 2-3 E<gt> cpuset.cpus>\n"
5313 "$B< /bin/echo 1 E<gt> cpuset.mems>\n"
5314 "$B< /bin/echo $$ E<gt> tasks>\n"
5315 "# The current shell is now running in cpuset Charlie\n"
5316 "# The next line should display '/Charlie'\n"
5317 "$B< cat /proc/self/cpuset>\n"
5318 msgstr ""
5319 "$B< mkdir /dev/cpuset>\n"
5320 "$B< mount -t cpuset cpuset /dev/cpuset>\n"
5321 "$B< cd /dev/cpuset>\n"
5322 "$B< mkdir Charlie>\n"
5323 "$B< cd Charlie>\n"
5324 "$B< /bin/echo 2-3 E<gt> cpus>\n"
5325 "$B< /bin/echo 1 E<gt> mems>\n"
5326 "$B< /bin/echo $$ E<gt> tasks>\n"
5327 "# The current shell is now running in cpuset Charlie\n"
5328 "# The next line should display '/Charlie'\n"
5329 "$B< cat /proc/self/cpuset>\n"
5330
5331 #. type: SS
5332 #: build/C/man7/cpuset.7:1405
5333 #, no-wrap
5334 msgid "Migrating a job to different memory nodes."
5335 msgstr ""
5336
5337 #. type: Plain text
5338 #: build/C/man7/cpuset.7:1410
5339 msgid ""
5340 "To migrate a job (the set of processes attached to a cpuset)  to different "
5341 "CPUs and memory nodes in the system, including moving the memory pages "
5342 "currently allocated to that job, perform the following steps."
5343 msgstr ""
5344
5345 #. type: Plain text
5346 #: build/C/man7/cpuset.7:1418
5347 msgid ""
5348 "Let's say we want to move the job in cpuset I<alpha> (CPUs 4-7 and memory "
5349 "nodes 2-3) to a new cpuset I<beta> (CPUs 16-19 and memory nodes 8-9)."
5350 msgstr ""
5351
5352 #. type: Plain text
5353 #: build/C/man7/cpuset.7:1421
5354 msgid "First create the new cpuset I<beta>."
5355 msgstr ""
5356
5357 #. type: Plain text
5358 #: build/C/man7/cpuset.7:1424
5359 msgid "Then allow CPUs 16-19 and memory nodes 8-9 in I<beta>."
5360 msgstr ""
5361
5362 #. type: Plain text
5363 #: build/C/man7/cpuset.7:1429
5364 msgid "Then enable I<memory_migration> in I<beta>."
5365 msgstr ""
5366
5367 #. type: Plain text
5368 #: build/C/man7/cpuset.7:1434
5369 msgid "Then move each process from I<alpha> to I<beta>."
5370 msgstr ""
5371
5372 #. type: Plain text
5373 #: build/C/man7/cpuset.7:1437
5374 msgid "The following sequence of commands accomplishes this."
5375 msgstr ""
5376
5377 #. type: Plain text
5378 #: build/C/man7/cpuset.7:1447
5379 #, fuzzy, no-wrap
5380 #| msgid ""
5381 #| "$B< cd /dev/cpuset>\n"
5382 #| "$B< mkdir beta>\n"
5383 #| "$B< cd beta>\n"
5384 #| "$B< /bin/echo 16-19 E<gt> cpus>\n"
5385 #| "$B< /bin/echo 8-9 E<gt> mems>\n"
5386 #| "$B< /bin/echo 1 E<gt> memory_migrate>\n"
5387 #| "$B< while read i; do /bin/echo $i; done E<lt> ../alpha/tasks E<gt> tasks>\n"
5388 msgid ""
5389 "$B< cd /dev/cpuset>\n"
5390 "$B< mkdir beta>\n"
5391 "$B< cd beta>\n"
5392 "$B< /bin/echo 16-19 E<gt> cpuset.cpus>\n"
5393 "$B< /bin/echo 8-9 E<gt> cpuset.mems>\n"
5394 "$B< /bin/echo 1 E<gt> cpuset.memory_migrate>\n"
5395 "$B< while read i; do /bin/echo $i; done E<lt> ../alpha/tasks E<gt> tasks>\n"
5396 msgstr ""
5397 "$B< cd /dev/cpuset>\n"
5398 "$B< mkdir beta>\n"
5399 "$B< cd beta>\n"
5400 "$B< /bin/echo 16-19 E<gt> cpus>\n"
5401 "$B< /bin/echo 8-9 E<gt> mems>\n"
5402 "$B< /bin/echo 1 E<gt> memory_migrate>\n"
5403 "$B< while read i; do /bin/echo $i; done E<lt> ../alpha/tasks E<gt> tasks>\n"
5404
5405 #. type: Plain text
5406 #: build/C/man7/cpuset.7:1456
5407 msgid ""
5408 "The above should move any processes in I<alpha> to I<beta>, and any memory "
5409 "held by these processes on memory nodes 2-3 to memory nodes 8-9, "
5410 "respectively."
5411 msgstr ""
5412
5413 #. type: Plain text
5414 #: build/C/man7/cpuset.7:1458
5415 msgid "Notice that the last step of the above sequence did not do:"
5416 msgstr ""
5417
5418 #. type: Plain text
5419 #: build/C/man7/cpuset.7:1462
5420 #, no-wrap
5421 msgid "$B< cp ../alpha/tasks tasks>\n"
5422 msgstr "$B< cp ../alpha/tasks tasks>\n"
5423
5424 #. type: Plain text
5425 #: build/C/man7/cpuset.7:1473
5426 msgid ""
5427 "The I<while> loop, rather than the seemingly easier use of the B<cp>(1)  "
5428 "command, was necessary because only one process PID at a time may be written "
5429 "to the I<tasks> file."
5430 msgstr ""
5431
5432 #. type: Plain text
5433 #: build/C/man7/cpuset.7:1481
5434 msgid ""
5435 "The same effect (writing one PID at a time) as the I<while> loop can be "
5436 "accomplished more efficiently, in fewer keystrokes and in syntax that works "
5437 "on any shell, but alas more obscurely, by using the B<-u> (unbuffered) "
5438 "option of B<sed>(1):"
5439 msgstr ""
5440
5441 #. type: Plain text
5442 #: build/C/man7/cpuset.7:1485
5443 #, no-wrap
5444 msgid "$B< sed -un p E<lt> ../alpha/tasks E<gt> tasks>\n"
5445 msgstr "$B< sed -un p E<lt> ../alpha/tasks E<gt> tasks>\n"
5446
5447 #. type: Plain text
5448 #: build/C/man7/cpuset.7:1502
5449 msgid ""
5450 "B<taskset>(1), B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), "
5451 "B<sched_getaffinity>(2), B<sched_setaffinity>(2), B<sched_setscheduler>(2), "
5452 "B<set_mempolicy>(2), B<CPU_SET>(3), B<proc>(5), B<numa>(7), B<migratepages>"
5453 "(8), B<numactl>(8)"
5454 msgstr ""
5455 "B<taskset>(1), B<get_mempolicy>(2), B<getcpu>(2), B<mbind>(2), "
5456 "B<sched_getaffinity>(2), B<sched_setaffinity>(2), B<sched_setscheduler>(2), "
5457 "B<set_mempolicy>(2), B<CPU_SET>(3), B<proc>(5), B<numa>(7), B<migratepages>"
5458 "(8), B<numactl>(8)"
5459
5460 #. type: Plain text
5461 #: build/C/man7/cpuset.7:1505
5462 #, fuzzy
5463 #| msgid "Documentation/block/ioprio.txt in the kernel source tree."
5464 msgid "I<Documentation/cpusets.txt> in the Linux kernel source tree"
5465 msgstr "カーネルソース内の Documentation/block/ioprio.txt"
5466
5467 #. type: TH
5468 #: build/C/man7/credentials.7:27
5469 #, no-wrap
5470 msgid "CREDENTIALS"
5471 msgstr "CREDENTIALS"
5472
5473 #. type: TH
5474 #: build/C/man7/credentials.7:27
5475 #, no-wrap
5476 msgid "2008-06-03"
5477 msgstr "2008-06-03"
5478
5479 #. type: Plain text
5480 #: build/C/man7/credentials.7:30
5481 msgid "credentials - process identifiers"
5482 msgstr "credentials - 認証に用いられるプロセスの識別子"
5483
5484 #. type: SS
5485 #: build/C/man7/credentials.7:31
5486 #, no-wrap
5487 msgid "Process ID (PID)"
5488 msgstr "プロセスID (PID)"
5489
5490 #. type: Plain text
5491 #: build/C/man7/credentials.7:41
5492 msgid ""
5493 "Each process has a unique nonnegative integer identifier that is assigned "
5494 "when the process is created using B<fork>(2).  A process can obtain its PID "
5495 "using B<getpid>(2).  A PID is represented using the type I<pid_t> (defined "
5496 "in I<E<lt>sys/types.hE<gt>>)."
5497 msgstr ""
5498 "各プロセスは、負でない整数の一意な識別子を持つ。 この識別子は B<fork>(2)  を"
5499 "使ってプロセスが生成される際に割り当てられる。 プロセスは B<getpid>(2)  を"
5500 "使って自分の PID を取得できる。 PID は I<pid_t> 型で表現される (I<pid_t> は "
5501 "I<E<lt>sys/types.hE<gt>> で定義されている)。"
5502
5503 #.  .BR sched_rr_get_interval (2),
5504 #.  .BR sched_getaffinity (2),
5505 #.  .BR sched_setaffinity (2),
5506 #.  .BR sched_getparam (2),
5507 #.  .BR sched_setparam (2),
5508 #.  .BR sched_setscheduler (2),
5509 #.  .BR sched_getscheduler (2),
5510 #.  .BR getsid (2),
5511 #.  .BR waitid (2),
5512 #.  .BR wait4 (2),
5513 #. type: Plain text
5514 #: build/C/man7/credentials.7:62
5515 msgid ""
5516 "PIDs are used in a range of system calls to identify the process affected by "
5517 "the call, for example: B<kill>(2), B<ptrace>(2), B<setpriority>(2)  "
5518 "B<setpgid>(2), B<setsid>(2), B<sigqueue>(3), and B<waitpid>(2)."
5519 msgstr ""
5520 "PID は各種のシステムコールでそのシステムコールが作用するプロセスを 特定するた"
5521 "めに使用される。以下に例を挙げる: B<kill>(2), B<ptrace>(2), B<setpriority>"
5522 "(2), B<setpgid>(2), B<setsid>(2), B<sigqueue>(3), B<waitpid>(2)."
5523
5524 #. type: Plain text
5525 #: build/C/man7/credentials.7:65
5526 msgid "A process's PID is preserved across an B<execve>(2)."
5527 msgstr "プロセスの PID は B<execve>(2)  の前後で不変である。"
5528
5529 #. type: SS
5530 #: build/C/man7/credentials.7:65
5531 #, fuzzy, no-wrap
5532 #| msgid "Parent Process ID (PPID)"
5533 msgid "Parent process ID (PPID)"
5534 msgstr "親プロセス ID (PPID)"
5535
5536 #. type: Plain text
5537 #: build/C/man7/credentials.7:73
5538 msgid ""
5539 "A process's parent process ID identifies the process that created this "
5540 "process using B<fork>(2).  A process can obtain its PPID using B<getppid>"
5541 "(2).  A PPID is represented using the type I<pid_t>."
5542 msgstr ""
5543 "プロセスの親プロセスの ID は、 B<fork>(2)  を使ってそのプロセスを生成したプロ"
5544 "セスを示す。 プロセスは B<getppid>(2)  を使って自分の PPID を取得できる。 "
5545 "PPID は I<pid_t> 型で表現される。"
5546
5547 #. type: Plain text
5548 #: build/C/man7/credentials.7:76
5549 msgid "A process's PPID is preserved across an B<execve>(2)."
5550 msgstr "プロセスの PPID は B<execve>(2)  の前後で不変である。"
5551
5552 #. type: SS
5553 #: build/C/man7/credentials.7:76
5554 #, fuzzy, no-wrap
5555 #| msgid "Process Group ID and Session ID"
5556 msgid "Process group ID and session ID"
5557 msgstr "プロセスグループ ID とセッション ID"
5558
5559 #. type: Plain text
5560 #: build/C/man7/credentials.7:84
5561 msgid ""
5562 "Each process has a session ID and a process group ID, both represented using "
5563 "the type I<pid_t>.  A process can obtain its session ID using B<getsid>(2), "
5564 "and its process group ID using B<getpgrp>(2)."
5565 msgstr ""
5566 "各プロセスはセッション ID とプロセスグループ ID を持つ。 これらの ID はどちら"
5567 "も I<pid_t> 型で表現される。 プロセスは、それぞれ B<getsid>(2), B<getpgrp>"
5568 "(2)  を使って自分のセッション ID、プロセスグループ ID を取得できる。"
5569
5570 #. type: Plain text
5571 #: build/C/man7/credentials.7:90
5572 msgid ""
5573 "A child created by B<fork>(2)  inherits its parent's session ID and process "
5574 "group ID.  A process's session ID and process group ID are preserved across "
5575 "an B<execve>(2)."
5576 msgstr ""
5577 "B<fork>(2)  で生成された子プロセスは親プロセスのセッション ID とプロセスグ"
5578 "ループ ID を継承する。プロセスのセッション ID とプロセスグループ ID は "
5579 "B<execve>(2)  の前後で不変である。"
5580
5581 #. type: Plain text
5582 #: build/C/man7/credentials.7:103
5583 msgid ""
5584 "Sessions and process groups are abstractions devised to support shell job "
5585 "control.  A process group (sometimes called a \"job\") is a collection of "
5586 "processes that share the same process group ID; the shell creates a new "
5587 "process group for the process(es) used to execute single command or pipeline "
5588 "(e.g., the two processes created to execute the command \"ls\\ |\\ wc\" are "
5589 "placed in the same process group).  A process's group membership can be set "
5590 "using B<setpgid>(2).  The process whose process ID is the same as its "
5591 "process group ID is the I<process group leader> for that group."
5592 msgstr ""
5593 "セッションとプロセスグループの概念は、シェルのジョブ制御を行うために 考案され"
5594 "たものである。 プロセスグループ (時には「ジョブ」と呼ばれることもある) は、 "
5595 "同じプロセスグループ ID を共有するプロセスの集まりである。 シェルは、一つのコ"
5596 "マンドもしくはパイプラインの実行に使われるプロセス群に 対して一つのプロセスグ"
5597 "ループを生成する (例えば、コマンド \"ls\\ |\\ wc\" を実行するために生成される"
5598 "二つのプロセスは 同じプロセスグループに置かれる)。 所属するプロセスグループ"
5599 "は B<setpgid>(2)  を使って設定できる。 自身のプロセス ID がプロセスグループ "
5600 "ID と同じプロセスは、 そのグループの「プロセスグループ・リーダー」である。"
5601
5602 #. type: Plain text
5603 #: build/C/man7/credentials.7:115
5604 msgid ""
5605 "A session is a collection of processes that share the same session ID.  All "
5606 "of the members of a process group also have the same session ID (i.e., all "
5607 "of the members of a process group always belong to the same session, so that "
5608 "sessions and process groups form a strict two-level hierarchy of "
5609 "processes.)  A new session is created when a process calls B<setsid>(2), "
5610 "which creates a new session whose session ID is the same as the PID of the "
5611 "process that called B<setsid>(2).  The creator of the session is called the "
5612 "I<session leader>."
5613 msgstr ""
5614 "セッションは、同じセッション ID を共有するプロセスの集まりである。 ある一つの"
5615 "プロセスグループの全メンバーは同じセッション ID を持つ (つまり、一つのプロセ"
5616 "スグループのメンバーは全て同じセッションに所属し、 これにより、セッションとプ"
5617 "ロセスグループで二階層のプロセス階層が形成できる)。 新たなセッションの生成は"
5618 "プロセスが B<setsid>(2)  を呼び出すことで行う。 B<setsid>(2)  は、 B<setsid>"
5619 "(2)  を呼び出したプロセスの PID と同じ値のセッション ID を持つ 新たなセッショ"
5620 "ンを生成する。 セッションの生成者は「セッション・リーダー」と呼ばれる。"
5621
5622 #. type: SS
5623 #: build/C/man7/credentials.7:115
5624 #, fuzzy, no-wrap
5625 #| msgid "User and Group Identifiers"
5626 msgid "User and group identifiers"
5627 msgstr "ユーザ ID とグループ ID"
5628
5629 #. type: Plain text
5630 #: build/C/man7/credentials.7:123
5631 msgid ""
5632 "Each process has various associated user and groups IDs.  These IDs are "
5633 "integers, respectively represented using the types I<uid_t> and I<gid_t> "
5634 "(defined in I<E<lt>sys/types.hE<gt>>)."
5635 msgstr ""
5636 "各プロセスは、数種類のユーザ ID とグループ ID を持つ。 ユーザ ID、グループ "
5637 "ID は整数で、それぞれ I<uid_t>, I<gid_t> 型で表現される (これらは I<E<lt>sys/"
5638 "types.hE<gt>> で定義されている)。"
5639
5640 #. type: Plain text
5641 #: build/C/man7/credentials.7:125
5642 msgid "On Linux, each process has the following user and group identifiers:"
5643 msgstr ""
5644 "Linux では、各プロセスは以下のような種類のユーザ ID とグループ ID を持つ。"
5645
5646 #. type: Plain text
5647 #: build/C/man7/credentials.7:131
5648 msgid ""
5649 "Real user ID and real group ID.  These IDs determine who owns the process.  "
5650 "A process can obtain its real user (group) ID using B<getuid>(2)  (B<getgid>"
5651 "(2))."
5652 msgstr ""
5653 "実ユーザ ID と実グループ ID。 これらの ID によりプロセスの所有者が決定され"
5654 "る。 プロセスが自分の実ユーザ ID、実グループ ID を取得するには、それぞれ "
5655 "B<getuid>(2), B<getgid>(2)  を使用する。"
5656
5657 #. type: Plain text
5658 #: build/C/man7/credentials.7:143
5659 msgid ""
5660 "Effective user ID and effective group ID.  These IDs are used by the kernel "
5661 "to determine the permissions that the process will have when accessing "
5662 "shared resources such as message queues, shared memory, and semaphores.  On "
5663 "most UNIX systems, these IDs also determine the permissions when accessing "
5664 "files.  However, Linux uses the file system IDs described below for this "
5665 "task.  A process can obtain its effective user (group) ID using B<geteuid>"
5666 "(2)  (B<getegid>(2))."
5667 msgstr ""
5668 "実効ユーザ ID と実効グループ ID。 これらの ID は、メッセージキュー、共有メモ"
5669 "リ、セマフォなどの 共有リソースにアクセスしようとした際にそのプロセスがアクセ"
5670 "ス許可を 持っているかをカーネルが判定するのに使用される。 ほとんどの UNIX シ"
5671 "ステムでは、これらの ID はファイルへのアクセス時の アクセス許可の判定にも使用"
5672 "される。 しかしながら、Linux ではファイルへのアクセス許可の判定には 後述の"
5673 "ファイルシステム ID が使用される。 プロセスが自分の実効ユーザ ID、実効グルー"
5674 "プ ID を取得するには、それぞれ B<geteuid>(2), B<getegid>(2)  を使用する。"
5675
5676 #. type: Plain text
5677 #: build/C/man7/credentials.7:165
5678 msgid ""
5679 "Saved set-user-ID and saved set-group-ID.  These IDs are used in set-user-ID "
5680 "and set-group-ID programs to save a copy of the corresponding effective IDs "
5681 "that were set when the program was executed (see B<execve>(2)).  A set-user-"
5682 "ID program can assume and drop privileges by switching its effective user ID "
5683 "back and forth between the values in its real user ID and saved set-user-"
5684 "ID.  This switching is done via calls to B<seteuid>(2), B<setreuid>(2), or "
5685 "B<setresuid>(2).  A set-group-ID program performs the analogous tasks using "
5686 "B<setegid>(2), B<setregid>(2), or B<setresgid>(2).  A process can obtain its "
5687 "saved set-user-ID (set-group-ID) using B<getresuid>(2)  (B<getresgid>(2))."
5688 msgstr ""
5689 "保存 (saved) set-user-ID と保存 set-group-ID。 これらの ID は、set-user-ID "
5690 "や set-group-ID されたプログラムにおいて、 プログラムの実行時に設定された実"
5691 "効 ID のコピーを保存するために 使用される (B<execve>(2)  参照)。 set-user-ID "
5692 "プログラムは、実効ユーザ ID を実ユーザID と保存 set-user-ID の間で行ったり来"
5693 "たり切り替えることで、特権を得たり落としたりできる。 この切り替えは "
5694 "B<seteuid>(2), B<setreuid>(2), B<setresuid>(2)  を呼び出すことで実行できる。 "
5695 "set-group-ID プログラムは、 B<setegid>(2), B<setregid>(2), B<setresgid>(2)  "
5696 "を使って同様のことができる。 プロセスが自分の保存 set-user-ID、保存 set-"
5697 "group-ID を取得するには、 B<getresuid(2),> B<getresgids>(2)  をそれぞれ使用す"
5698 "る。"
5699
5700 #. type: Plain text
5701 #: build/C/man7/credentials.7:182
5702 msgid ""
5703 "File system user ID and file system group ID (Linux-specific).  These IDs, "
5704 "in conjunction with the supplementary group IDs described below, are used to "
5705 "determine permissions for accessing files; see B<path_resolution>(7)  for "
5706 "details.  Whenever a process's effective user (group) ID is changed, the "
5707 "kernel also automatically changes the file system user (group) ID to the "
5708 "same value.  Consequently, the file system IDs normally have the same values "
5709 "as the corresponding effective ID, and the semantics for file-permission "
5710 "checks are thus the same on Linux as on other UNIX systems.  The file system "
5711 "IDs can be made to differ from the effective IDs by calling B<setfsuid>(2)  "
5712 "and B<setfsgid>(2)."
5713 msgstr ""
5714 "ファイルシステム・ユーザ ID とファイルシステム・グループ ID (Linux 固有)。 こ"
5715 "れらの ID は、後述の補助グループ ID と組み合わせて使用され、 ファイルへのアク"
5716 "セス権の決定に利用される。詳細は B<path_resolution>(7)  を参照。 プロセスの実"
5717 "効 ID (ユーザ ID や グループ ID) が変更されるたびに、 カーネルは自動的に対応"
5718 "するファイルシステム ID を同じ値に変更する。 その結果、ファイルシステム ID は"
5719 "通常は対応する実効 ID と同じ値となり、 ファイルのアクセス権のチェック方法は "
5720 "Linux と他の UNIX システムで同じである。 ファイルシステム ID は実効 ID とは異"
5721 "なる値にすることができ、 変更は B<setfsuid>(2)  と B<setfsgid>(2)  を呼び出し"
5722 "て行う。"
5723
5724 #.  Since kernel 2.6.4, the limit is visible via the read-only file
5725 #.  /proc/sys/kernel/ngroups_max.
5726 #.  As at 2.6.22-rc2, this file is still read-only.
5727 #. type: Plain text
5728 #: build/C/man7/credentials.7:201
5729 msgid ""
5730 "Supplementary group IDs.  This is a set of additional group IDs that are "
5731 "used for permission checks when accessing files and other shared resources.  "
5732 "On Linux kernels before 2.6.4, a process can be a member of up to 32 "
5733 "supplementary groups; since kernel 2.6.4, a process can be a member of up to "
5734 "65536 supplementary groups.  The call I<sysconf(_SC_NGROUPS_MAX)> can be "
5735 "used to determine the number of supplementary groups of which a process may "
5736 "be a member.  A process can obtain its set of supplementary group IDs using "
5737 "B<getgroups>(2), and can modify the set using B<setgroups>(2)."
5738 msgstr ""
5739 "補助グループ ID。 この ID は、ファイルや他の共有リソースへのアクセス時にアク"
5740 "セス許可の チェックに使用される、追加のグループ ID の集合である。 カーネル "
5741 "2.6.4 より前の Linux では、一つのプロセスあたりの 補助グループのメンバー数は"
5742 "最大で 32 である。 カーネル 2.6.4 以降では、一つのプロセスあたりの 補助グルー"
5743 "プのメンバー数は最大で 65536 である。 I<sysconf(_SC_NGROUPS_MAX)> を呼び出す"
5744 "ことで、あるプロセスがメンバーとなることができる可能性のある 補助グループ数を"
5745 "知ることができる。 プロセスは、自分の補助グループ ID の集合を B<getgroups>"
5746 "(2)  で取得でき、 B<setgroups>(2)  で集合を変更できる。"
5747
5748 #. type: Plain text
5749 #: build/C/man7/credentials.7:211
5750 msgid ""
5751 "A child process created by B<fork>(2)  inherits copies of its parent's user "
5752 "and groups IDs.  During an B<execve>(2), a process's real user and group ID "
5753 "and supplementary group IDs are preserved; the effective and saved set IDs "
5754 "may be changed, as described in B<execve>(2)."
5755 msgstr ""
5756 "B<fork>(2)  で生成された子プロセスは親プロセスのユーザ ID とグループ ID を継"
5757 "承する。 B<execve>(2)  の間、プロセスの実ユーザ/グループ ID と補助グループ "
5758 "ID 集合は不変である。 実効 ID と保存セット ID は変更される可能性がある "
5759 "(B<execve>(2)  で説明されている)。"
5760
5761 #. type: Plain text
5762 #: build/C/man7/credentials.7:214
5763 msgid ""
5764 "Aside from the purposes noted above, a process's user IDs are also employed "
5765 "in a number of other contexts:"
5766 msgstr "上記の目的以外にも、プロセスのユーザ ID は他の様々な場面で利用される。"
5767
5768 #. type: Plain text
5769 #: build/C/man7/credentials.7:217
5770 msgid ""
5771 "when determining the permissions for sending signals\\(emsee B<kill>(2);"
5772 msgstr "シグナルを送る許可の判定時\\(em B<kill>(2)  参照。"
5773
5774 #. type: Plain text
5775 #: build/C/man7/credentials.7:227
5776 msgid ""
5777 "when determining the permissions for setting process-scheduling parameters "
5778 "(nice value, real time scheduling policy and priority, CPU affinity, I/O "
5779 "priority) using B<setpriority>(2), B<sched_setaffinity>(2), "
5780 "B<sched_setscheduler>(2), B<sched_setparam>(2), and B<ioprio_set>(2);"
5781 msgstr ""
5782 "プロセスのスケジューリング関連のパラメータ (nice 値、 リアルタイム・スケ"
5783 "ジューリングポリシーや優先度、CPU affinity、 入出力優先度) の設定許可の判定"
5784 "時。 スケジューリング関連のパラメータ設定には B<setpriority>(2), "
5785 "B<sched_setaffinity>(2), B<sched_setscheduler>(2), B<sched_setparam>(2), "
5786 "B<ioprio_set>(2)  が使用される。"
5787
5788 #. type: Plain text
5789 #: build/C/man7/credentials.7:230
5790 msgid "when checking resource limits; see B<getrlimit>(2);"
5791 msgstr "リソース上限のチェック時。 B<getrlimit>(2)  参照。"
5792
5793 #. type: Plain text
5794 #: build/C/man7/credentials.7:234
5795 msgid ""
5796 "when checking the limit on the number of inotify instances that the process "
5797 "may create; see B<inotify>(7)."
5798 msgstr ""
5799 "プロセスが生成できる inotify インスタンス数の上限のチェック時。 B<inotify>"
5800 "(7)  参照。"
5801
5802 #. type: Plain text
5803 #: build/C/man7/credentials.7:240
5804 msgid ""
5805 "Process IDs, parent process IDs, process group IDs, and session IDs are "
5806 "specified in POSIX.1-2001.  The real, effective, and saved set user and "
5807 "groups IDs, and the supplementary group IDs, are specified in POSIX.1-2001.  "
5808 "The file system user and group IDs are a Linux extension."
5809 msgstr ""
5810 "プロセス ID、親プロセス ID、プロセスグループ ID、セッション ID は "
5811 "POSIX.1-2001 で規定されている。 実 ID、実効 ID、保存セット ID のユーザ ID / "
5812 "グループ ID および 補助グループ ID は POSIX.1-2001 で規定されている。 ファイ"
5813 "ルシステム・ユーザ ID / グループ ID は Linux による拡張である。"
5814
5815 #. type: Plain text
5816 #: build/C/man7/credentials.7:251
5817 msgid ""
5818 "The POSIX threads specification requires that credentials are shared by all "
5819 "of the threads in a process.  However, at the kernel level, Linux maintains "
5820 "separate user and group credentials for each thread.  The NPTL threading "
5821 "implementation does some work to ensure that any change to user or group "
5822 "credentials (e.g., calls to B<setuid>(2), B<setresuid>(2))  is carried "
5823 "through to all of the POSIX threads in a process."
5824 msgstr ""
5825 "POSIX のスレッド仕様では、これらの識別子がプロセス内の全スレッドで 共有される"
5826 "ことを求めている。 しかしながら、カーネルのレベルでは、Linux はスレッド毎に"
5827 "別々の ユーザとグループに関する識別子を管理している。 NPTL スレッド実装が、"
5828 "(例えば B<setuid>(2), B<setresuid>(2)  などの呼び出しによる) ユーザやグループ"
5829 "に関する識別子に対する変更が プロセス内の全ての POSIX スレッドに対して反映さ"
5830 "れることを保証する ための処理を行っている。"
5831
5832 #. type: Plain text
5833 #: build/C/man7/credentials.7:282
5834 msgid ""
5835 "B<bash>(1), B<csh>(1), B<ps>(1), B<access>(2), B<execve>(2), B<faccessat>"
5836 "(2), B<fork>(2), B<getpgrp>(2), B<getpid>(2), B<getppid>(2), B<getsid>(2), "
5837 "B<kill>(2), B<killpg>(2), B<setegid>(2), B<seteuid>(2), B<setfsgid>(2), "
5838 "B<setfsuid>(2), B<setgid>(2), B<setgroups>(2), B<setresgid>(2), B<setresuid>"
5839 "(2), B<setuid>(2), B<waitpid>(2), B<euidaccess>(3), B<initgroups>(3), "
5840 "B<tcgetpgrp>(3), B<tcsetpgrp>(3), B<capabilities>(7), B<path_resolution>(7), "
5841 "B<unix>(7)"
5842 msgstr ""
5843 "B<bash>(1), B<csh>(1), B<ps>(1), B<access>(2), B<execve>(2), B<faccessat>"
5844 "(2), B<fork>(2), B<getpgrp>(2), B<getpid>(2), B<getppid>(2), B<getsid>(2), "
5845 "B<kill>(2), B<killpg>(2), B<setegid>(2), B<seteuid>(2), B<setfsgid>(2), "
5846 "B<setfsuid>(2), B<setgid>(2), B<setgroups>(2), B<setresgid>(2), B<setresuid>"
5847 "(2), B<setuid>(2), B<waitpid>(2), B<euidaccess>(3), B<initgroups>(3), "
5848 "B<tcgetpgrp>(3), B<tcsetpgrp>(3), B<capabilities>(7), B<path_resolution>(7), "
5849 "B<unix>(7)"
5850
5851 #. type: TH
5852 #: build/C/man2/getgid.2:25
5853 #, no-wrap
5854 msgid "GETGID"
5855 msgstr "GETGID"
5856
5857 #. type: TH
5858 #: build/C/man2/getgid.2:25 build/C/man2/getgroups.2:31
5859 #: build/C/man2/getresuid.2:28 build/C/man2/getuid.2:26
5860 #: build/C/man2/setfsgid.2:31 build/C/man2/setfsuid.2:31
5861 #: build/C/man2/setgid.2:29 build/C/man2/setresuid.2:26
5862 #: build/C/man2/setreuid.2:45 build/C/man2/setuid.2:30
5863 #, no-wrap
5864 msgid "2010-11-22"
5865 msgstr "2010-11-22"
5866
5867 #. type: Plain text
5868 #: build/C/man2/getgid.2:28
5869 msgid "getgid, getegid - get group identity"
5870 msgstr "getgid, getegid - グループ ID を得る"
5871
5872 #. type: Plain text
5873 #: build/C/man2/getgid.2:30 build/C/man2/getgroups.2:38
5874 #: build/C/man2/getpid.2:32 build/C/man2/getresuid.2:35
5875 #: build/C/man2/getsid.2:31 build/C/man2/getuid.2:31 build/C/man2/seteuid.2:36
5876 #: build/C/man2/setgid.2:36 build/C/man2/setpgid.2:53
5877 #: build/C/man2/setresuid.2:33 build/C/man2/setreuid.2:52
5878 #: build/C/man2/setsid.2:36 build/C/man2/setuid.2:37
5879 msgid "B<#include E<lt>unistd.hE<gt>>"
5880 msgstr "B<#include E<lt>unistd.hE<gt>>"
5881
5882 #. type: Plain text
5883 #: build/C/man2/getgid.2:32 build/C/man2/getgroups.2:36
5884 #: build/C/man2/getpid.2:30 build/C/man2/getuid.2:33 build/C/man2/seteuid.2:34
5885 #: build/C/man2/setgid.2:34 build/C/man2/setreuid.2:50
5886 #: build/C/man2/setuid.2:35
5887 msgid "B<#include E<lt>sys/types.hE<gt>>"
5888 msgstr "B<#include E<lt>sys/types.hE<gt>>"
5889
5890 #. type: Plain text
5891 #: build/C/man2/getgid.2:34
5892 msgid "B<gid_t getgid(void);>"
5893 msgstr "B<gid_t getgid(void);>"
5894
5895 #. type: Plain text
5896 #: build/C/man2/getgid.2:36
5897 msgid "B<gid_t getegid(void);>"
5898 msgstr "B<gid_t getegid(void);>"
5899
5900 #. type: Plain text
5901 #: build/C/man2/getgid.2:39
5902 msgid "B<getgid>()  returns the real group ID of the calling process."
5903 msgstr "B<getgid>()  は呼び出し元のプロセスの実グループ ID を返す。"
5904
5905 #. type: Plain text
5906 #: build/C/man2/getgid.2:42
5907 msgid "B<getegid>()  returns the effective group ID of the calling process."
5908 msgstr "B<getegid>()  は呼び出し元のプロセスの実効グループ ID を返す。"
5909
5910 #. type: Plain text
5911 #: build/C/man2/getgid.2:44 build/C/man2/getpid.2:46 build/C/man2/getuid.2:45
5912 msgid "These functions are always successful."
5913 msgstr "これらの関数は常に成功する。"
5914
5915 #. type: Plain text
5916 #: build/C/man2/getgid.2:46 build/C/man2/getuid.2:47
5917 msgid "POSIX.1-2001, 4.3BSD."
5918 msgstr "POSIX.1-2001, 4.3BSD."
5919
5920 #. type: Plain text
5921 #: build/C/man2/getgid.2:62
5922 msgid ""
5923 "The original Linux B<getgid>()  and B<getegid>()  system calls supported "
5924 "only 16-bit group IDs.  Subsequently, Linux 2.4 added B<getgid32>()  and "
5925 "B<getegid32>(), supporting 32-bit IDs.  The glibc B<getgid>()  and B<getegid>"
5926 "()  wrapper functions transparently deal with the variations across kernel "
5927 "versions."
5928 msgstr ""
5929 "元々の Linux の B<getgid>() と B<getegid>() システムコールは\n"
5930 "16 ビットのグループ ID だけに対応していた。\n"
5931 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
5932 "B<getgid32>() と B<getegid32>() が追加された。\n"
5933 "glibc の B<getgid>() と B<getegid>() のラッパー関数は\n"
5934 "カーネルバージョンによるこの違いを吸収している。"
5935
5936 #. type: Plain text
5937 #: build/C/man2/getgid.2:67
5938 msgid "B<getresgid>(2), B<setgid>(2), B<setregid>(2), B<credentials>(7)"
5939 msgstr "B<getresgid>(2), B<setgid>(2), B<setregid>(2), B<credentials>(7)"
5940
5941 #. type: TH
5942 #: build/C/man2/getgroups.2:31
5943 #, no-wrap
5944 msgid "GETGROUPS"
5945 msgstr "GETGROUPS"
5946
5947 #. type: Plain text
5948 #: build/C/man2/getgroups.2:34
5949 msgid "getgroups, setgroups - get/set list of supplementary group IDs"
5950 msgstr "getgroups, setgroups - 補助グループ ID のリストを取得/設定する"
5951
5952 #. type: Plain text
5953 #: build/C/man2/getgroups.2:40
5954 msgid "B<int getgroups(int >I<size>B<, gid_t >I<list>B<[]);>"
5955 msgstr "B<int getgroups(int >I<size>B<, gid_t >I<list>B<[]);>"
5956
5957 #. type: Plain text
5958 #: build/C/man2/getgroups.2:42
5959 msgid "B<#include E<lt>grp.hE<gt>>"
5960 msgstr "B<#include E<lt>grp.hE<gt>>"
5961
5962 #. type: Plain text
5963 #: build/C/man2/getgroups.2:44
5964 msgid "B<int setgroups(size_t >I<size>B<, const gid_t *>I<list>B<);>"
5965 msgstr "B<int setgroups(size_t >I<size>B<, const gid_t *>I<list>B<);>"
5966
5967 #. type: Plain text
5968 #: build/C/man2/getgroups.2:52
5969 msgid "B<setgroups>(): _BSD_SOURCE"
5970 msgstr "B<setgroups>(): _BSD_SOURCE"
5971
5972 #. type: Plain text
5973 #: build/C/man2/getgroups.2:70
5974 msgid ""
5975 "B<getgroups>()  returns the supplementary group IDs of the calling process "
5976 "in I<list>.  The argument I<size> should be set to the maximum number of "
5977 "items that can be stored in the buffer pointed to by I<list>.  If the "
5978 "calling process is a member of more than I<size> supplementary groups, then "
5979 "an error results.  It is unspecified whether the effective group ID of the "
5980 "calling process is included in the returned list.  (Thus, an application "
5981 "should also call B<getegid>(2)  and add or remove the resulting value.)"
5982 msgstr ""
5983 "B<getgroups>()  は呼び出し元プロセスの補助グループ (supplementary group) ID "
5984 "を I<list> に返す。 I<size> 引き数には、 I<list> により参照されるバッファに格"
5985 "納できる要素の最大数を設定すべきである。 呼び出し元プロセスが I<size> 個より"
5986 "多くの補助グループのメンバの場合には、エラーとなる。 この関数を呼び出したプロ"
5987 "セスの実効グループ ID が、 返されるリストに含まれるかどうかは規定されていな"
5988 "い (したがって、アプリケーションは B<getegid>(2)  を呼び出し、その結果の値を"
5989 "追加・削除すべきである)。"
5990
5991 #. type: Plain text
5992 #: build/C/man2/getgroups.2:81
5993 msgid ""
5994 "If I<size> is zero, I<list> is not modified, but the total number of "
5995 "supplementary group IDs for the process is returned.  This allows the caller "
5996 "to determine the size of a dynamically allocated I<list> to be used in a "
5997 "further call to B<getgroups>()."
5998 msgstr ""
5999 "I<size> が 0 ならば、 I<list> は修正されないが、そのプロセスの補助グループ "
6000 "ID の合計数が返される。 これを使うことで、それ以降の B<getgroups>()  の呼び出"
6001 "しで必要となる動的割り当てバッファ I<list> のサイズを、呼び出し元が決定するこ"
6002 "とができる。"
6003
6004 #. type: Plain text
6005 #: build/C/man2/getgroups.2:92
6006 msgid ""
6007 "B<setgroups>()  sets the supplementary group IDs for the calling process.  "
6008 "Appropriate privileges (Linux: the B<CAP_SETGID> capability) are required.  "
6009 "The I<size> argument specifies the number of supplementary group IDs in the "
6010 "buffer pointed to by I<list>."
6011 msgstr ""
6012 "B<setgroups>()  は、呼び出し元プロセスの補助グループ ID を設定する。 適切な特"
6013 "権 (Linux では B<CAP_SETGID> ケーパビリティ (capability)) が必要である。 "
6014 "I<size> 引き数には、 I<list> により参照されるバッファに格納された補助グルー"
6015 "プ ID の数を指定する。"
6016
6017 #. type: Plain text
6018 #: build/C/man2/getgroups.2:99
6019 msgid ""
6020 "On success, B<getgroups>()  returns the number of supplementary group IDs.  "
6021 "On error, -1 is returned, and I<errno> is set appropriately."
6022 msgstr ""
6023 "B<getgroups>()  は、成功すると補助グループ ID の数を返す。 エラーの場合 -1 を"
6024 "返し、 I<errno> を適切に設定する。"
6025
6026 #. type: Plain text
6027 #: build/C/man2/getgroups.2:106
6028 msgid ""
6029 "On success, B<setgroups>()  returns 0.  On error, -1 is returned, and "
6030 "I<errno> is set appropriately."
6031 msgstr ""
6032 "B<setgroups>()  は、成功すると 0 を返す。 エラーの場合 -1 を返し、 I<errno> "
6033 "を適切に設定する。"
6034
6035 #. type: Plain text
6036 #: build/C/man2/getgroups.2:111
6037 msgid "I<list> has an invalid address."
6038 msgstr "I<list> が不正なアドレスである。"
6039
6040 #. type: Plain text
6041 #: build/C/man2/getgroups.2:114
6042 msgid "B<getgroups>()  can additionally fail with the following error:"
6043 msgstr "B<getgroups>()  は、上記に加えて以下のエラーで失敗する可能性がある。"
6044
6045 #. type: Plain text
6046 #: build/C/man2/getgroups.2:118
6047 msgid ""
6048 "I<size> is less than the number of supplementary group IDs, but is not zero."
6049 msgstr "I<size> が補助グループ ID の数より小さいが 0 でない。"
6050
6051 #. type: Plain text
6052 #: build/C/man2/getgroups.2:121
6053 msgid "B<setgroups>()  can additionally fail with the following errors:"
6054 msgstr "B<setgroups>()  は、上記に加えて以下のエラーで失敗する可能性がある。"
6055
6056 #. type: Plain text
6057 #: build/C/man2/getgroups.2:127
6058 msgid ""
6059 "I<size> is greater than B<NGROUPS_MAX> (32 before Linux 2.6.4; 65536 since "
6060 "Linux 2.6.4)."
6061 msgstr ""
6062 "I<size> が B<NGROUPS_MAX> より大きい (B<NGROUPS_MAX> は Linux 2.6.4 より前で"
6063 "は 32、Linux 2.6.4 以降では 65536)。"
6064
6065 #. type: Plain text
6066 #: build/C/man2/getgroups.2:133
6067 msgid "The calling process has insufficient privilege."
6068 msgstr "呼び出し元プロセスが十分な特権を持っていない。"
6069
6070 #. type: Plain text
6071 #: build/C/man2/getgroups.2:141
6072 msgid ""
6073 "SVr4, 4.3BSD.  The B<getgroups>()  function is in POSIX.1-2001.  Since "
6074 "B<setgroups>()  requires privilege, it is not covered by POSIX.1-2001."
6075 msgstr ""
6076 "SVr4, 4.3BSD.  B<getgroups>()  関数は POSIX.1-2001 に準拠している。 "
6077 "B<setgroups>()  は特権を必要とするため、POSIX.1-2001 に従っていない。"
6078
6079 #. type: Plain text
6080 #: build/C/man2/getgroups.2:149
6081 msgid ""
6082 "A process can have up to B<NGROUPS_MAX> supplementary group IDs in addition "
6083 "to the effective group ID.  The set of supplementary group IDs is inherited "
6084 "from the parent process, and preserved across an B<execve>(2)."
6085 msgstr ""
6086 "プロセスは、実効グループ ID に加え、最大 B<NGROUPS_MAX> までの補助グループ "
6087 "ID を持つことができる。 補助グループ ID の集合は親プロセスから継承され、 "
6088 "B<execve>(2)  の前後で保持される。"
6089
6090 #. type: Plain text
6091 #: build/C/man2/getgroups.2:152
6092 msgid ""
6093 "The maximum number of supplementary group IDs can be found using B<sysconf>"
6094 "(3):"
6095 msgstr ""
6096 "補助グループ ID の最大数は B<sysconf>(3)  を使って以下のようにして調べること"
6097 "ができる:"
6098
6099 #. type: Plain text
6100 #: build/C/man2/getgroups.2:156
6101 #, no-wrap
6102 msgid ""
6103 "    long ngroups_max;\n"
6104 "    ngroups_max = sysconf(_SC_NGROUPS_MAX);\n"
6105 msgstr ""
6106 "    long ngroups_max;\n"
6107 "    ngroups_max = sysconf(_SC_NGROUPS_MAX);\n"
6108
6109 #. type: Plain text
6110 #: build/C/man2/getgroups.2:161
6111 msgid ""
6112 "The maximum return value of B<getgroups>()  cannot be larger than one more "
6113 "than this value."
6114 msgstr ""
6115 "B<getgroups>()  の返り値の最大値は、この値より 1 大きい値より大きくなることは"
6116 "ない。"
6117
6118 #. type: Plain text
6119 #: build/C/man2/getgroups.2:171
6120 msgid ""
6121 "The original Linux B<getgroups>()  system call supported only 16-bit group "
6122 "IDs.  Subsequently, Linux 2.4 added B<getgroups32>(), supporting 32-bit "
6123 "IDs.  The glibc B<getgroups>()  wrapper function transparently deals with "
6124 "the variation across kernel versions."
6125 msgstr ""
6126 "元々の Linux の B<getgroups>() システムコールは 16 ビットのグループ ID だけ\n"
6127 "に対応していた。その後、Linux 2.4 で、32 ビットの ID に対応した\n"
6128 "B<getgroups>() が追加された。glibc の B<getgroups> のラッパー関数はカーネル\n"
6129 "バージョンによるこの違いを吸収している。"
6130
6131 #. type: Plain text
6132 #: build/C/man2/getgroups.2:178
6133 msgid ""
6134 "B<getgid>(2), B<setgid>(2), B<getgrouplist>(3), B<initgroups>(3), "
6135 "B<capabilities>(7), B<credentials>(7)"
6136 msgstr ""
6137 "B<getgid>(2), B<setgid>(2), B<getgrouplist>(3), B<initgroups>(3), "
6138 "B<capabilities>(7), B<credentials>(7)"
6139
6140 #. type: TH
6141 #: build/C/man2/getpid.2:25
6142 #, no-wrap
6143 msgid "GETPID"
6144 msgstr "GETPID"
6145
6146 #. type: TH
6147 #: build/C/man2/getpid.2:25
6148 #, no-wrap
6149 msgid "2008-09-23"
6150 msgstr "2008-09-23"
6151
6152 #. type: Plain text
6153 #: build/C/man2/getpid.2:28
6154 msgid "getpid, getppid - get process identification"
6155 msgstr "getpid, getppid - プロセス ID を得る"
6156
6157 #. type: Plain text
6158 #: build/C/man2/getpid.2:34
6159 msgid "B<pid_t getpid(void);>"
6160 msgstr "B<pid_t getpid(void);>"
6161
6162 #. type: Plain text
6163 #: build/C/man2/getpid.2:36
6164 msgid "B<pid_t getppid(void);>"
6165 msgstr "B<pid_t getppid(void);>"
6166
6167 #. type: Plain text
6168 #: build/C/man2/getpid.2:41
6169 msgid ""
6170 "B<getpid>()  returns the process ID of the calling process.  (This is often "
6171 "used by routines that generate unique temporary filenames.)"
6172 msgstr ""
6173 "B<getpid>()  は呼び出し元のプロセスのプロセス ID を返す。(テンポラリ用のファ"
6174 "イル名として 他と重ならない名前を生成するルーチンでしばしば使用される。)"
6175
6176 #. type: Plain text
6177 #: build/C/man2/getpid.2:44
6178 msgid ""
6179 "B<getppid>()  returns the process ID of the parent of the calling process."
6180 msgstr "B<getppid>()  は呼び出し元のプロセスの親プロセスのプロセス ID を返す。"
6181
6182 #. type: Plain text
6183 #: build/C/man2/getpid.2:48
6184 msgid "POSIX.1-2001, 4.3BSD, SVr4."
6185 msgstr "POSIX.1-2001, 4.3BSD, SVr4."
6186
6187 #.  The following program demonstrates this "feature":
6188 #.  #define _GNU_SOURCE
6189 #.  #include <sys/syscall.h>
6190 #.  #include <sys/wait.h>
6191 #.  #include <stdio.h>
6192 #.  #include <stdlib.h>
6193 #.  #include <unistd.h>
6194 #.  int
6195 #.  main(int argc, char *argv[])
6196 #.  {
6197 #.     /* The following statement fills the getpid() cache */
6198 #.     printf("parent PID = %ld
6199 #. ", (long) getpid());
6200 #.     if (syscall(SYS_fork) == 0) {
6201 #.         if (getpid() != syscall(SYS_getpid))
6202 #.             printf("child getpid() mismatch: getpid()=%ld; "
6203 #.                     "syscall(SYS_getpid)=%ld
6204 #. ",
6205 #.                     (long) getpid(), (long) syscall(SYS_getpid));
6206 #.         exit(EXIT_SUCCESS);
6207 #.     }
6208 #.     wait(NULL);
6209 #. }
6210 #. type: Plain text
6211 #: build/C/man2/getpid.2:100
6212 msgid ""
6213 "Since glibc version 2.3.4, the glibc wrapper function for B<getpid>()  "
6214 "caches PIDs, so as to avoid additional system calls when a process calls "
6215 "B<getpid>()  repeatedly.  Normally this caching is invisible, but its "
6216 "correct operation relies on support in the wrapper functions for B<fork>(2), "
6217 "B<vfork>(2), and B<clone>(2): if an application bypasses the glibc wrappers "
6218 "for these system calls by using B<syscall>(2), then a call to B<getpid>()  "
6219 "in the child will return the wrong value (to be precise: it will return the "
6220 "PID of the parent process).  See also B<clone>(2)  for discussion of a case "
6221 "where B<getpid>()  may return the wrong value even when invoking B<clone>"
6222 "(2)  via the glibc wrapper function."
6223 msgstr ""
6224 "glibc バージョン 2.3.4 以降では、 glibc の B<getpid>()  のラッパー関数は PID "
6225 "をキャッシュする。 これは、プロセスが繰り返し B<getpid>()  を呼び出した場合に"
6226 "その都度システムコールを呼ぶのを避けるためである。 通常は、このキャッシュ処理"
6227 "が見えることはないが、 キャッシュ処理が正しく働くためには B<fork>(2), "
6228 "B<vfork>(2), B<clone>(2)  のラッパー関数でのサポートが必要である。 アプリケー"
6229 "ションがこれらのシステムコールを呼び出す際に、 glibc のラッパー関数を経由せず"
6230 "に B<syscall>(2)  を使った場合には、子プロセスで B<getpid>()  を呼び出すと間"
6231 "違った値が返ることだろう (正確にいうと、親プロセスの PID が返される)。 "
6232 "B<clone>(2)  を glibc のラッパー関数経由で起動した際にも B<getpid>()  が間"
6233 "違った値を返す場合があり、これに関する議論は B<clone>(2)  も参照してほしい。"
6234
6235 #. type: Plain text
6236 #: build/C/man2/getpid.2:110
6237 msgid ""
6238 "B<clone>(2), B<fork>(2), B<kill>(2), B<exec>(3), B<mkstemp>(3), B<tempnam>"
6239 "(3), B<tmpfile>(3), B<tmpnam>(3), B<credentials>(7)"
6240 msgstr ""
6241 "B<clone>(2), B<fork>(2), B<kill>(2), B<exec>(3), B<mkstemp>(3), B<tempnam>"
6242 "(3), B<tmpfile>(3), B<tmpnam>(3), B<credentials>(7)"
6243
6244 #. type: TH
6245 #: build/C/man2/getpriority.2:48
6246 #, no-wrap
6247 msgid "GETPRIORITY"
6248 msgstr "GETPRIORITY"
6249
6250 #. type: Plain text
6251 #: build/C/man2/getpriority.2:51
6252 msgid "getpriority, setpriority - get/set program scheduling priority"
6253 msgstr ""
6254 "getpriority, setpriority - プログラムのスケジューリングの優先度を取得/設定す"
6255 "る"
6256
6257 #. type: Plain text
6258 #: build/C/man2/getpriority.2:53 build/C/man2/getrlimit.2:69
6259 #: build/C/man2/getrusage.2:44
6260 msgid "B<#include E<lt>sys/time.hE<gt>>"
6261 msgstr "B<#include E<lt>sys/time.hE<gt>>"
6262
6263 #. type: Plain text
6264 #: build/C/man2/getpriority.2:55 build/C/man2/getrlimit.2:71
6265 #: build/C/man2/getrusage.2:46
6266 msgid "B<#include E<lt>sys/resource.hE<gt>>"
6267 msgstr "B<#include E<lt>sys/resource.hE<gt>>"
6268
6269 #. type: Plain text
6270 #: build/C/man2/getpriority.2:57
6271 msgid "B<int getpriority(int >I<which>B<, int >I<who>B<);>"
6272 msgstr "B<int getpriority(int >I<which>B<, int >I<who>B<);>"
6273
6274 #. type: Plain text
6275 #: build/C/man2/getpriority.2:59
6276 msgid "B<int setpriority(int >I<which>B<, int >I<who>B<, int >I<prio>B<);>"
6277 msgstr "B<int setpriority(int >I<which>B<, int >I<who>B<, int >I<prio>B<);>"
6278
6279 #. type: Plain text
6280 #: build/C/man2/getpriority.2:70
6281 msgid ""
6282 "The scheduling priority of the process, process group, or user, as indicated "
6283 "by I<which> and I<who> is obtained with the B<getpriority>()  call and set "
6284 "with the B<setpriority>()  call."
6285 msgstr ""
6286 "システムコール B<getpriority>()  や B<setpriority>()  は、 I<which> と "
6287 "I<who> で指定されたプロセス、プロセスグループ、ユーザーの スケジューリング優"
6288 "先度 (scheduling priority) の 取得や設定をそれぞれ行う。"
6289
6290 #. type: Plain text
6291 #: build/C/man2/getpriority.2:97
6292 msgid ""
6293 "The value I<which> is one of B<PRIO_PROCESS>, B<PRIO_PGRP>, or B<PRIO_USER>, "
6294 "and I<who> is interpreted relative to I<which> (a process identifier for "
6295 "B<PRIO_PROCESS>, process group identifier for B<PRIO_PGRP>, and a user ID "
6296 "for B<PRIO_USER>).  A zero value for I<who> denotes (respectively) the "
6297 "calling process, the process group of the calling process, or the real user "
6298 "ID of the calling process.  I<Prio> is a value in the range -20 to 19 (but "
6299 "see the Notes below).  The default priority is 0; lower priorities cause "
6300 "more favorable scheduling."
6301 msgstr ""
6302 "I<which> の値は B<PRIO_PROCESS>, B<PRIO_PGRP>, B<PRIO_USER>, のどれか一つ"
6303 "で、 I<who> は I<which> に応じて解釈される (B<PRIO_PROCESS> だとプロセス識別"
6304 "子、 B<PRIO_PGRP> だとプロセスグループ識別子、 B<PRIO_USER> だと UID (ユーザ"
6305 "ID) と解釈される)。 I<who> がゼロならば、(それぞれ)呼び出したプロセス、 呼び"
6306 "出したプロセスのプロセスグループ、 呼び出したプロセスの実UID を意味する。 "
6307 "I<prio> は -20 から 19 の範囲の値で (但し以下の注意の項を参照のこと)、 デフォ"
6308 "ルトの優先度は 0 である; 小さな数字ほど、有利なスケジューリングとなる。"
6309
6310 #. type: Plain text
6311 #: build/C/man2/getpriority.2:107
6312 msgid ""
6313 "The B<getpriority>()  call returns the highest priority (lowest numerical "
6314 "value)  enjoyed by any of the specified processes.  The B<setpriority>()  "
6315 "call sets the priorities of all of the specified processes to the specified "
6316 "value.  Only the superuser may lower priorities."
6317 msgstr ""
6318 "B<getpriority>()  コールは指定したプロセスの中の最も高い優先度 (数値的には最"
6319 "小の値) を返す。 B<setpriority>()  コールは指定したプロセス全ての優先度を指定"
6320 "した値に設定する。 優先度を今より小さい値に設定できるのはスーパーユーザーだけ"
6321 "である。"
6322
6323 #. type: Plain text
6324 #: build/C/man2/getpriority.2:120
6325 msgid ""
6326 "Since B<getpriority>()  can legitimately return the value -1, it is "
6327 "necessary to clear the external variable I<errno> prior to the call, then "
6328 "check it afterward to determine if -1 is an error or a legitimate value.  "
6329 "The B<setpriority>()  call returns 0 if there is no error, or -1 if there is."
6330 msgstr ""
6331 "B<getpriority>()  は成功した場合にも -1 の値を返す可能性があるので、 呼び出し"
6332 "の前に外部変数の I<errno> をクリアし、呼び出しの後に返り値の -1 が正当な値か "
6333 "エラーかを判別する必要がある。 B<setpriority>()  コールはエラーがなければ 0 "
6334 "を返し、エラーがあれば -1 を返す。"
6335
6336 #. type: Plain text
6337 #: build/C/man2/getpriority.2:129
6338 msgid "I<which> was not one of B<PRIO_PROCESS>, B<PRIO_PGRP>, or B<PRIO_USER>."
6339 msgstr ""
6340 "I<which> が B<PRIO_PROCESS>, B<PRIO_PGRP>, B<PRIO_USER> のいずれでもない。"
6341
6342 #. type: Plain text
6343 #: build/C/man2/getpriority.2:136
6344 msgid "No process was located using the I<which> and I<who> values specified."
6345 msgstr "I<which> と I<who> で指定されたプロセスが存在しない。"
6346
6347 #. type: Plain text
6348 #: build/C/man2/getpriority.2:140
6349 msgid ""
6350 "In addition to the errors indicated above, B<setpriority>()  may fail if:"
6351 msgstr "上記のものに加えて B<setpriority>()  では以下のエラーがある:"
6352
6353 #. type: Plain text
6354 #: build/C/man2/getpriority.2:152
6355 msgid ""
6356 "The caller attempted to lower a process priority, but did not have the "
6357 "required privilege (on Linux: did not have the B<CAP_SYS_NICE> capability).  "
6358 "Since Linux 2.6.12, this error only occurs if the caller attempts to set a "
6359 "process priority outside the range of the B<RLIMIT_NICE> soft resource limit "
6360 "of the target process; see B<getrlimit>(2)  for details."
6361 msgstr ""
6362 "呼び出し元がプロセスの優先度を下げようとしたが、必要な特権を 持っていなかっ"
6363 "た (Linux の場合、 B<CAP_SYS_NICE> ケーパビリティがなかった)。 Linux 2.6.12 "
6364 "以降では、呼び出し元が、あるプロセスの優先度を、 変更対象のプロセスのリソー"
6365 "ス B<RLIMIT_NICE> のソフトリミットの範囲外に設定しようとした場合にのみ、 この"
6366 "エラーが発生する。詳細は B<getrlimit>(2)  を参照。"
6367
6368 #. type: Plain text
6369 #: build/C/man2/getpriority.2:160
6370 msgid ""
6371 "A process was located, but its effective user ID did not match either the "
6372 "effective or the real user ID of the caller, and was not privileged (on "
6373 "Linux: did not have the B<CAP_SYS_NICE> capability).  But see NOTES below."
6374 msgstr ""
6375 "プロセスは見つかったが、そのプロセスの実効 (effective) UID が 呼び出し元の実"
6376 "効UID にも実 (real) UID にも一致せず、 呼び出し元が特権も持っていなかった "
6377 "(Linux の場合、 B<CAP_SYS_NICE> ケーパビリティがなかった)。 以下の「注意」も"
6378 "参照のこと。"
6379
6380 #. type: Plain text
6381 #: build/C/man2/getpriority.2:163
6382 msgid ""
6383 "SVr4, 4.4BSD (these function calls first appeared in 4.2BSD), POSIX.1-2001."
6384 msgstr "SVr4, 4.4BSD (これらの関数は 4.2BSD で最初に登場した), POSIX.1-2001."
6385
6386 #. type: Plain text
6387 #: build/C/man2/getpriority.2:169
6388 msgid ""
6389 "A child created by B<fork>(2)  inherits its parent's nice value.  The nice "
6390 "value is preserved across B<execve>(2)."
6391 msgstr ""
6392 "B<fork>(2)  で作成された子プロセスは、 親プロセスの nice 値を継承する。 "
6393 "B<execve>(2)  の前後で nice 値は保存される。"
6394
6395 #. type: Plain text
6396 #: build/C/man2/getpriority.2:180
6397 msgid ""
6398 "The degree to which their relative nice value affects the scheduling of "
6399 "processes varies across UNIX systems, and, on Linux, across kernel "
6400 "versions.  Starting with kernel 2.6.23, Linux adopted an algorithm that "
6401 "causes relative differences in nice values to have a much stronger effect.  "
6402 "This causes very low nice values (+19) to truly provide little CPU to a "
6403 "process whenever there is any other higher priority load on the system, and "
6404 "makes high nice values (-20) deliver most of the CPU to applications that "
6405 "require it (e.g., some audio applications)."
6406 msgstr ""
6407 "相対的な nice 値の違いがプロセス間のスケジューリングにどの程度影響を与えるか "
6408 "は、UNIX システム間で異なり、Linux ではカーネルバージョンにより異なる。 "
6409 "Linux は、カーネル 2.6.23 以降で、nice 値の相対的な違いが、非常に強い影響を "
6410 "与えるアルゴリズムを採用した。このアルゴリズムでは、 他に優先度の高いものがシ"
6411 "ステムに存在する時には、 非常に低い nice 値 (+19) ではプロセスに本当にほとん"
6412 "ど CPU が割り当てられない。 また、高い nice 値 (-20) では CPU を必要とするア"
6413 "プリケーション (例えば オーディオアプリケーション) に CPU のほとんどが割り当"
6414 "てられる。"
6415
6416 #. type: Plain text
6417 #: build/C/man2/getpriority.2:195
6418 msgid ""
6419 "The details on the condition for B<EPERM> depend on the system.  The above "
6420 "description is what POSIX.1-2001 says, and seems to be followed on all "
6421 "System V-like systems.  Linux kernels before 2.6.12 required the real or "
6422 "effective user ID of the caller to match the real user of the process I<who> "
6423 "(instead of its effective user ID).  Linux 2.6.12 and later require the "
6424 "effective user ID of the caller to match the real or effective user ID of "
6425 "the process I<who>.  All BSD-like systems (SunOS 4.1.3, Ultrix 4.2, 4.3BSD, "
6426 "FreeBSD 4.3, OpenBSD-2.5, ...) behave in the same manner as Linux 2.6.12 and "
6427 "later."
6428 msgstr ""
6429 "B<EPERM> が発生する条件の詳細はシステムに依存する。 上記の説明は "
6430 "POSIX.1-2001 のものであり、全ての System V 風システムは これに従っているよう"
6431 "である。 2.6.12 より前の Linux カーネルでは、呼び出し元の実 UID または 実効 "
6432 "UID がプロセス I<who> の (実効 UID でなく)  実 UID に一致する必要がある。 "
6433 "Linux 2.6.12 以降では、呼び出し元の実行 UID がプロセス I<who> の実 UID か実"
6434 "効 UID のいずれかと一致する必要がある。 全ての BSD 風システム (SunOS 4.1.3, "
6435 "Ultrix 4.2, 4.3BSD, FreeBSD 4.3, OpenBSD-2.5等) は、 Linux 2.6.12 以降と同じ"
6436 "動作をする。"
6437
6438 #. type: Plain text
6439 #: build/C/man2/getpriority.2:211
6440 msgid ""
6441 "The actual priority range varies between kernel versions.  Linux before "
6442 "1.3.36 had -infinity..15.  Since kernel 1.3.43 Linux has the range -20..19.  "
6443 "Within the kernel, nice values are actually represented using the "
6444 "corresponding range 40..1 (since negative numbers are error codes) and these "
6445 "are the values employed by the B<setpriority>()  and B<getpriority>()  "
6446 "system calls.  The glibc wrapper functions for these system calls handle the "
6447 "translations between the user-land and kernel representations of the nice "
6448 "value according to the formula I<unice\\ =\\ 20\\ -\\ knice>."
6449 msgstr ""
6450 "実際の優先度の値の範囲はカーネルのバージョンによって異なる。 1.3.36 より前の "
6451 "Linux では、優先度の範囲は負の無限大 〜 15 である。 1.3.43 以降の Linux で"
6452 "は、優先度の範囲は -20 〜 19 である。 カーネル内部では、nice 値は実際には 40 "
6453 "〜 1 の範囲を使って 表現されており (負の値はエラーコードとなるため)、こちらの"
6454 "値が システムコール B<setpriority>()  と B<getpriority>()  で使用されてい"
6455 "る。 glibc のこれらのシステムコールのラッパー関数において、nice 値の ユーザ領"
6456 "域 (user-land) とカーネル表現の間の変換が行われる。 変換式は以下の通り: "
6457 "I<unice\\ =\\ 20\\ -\\ knice>"
6458
6459 #. type: Plain text
6460 #: build/C/man2/getpriority.2:213
6461 msgid "On some systems, the range of nice values is -20..20."
6462 msgstr "いくつかのシステムでは、nice 値の範囲は \\20 〜 20 である。"
6463
6464 #. type: Plain text
6465 #: build/C/man2/getpriority.2:225
6466 msgid ""
6467 "Including I<E<lt>sys/time.hE<gt>> is not required these days, but increases "
6468 "portability.  (Indeed, I<E<lt>sys/resource.hE<gt>> defines the I<rusage> "
6469 "structure with fields of type I<struct timeval> defined in I<E<lt>sys/time."
6470 "hE<gt>>.)"
6471 msgstr ""
6472 "現在では I<E<lt>sys/time.hE<gt>> をインクルードする必要はないが、インクルード"
6473 "すれば移植性を高めることができる (実際には I<E<lt>sys/resource.hE<gt>> で "
6474 "I<rusage> 構造体が定義されているが、そのフィールドで使用されている I<struct "
6475 "timeval> 型は I<E<lt>sys/time.hE<gt>> で定義されている)。"
6476
6477 #. type: Plain text
6478 #: build/C/man2/getpriority.2:232
6479 msgid ""
6480 "According to POSIX, the nice value is a per-process setting.  However, under "
6481 "the current Linux/NPTL implementation of POSIX threads, the nice value is a "
6482 "per-thread attribute: different threads in the same process can have "
6483 "different nice values.  Portable applications should avoid relying on the "
6484 "Linux behavior, which may be made standards conformant in the future."
6485 msgstr ""
6486
6487 #. type: Plain text
6488 #: build/C/man2/getpriority.2:237
6489 msgid "B<nice>(1), B<renice>(1), B<fork>(2), B<capabilities>(7)"
6490 msgstr "B<nice>(1), B<renice>(1), B<fork>(2), B<capabilities>(7)"
6491
6492 #. type: Plain text
6493 #: build/C/man2/getpriority.2:240
6494 #, fuzzy
6495 #| msgid ""
6496 #| "I<Documentation/scheduler/sched-nice-design.txt> in the kernel source "
6497 #| "tree (since Linux 2.6.23)."
6498 msgid ""
6499 "I<Documentation/scheduler/sched-nice-design.txt> in the Linux kernel source "
6500 "tree (since Linux 2.6.23)"
6501 msgstr ""
6502 "(Linux 2.6.23 以降の) カーネルのソースツリー内の I<Documentation/scheduler/"
6503 "sched-nice-design.txt>"
6504
6505 #. type: TH
6506 #: build/C/man2/getresuid.2:28
6507 #, no-wrap
6508 msgid "GETRESUID"
6509 msgstr "GETRESUID"
6510
6511 #. type: Plain text
6512 #: build/C/man2/getresuid.2:31
6513 msgid "getresuid, getresgid - get real, effective and saved user/group IDs"
6514 msgstr ""
6515 "getresuid, getresgid - 実、実効、保存、ユーザー ID / グループ ID を取得する"
6516
6517 #. type: Plain text
6518 #: build/C/man2/getresuid.2:33 build/C/man2/setresuid.2:31
6519 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
6520 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
6521
6522 #. type: Plain text
6523 #: build/C/man2/getresuid.2:37
6524 msgid ""
6525 "B<int getresuid(uid_t *>I<ruid>B<, uid_t *>I<euid>B<, uid_t *>I<suid>B<);>"
6526 msgstr ""
6527 "B<int getresuid(uid_t *>I<ruid>B<, uid_t *>I<euid>B<, uid_t *>I<suid>B<);>"
6528
6529 #. type: Plain text
6530 #: build/C/man2/getresuid.2:39
6531 msgid ""
6532 "B<int getresgid(gid_t *>I<rgid>B<, gid_t *>I<egid>B<, gid_t *>I<sgid>B<);>"
6533 msgstr ""
6534 "B<int getresgid(gid_t *>I<rgid>B<, gid_t *>I<egid>B<, gid_t *>I<sgid>B<);>"
6535
6536 #. type: Plain text
6537 #: build/C/man2/getresuid.2:50
6538 msgid ""
6539 "B<getresuid>()  returns the real UID, the effective UID, and the saved set-"
6540 "user-ID of the calling process, in the arguments I<ruid>, I<euid>, and "
6541 "I<suid>, respectively.  B<getresgid>()  performs the analogous task for the "
6542 "process's group IDs."
6543 msgstr ""
6544 "B<getresuid>()  は、呼び出したプロセスの実 (real) UID、実効 (effective) "
6545 "UID、 保存 (saved) set-user-ID (B<getresgid> の場合はグループ ID) を、 それぞ"
6546 "れ引き数 I<ruid>, I<euid>, I<suid> に格納して返す。 B<getresgid>()  は、呼び"
6547 "出したプロセスのグループ ID について同様の処理を行う。"
6548
6549 #. type: Plain text
6550 #: build/C/man2/getresuid.2:60
6551 msgid ""
6552 "One of the arguments specified an address outside the calling program's "
6553 "address space."
6554 msgstr ""
6555 "指定した引き数のどれかが、呼び出したプログラムのアドレス空間の外の アドレスで"
6556 "ある。"
6557
6558 #. type: Plain text
6559 #: build/C/man2/getresuid.2:62
6560 msgid "These system calls appeared on Linux starting with kernel 2.1.44."
6561 msgstr "これらのシステムコールはカーネル 2.1.44 から Linux に登場した。"
6562
6563 #. type: Plain text
6564 #: build/C/man2/getresuid.2:67
6565 msgid ""
6566 "The prototypes are given by glibc since version 2.3.2, provided "
6567 "B<_GNU_SOURCE> is defined."
6568 msgstr ""
6569 "プロトタイプ宣言は 2.3.2 以降の glibc では B<_GNU_SOURCE> を定義していると得"
6570 "られる。"
6571
6572 #. type: Plain text
6573 #: build/C/man2/getresuid.2:70 build/C/man2/setresuid.2:86
6574 msgid ""
6575 "These calls are nonstandard; they also appear on HP-UX and some of the BSDs."
6576 msgstr "これらのコールは非標準である。 HP-UX や BSD 系のいくつかにも存在する。"
6577
6578 #. type: Plain text
6579 #: build/C/man2/getresuid.2:86
6580 msgid ""
6581 "The original Linux B<getresuid>()  and B<getresgid>()  system calls "
6582 "supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
6583 "B<getresuid32>()  and B<getresgid32>(), supporting 32-bit IDs.  The glibc "
6584 "B<getresuid>()  and B<getresgid>()  wrapper functions transparently deal "
6585 "with the variations across kernel versions."
6586 msgstr ""
6587 "元々の Linux の B<getresuid>() と B<getresgid>() システムコールは\n"
6588 "16 ビットのグループ ID だけに対応していた。\n"
6589 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
6590 "B<getresuid32>() と B<getresgid32>() が追加された。\n"
6591 "glibc の B<getresuid>() と B<getresgid>() のラッパー関数は\n"
6592 "カーネルバージョンによるこの違いを吸収している。"
6593
6594 #. type: Plain text
6595 #: build/C/man2/getresuid.2:92
6596 msgid ""
6597 "B<getuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), B<credentials>"
6598 "(7)"
6599 msgstr ""
6600 "B<getuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), B<credentials>"
6601 "(7)"
6602
6603 #. type: TH
6604 #: build/C/man2/getrlimit.2:64
6605 #, no-wrap
6606 msgid "GETRLIMIT"
6607 msgstr "GETRLIMIT"
6608
6609 #. type: TH
6610 #: build/C/man2/getrlimit.2:64 build/C/man2/setsid.2:30
6611 #, no-wrap
6612 msgid "2013-02-11"
6613 msgstr ""
6614
6615 #. type: Plain text
6616 #: build/C/man2/getrlimit.2:67
6617 msgid "getrlimit, setrlimit, prlimit - get/set resource limits"
6618 msgstr "getrlimit, setrlimit, prlimit - 資源の制限を取得/設定する"
6619
6620 #. type: Plain text
6621 #: build/C/man2/getrlimit.2:73
6622 msgid "B<int getrlimit(int >I<resource>B<, struct rlimit *>I<rlim>B<);>"
6623 msgstr "B<int getrlimit(int >I<resource>B<, struct rlimit *>I<rlim>B<);>"
6624
6625 #. type: Plain text
6626 #: build/C/man2/getrlimit.2:75
6627 msgid "B<int setrlimit(int >I<resource>B<, const struct rlimit *>I<rlim>B<);>"
6628 msgstr "B<int setrlimit(int >I<resource>B<, const struct rlimit *>I<rlim>B<);>"
6629
6630 #. type: Plain text
6631 #: build/C/man2/getrlimit.2:78
6632 msgid ""
6633 "B<int prlimit(pid_t >I<pid>B<, int >I<resource>B<, const struct rlimit "
6634 "*>I<new_limit>B<,>"
6635 msgstr ""
6636 "B<int prlimit(pid_t >I<pid>B<, int >I<resource>B<, const struct rlimit "
6637 "*>I<new_limit>B<,>"
6638
6639 #. type: Plain text
6640 #: build/C/man2/getrlimit.2:80
6641 msgid "B< struct rlimit *>I<old_limit>B<);>"
6642 msgstr "B< struct rlimit *>I<old_limit>B<);>"
6643
6644 #. type: Plain text
6645 #: build/C/man2/getrlimit.2:88
6646 msgid "B<prlimit>(): _GNU_SOURCE && _FILE_OFFSET_BITS == 64"
6647 msgstr ""
6648
6649 #. type: Plain text
6650 #: build/C/man2/getrlimit.2:97
6651 msgid ""
6652 "The B<getrlimit>()  and B<setrlimit>()  system calls get and set resource "
6653 "limits respectively.  Each resource has an associated soft and hard limit, "
6654 "as defined by the I<rlimit> structure:"
6655 msgstr ""
6656 "B<getrlimit>() と B<setrlimit>() はそれぞれ資源 (resource) の制限\n"
6657 "(limit) の設定と取得を行う。 各リソースには、それに対応するソフトリミッ\n"
6658 "トとハードリミットがあり、 I<rlimit> 構造体で定義される:"
6659
6660 #. type: Plain text
6661 #: build/C/man2/getrlimit.2:104
6662 #, no-wrap
6663 msgid ""
6664 "struct rlimit {\n"
6665 "    rlim_t rlim_cur;  /* Soft limit */\n"
6666 "    rlim_t rlim_max;  /* Hard limit (ceiling for rlim_cur) */\n"
6667 "};\n"
6668 msgstr ""
6669 "struct rlimit {\n"
6670 "    rlim_t rlim_cur;  /* ソフトリミット */\n"
6671 "    rlim_t rlim_max;  /* ハードリミット\n"
6672 "                         (rlim_cur より小さくない) */\n"
6673 "};\n"
6674
6675 #. type: Plain text
6676 #: build/C/man2/getrlimit.2:115
6677 msgid ""
6678 "The soft limit is the value that the kernel enforces for the corresponding "
6679 "resource.  The hard limit acts as a ceiling for the soft limit: an "
6680 "unprivileged process may only set its soft limit to a value in the range "
6681 "from 0 up to the hard limit, and (irreversibly) lower its hard limit.  A "
6682 "privileged process (under Linux: one with the B<CAP_SYS_RESOURCE> "
6683 "capability) may make arbitrary changes to either limit value."
6684 msgstr ""
6685 "ソフトリミットは、カーネルが対応するリソースに対して課す制限値である。 ハード"
6686 "リミットはソフトリミットの上限として働く。 特権を持たないプロセスは、ソフトリ"
6687 "ミットの値を 0 からハードリミットの範囲に設定することと、 ハードリミットを下"
6688 "げることのみができる (一度下げたハードリミットは上げられない)。 特権プロセス "
6689 "(Linux では B<CAP_SYS_RESOURCE> ケーパビリティ (capability) を持つプロセス) "
6690 "は ソフトリミットとハードリミットを自由に変更できる。"
6691
6692 #. type: Plain text
6693 #: build/C/man2/getrlimit.2:122
6694 msgid ""
6695 "The value B<RLIM_INFINITY> denotes no limit on a resource (both in the "
6696 "structure returned by B<getrlimit>()  and in the structure passed to "
6697 "B<setrlimit>())."
6698 msgstr ""
6699 "値 B<RLIM_INFINITY> はリソースに制限がないことを表す (この値は B<getrlimit>"
6700 "()  が返す構造体と B<setrlimit>()  に渡す構造体の両方で使用される)。"
6701
6702 #. type: Plain text
6703 #: build/C/man2/getrlimit.2:126
6704 msgid "The I<resource> argument must be one of:"
6705 msgstr "I<resource> 引き数は次のいずれか 1 つである。"
6706
6707 #. type: TP
6708 #: build/C/man2/getrlimit.2:126
6709 #, no-wrap
6710 msgid "B<RLIMIT_AS>"
6711 msgstr "B<RLIMIT_AS>"
6712
6713 #.  since 2.0.27 / 2.1.12
6714 #. type: Plain text
6715 #: build/C/man2/getrlimit.2:146
6716 msgid ""
6717 "The maximum size of the process's virtual memory (address space) in bytes.  "
6718 "This limit affects calls to B<brk>(2), B<mmap>(2)  and B<mremap>(2), which "
6719 "fail with the error B<ENOMEM> upon exceeding this limit.  Also automatic "
6720 "stack expansion will fail (and generate a B<SIGSEGV> that kills the process "
6721 "if no alternate stack has been made available via B<sigaltstack>(2)).  Since "
6722 "the value is a I<long>, on machines with a 32-bit I<long> either this limit "
6723 "is at most 2 GiB, or this resource is unlimited."
6724 msgstr ""
6725 "プロセスの仮想メモリ (アドレス空間) の最大サイズ (バイト単位)。 この制限は "
6726 "B<brk>(2), B<mmap>(2), B<mremap>(2)  の呼び出しに影響し、この制限を超えた場合"
6727 "は エラー B<ENOMEM> で失敗する。 また自動的なスタック拡張にも失敗する (さら"
6728 "に B<sigaltstack>(2)  を使った代替スタックを利用可能にしていなかった場合に"
6729 "は、 B<SIGSEGV> を生成してそのプロセスを kill する)。 この値は I<long> 型なの"
6730 "で、32 ビットの I<long> 型を持つマシンでは、 この制限は最大で 2 GiB になる"
6731 "か、この資源が無制限になる。"
6732
6733 #. type: TP
6734 #: build/C/man2/getrlimit.2:146
6735 #, no-wrap
6736 msgid "B<RLIMIT_CORE>"
6737 msgstr "B<RLIMIT_CORE>"
6738
6739 #. type: Plain text
6740 #: build/C/man2/getrlimit.2:153
6741 msgid ""
6742 "Maximum size of I<core> file.  When 0 no core dump files are created.  When "
6743 "nonzero, larger dumps are truncated to this size."
6744 msgstr ""
6745 "I<core> ファイルの最大サイズ。 0 の場合、core ファイルは生成されない。 0 以外"
6746 "の場合、このサイズより大きいダンプは切り詰められる。"
6747
6748 #. type: TP
6749 #: build/C/man2/getrlimit.2:153
6750 #, no-wrap
6751 msgid "B<RLIMIT_CPU>"
6752 msgstr "B<RLIMIT_CPU>"
6753
6754 #. type: Plain text
6755 #: build/C/man2/getrlimit.2:173
6756 msgid ""
6757 "CPU time limit in seconds.  When the process reaches the soft limit, it is "
6758 "sent a B<SIGXCPU> signal.  The default action for this signal is to "
6759 "terminate the process.  However, the signal can be caught, and the handler "
6760 "can return control to the main program.  If the process continues to consume "
6761 "CPU time, it will be sent B<SIGXCPU> once per second until the hard limit is "
6762 "reached, at which time it is sent B<SIGKILL>.  (This latter point describes "
6763 "Linux behavior.  Implementations vary in how they treat processes which "
6764 "continue to consume CPU time after reaching the soft limit.  Portable "
6765 "applications that need to catch this signal should perform an orderly "
6766 "termination upon first receipt of B<SIGXCPU>.)"
6767 msgstr ""
6768 "CPU 時間の上限 (秒数)。プロセスがソフトリミットに達した場合に、\n"
6769 "B<SIGXCPU> シグナルを送る。このシグナルに対するデフォルトの動作は、\n"
6770 "プロセスの終了である。ただし、シグナルをキャッチして、ハンドラがメイン\n"
6771 "プログラムに制御を返すこともできる。プロセスが CPU 時間を使い続けた\n"
6772 "場合は、ハードリミットに達するまで 1 秒毎にプロセスに B<SIGXCPU> を送り、\n"
6773 "ハードリミットに達すると B<SIGKILL> を送る。\n"
6774 "(ソフトリミットを超過したときの動作は、 Linux における動作である。ソフ\n"
6775 "トリミットを超えて CPU 時間を使い続けるプロセスの扱い方についての実装は\n"
6776 "変化してきている。 このシグナルをキャッチする必要のある 移植性を考えた\n"
6777 "アプリケーションでは、 最初に B<SIGXCPU> を受け取った時点で正しく終了\n"
6778 "すべきである。)"
6779
6780 #. type: TP
6781 #: build/C/man2/getrlimit.2:173
6782 #, no-wrap
6783 msgid "B<RLIMIT_DATA>"
6784 msgstr "B<RLIMIT_DATA>"
6785
6786 #. type: Plain text
6787 #: build/C/man2/getrlimit.2:184
6788 msgid ""
6789 "The maximum size of the process's data segment (initialized data, "
6790 "uninitialized data, and heap).  This limit affects calls to B<brk>(2)  and "
6791 "B<sbrk>(2), which fail with the error B<ENOMEM> upon encountering the soft "
6792 "limit of this resource."
6793 msgstr ""
6794 "プロセスのデータセグメント (初期化されたデータ・初期化されていないデータ・"
6795 "ヒープ) の最大値。 このリミットは B<brk>(2)  と B<sbrk>(2)  の呼び出しに影響"
6796 "する。 これらの関数は、このリソースのソフトリミットに達すると、 エラー "
6797 "B<ENOMEM> で失敗する。"
6798
6799 #. type: TP
6800 #: build/C/man2/getrlimit.2:184
6801 #, no-wrap
6802 msgid "B<RLIMIT_FSIZE>"
6803 msgstr "B<RLIMIT_FSIZE>"
6804
6805 #. type: Plain text
6806 #: build/C/man2/getrlimit.2:196
6807 msgid ""
6808 "The maximum size of files that the process may create.  Attempts to extend a "
6809 "file beyond this limit result in delivery of a B<SIGXFSZ> signal.  By "
6810 "default, this signal terminates a process, but a process can catch this "
6811 "signal instead, in which case the relevant system call (e.g., B<write>(2), "
6812 "B<truncate>(2))  fails with the error B<EFBIG>."
6813 msgstr ""
6814 "プロセスが作成できるファイルサイズの最大値。 このサイズを超えてファイルを拡張"
6815 "すると、 B<SIGXFSZ> シグナルを送る。 デフォルトでは、このシグナルはプロセスを"
6816 "終了する。 プロセスをキャッチすることもできるが、 関連するシステムコール "
6817 "(B<write>(2), B<truncate>(2)  など) はエラー B<EFBIG> で失敗する。"
6818
6819 #. type: TP
6820 #: build/C/man2/getrlimit.2:196
6821 #, no-wrap
6822 msgid "B<RLIMIT_LOCKS> (Early Linux 2.4 only)"
6823 msgstr "B<RLIMIT_LOCKS> (初期の Linux 2.4 のみ)"
6824
6825 #.  to be precise: Linux 2.4.0-test9; no longer in 2.4.25 / 2.5.65
6826 #. type: Plain text
6827 #: build/C/man2/getrlimit.2:204
6828 msgid ""
6829 "A limit on the combined number of B<flock>(2)  locks and B<fcntl>(2)  leases "
6830 "that this process may establish."
6831 msgstr ""
6832 "このプロセスが実行できる B<flock>(2)  ロック数と B<fcntl>(2)  リース数の合計"
6833 "値を制限する。"
6834
6835 #. type: TP
6836 #: build/C/man2/getrlimit.2:204
6837 #, no-wrap
6838 msgid "B<RLIMIT_MEMLOCK>"
6839 msgstr "B<RLIMIT_MEMLOCK>"
6840
6841 #. type: Plain text
6842 #: build/C/man2/getrlimit.2:242
6843 msgid ""
6844 "The maximum number of bytes of memory that may be locked into RAM.  In "
6845 "effect this limit is rounded down to the nearest multiple of the system page "
6846 "size.  This limit affects B<mlock>(2)  and B<mlockall>(2)  and the B<mmap>"
6847 "(2)  B<MAP_LOCKED> operation.  Since Linux 2.6.9 it also affects the "
6848 "B<shmctl>(2)  B<SHM_LOCK> operation, where it sets a maximum on the total "
6849 "bytes in shared memory segments (see B<shmget>(2))  that may be locked by "
6850 "the real user ID of the calling process.  The B<shmctl>(2)  B<SHM_LOCK> "
6851 "locks are accounted for separately from the per-process memory locks "
6852 "established by B<mlock>(2), B<mlockall>(2), and B<mmap>(2)  B<MAP_LOCKED>; a "
6853 "process can lock bytes up to this limit in each of these two categories.  In "
6854 "Linux kernels before 2.6.9, this limit controlled the amount of memory that "
6855 "could be locked by a privileged process.  Since Linux 2.6.9, no limits are "
6856 "placed on the amount of memory that a privileged process may lock, and this "
6857 "limit instead governs the amount of memory that an unprivileged process may "
6858 "lock."
6859 msgstr ""
6860 "RAM 内にロックできるメモリの最大バイト数。 実際には、この制限はシステムページ"
6861 "サイズの最も近い倍数に 切り捨てて丸められる。 この制限は B<mlock>(2), "
6862 "B<mlockall>(2), B<mmap>(2)  の B<MAP_LOCKED> 操作に影響する。 Linux 2.6.9 以"
6863 "降では B<shmctl>(2)  B<SHM_LOCK> 操作にも影響する。 この操作は呼び出し元プロ"
6864 "セスの実 (real) ユーザー ID にロックされる 共有メモリセグメント (B<shmget>"
6865 "(2)  を参照) の合計バイト数の最大値を設定する。 B<shmctl>(2)  B<SHM_LOCK> に"
6866 "よるロックは、 B<mlock>(2), B<mlockall>(2), B<mmap>(2)  の B<MAP_LOCKED> に"
6867 "よって確立されるプロセス毎のメモリロックとは分けて数える。 1 つのプロセスはこ"
6868 "の制限までのバイトをロックできる。 この制限には 2 つの種類がある。 2.6.9 より"
6869 "前の Linux カーネル では、 この制限は特権プロセスによってロックされるメモリの"
6870 "合計を制御していた。 Linux 2.6.9 以降では、特権プロセスがロックするメモリの合"
6871 "計に制限はなく、 代わりにこの制限は非特権プロセスがロックするメモリの合計に "
6872 "適用されるようになった。"
6873
6874 #. type: TP
6875 #: build/C/man2/getrlimit.2:242
6876 #, no-wrap
6877 msgid "B<RLIMIT_MSGQUEUE> (Since Linux 2.6.8)"
6878 msgstr "B<RLIMIT_MSGQUEUE> (Linux 2.6.8 以降)"
6879
6880 #. type: Plain text
6881 #: build/C/man2/getrlimit.2:250
6882 msgid ""
6883 "Specifies the limit on the number of bytes that can be allocated for POSIX "
6884 "message queues for the real user ID of the calling process.  This limit is "
6885 "enforced for B<mq_open>(3).  Each message queue that the user creates counts "
6886 "(until it is removed)  against this limit according to the formula:"
6887 msgstr ""
6888 "呼び出し元プロセスの実ユーザー ID に対して、 POSIX メッセージキューのために確"
6889 "保できるバイト数の制限を指定する。 この制限は B<mq_open>(3)  に対して適用され"
6890 "る。 ユーザが作成した各々のメッセージキューのバイト数は 以下の式により計算さ"
6891 "れ、(そのキューが削除されるまでの間)  この制限の計算対象に含められる。"
6892
6893 #. type: Plain text
6894 #: build/C/man2/getrlimit.2:254
6895 #, no-wrap
6896 msgid ""
6897 "    bytes = attr.mq_maxmsg * sizeof(struct msg_msg *) +\n"
6898 "            attr.mq_maxmsg * attr.mq_msgsize\n"
6899 msgstr ""
6900 "    bytes = attr.mq_maxmsg * sizeof(struct msg_msg *) +\n"
6901 "            attr.mq_maxmsg * attr.mq_msgsize\n"
6902
6903 #. type: Plain text
6904 #: build/C/man2/getrlimit.2:262
6905 msgid ""
6906 "where I<attr> is the I<mq_attr> structure specified as the fourth argument "
6907 "to B<mq_open>(3)."
6908 msgstr ""
6909 "ここで I<attr> は I<mq_attr> 構造体であり、 B<mq_open>(3)  の第 4 引き数とし"
6910 "て指定される。"
6911
6912 #. type: Plain text
6913 #: build/C/man2/getrlimit.2:268
6914 msgid ""
6915 "The first addend in the formula, which includes I<sizeof(struct msg_msg *)> "
6916 "(4 bytes on Linux/i386), ensures that the user cannot create an unlimited "
6917 "number of zero-length messages (such messages nevertheless each consume some "
6918 "system memory for bookkeeping overhead)."
6919 msgstr ""
6920 "I<sizeof(struct msg_msg *)> (Linux/i386 では 4 バイト) を含む最初の加数は、 "
6921 "ユーザーが長さ 0 のメッセージを無制限に作れないこと保証している (このような"
6922 "メッセージであっても、 記録のためのオーバーヘッドでシステムメモリを消費す"
6923 "る)。"
6924
6925 #. type: TP
6926 #: build/C/man2/getrlimit.2:268
6927 #, no-wrap
6928 msgid "B<RLIMIT_NICE> (since Linux 2.6.12, but see BUGS below)"
6929 msgstr "B<RLIMIT_NICE> (Linux 2.6.12 以降, 下記の「バグ」の節も参照)"
6930
6931 #. type: Plain text
6932 #: build/C/man2/getrlimit.2:281
6933 msgid ""
6934 "Specifies a ceiling to which the process's nice value can be raised using "
6935 "B<setpriority>(2)  or B<nice>(2).  The actual ceiling for the nice value is "
6936 "calculated as I<20\\ -\\ rlim_cur>.  (This strangeness occurs because "
6937 "negative numbers cannot be specified as resource limit values, since they "
6938 "typically have special meanings.  For example, B<RLIM_INFINITY> typically is "
6939 "the same as -1.)"
6940 msgstr ""
6941 "B<setpriority>(2)  や B<nice>(2)  を使って引き上げられるプロセスの nice 値の"
6942 "上限を指定する。 nice 値の実際の上限は I<20\\ -\\ rlim_cur> で計算される (こ"
6943 "のような変な状況は、リソース制限値として負の数を指定できないため 発生する。通"
6944 "常、負の値は特別な意味を持っているからである。 例えば、通常は "
6945 "B<RLIM_INFINITY> の値は -1 である)。"
6946
6947 #. type: TP
6948 #: build/C/man2/getrlimit.2:281
6949 #, no-wrap
6950 msgid "B<RLIMIT_NOFILE>"
6951 msgstr "B<RLIMIT_NOFILE>"
6952
6953 #. type: Plain text
6954 #: build/C/man2/getrlimit.2:295
6955 msgid ""
6956 "Specifies a value one greater than the maximum file descriptor number that "
6957 "can be opened by this process.  Attempts (B<open>(2), B<pipe>(2), B<dup>(2), "
6958 "etc.)  to exceed this limit yield the error B<EMFILE>.  (Historically, this "
6959 "limit was named B<RLIMIT_OFILE> on BSD.)"
6960 msgstr ""
6961 "このプロセスがオープンできるファイルディスクリプタ数の最大値より 1 大きい値を"
6962 "指定する。 (B<open>(2), B<pipe>(2), B<dup>(2)  などにより) この上限を超えよう"
6963 "とした場合、エラー B<EMFILE> が発生する (歴史的に、BSD ではこの上限は "
6964 "B<RLIMIT_OFILE> という名前となっている)。"
6965
6966 #. type: TP
6967 #: build/C/man2/getrlimit.2:295
6968 #, no-wrap
6969 msgid "B<RLIMIT_NPROC>"
6970 msgstr "B<RLIMIT_NPROC>"
6971
6972 #. type: Plain text
6973 #: build/C/man2/getrlimit.2:303
6974 msgid ""
6975 "The maximum number of processes (or, more precisely on Linux, threads)  that "
6976 "can be created for the real user ID of the calling process.  Upon "
6977 "encountering this limit, B<fork>(2)  fails with the error B<EAGAIN>."
6978 msgstr ""
6979 "呼び出したプロセスの実ユーザー ID で作成できる最大プロセス数 (より正確には "
6980 "Linux ではスレッド数)。 この上限に達すると、 B<fork>(2)  はエラー B<EAGAIN> "
6981 "で失敗する。"
6982
6983 #. type: TP
6984 #: build/C/man2/getrlimit.2:303
6985 #, no-wrap
6986 msgid "B<RLIMIT_RSS>"
6987 msgstr "B<RLIMIT_RSS>"
6988
6989 #.  As at kernel 2.6.12, this limit still does nothing in 2.6 though
6990 #.  talk of making it do something has surfaced from time to time in LKML
6991 #.        -- MTK, Jul 05
6992 #. type: Plain text
6993 #: build/C/man2/getrlimit.2:315
6994 msgid ""
6995 "Specifies the limit (in pages) of the process's resident set (the number of "
6996 "virtual pages resident in RAM).  This limit only has effect in Linux 2.4.x, "
6997 "x E<lt> 30, and there only affects calls to B<madvise>(2)  specifying "
6998 "B<MADV_WILLNEED>."
6999 msgstr ""
7000 "プロセスの resident set (RAM 上に存在する仮想ページの数) の 上限を (ページ数"
7001 "で) 指定する。 この制限は 2.4.30 より前でしか影響がなく、 B<madvise>(2)  に "
7002 "B<MADV_WILLNEED> を指定した関数コールにしか影響しない。"
7003
7004 #. type: TP
7005 #: build/C/man2/getrlimit.2:315
7006 #, no-wrap
7007 msgid "B<RLIMIT_RTPRIO> (Since Linux 2.6.12, but see BUGS)"
7008 msgstr "B<RLIMIT_RTPRIO> (Linux 2.6.12 以降, バグの節も参照)"
7009
7010 #. type: Plain text
7011 #: build/C/man2/getrlimit.2:322
7012 msgid ""
7013 "Specifies a ceiling on the real-time priority that may be set for this "
7014 "process using B<sched_setscheduler>(2)  and B<sched_setparam>(2)."
7015 msgstr ""
7016 "B<sched_setscheduler>(2)  や B<sched_setparam>(2)  を使って設定できる、そのプ"
7017 "ロセスのリアルタイム優先度の上限を指定する。"
7018
7019 #. type: TP
7020 #: build/C/man2/getrlimit.2:322
7021 #, no-wrap
7022 msgid "B<RLIMIT_RTTIME> (Since Linux 2.6.25)"
7023 msgstr "B<RLIMIT_RTTIME> (Linux 2.6.25 以降)"
7024
7025 #. type: Plain text
7026 #: build/C/man2/getrlimit.2:334
7027 msgid ""
7028 "Specifies a limit (in microseconds)  on the amount of CPU time that a "
7029 "process scheduled under a real-time scheduling policy may consume without "
7030 "making a blocking system call.  For the purpose of this limit, each time a "
7031 "process makes a blocking system call, the count of its consumed CPU time is "
7032 "reset to zero.  The CPU time count is not reset if the process continues "
7033 "trying to use the CPU but is preempted, its time slice expires, or it calls "
7034 "B<sched_yield>(2)."
7035 msgstr ""
7036 "リアルタイムスケジューリング方針でスケジューリングされるプロセスが ブロッキン"
7037 "グ型のシステムコールを呼び出さずに消費することのできる CPU 時間の合計について"
7038 "の上限を (マイクロ秒単位で) 指定する。 この上限の目的のため、プロセスがブロッ"
7039 "キング型のシステムコールを 呼び出す度に、消費された CPU 時間のカウントは 0 に"
7040 "リセットされる。 プロセスが CPU を使い続けようとしたが他のプロセスに置き換え"
7041 "られた (preempted) 場合や、そのプロセスのタイムスライスが満了した場合、 その"
7042 "プロセスが B<sched_yield>(2)  を呼び出した場合は、CPU 時間のカウントはリセッ"
7043 "トされない。"
7044
7045 #. type: Plain text
7046 #: build/C/man2/getrlimit.2:345
7047 msgid ""
7048 "Upon reaching the soft limit, the process is sent a B<SIGXCPU> signal.  If "
7049 "the process catches or ignores this signal and continues consuming CPU time, "
7050 "then B<SIGXCPU> will be generated once each second until the hard limit is "
7051 "reached, at which point the process is sent a B<SIGKILL> signal."
7052 msgstr ""
7053 "ソフトリミットに達すると、そのプロセスに B<SIGXCPU> シグナルが送られる。その"
7054 "プロセスがこのシグナルを捕捉するか 無視して、CPU 時間を消費し続けた場合に"
7055 "は、 ハードリミットに達するまで 1 秒に 1 回 B<SIGXCPU> が生成され続けることに"
7056 "なる。 ハードリミットに達した時点で、そのプロセスには B<SIGKILL> シグナルが送"
7057 "られる。"
7058
7059 #. type: Plain text
7060 #: build/C/man2/getrlimit.2:348
7061 msgid ""
7062 "The intended use of this limit is to stop a runaway real-time process from "
7063 "locking up the system."
7064 msgstr ""
7065 "この上限を意図的に使用するのは、暴走したリアルタイムプロセスを 停止して、シス"
7066 "テムが動かなくなるのを避ける場合である。"
7067
7068 #. type: TP
7069 #: build/C/man2/getrlimit.2:348
7070 #, no-wrap
7071 msgid "B<RLIMIT_SIGPENDING> (Since Linux 2.6.8)"
7072 msgstr "B<RLIMIT_SIGPENDING> (Linux 2.6.8 以降)"
7073
7074 #.  This replaces the /proc/sys/kernel/rtsig-max system-wide limit
7075 #.  that was present in kernels <= 2.6.7.  MTK Dec 04
7076 #. type: Plain text
7077 #: build/C/man2/getrlimit.2:362
7078 msgid ""
7079 "Specifies the limit on the number of signals that may be queued for the real "
7080 "user ID of the calling process.  Both standard and real-time signals are "
7081 "counted for the purpose of checking this limit.  However, the limit is only "
7082 "enforced for B<sigqueue>(3); it is always possible to use B<kill>(2)  to "
7083 "queue one instance of any of the signals that are not already queued to the "
7084 "process."
7085 msgstr ""
7086 "呼び出し元プロセスの実ユーザー ID に対して キューに入れられるシグナルの\n"
7087 "数の制限を指定する。この制限をチェックするため、標準シグナルとリアルタ\n"
7088 "イムシグナルの両方がカウントされる。しかし、この制限は B<sigqueue>(3)\n"
7089 "に対してしか強制されず、 B<kill>(2) 使うことで、そのプロセスに対してま\n"
7090 "だキューに入れられていない シグナルのインスタンスをキューに入れることが\n"
7091 "できる。"
7092
7093 #. type: TP
7094 #: build/C/man2/getrlimit.2:362
7095 #, no-wrap
7096 msgid "B<RLIMIT_STACK>"
7097 msgstr "B<RLIMIT_STACK>"
7098
7099 #. type: Plain text
7100 #: build/C/man2/getrlimit.2:370
7101 msgid ""
7102 "The maximum size of the process stack, in bytes.  Upon reaching this limit, "
7103 "a B<SIGSEGV> signal is generated.  To handle this signal, a process must "
7104 "employ an alternate signal stack (B<sigaltstack>(2))."
7105 msgstr ""
7106 "プロセススタックの最大サイズをバイト単位で指定する。 この上限に達すると、 "
7107 "B<SIGSEGV> シグナルが生成される。 このシグナルを扱うためには、 プロセスは代り"
7108 "のシグナルスタック (B<sigaltstack>(2))  を使用しなければならない。"
7109
7110 #. type: Plain text
7111 #: build/C/man2/getrlimit.2:375
7112 msgid ""
7113 "Since Linux 2.6.23, this limit also determines the amount of space used for "
7114 "the process's command-line arguments and environment variables; for details, "
7115 "see B<execve>(2)."
7116 msgstr ""
7117 "Linux 2.6.23 以降では、この制限はプロセスのコマンドライン引き数と環境変数 に"
7118 "使用される空間の合計サイズの上限の決定にも使用される。詳細については "
7119 "B<execve>(2)  を参照。"
7120
7121 #. type: SS
7122 #: build/C/man2/getrlimit.2:375
7123 #, no-wrap
7124 msgid "prlimit()"
7125 msgstr ""
7126
7127 #.  commit c022a0acad534fd5f5d5f17280f6d4d135e74e81
7128 #.  Author: Jiri Slaby <jslaby@suse.cz>
7129 #.  Date:   Tue May 4 18:03:50 2010 +0200
7130 #. type: Plain text
7131 #: build/C/man2/getrlimit.2:386
7132 msgid ""
7133 "The Linux-specific B<prlimit>()  system call combines and extends the "
7134 "functionality of B<setrlimit>()  and B<getrlimit>().  It can be used to both "
7135 "set and get the resource limits of an arbitrary process."
7136 msgstr ""
7137
7138 #. type: Plain text
7139 #: build/C/man2/getrlimit.2:393
7140 msgid ""
7141 "The I<resource> argument has the same meaning as for B<setrlimit>()  and "
7142 "B<getrlimit>()."
7143 msgstr ""
7144
7145 #. type: Plain text
7146 #: build/C/man2/getrlimit.2:411
7147 msgid ""
7148 "If the I<new_limit> argument is a not NULL, then the I<rlimit> structure to "
7149 "which it points is used to set new values for the soft and hard limits for "
7150 "I<resource>.  If the I<old_limit> argument is a not NULL, then a successful "
7151 "call to B<prlimit>()  places the previous soft and hard limits for "
7152 "I<resource> in the I<rlimit> structure pointed to by I<old_limit>."
7153 msgstr ""
7154
7155 #.  FIXME this permission check is strange
7156 #.  Asked about this on LKML, 7 Nov 2010
7157 #.      "Inconsistent credential checking in prlimit() syscall"
7158 #. type: Plain text
7159 #: build/C/man2/getrlimit.2:430
7160 msgid ""
7161 "The I<pid> argument specifies the ID of the process on which the call is to "
7162 "operate.  If I<pid> is 0, then the call applies to the calling process.  To "
7163 "set or get the resources of a process other than itself, the caller must "
7164 "have the B<CAP_SYS_RESOURCE> capability, or the real, effective, and saved "
7165 "set user IDs of the target process must match the real user ID of the caller "
7166 "I<and> the real, effective, and saved set group IDs of the target process "
7167 "must match the real group ID of the caller."
7168 msgstr ""
7169
7170 #. type: Plain text
7171 #: build/C/man2/getrlimit.2:435
7172 msgid ""
7173 "On success, these system calls return 0.  On error, -1 is returned, and "
7174 "I<errno> is set appropriately."
7175 msgstr ""
7176 "成功した場合、これらのシステムコールは 0 を返す。\n"
7177 "エラーの場合は -1 が返され、 I<errno> が適切に設定される。"
7178
7179 #. type: Plain text
7180 #: build/C/man2/getrlimit.2:440
7181 msgid ""
7182 "A pointer argument points to a location outside the accessible address space."
7183 msgstr "場所を指すポインタ引き数がアクセス可能なアドレス空間外を指している。"
7184
7185 #. type: Plain text
7186 #: build/C/man2/getrlimit.2:452
7187 msgid ""
7188 "The value specified in I<resource> is not valid; or, for B<setrlimit>()  or "
7189 "B<prlimit>(): I<rlim-E<gt>rlim_cur> was greater than I<rlim-E<gt>rlim_max>."
7190 msgstr ""
7191 "I<resource> で指定された値が有効でない。\n"
7192 "または、 B<setrlimit>() や B<prlimit>() で、\n"
7193 "I<rlim-E<gt>rlim_cur> が I<rlim-E<gt>rlim_max> よりも大きかった。"
7194
7195 #. type: Plain text
7196 #: build/C/man2/getrlimit.2:464
7197 msgid ""
7198 "An unprivileged process tried to raise the hard limit; the "
7199 "B<CAP_SYS_RESOURCE> capability is required to do this.  Or, the caller tried "
7200 "to increase the hard B<RLIMIT_NOFILE> limit above the current kernel maximum "
7201 "(B<NR_OPEN>).  Or, the calling process did not have permission to set limits "
7202 "for the process specified by I<pid>."
7203 msgstr ""
7204 "特権のないプロセスがハードリミットを上げようとした。\n"
7205 "これを行うためには B<CAP_SYS_RESOURCE> ケーパビリティが必要である。\n"
7206 "または、特権のないプロセスが B<RLIMIT_NOFILE> ハードリミットを\n"
7207 "現在のカーネルの最大値 (B<NR_OPEN>) 以上に増やそうとした。\n"
7208 "または、呼び出したプロセスが I<pid> で指定されたプロセスのリミットを\n"
7209 "設定する許可を持っていなかった。"
7210
7211 #. type: Plain text
7212 #: build/C/man2/getrlimit.2:468
7213 msgid "Could not find a process with the ID specified in I<pid>."
7214 msgstr ""
7215
7216 #. type: Plain text
7217 #: build/C/man2/getrlimit.2:473
7218 msgid ""
7219 "The B<prlimit>()  system call is available since Linux 2.6.36.  Library "
7220 "support is available since glibc 2.13."
7221 msgstr ""
7222
7223 #. type: Plain text
7224 #: build/C/man2/getrlimit.2:477
7225 msgid "B<getrlimit>(), B<setrlimit>(): SVr4, 4.3BSD, POSIX.1-2001."
7226 msgstr ""
7227
7228 #. type: Plain text
7229 #: build/C/man2/getrlimit.2:480
7230 msgid "B<prlimit>(): Linux-specific."
7231 msgstr ""
7232
7233 #. type: Plain text
7234 #: build/C/man2/getrlimit.2:496
7235 msgid ""
7236 "B<RLIMIT_MEMLOCK> and B<RLIMIT_NPROC> derive from BSD and are not specified "
7237 "in POSIX.1-2001; they are present on the BSDs and Linux, but on few other "
7238 "implementations.  B<RLIMIT_RSS> derives from BSD and is not specified in "
7239 "POSIX.1-2001; it is nevertheless present on most implementations.  "
7240 "B<RLIMIT_MSGQUEUE>, B<RLIMIT_NICE>, B<RLIMIT_RTPRIO>, B<RLIMIT_RTTIME>, and "
7241 "B<RLIMIT_SIGPENDING> are Linux-specific."
7242 msgstr ""
7243 "B<RLIMIT_MEMLOCK> と B<RLIMIT_NPROC> は BSD から派生し、\n"
7244 "POSIX.1-2001 には指定されていない。\n"
7245 "これらは BSD 系と Linux に存在するが、他の実装は少ない。\n"
7246 "B<RLIMIT_RSS> は BSD から派生し、POSIX.1-2001 には指定されていない。\n"
7247 "それにも関わらず多くの実装で存在する。\n"
7248 "B<RLIMIT_MSGQUEUE>, B<RLIMIT_NICE>, B<RLIMIT_RTPRIO>, B<RLIMIT_RTTIME>,\n"
7249 "B<RLIMIT_SIGPENDING> は Linux 固有のものである。"
7250
7251 #. type: Plain text
7252 #: build/C/man2/getrlimit.2:502
7253 msgid ""
7254 "A child process created via B<fork>(2)  inherits its parent's resource "
7255 "limits.  Resource limits are preserved across B<execve>(2)."
7256 msgstr ""
7257 "B<fork>(2)  で作成された作成された子プロセスは、 親プロセスのリソース制限を継"
7258 "承する。 B<execve>(2)  の前後でリソース制限は保存される。"
7259
7260 #. type: Plain text
7261 #: build/C/man2/getrlimit.2:511
7262 msgid ""
7263 "One can set the resource limits of the shell using the built-in I<ulimit> "
7264 "command (I<limit> in B<csh>(1)).  The shell's resource limits are inherited "
7265 "by the processes that it creates to execute commands."
7266 msgstr ""
7267 "シェルのリソース制限は、シェルの組み込みコマンドである I<ulimit> (B<csh>(1)  "
7268 "では I<limit )> を使って設定することができる。 このシェルのリソース制限は、コ"
7269 "マンドを実行してシェルが生成するプロセス に引き継がれる。"
7270
7271 #. type: Plain text
7272 #: build/C/man2/getrlimit.2:516
7273 msgid ""
7274 "Since Linux 2.6.24, the resource limits of any process can be inspected via "
7275 "I</proc/[pid]/limits>; see B<proc>(5)."
7276 msgstr ""
7277
7278 #. type: Plain text
7279 #: build/C/man2/getrlimit.2:525
7280 msgid ""
7281 "Ancient systems provided a B<vlimit>()  function with a similar purpose to "
7282 "B<setrlimit>().  For backward compatibility, glibc also provides B<vlimit>"
7283 "().  All new applications should be written using B<setrlimit>()."
7284 msgstr ""
7285 "古いシステムでは、 B<setrlimit>()  と同様の目的を持つ関数 B<vlimit>()  が提供"
7286 "されていた。 後方互換性のため、glibc でも B<vlimit>()  を提供している。 全て"
7287 "の新しいアプリケーションでは、 B<setrlimit>()  を使用すべきである。"
7288
7289 #.  FIXME prlimit() does not suffer
7290 #.  https://bugzilla.kernel.org/show_bug.cgi?id=5042
7291 #.  http://sources.redhat.com/bugzilla/show_bug.cgi?id=12201
7292 #.  Since versions 2.13, glibc has library implementations of
7293 #.  getrlimit() and setrlimit() that use prlimit() to work around
7294 #.  this bug.
7295 #. type: Plain text
7296 #: build/C/man2/getrlimit.2:540
7297 msgid ""
7298 "In older Linux kernels, the B<SIGXCPU> and B<SIGKILL> signals delivered when "
7299 "a process encountered the soft and hard B<RLIMIT_CPU> limits were delivered "
7300 "one (CPU) second later than they should have been.  This was fixed in kernel "
7301 "2.6.8."
7302 msgstr ""
7303 "以前の Linux カーネルでは、プロセスがソフトまたはハード B<RLIMIT_CPU> リミッ"
7304 "トに達した場合に送られる B<SIGXCPU> と B<SIGKILL> シグナルが、本来送られるべ"
7305 "き時点の 1 (CPU) 秒後に送られてしまう。 これはカーネル 2.6.8 で修正された。"
7306
7307 #.  see http://marc.theaimsgroup.com/?l=linux-kernel&m=114008066530167&w=2
7308 #. type: Plain text
7309 #: build/C/man2/getrlimit.2:548
7310 msgid ""
7311 "In 2.6.x kernels before 2.6.17, a B<RLIMIT_CPU> limit of 0 is wrongly "
7312 "treated as \"no limit\" (like B<RLIM_INFINITY>).  Since Linux 2.6.17, "
7313 "setting a limit of 0 does have an effect, but is actually treated as a limit "
7314 "of 1 second."
7315 msgstr ""
7316 "2.6.17 より前の 2.6.x カーネルでは、 B<RLIMIT_CPU> リミットが 0 の場合、 "
7317 "(B<RLIM_INFINITY> と同じように) 「制限なし」と間違って解釈されていた。 Linux "
7318 "2.6.17 以降では、リミットを 0 に設定した場合にも 効果を持つようになっている"
7319 "が、実際にはリミットの値は 1 秒となる。"
7320
7321 #.  See https://lwn.net/Articles/145008/
7322 #. type: Plain text
7323 #: build/C/man2/getrlimit.2:553
7324 msgid ""
7325 "A kernel bug means that B<RLIMIT_RTPRIO> does not work in kernel 2.6.12; the "
7326 "problem is fixed in kernel 2.6.13."
7327 msgstr ""
7328 "カーネル 2.6.12 には、 B<RLIMIT_RTPRIO> が動作しないというバグがある。この問"
7329 "題はカーネル 2.6.13 で修正されている。"
7330
7331 #.  see http://marc.theaimsgroup.com/?l=linux-kernel&m=112256338703880&w=2
7332 #. type: Plain text
7333 #: build/C/man2/getrlimit.2:564
7334 msgid ""
7335 "In kernel 2.6.12, there was an off-by-one mismatch between the priority "
7336 "ranges returned by B<getpriority>(2)  and B<RLIMIT_NICE>.  This had the "
7337 "effect that the actual ceiling for the nice value was calculated as I<19\\ -"
7338 "\\ rlim_cur>.  This was fixed in kernel 2.6.13."
7339 msgstr ""
7340 "カーネル 2.6.12 では、 B<getpriority>(2)  と B<RLIMIT_NICE> が返す優先度の範"
7341 "囲が一つずれていた。このため、nice 値の実際の上限が I<19\\ -\\ rlim_cur> に"
7342 "なってしまうという影響があった。これはカーネル 2.6.13 で修正された。"
7343
7344 #.  The relevant patch, sent to LKML, seems to be
7345 #.  http://thread.gmane.org/gmane.linux.kernel/273462
7346 #.  From: Roland McGrath <roland <at> redhat.com>
7347 #.  Subject: [PATCH 7/7] make RLIMIT_CPU/SIGXCPU per-process
7348 #.  Date: 2005-01-23 23:27:46 GMT
7349 #.  Tested Solaris 10, FreeBSD 9, OpenBSD 5.0
7350 #.  FIXME https://bugzilla.kernel.org/show_bug.cgi?id=50951
7351 #. type: Plain text
7352 #: build/C/man2/getrlimit.2:591
7353 msgid ""
7354 "Since Linux 2.6.12, if a process reaches its soft B<RLIMIT_CPU> limit and "
7355 "has a handler installed for B<SIGXCPU>, then, in addition to invoking the "
7356 "signal handler, the kernel increases the soft limit by one second.  This "
7357 "behavior repeats if the process continues to consume CPU time, until the "
7358 "hard limit is reached, at which point the process is killed.  Other "
7359 "implementations do not change the B<RLIMIT_CPU> soft limit in this manner, "
7360 "and the Linux behavior is probably not standards conformant; portable "
7361 "applications should avoid relying on this Linux-specific behavior.  The "
7362 "Linux-specific B<RLIMIT_RTTIME> limit exhibits the same behavior when the "
7363 "soft limit is encountered."
7364 msgstr ""
7365
7366 #. type: Plain text
7367 #: build/C/man2/getrlimit.2:600
7368 msgid ""
7369 "Kernels before 2.4.22 did not diagnose the error B<EINVAL> for B<setrlimit>"
7370 "()  when I<rlim-E<gt>rlim_cur> was greater than I<rlim-E<gt>rlim_max>."
7371 msgstr ""
7372 "2.4.22 より前のカーネルでは、 I<rlim-E<gt>rlim_cur> が I<rlim-E<gt>rlim_max> "
7373 "より大きかった場合、 B<setrlimit>()  での B<EINVAL> エラーを検出できない。"
7374
7375 #. type: Plain text
7376 #: build/C/man2/getrlimit.2:603
7377 msgid "The program below demonstrates the use of B<prlimit>()."
7378 msgstr ""
7379
7380 #. type: Plain text
7381 #: build/C/man2/getrlimit.2:612
7382 #, no-wrap
7383 msgid ""
7384 "#define _GNU_SOURCE\n"
7385 "#define _FILE_OFFSET_BITS 64\n"
7386 "#include E<lt>stdio.hE<gt>\n"
7387 "#include E<lt>time.hE<gt>\n"
7388 "#include E<lt>stdlib.hE<gt>\n"
7389 "#include E<lt>unistd.hE<gt>\n"
7390 "#include E<lt>sys/resource.hE<gt>\n"
7391 msgstr ""
7392 "#define _GNU_SOURCE\n"
7393 "#define _FILE_OFFSET_BITS 64\n"
7394 "#include E<lt>stdio.hE<gt>\n"
7395 "#include E<lt>time.hE<gt>\n"
7396 "#include E<lt>stdlib.hE<gt>\n"
7397 "#include E<lt>unistd.hE<gt>\n"
7398 "#include E<lt>sys/resource.hE<gt>\n"
7399
7400 #. type: Plain text
7401 #: build/C/man2/getrlimit.2:615
7402 #, no-wrap
7403 msgid ""
7404 "#define errExit(msg) \tdo { perror(msg); exit(EXIT_FAILURE); \\e\n"
7405 "                        } while (0)\n"
7406 msgstr ""
7407 "#define errExit(msg) \tdo { perror(msg); exit(EXIT_FAILURE); \\e\n"
7408 "                        } while (0)\n"
7409
7410 #. type: Plain text
7411 #: build/C/man2/getrlimit.2:622
7412 #, no-wrap
7413 msgid ""
7414 "int\n"
7415 "main(int argc, char *argv[])\n"
7416 "{\n"
7417 "    struct rlimit old, new;\n"
7418 "    struct rlimit *newp;\n"
7419 "    pid_t pid;\n"
7420 msgstr ""
7421 "int\n"
7422 "main(int argc, char *argv[])\n"
7423 "{\n"
7424 "    struct rlimit old, new;\n"
7425 "    struct rlimit *newp;\n"
7426 "    pid_t pid;\n"
7427
7428 #. type: Plain text
7429 #: build/C/man2/getrlimit.2:628
7430 #, no-wrap
7431 msgid ""
7432 "    if (!(argc == 2 || argc == 4)) {\n"
7433 "        fprintf(stderr, \"Usage: %s E<lt>pidE<gt> [E<lt>new-soft-limitE<gt> \"\n"
7434 "                \"E<lt>new-hard-limitE<gt>]\\en\", argv[0]);\n"
7435 "        exit(EXIT_FAILURE);\n"
7436 "    }\n"
7437 msgstr ""
7438 "    if (!(argc == 2 || argc == 4)) {\n"
7439 "        fprintf(stderr, \"Usage: %s E<lt>pidE<gt> [E<lt>new-soft-limitE<gt> \"\n"
7440 "                \"E<lt>new-hard-limitE<gt>]\\en\", argv[0]);\n"
7441 "        exit(EXIT_FAILURE);\n"
7442 "    }\n"
7443
7444 #. type: Plain text
7445 #: build/C/man2/getrlimit.2:630
7446 #, no-wrap
7447 msgid "    pid = atoi(argv[1]);        /* PID of target process */\n"
7448 msgstr "    pid = atoi(argv[1]);        /* PID of target process */\n"
7449
7450 #. type: Plain text
7451 #: build/C/man2/getrlimit.2:637
7452 #, no-wrap
7453 msgid ""
7454 "    newp = NULL;\n"
7455 "    if (argc == 4) {\n"
7456 "        new.rlim_cur = atoi(argv[2]);\n"
7457 "        new.rlim_max = atoi(argv[3]);\n"
7458 "        newp = &new;\n"
7459 "    }\n"
7460 msgstr ""
7461 "    newp = NULL;\n"
7462 "    if (argc == 4) {\n"
7463 "        new.rlim_cur = atoi(argv[2]);\n"
7464 "        new.rlim_max = atoi(argv[3]);\n"
7465 "        newp = &new;\n"
7466 "    }\n"
7467
7468 #. type: Plain text
7469 #: build/C/man2/getrlimit.2:640
7470 #, no-wrap
7471 msgid ""
7472 "    /* Set CPU time limit of target process; retrieve and display\n"
7473 "       previous limit */\n"
7474 msgstr ""
7475 "    /* Set CPU time limit of target process; retrieve and display\n"
7476 "       previous limit */\n"
7477
7478 #. type: Plain text
7479 #: build/C/man2/getrlimit.2:645
7480 #, no-wrap
7481 msgid ""
7482 "    if (prlimit(pid, RLIMIT_CPU, newp, &old) == -1)\n"
7483 "        errExit(\"prlimit-1\");\n"
7484 "    printf(\"Previous limits: soft=%lld; hard=%lld\\en\",\n"
7485 "            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
7486 msgstr ""
7487 "    if (prlimit(pid, RLIMIT_CPU, newp, &old) == -1)\n"
7488 "        errExit(\"prlimit-1\");\n"
7489 "    printf(\"Previous limits: soft=%lld; hard=%lld\\en\",\n"
7490 "            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
7491
7492 #. type: Plain text
7493 #: build/C/man2/getrlimit.2:647
7494 #, no-wrap
7495 msgid "    /* Retrieve and display new CPU time limit */\n"
7496 msgstr "    /* Retrieve and display new CPU time limit */\n"
7497
7498 #. type: Plain text
7499 #: build/C/man2/getrlimit.2:652
7500 #, no-wrap
7501 msgid ""
7502 "    if (prlimit(pid, RLIMIT_CPU, NULL, &old) == -1)\n"
7503 "        errExit(\"prlimit-2\");\n"
7504 "    printf(\"New limits: soft=%lld; hard=%lld\\en\",\n"
7505 "            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
7506 msgstr ""
7507 "    if (prlimit(pid, RLIMIT_CPU, NULL, &old) == -1)\n"
7508 "        errExit(\"prlimit-2\");\n"
7509 "    printf(\"New limits: soft=%lld; hard=%lld\\en\",\n"
7510 "            (long long) old.rlim_cur, (long long) old.rlim_max);\n"
7511
7512 #. type: Plain text
7513 #: build/C/man2/getrlimit.2:655
7514 #, no-wrap
7515 msgid ""
7516 "    exit(EXIT_FAILURE);\n"
7517 "}\n"
7518 msgstr ""
7519 "    exit(EXIT_FAILURE);\n"
7520 "}\n"
7521
7522 #. type: Plain text
7523 #: build/C/man2/getrlimit.2:674
7524 #, fuzzy
7525 #| msgid ""
7526 #| "B<dup>(2), B<fcntl>(2), B<fork>(2), B<getrusage>(2), B<mlock>(2), B<mmap>"
7527 #| "(2), B<open>(2), B<quotactl>(2), B<sbrk>(2), B<shmctl>(2), B<malloc>(3), "
7528 #| "B<sigqueue>(3), B<ulimit>(3), B<core>(5), B<capabilities>(7), B<signal>(7)"
7529 msgid ""
7530 "B<prlimit>(1), B<dup>(2), B<fcntl>(2), B<fork>(2), B<getrusage>(2), B<mlock>"
7531 "(2), B<mmap>(2), B<open>(2), B<quotactl>(2), B<sbrk>(2), B<shmctl>(2), "
7532 "B<malloc>(3), B<sigqueue>(3), B<ulimit>(3), B<core>(5), B<capabilities>(7), "
7533 "B<signal>(7)"
7534 msgstr ""
7535 "B<dup>(2), B<fcntl>(2), B<fork>(2), B<getrusage>(2), B<mlock>(2), B<mmap>"
7536 "(2), B<open>(2), B<quotactl>(2), B<sbrk>(2), B<shmctl>(2), B<malloc>(3), "
7537 "B<sigqueue>(3), B<ulimit>(3), B<core>(5), B<capabilities>(7), B<signal>(7)"
7538
7539 #. type: TH
7540 #: build/C/man2/getrusage.2:39
7541 #, no-wrap
7542 msgid "GETRUSAGE"
7543 msgstr "GETRUSAGE"
7544
7545 #. type: TH
7546 #: build/C/man2/getrusage.2:39 build/C/man2/getsid.2:26
7547 #: build/C/man2/setpgid.2:48
7548 #, no-wrap
7549 msgid "2010-09-26"
7550 msgstr "2010-09-26"
7551
7552 #. type: Plain text
7553 #: build/C/man2/getrusage.2:42
7554 msgid "getrusage - get resource usage"
7555 msgstr "getrusage - 資源の使用量を取得する"
7556
7557 #. type: Plain text
7558 #: build/C/man2/getrusage.2:48
7559 msgid "B<int getrusage(int >I<who>B<, struct rusage *>I<usage>B<);>"
7560 msgstr "B<int getrusage(int >I<who>B<, struct rusage *>I<usage>B<);>"
7561
7562 #. type: Plain text
7563 #: build/C/man2/getrusage.2:54
7564 msgid ""
7565 "B<getrusage>()  returns resource usage measures for I<who>, which can be one "
7566 "of the following:"
7567 msgstr ""
7568 "B<getrusage>()  は I<who> の資源 (resource) の使用量を返す。 I<who> には以下"
7569 "のいずれか一つを指定できる。"
7570
7571 #. type: TP
7572 #: build/C/man2/getrusage.2:54
7573 #, no-wrap
7574 msgid "B<RUSAGE_SELF>"
7575 msgstr "B<RUSAGE_SELF>"
7576
7577 #. type: Plain text
7578 #: build/C/man2/getrusage.2:58
7579 msgid ""
7580 "Return resource usage statistics for the calling process, which is the sum "
7581 "of resources used by all threads in the process."
7582 msgstr ""
7583 "呼び出したプロセスの資源使用量、 そのプロセス内の全スレッドが使用している資源"
7584 "の合計を返す。"
7585
7586 #. type: TP
7587 #: build/C/man2/getrusage.2:58
7588 #, no-wrap
7589 msgid "B<RUSAGE_CHILDREN>"
7590 msgstr "B<RUSAGE_CHILDREN>"
7591
7592 #. type: Plain text
7593 #: build/C/man2/getrusage.2:65
7594 msgid ""
7595 "Return resource usage statistics for all children of the calling process "
7596 "that have terminated and been waited for.  These statistics will include the "
7597 "resources used by grandchildren, and further removed descendants, if all of "
7598 "the intervening descendants waited on their terminated children."
7599 msgstr ""
7600 "呼び出したプロセスの子プロセスのうち、 終了して待ち状態にある全プロセスが使用"
7601 "している資源使用量の統計を返す。 これらの統計情報には、孫プロセスやその子孫の"
7602 "プロセスのうち、 削除待ちのものが使用している資源も含まれる。"
7603
7604 #. type: TP
7605 #: build/C/man2/getrusage.2:65
7606 #, no-wrap
7607 msgid "B<RUSAGE_THREAD> (since Linux 2.6.26)"
7608 msgstr "B<RUSAGE_THREAD> (Linux 2.6.26 以降)"
7609
7610 #. type: Plain text
7611 #: build/C/man2/getrusage.2:68
7612 msgid "Return resource usage statistics for the calling thread."
7613 msgstr "呼び出したスレッドに関する資源使用量の統計を返す。"
7614
7615 #. type: Plain text
7616 #: build/C/man2/getrusage.2:72
7617 msgid ""
7618 "The resource usages are returned in the structure pointed to by I<usage>, "
7619 "which has the following form:"
7620 msgstr ""
7621 "資源使用量は I<usage> が指す構造体に格納されて返される。 構造体は以下の形式で"
7622 "ある。"
7623
7624 #. type: Plain text
7625 #: build/C/man2/getrusage.2:93
7626 #, no-wrap
7627 msgid ""
7628 "struct rusage {\n"
7629 "    struct timeval ru_utime; /* user CPU time used */\n"
7630 "    struct timeval ru_stime; /* system CPU time used */\n"
7631 "    long   ru_maxrss;        /* maximum resident set size */\n"
7632 "    long   ru_ixrss;         /* integral shared memory size */\n"
7633 "    long   ru_idrss;         /* integral unshared data size */\n"
7634 "    long   ru_isrss;         /* integral unshared stack size */\n"
7635 "    long   ru_minflt;        /* page reclaims (soft page faults) */\n"
7636 "    long   ru_majflt;        /* page faults (hard page faults) */\n"
7637 "    long   ru_nswap;         /* swaps */\n"
7638 "    long   ru_inblock;       /* block input operations */\n"
7639 "    long   ru_oublock;       /* block output operations */\n"
7640 "    long   ru_msgsnd;        /* IPC messages sent */\n"
7641 "    long   ru_msgrcv;        /* IPC messages received */\n"
7642 "    long   ru_nsignals;      /* signals received */\n"
7643 "    long   ru_nvcsw;         /* voluntary context switches */\n"
7644 "    long   ru_nivcsw;        /* involuntary context switches */\n"
7645 "};\n"
7646 msgstr ""
7647 "struct rusage {\n"
7648 "    struct timeval ru_utime; /* 使用されたユーザー CPU 時間 */\n"
7649 "    struct timeval ru_stime; /* 使用されたシステム CPU 時間 */\n"
7650 "    long   ru_maxrss;        /* RAM 上に存在する仮想ページのサイズ\n"
7651 "                               (resident set size) の最大値 */\n"
7652 "    long   ru_ixrss;         /* 共有メモリの合計サイズ */\n"
7653 "    long   ru_idrss;         /* 非共有データの合計サイズ */\n"
7654 "    long   ru_isrss;         /* 非共有スタックの合計サイズ */\n"
7655 "    long   ru_minflt;        /* ページの再利用 (ソフトページフォルト) */\n"
7656 "    long   ru_majflt;        /* ページフォールト (ハードページフォルト) */\n"
7657 "    long   ru_nswap;         /* スワップ */\n"
7658 "    long   ru_inblock;       /* ブロック入力操作 */\n"
7659 "    long   ru_oublock;       /* ブロック出力操作 */\n"
7660 "    long   ru_msgsnd;        /* 送信された IPC メッセージ */\n"
7661 "    long   ru_msgrcv;        /* 受信された IPC メッセージ */\n"
7662 "    long   ru_nsignals;      /* 受信されたシグナル */\n"
7663 "    long   ru_nvcsw;         /* 意図したコンテキスト切り替え */\n"
7664 "    long   ru_nivcsw;        /* 意図しないコンテキスト切り替え */\n"
7665 "};\n"
7666
7667 #. type: Plain text
7668 #: build/C/man2/getrusage.2:101
7669 msgid ""
7670 "Not all fields are completed; unmaintained fields are set to zero by the "
7671 "kernel.  (The unmaintained fields are provided for compatibility with other "
7672 "systems, and because they may one day be supported on Linux.)  The fields "
7673 "are interpreted as follows:"
7674 msgstr ""
7675
7676 #. type: TP
7677 #: build/C/man2/getrusage.2:101
7678 #, no-wrap
7679 msgid "I<ru_utime>"
7680 msgstr "I<ru_utime>"
7681
7682 #. type: Plain text
7683 #: build/C/man2/getrusage.2:107
7684 msgid ""
7685 "This is the total amount of time spent executing in user mode, expressed in "
7686 "a I<timeval> structure (seconds plus microseconds)."
7687 msgstr ""
7688
7689 #. type: TP
7690 #: build/C/man2/getrusage.2:107
7691 #, no-wrap
7692 msgid "I<ru_stime>"
7693 msgstr "I<ru_stime>"
7694
7695 #. type: Plain text
7696 #: build/C/man2/getrusage.2:113
7697 msgid ""
7698 "This is the total amount of time spent executing in kernel mode, expressed "
7699 "in a I<timeval> structure (seconds plus microseconds)."
7700 msgstr ""
7701
7702 #. type: TP
7703 #: build/C/man2/getrusage.2:113
7704 #, no-wrap
7705 msgid "I<ru_maxrss> (since Linux 2.6.32)"
7706 msgstr "I<ru_maxrss> (Linux 2.6.32 以降)"
7707
7708 #. type: Plain text
7709 #: build/C/man2/getrusage.2:119
7710 msgid ""
7711 "This is the maximum resident set size used (in kilobytes). For "
7712 "B<RUSAGE_CHILDREN>, this is the resident set size of the largest child, not "
7713 "the maximum resident set size of the process tree."
7714 msgstr ""
7715
7716 #. type: TP
7717 #: build/C/man2/getrusage.2:119
7718 #, no-wrap
7719 msgid "I<ru_ixrss> (unmaintained)"
7720 msgstr ""
7721
7722 #.  On some systems, this field records the number of signals received.
7723 #. type: Plain text
7724 #: build/C/man2/getrusage.2:125 build/C/man2/getrusage.2:130
7725 #: build/C/man2/getrusage.2:135 build/C/man2/getrusage.2:147
7726 #: build/C/man2/getrusage.2:159 build/C/man2/getrusage.2:165
7727 #: build/C/man2/getrusage.2:169
7728 msgid "This field is currently unused on Linux."
7729 msgstr ""
7730
7731 #. type: TP
7732 #: build/C/man2/getrusage.2:125
7733 #, no-wrap
7734 msgid "I<ru_idrss> (unmaintained)"
7735 msgstr ""
7736
7737 #. type: TP
7738 #: build/C/man2/getrusage.2:130
7739 #, no-wrap
7740 msgid "I<ru_isrss> (unmaintained)"
7741 msgstr ""
7742
7743 #. type: TP
7744 #: build/C/man2/getrusage.2:135
7745 #, no-wrap
7746 msgid "I<ru_minflt>"
7747 msgstr "I<ru_minflt>"
7748
7749 #. type: Plain text
7750 #: build/C/man2/getrusage.2:140
7751 msgid ""
7752 "The number of page faults serviced without any I/O activity; here I/O "
7753 "activity is avoided by ``reclaiming'' a page frame from the list of pages "
7754 "awaiting reallocation."
7755 msgstr ""
7756
7757 #. type: TP
7758 #: build/C/man2/getrusage.2:140
7759 #, no-wrap
7760 msgid "I<ru_majflt>"
7761 msgstr "I<ru_majflt>"
7762
7763 #. type: Plain text
7764 #: build/C/man2/getrusage.2:143
7765 msgid "The number of page faults serviced that required I/O activity."
7766 msgstr ""
7767
7768 #. type: TP
7769 #: build/C/man2/getrusage.2:143
7770 #, no-wrap
7771 msgid "I<ru_nswap> (unmaintained)"
7772 msgstr ""
7773
7774 #. type: TP
7775 #: build/C/man2/getrusage.2:147
7776 #, no-wrap
7777 msgid "I<ru_inblock> (since Linux 2.6.22)"
7778 msgstr "I<ru_inblock> (Linux 2.6.22 以降)"
7779
7780 #. type: Plain text
7781 #: build/C/man2/getrusage.2:150
7782 msgid "The number of times the file system had to perform input."
7783 msgstr ""
7784
7785 #. type: TP
7786 #: build/C/man2/getrusage.2:150
7787 #, no-wrap
7788 msgid "I<ru_oublock> (since Linux 2.6.22)"
7789 msgstr "I<ru_oublock> (Linux 2.6.22 以降)"
7790
7791 #. type: Plain text
7792 #: build/C/man2/getrusage.2:153
7793 msgid "The number of times the file system had to perform output."
7794 msgstr ""
7795
7796 #. type: TP
7797 #: build/C/man2/getrusage.2:153
7798 #, no-wrap
7799 msgid "I<ru_msgsnd> (unmaintained)"
7800 msgstr ""
7801
7802 #. type: TP
7803 #: build/C/man2/getrusage.2:159
7804 #, no-wrap
7805 msgid "I<ru_msgrcv> (unmaintained)"
7806 msgstr ""
7807
7808 #. type: TP
7809 #: build/C/man2/getrusage.2:165
7810 #, no-wrap
7811 msgid "I<ru_nsignals> (unmaintained)"
7812 msgstr ""
7813
7814 #. type: TP
7815 #: build/C/man2/getrusage.2:169
7816 #, no-wrap
7817 msgid "I<ru_nvcsw> (since Linux 2.6)"
7818 msgstr "I<ru_nvcsw> (Linux 2.6 以降)"
7819
7820 #. type: Plain text
7821 #: build/C/man2/getrusage.2:174
7822 msgid ""
7823 "The number of times a context switch resulted due to a process voluntarily "
7824 "giving up the processor before its time slice was completed (usually to "
7825 "await availability of a resource)."
7826 msgstr ""
7827
7828 #. type: TP
7829 #: build/C/man2/getrusage.2:174
7830 #, no-wrap
7831 msgid "I<ru_nivcsw> (since Linux 2.6)"
7832 msgstr "I<memory_migrate> (Linux 2.6.16 以降)"
7833
7834 #. type: Plain text
7835 #: build/C/man2/getrusage.2:179
7836 msgid ""
7837 "The number of times a context switch resulted due to a higher priority "
7838 "process becoming runnable or because the current process exceeded its time "
7839 "slice."
7840 msgstr ""
7841
7842 #. type: Plain text
7843 #: build/C/man2/getrusage.2:190
7844 msgid "I<usage> points outside the accessible address space."
7845 msgstr "I<usage> がアクセス可能なアドレス空間の外を指している。"
7846
7847 #. type: Plain text
7848 #: build/C/man2/getrusage.2:194
7849 msgid "I<who> is invalid."
7850 msgstr "I<who> が無効である。"
7851
7852 #. type: Plain text
7853 #: build/C/man2/getrusage.2:202
7854 msgid ""
7855 "SVr4, 4.3BSD.  POSIX.1-2001 specifies B<getrusage>(), but only specifies the "
7856 "fields I<ru_utime> and I<ru_stime>."
7857 msgstr ""
7858 "SVr4, 4.3BSD.  POSIX.1-2001 は B<getrusage>()  を規定しているが、規定している"
7859 "フィールドは I<ru_utime> と I<ru_stime> だけである。"
7860
7861 #. type: Plain text
7862 #: build/C/man2/getrusage.2:205
7863 msgid "B<RUSAGE_THREAD> is Linux-specific."
7864 msgstr "B<RUSAGE_THREAD> は Linux 固有である。"
7865
7866 #. type: Plain text
7867 #: build/C/man2/getrusage.2:208
7868 msgid "Resource usage metrics are preserved across an B<execve>(2)."
7869 msgstr "B<execve>(2)  の前後でリソース使用量の指標は保持される。"
7870
7871 #. type: Plain text
7872 #: build/C/man2/getrusage.2:216
7873 msgid ""
7874 "Including I<E<lt>sys/time.hE<gt>> is not required these days, but increases "
7875 "portability.  (Indeed, I<struct timeval> is defined in I<E<lt>sys/time."
7876 "hE<gt>>.)"
7877 msgstr ""
7878 "今日では I<E<lt>sys/time.hE<gt>> をインクルードする必要はないが、 インクルー"
7879 "ドしておけば移植性が増す。 (実際 I<struct timeval> は I<E<lt>sys/time."
7880 "hE<gt>> で定義されている。)"
7881
7882 #.  See the description of getrusage() in XSH.
7883 #.  A similar statement was also in SUSv2.
7884 #. type: Plain text
7885 #: build/C/man2/getrusage.2:228
7886 msgid ""
7887 "In Linux kernel versions before 2.6.9, if the disposition of B<SIGCHLD> is "
7888 "set to B<SIG_IGN> then the resource usages of child processes are "
7889 "automatically included in the value returned by B<RUSAGE_CHILDREN>, although "
7890 "POSIX.1-2001 explicitly prohibits this.  This nonconformance is rectified in "
7891 "Linux 2.6.9 and later."
7892 msgstr ""
7893 "2.6.9 より前のバージョンの Linux カーネルでは、 B<SIGCHLD> の処理が "
7894 "B<SIG_IGN> に設定されていると、 子プロセスのリソース使用量が "
7895 "B<RUSAGE_CHILDREN> で返される値に自動的に含められる。 しかし POSIX.1-2001 で"
7896 "は、これを明確に禁止している。 この準拠していなかった点は、Linux 2.6.9 以降で"
7897 "改正された。"
7898
7899 #. type: Plain text
7900 #: build/C/man2/getrusage.2:231
7901 msgid ""
7902 "The structure definition shown at the start of this page was taken from "
7903 "4.3BSD Reno."
7904 msgstr ""
7905
7906 #. type: Plain text
7907 #: build/C/man2/getrusage.2:240
7908 msgid ""
7909 "Ancient systems provided a B<vtimes>()  function with a similar purpose to "
7910 "B<getrusage>().  For backward compatibility, glibc also provides B<vtimes>"
7911 "().  All new applications should be written using B<getrusage>()."
7912 msgstr ""
7913 "古いシステムでは、 B<getrusage>() と同様の目的を持つ関数 B<vtimes>() が提供\n"
7914 "されていた。後方互換性のため、glibc でも B<vtimes>() を提供している。\n"
7915 "全ての新しいアプリケーションでは B<getrusage>() を使用すべきである。"
7916
7917 #. type: Plain text
7918 #: build/C/man2/getrusage.2:245
7919 msgid "See also the description of I</proc/PID/stat> in B<proc>(5)."
7920 msgstr "B<proc>(5)  にある I</proc/PID/stat> の説明も参照のこと。"
7921
7922 #. type: Plain text
7923 #: build/C/man2/getrusage.2:252
7924 msgid ""
7925 "B<clock_gettime>(2), B<getrlimit>(2), B<times>(2), B<wait>(2), B<wait4>(2), "
7926 "B<clock>(3)"
7927 msgstr ""
7928 "B<clock_gettime>(2), B<getrlimit>(2), B<times>(2), B<wait>(2), B<wait4>(2), "
7929 "B<clock>(3)"
7930
7931 #. type: TH
7932 #: build/C/man2/getsid.2:26
7933 #, no-wrap
7934 msgid "GETSID"
7935 msgstr "GETSID"
7936
7937 #. type: Plain text
7938 #: build/C/man2/getsid.2:29
7939 msgid "getsid - get session ID"
7940 msgstr "getsid - セッション ID を取得する。"
7941
7942 #. type: Plain text
7943 #: build/C/man2/getsid.2:33
7944 msgid "B<pid_t getsid(pid_t>I< pid>B<);>"
7945 msgstr "B<pid_t getsid(pid_t>I< pid>B<);>"
7946
7947 #. type: Plain text
7948 #: build/C/man2/getsid.2:42
7949 msgid "B<getsid>():"
7950 msgstr "B<getsid>():"
7951
7952 #. type: Plain text
7953 #: build/C/man2/getsid.2:45 build/C/man2/setpgid.2:79
7954 msgid ""
7955 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
7956 msgstr ""
7957 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
7958
7959 #. type: Plain text
7960 #: build/C/man2/getsid.2:47 build/C/man2/setpgid.2:81
7961 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
7962 msgstr "|| /* glibc 2.12 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
7963
7964 #. type: Plain text
7965 #: build/C/man2/getsid.2:58
7966 msgid ""
7967 "I<getsid(0)> returns the session ID of the calling process.  I<getsid(p)> "
7968 "returns the session ID of the process with process ID I<p>.  (The session ID "
7969 "of a process is the process group ID of the session leader.)"
7970 msgstr ""
7971 "I<getsid(0)> は呼び出し元のプロセスのセッション ID を返す。 I<getsid(p)> はプ"
7972 "ロセス ID I<p> を持つプロセスのセッション ID を返す (プロセスのセッション ID "
7973 "は セッションリーダーのプロセスグループ ID である)。"
7974
7975 #. type: Plain text
7976 #: build/C/man2/getsid.2:63
7977 msgid ""
7978 "On success, a session ID is returned.  On error, I<(pid_t)\\ -1> will be "
7979 "returned, and I<errno> is set appropriately."
7980 msgstr ""
7981 "成功すると、セッション ID が返される。 エラーの場合、I<(pid_t) -1> が返さ"
7982 "れ、 I<errno> が適切に設定される。"
7983
7984 #. type: Plain text
7985 #: build/C/man2/getsid.2:70
7986 msgid ""
7987 "A process with process ID I<p> exists, but it is not in the same session as "
7988 "the calling process, and the implementation considers this an error."
7989 msgstr ""
7990 "プロセス ID I<p> のプロセスは存在するが、呼び出し元のプロセスと同じセッション"
7991 "ではなく、 さらに実装がこの状態をエラーと判断した場合。"
7992
7993 #. type: Plain text
7994 #: build/C/man2/getsid.2:75
7995 msgid "No process with process ID I<p> was found."
7996 msgstr "プロセス ID が I<p> のプロセスがない。"
7997
7998 #.  Linux has this system call since Linux 1.3.44.
7999 #.  There is libc support since libc 5.2.19.
8000 #. type: Plain text
8001 #: build/C/man2/getsid.2:79
8002 msgid "This system call is available on Linux since version 2.0."
8003 msgstr "このシステムコールは Linux バージョン 2.0 以降で利用可能である。"
8004
8005 #. type: Plain text
8006 #: build/C/man2/getsid.2:81 build/C/man2/setgid.2:68 build/C/man2/setsid.2:67
8007 msgid "SVr4, POSIX.1-2001."
8008 msgstr "SVr4, POSIX.1-2001."
8009
8010 #. type: Plain text
8011 #: build/C/man2/getsid.2:84
8012 msgid "Linux does not return B<EPERM>."
8013 msgstr "Linux は B<EPERM> を返さない。"
8014
8015 #. type: Plain text
8016 #: build/C/man2/getsid.2:88
8017 msgid "B<getpgid>(2), B<setsid>(2), B<credentials>(7)"
8018 msgstr "B<getpgid>(2), B<setsid>(2), B<credentials>(7)"
8019
8020 #. type: TH
8021 #: build/C/man2/getuid.2:26
8022 #, no-wrap
8023 msgid "GETUID"
8024 msgstr "GETUID"
8025
8026 #. type: Plain text
8027 #: build/C/man2/getuid.2:29
8028 msgid "getuid, geteuid - get user identity"
8029 msgstr "getuid, geteuid - ユーザー ID を得る"
8030
8031 #. type: Plain text
8032 #: build/C/man2/getuid.2:35
8033 msgid "B<uid_t getuid(void);>"
8034 msgstr "B<uid_t getuid(void);>"
8035
8036 #. type: Plain text
8037 #: build/C/man2/getuid.2:37
8038 msgid "B<uid_t geteuid(void);>"
8039 msgstr "B<uid_t geteuid(void);>"
8040
8041 #. type: Plain text
8042 #: build/C/man2/getuid.2:40
8043 msgid "B<getuid>()  returns the real user ID of the calling process."
8044 msgstr "B<getuid>()  は呼び出し元のプロセスの実ユーザー ID を返す。"
8045
8046 #. type: Plain text
8047 #: build/C/man2/getuid.2:43
8048 msgid "B<geteuid>()  returns the effective user ID of the calling process."
8049 msgstr "B<geteuid>()  は呼び出し元のプロセスの実効ユーザー ID を返す。"
8050
8051 #. type: SS
8052 #: build/C/man2/getuid.2:48
8053 #, no-wrap
8054 msgid "History"
8055 msgstr "歴史"
8056
8057 #. type: Plain text
8058 #: build/C/man2/getuid.2:57
8059 msgid ""
8060 "In UNIX V6 the B<getuid>()  call returned I<(euid E<lt>E<lt> 8) + uid>.  "
8061 "UNIX V7 introduced separate calls B<getuid>()  and B<geteuid>()."
8062 msgstr ""
8063 "UNIX V6 では B<getuid>()  コールは I<(euid E<lt>E<lt> 8) + uid> を返してい"
8064 "た。 UNIX V7 では B<getuid>()  と B<geteuid>()  という別々のコールが導入され"
8065 "た。"
8066
8067 #. type: Plain text
8068 #: build/C/man2/getuid.2:73
8069 msgid ""
8070 "The original Linux B<getuid>()  and B<geteuid>()  system calls supported "
8071 "only 16-bit user IDs.  Subsequently, Linux 2.4 added B<getuid32>()  and "
8072 "B<geteuid32>(), supporting 32-bit IDs.  The glibc B<getuid>()  and B<geteuid>"
8073 "()  wrapper functions transparently deal with the variations across kernel "
8074 "versions."
8075 msgstr ""
8076 "元々の Linux の B<getuid>() と B<geteuid>() システムコールは\n"
8077 "16 ビットのグループ ID だけに対応していた。\n"
8078 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
8079 "B<getuid32>() と B<geteuid32>() が追加された。\n"
8080 "glibc の B<getuid>() と B<geteuid>() のラッパー関数は\n"
8081 "カーネルバージョンによるこの違いを吸収している。"
8082
8083 #. type: Plain text
8084 #: build/C/man2/getuid.2:78
8085 msgid "B<getresuid>(2), B<setreuid>(2), B<setuid>(2), B<credentials>(7)"
8086 msgstr "B<getresuid>(2), B<setreuid>(2), B<setuid>(2), B<credentials>(7)"
8087
8088 #. type: TH
8089 #: build/C/man2/iopl.2:33
8090 #, no-wrap
8091 msgid "IOPL"
8092 msgstr "IOPL"
8093
8094 #. type: TH
8095 #: build/C/man2/iopl.2:33
8096 #, no-wrap
8097 msgid "2013-03-15"
8098 msgstr ""
8099
8100 #. type: Plain text
8101 #: build/C/man2/iopl.2:36
8102 msgid "iopl - change I/O privilege level"
8103 msgstr "iopl - I/O 特権レベルを変更する"
8104
8105 #. type: Plain text
8106 #: build/C/man2/iopl.2:38
8107 msgid "B<#include E<lt>sys/io.hE<gt>>"
8108 msgstr "B<#include E<lt>sys/io.hE<gt>>"
8109
8110 #. type: Plain text
8111 #: build/C/man2/iopl.2:40
8112 msgid "B<int iopl(int >I<level>B<);>"
8113 msgstr "B<int iopl(int >I<level>B<);>"
8114
8115 #. type: Plain text
8116 #: build/C/man2/iopl.2:45
8117 #, fuzzy
8118 #| msgid ""
8119 #| "B<iopl>()  changes the I/O privilege level of the calling process, as "
8120 #| "specified in I<level>."
8121 msgid ""
8122 "B<iopl>()  changes the I/O privilege level of the calling process, as "
8123 "specified by the two least significant bits in I<level>."
8124 msgstr ""
8125 "B<iopl>()  は呼び出し元のプロセスの I/O 特権レベルを I<level> で指定した値に"
8126 "変更する。"
8127
8128 #. type: Plain text
8129 #: build/C/man2/iopl.2:51
8130 msgid ""
8131 "This call is necessary to allow 8514-compatible X servers to run under "
8132 "Linux.  Since these X servers require access to all 65536 I/O ports, the "
8133 "B<ioperm>(2)  call is not sufficient."
8134 msgstr ""
8135 "この関数は 8514 互換の X サーバを Linux で動作させるために必要である。 なぜな"
8136 "らこの X サーバは 65536 個の I/O ポート全てへのアクセスを要求するので "
8137 "B<ioperm>(2)  関数では不十分だからである。"
8138
8139 #. type: Plain text
8140 #: build/C/man2/iopl.2:55
8141 msgid ""
8142 "In addition to granting unrestricted I/O port access, running at a higher I/"
8143 "O privilege level also allows the process to disable interrupts.  This will "
8144 "probably crash the system, and is not recommended."
8145 msgstr ""
8146 "より高い I/O 特権レベルでの動作をさせることによって I/O ポートアクセスの制限"
8147 "を解除することに加えて、プロセスが割り込みを 無効にすることもできるようにな"
8148 "る。この機能は時としてシステムの破壊を もたらすので勧められない。"
8149
8150 #. type: Plain text
8151 #: build/C/man2/iopl.2:60
8152 msgid "Permissions are inherited by B<fork>(2)  and B<execve>(2)."
8153 msgstr "B<fork>(2)  や B<exec>(2)  を行った場合、特権は継承される。"
8154
8155 #. type: Plain text
8156 #: build/C/man2/iopl.2:62
8157 msgid "The I/O privilege level for a normal process is 0."
8158 msgstr "通常のプロセスの I/O 特権レベルは 0 である。"
8159
8160 #. type: Plain text
8161 #: build/C/man2/iopl.2:66
8162 msgid ""
8163 "This call is mostly for the i386 architecture.  On many other architectures "
8164 "it does not exist or will always return an error."
8165 msgstr ""
8166 "このシステムコールはほとんど i386 アーキテクチャのためだけのものである。 その"
8167 "他の多くのアーキテクチャでは存在しないか、常にエラーを返す。"
8168
8169 #. type: Plain text
8170 #: build/C/man2/iopl.2:76
8171 msgid "I<level> is greater than 3."
8172 msgstr "引き数 I<level> が 3 より大きい。"
8173
8174 #. type: Plain text
8175 #: build/C/man2/iopl.2:79
8176 msgid "This call is unimplemented."
8177 msgstr "このシステムコールは実装されていない。"
8178
8179 #. type: Plain text
8180 #: build/C/man2/iopl.2:87
8181 #, fuzzy
8182 #| msgid ""
8183 #| "The calling process has insufficient privilege to call B<iopl>(); the "
8184 #| "B<CAP_SYS_RAWIO> capability is required."
8185 msgid ""
8186 "The calling process has insufficient privilege to call B<iopl>(); the "
8187 "B<CAP_SYS_RAWIO> capability is required to raise the I/O privilege level "
8188 "above its current value."
8189 msgstr ""
8190 "呼び出し元プロセスに B<iopl>()  を呼び出すのに十分な権限がなかった。 B<iopl>"
8191 "()  を呼び出すには B<CAP_SYS_RAWIO> ケーパビリティが必要である。"
8192
8193 #. type: Plain text
8194 #: build/C/man2/iopl.2:91
8195 #, fuzzy
8196 #| msgid ""
8197 #| "B<ipc>()  is Linux-specific, and should not be used in programs intended "
8198 #| "to be portable."
8199 msgid ""
8200 "B<iopl>()  is Linux-specific and should not be used in programs that are "
8201 "intended to be portable."
8202 msgstr ""
8203 "B<ipc>()  は Linux 特有であり、 移植を意図したプログラムでは 使用してはいけな"
8204 "い。"
8205
8206 #. type: Plain text
8207 #: build/C/man2/iopl.2:100
8208 msgid ""
8209 "Libc5 treats it as a system call and has a prototype in I<E<lt>unistd."
8210 "hE<gt>>.  Glibc1 does not have a prototype.  Glibc2 has a prototype both in "
8211 "I<E<lt>sys/io.hE<gt>> and in I<E<lt>sys/perm.hE<gt>>.  Avoid the latter, it "
8212 "is available on i386 only."
8213 msgstr ""
8214 "libc5 ではシステムコールとして扱い I<E<lt>unistd.hE<gt>> にプロトタイプが存在"
8215 "している。 glibc1 にはプロトタイプは存在していない。 glibc2 は I<E<lt>sys/io."
8216 "hE<gt>> と I<E<lt>sys/perm.hE<gt>> の両方にプロトタイプを持っている。 後者は "
8217 "i386 のみで利用可能なので、使用すべきではない。"
8218
8219 #. type: Plain text
8220 #: build/C/man2/iopl.2:104
8221 #, fuzzy
8222 #| msgid "B<ioperm>(2), B<capabilities>(7)"
8223 msgid "B<ioperm>(2), B<outb>(2), B<capabilities>(7)"
8224 msgstr "B<ioperm>(2), B<capabilities>(7)"
8225
8226 #. type: TH
8227 #: build/C/man2/ioprio_set.2:24
8228 #, no-wrap
8229 msgid "IOPRIO_SET"
8230 msgstr "IOPRIO_SET"
8231
8232 #. type: Plain text
8233 #: build/C/man2/ioprio_set.2:27
8234 msgid "ioprio_get, ioprio_set - get/set I/O scheduling class and priority"
8235 msgstr "ioprio_get, ioprio_set - I/O スケジューリングクラスと優先度の設定/取得"
8236
8237 #. type: Plain text
8238 #: build/C/man2/ioprio_set.2:31
8239 #, no-wrap
8240 msgid ""
8241 "B<int ioprio_get(int >I<which>B<, int >I<who>B<);>\n"
8242 "B<int ioprio_set(int >I<which>B<, int >I<who>B<, int >I<ioprio>B<);>\n"
8243 msgstr ""
8244 "B<int ioprio_get(int >I<which>B<, int >I<who>B<);>\n"
8245 "B<int ioprio_set(int >I<which>B<, int >I<who>B<, int >I<ioprio>B<);>\n"
8246
8247 #. type: Plain text
8248 #: build/C/man2/ioprio_set.2:35
8249 msgid "I<Note>: There are no glibc wrappers for these system calls; see NOTES."
8250 msgstr ""
8251
8252 #. type: Plain text
8253 #: build/C/man2/ioprio_set.2:42
8254 #, fuzzy
8255 #| msgid ""
8256 #| "The B<ioprio_get>()  and B<ioprio_set>()  system calls respectively get "
8257 #| "and set the I/O scheduling class and priority of one or more processes."
8258 msgid ""
8259 "The B<ioprio_get>()  and B<ioprio_set>()  system calls respectively get and "
8260 "set the I/O scheduling class and priority of one or more threads."
8261 msgstr ""
8262 "システムコール B<ioprio_get>()  / B<ioprio_set>()  は、(1つ以上の) プロセス"
8263 "の I/O スケジューリングクラスと 優先度の取得/設定を行う。"
8264
8265 #. type: Plain text
8266 #: build/C/man2/ioprio_set.2:54
8267 #, fuzzy
8268 #| msgid ""
8269 #| "The I<which> and I<who> arguments identify the process(es) on which the "
8270 #| "system calls operate.  The I<which> argument determines how I<who> is "
8271 #| "interpreted, and has one of the following values:"
8272 msgid ""
8273 "The I<which> and I<who> arguments identify the thread(s) on which the system "
8274 "calls operate.  The I<which> argument determines how I<who> is interpreted, "
8275 "and has one of the following values:"
8276 msgstr ""
8277 "I<which> と I<who> 引き数でシステムコールの操作対象となるプロセスを指示す"
8278 "る。 I<which> 引き数は、 I<who> をどのように解釈するかを決めるもので、以下の"
8279 "いずれか一つを指定する。"
8280
8281 #. type: TP
8282 #: build/C/man2/ioprio_set.2:54
8283 #, no-wrap
8284 msgid "B<IOPRIO_WHO_PROCESS>"
8285 msgstr "B<IOPRIO_WHO_PROCESS>"
8286
8287 #. type: Plain text
8288 #: build/C/man2/ioprio_set.2:61
8289 msgid ""
8290 "I<who> is a process ID or thread ID identifying a single process or thread.  "
8291 "If I<who> is 0, then operate on the calling thread."
8292 msgstr ""
8293
8294 #. type: TP
8295 #: build/C/man2/ioprio_set.2:61
8296 #, no-wrap
8297 msgid "B<IOPRIO_WHO_PGRP>"
8298 msgstr "B<IOPRIO_WHO_PGRP>"
8299
8300 #. type: Plain text
8301 #: build/C/man2/ioprio_set.2:68
8302 #, fuzzy
8303 #| msgid ""
8304 #| "I<who> is a process group ID identifying all the members of a process "
8305 #| "group."
8306 msgid ""
8307 "I<who> is a process group ID identifying all the members of a process "
8308 "group.  If I<who> is 0, then operate on the process group of which the "
8309 "caller is a member."
8310 msgstr ""
8311 "I<who> はプロセスグループID であり、プロセスグループの全メンバが対象となる。"
8312
8313 #. type: TP
8314 #: build/C/man2/ioprio_set.2:68
8315 #, no-wrap
8316 msgid "B<IOPRIO_WHO_USER>"
8317 msgstr "B<IOPRIO_WHO_USER>"
8318
8319 #.  FIXME who==0 needs to be documented,
8320 #.  See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=652443
8321 #. type: Plain text
8322 #: build/C/man2/ioprio_set.2:75
8323 msgid ""
8324 "I<who> is a user ID identifying all of the processes that have a matching "
8325 "real UID."
8326 msgstr "I<who> はユーザID であり、実 UID に一致する全プロセスが対象となる。"
8327
8328 #. type: Plain text
8329 #: build/C/man2/ioprio_set.2:98
8330 msgid ""
8331 "If I<which> is specified as B<IOPRIO_WHO_PGRP> or B<IOPRIO_WHO_USER> when "
8332 "calling B<ioprio_get>(), and more than one process matches I<who>, then the "
8333 "returned priority will be the highest one found among all of the matching "
8334 "processes.  One priority is said to be higher than another one if it belongs "
8335 "to a higher priority class (B<IOPRIO_CLASS_RT> is the highest priority "
8336 "class; B<IOPRIO_CLASS_IDLE> is the lowest)  or if it belongs to the same "
8337 "priority class as the other process but has a higher priority level (a lower "
8338 "priority number means a higher priority level)."
8339 msgstr ""
8340 "B<ioprio_get>()  の呼び出し時に I<which> に B<IOPRIO_WHO_PGRP> か "
8341 "B<IOPRIO_WHO_USER> が指定され、 I<who> に一致するプロセスが複数あった場合、 "
8342 "一致するプロセス全体の中で最も高い優先度が返される。 優先度が高いとは、より高"
8343 "い優先度クラスに属している (B<IOPRIO_CLASS_RT> が最も高い優先度クラスで、 "
8344 "B<IOPRIO_CLASS_IDLE> が最も低い)、もしくは 同じ優先度クラスに属しているが優先"
8345 "度レベルが高い (優先度番号が小さい方が優先度レベルが高いことを意味する)、 と"
8346 "いうことである。"
8347
8348 #. type: Plain text
8349 #: build/C/man2/ioprio_set.2:108
8350 msgid ""
8351 "The I<ioprio> argument given to B<ioprio_set>()  is a bit mask that "
8352 "specifies both the scheduling class and the priority to be assigned to the "
8353 "target process(es).  The following macros are used for assembling and "
8354 "dissecting I<ioprio> values:"
8355 msgstr ""
8356 "B<ioprio_set>()  に渡す I<ioprio> 引き数は、対象となるプロセスに割り当てるス"
8357 "ケジューリングクラスと 優先度の両方を指定するビットマスクである。 I<ioprio> "
8358 "の値を組み立てたり解釈するのに、以下のマクロが利用できる。"
8359
8360 #. type: TP
8361 #: build/C/man2/ioprio_set.2:108
8362 #, no-wrap
8363 msgid "B<IOPRIO_PRIO_VALUE(>I<class>B<, >I<data>B<)>"
8364 msgstr "B<IOPRIO_PRIO_VALUE(>I<class>B<, >I<data>B<)>"
8365
8366 #. type: Plain text
8367 #: build/C/man2/ioprio_set.2:117
8368 msgid ""
8369 "Given a scheduling I<class> and priority (I<data>), this macro combines the "
8370 "two values to produce an I<ioprio> value, which is returned as the result of "
8371 "the macro."
8372 msgstr ""
8373 "スケジューリングクラス I<class> と優先度 (I<data>)  を与えると、このマクロは "
8374 "2つの値を組み合わせて、 I<ioprio> 値を生成し、マクロの結果として返す。"
8375
8376 #. type: TP
8377 #: build/C/man2/ioprio_set.2:117
8378 #, no-wrap
8379 msgid "B<IOPRIO_PRIO_CLASS(>I<mask>B<)>"
8380 msgstr "B<IOPRIO_PRIO_CLASS(>I<mask>B<)>"
8381
8382 #. type: Plain text
8383 #: build/C/man2/ioprio_set.2:129
8384 msgid ""
8385 "Given I<mask> (an I<ioprio> value), this macro returns its I/O class "
8386 "component, that is, one of the values B<IOPRIO_CLASS_RT>, "
8387 "B<IOPRIO_CLASS_BE>, or B<IOPRIO_CLASS_IDLE>."
8388 msgstr ""
8389 "I<mask> (I<ioprio> 値) を与えると、このマクロは I/O クラス要素、つまり "
8390 "B<IOPRIO_CLASS_RT>, B<IOPRIO_CLASS_BE>, B<IOPRIO_CLASS_IDLE> のいずれか一つの"
8391 "値を返す。"
8392
8393 #. type: TP
8394 #: build/C/man2/ioprio_set.2:129
8395 #, no-wrap
8396 msgid "B<IOPRIO_PRIO_DATA(>I<mask>B<)>"
8397 msgstr "B<IOPRIO_PRIO_DATA(>I<mask>B<)>"
8398
8399 #. type: Plain text
8400 #: build/C/man2/ioprio_set.2:138
8401 msgid ""
8402 "Given I<mask> (an I<ioprio> value), this macro returns its priority "
8403 "(I<data>)  component."
8404 msgstr ""
8405 "I<mask> (I<ioprio> 値) を与えると、このマクロは優先度 (I<data>)  要素を返す。"
8406
8407 #. type: Plain text
8408 #: build/C/man2/ioprio_set.2:141
8409 msgid ""
8410 "See the NOTES section for more information on scheduling classes and "
8411 "priorities."
8412 msgstr ""
8413 "スケジューリングクラスと優先度に関する詳しい情報は、 「備考」の節を参照のこ"
8414 "と。"
8415
8416 #. type: Plain text
8417 #: build/C/man2/ioprio_set.2:149
8418 msgid ""
8419 "I/O priorities are supported for reads and for synchronous (B<O_DIRECT>, "
8420 "B<O_SYNC>)  writes.  I/O priorities are not supported for asynchronous "
8421 "writes because they are issued outside the context of the program dirtying "
8422 "the memory, and thus program-specific priorities do not apply."
8423 msgstr ""
8424 "I/O 優先度は読み出しと同期書き込み (B<O_DIRECT>, B<O_SYNC>)  に対応してい"
8425 "る。 I/O 優先度は非同期書き込みには対応していない。なぜなら、 非同期書き込み"
8426 "はメモリ書き換えを行うプログラムの動作 (context) とは 関係なく発行され、その"
8427 "ためプログラム単位の優先度は適用されないから である。"
8428
8429 #. type: Plain text
8430 #: build/C/man2/ioprio_set.2:162
8431 msgid ""
8432 "On success, B<ioprio_get>()  returns the I<ioprio> value of the process with "
8433 "highest I/O priority of any of the processes that match the criteria "
8434 "specified in I<which> and I<who>.  On error, -1 is returned, and I<errno> is "
8435 "set to indicate the error."
8436 msgstr ""
8437 "成功すると、 B<ioprio_get>()  は、 I<which> と I<who> で指定された基準に合致"
8438 "した全プロセスで最も高い I/O 優先度を持つプロセスの I<ioprio> 値を返す。 エ"
8439 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
8440
8441 #. type: Plain text
8442 #: build/C/man2/ioprio_set.2:169
8443 msgid ""
8444 "On success, B<ioprio_set>()  returns 0.  On error, -1 is returned, and "
8445 "I<errno> is set to indicate the error."
8446 msgstr ""
8447 "成功すると、 B<ioprio_set>()  は 0 を返す。 エラーの場合、-1 を返し、 "
8448 "I<errno> にエラーを示す値を設定する。"
8449
8450 #. type: Plain text
8451 #: build/C/man2/ioprio_set.2:179
8452 msgid ""
8453 "Invalid value for I<which> or I<ioprio>.  Refer to the NOTES section for "
8454 "available scheduler classes and priority levels for I<ioprio>."
8455 msgstr ""
8456 "I<which> か I<ioprio> の値が不正である。 I<ioprio> 用に指定可能なスケジューラ"
8457 "クラスと優先度レベルについては 「備考」を参照のこと。"
8458
8459 #. type: Plain text
8460 #: build/C/man2/ioprio_set.2:187
8461 msgid ""
8462 "The calling process does not have the privilege needed to assign this "
8463 "I<ioprio> to the specified process(es).  See the NOTES section for more "
8464 "information on required privileges for B<ioprio_set>()."
8465 msgstr ""
8466 "呼び出し元プロセスが、指定されたプロセスに I<ioprio> を割り当てるのに必要な権"
8467 "限を持っていない。 B<ioprio_set>()  に必要な権限についての詳しい情報は「備"
8468 "考」の節を参照のこと。"
8469
8470 #. type: Plain text
8471 #: build/C/man2/ioprio_set.2:193
8472 msgid ""
8473 "No process(es) could be found that matched the specification in I<which> and "
8474 "I<who>."
8475 msgstr ""
8476 "I<which> と I<who> で指定された基準に合致するプロセスが見つからなかった。"
8477
8478 #. type: Plain text
8479 #: build/C/man2/ioprio_set.2:196
8480 msgid "These system calls have been available on Linux since kernel 2.6.13."
8481 msgstr ""
8482 "これらのシステムコールはカーネル 2.6.13 以降の Linux で利用可能である。"
8483
8484 #. type: Plain text
8485 #: build/C/man2/ioprio_set.2:201
8486 #, fuzzy
8487 #| msgid ""
8488 #| "Glibc does not provide wrapper for these system calls; call them using "
8489 #| "B<syscall>(2)."
8490 msgid ""
8491 "Glibc does not provide a wrapper for these system calls; call them using "
8492 "B<syscall>(2)."
8493 msgstr ""
8494 "glibc はこれらのシステムコールに対するラッパー関数を提供していない。 "
8495 "B<syscall>(2)  を使って呼び出すこと。"
8496
8497 #. type: Plain text
8498 #: build/C/man2/ioprio_set.2:220
8499 msgid ""
8500 "Two or more processes or threads can share an I/O context.  This will be the "
8501 "case when B<clone>(2)  was called with the B<CLONE_IO> flag.  However, by "
8502 "default, the distinct threads of a process will B<not> share the same I/O "
8503 "context.  This means that if you want to change the I/O priority of all "
8504 "threads in a process, you may need to call B<ioprio_set>()  on each of the "
8505 "threads.  The thread ID that you would need for this operation is the one "
8506 "that is returned by B<gettid>(2)  or B<clone>(2)."
8507 msgstr ""
8508
8509 #. type: Plain text
8510 #: build/C/man2/ioprio_set.2:225
8511 msgid ""
8512 "These system calls only have an effect when used in conjunction with an I/O "
8513 "scheduler that supports I/O priorities.  As at kernel 2.6.17 the only such "
8514 "scheduler is the Completely Fair Queuing (CFQ) I/O scheduler."
8515 msgstr ""
8516 "これらのシステムコールは、I/O 優先度に対応した I/O スケジューラと 組み合わせ"
8517 "て使用された場合にのみ効果を持つ。 カーネル 2.6.17 では、この条件を満たすスケ"
8518 "ジューラは Completely Fair Queuing (CFQ) I/O スケジューラだけである。"
8519
8520 #. type: SS
8521 #: build/C/man2/ioprio_set.2:225
8522 #, fuzzy, no-wrap
8523 #| msgid "Selecting an I/O Scheduler"
8524 msgid "Selecting an I/O scheduler"
8525 msgstr "I/O スケジューラの選択"
8526
8527 #. type: Plain text
8528 #: build/C/man2/ioprio_set.2:229
8529 msgid ""
8530 "I/O Schedulers are selected on a per-device basis via the special file I</"
8531 "sys/block/E<lt>deviceE<gt>/queue/scheduler>."
8532 msgstr ""
8533 "I/O スケジューラの選択はデバイス単位に行われ、その選択は スペシャルファイル "
8534 "I</sys/block/E<lt>deviceE<gt>/queue/scheduler> 経由で行われる。"
8535
8536 #. type: Plain text
8537 #: build/C/man2/ioprio_set.2:235
8538 msgid ""
8539 "One can view the current I/O scheduler via the I</sys> file system.  For "
8540 "example, the following command displays a list of all schedulers currently "
8541 "loaded in the kernel:"
8542 msgstr ""
8543 "現在の I/O スケジューラは I</sys> ファイルシステム経由で参照できる。例えば、"
8544 "以下のコマンドを実行すると、 現在カーネルでロードされているスケジューラの全リ"
8545 "ストが表示される。"
8546
8547 #. type: Plain text
8548 #: build/C/man2/ioprio_set.2:240
8549 #, no-wrap
8550 msgid ""
8551 "$B< cat /sys/block/hda/queue/scheduler>\n"
8552 "noop anticipatory deadline [cfq]\n"
8553 msgstr ""
8554 "$B< cat /sys/block/hda/queue/scheduler>\n"
8555 "noop anticipatory deadline [cfq]\n"
8556
8557 #. type: Plain text
8558 #: build/C/man2/ioprio_set.2:254
8559 msgid ""
8560 "The scheduler surrounded by brackets is the one actually in use for the "
8561 "device (I<hda> in the example).  Setting another scheduler is done by "
8562 "writing the name of the new scheduler to this file.  For example, the "
8563 "following command will set the scheduler for the I<hda> device to I<cfq>:"
8564 msgstr ""
8565 "括弧で囲まれたスケジューラがそのデバイス (上の例では I<hda>)  について実際に"
8566 "使用されているスケジューラである。 別のスケジューラを設定するには、このファイ"
8567 "ルに新しいスケジューラ名を 書き込めばよい。例えば、以下のコマンドを実行する"
8568 "と、デバイス I<hda> のスケジューラとして I<cfq> が設定される。"
8569
8570 #. type: Plain text
8571 #: build/C/man2/ioprio_set.2:260
8572 #, no-wrap
8573 msgid ""
8574 "$B< su>\n"
8575 "Password:\n"
8576 "#B< echo cfq E<gt> /sys/block/hda/queue/scheduler>\n"
8577 msgstr ""
8578 "$B< su>\n"
8579 "Password:\n"
8580 "#B< echo cfq E<gt> /sys/block/hda/queue/scheduler>\n"
8581
8582 #. type: SS
8583 #: build/C/man2/ioprio_set.2:262
8584 #, fuzzy, no-wrap
8585 #| msgid "The Completely Fair Queuing (CFQ) I/O Scheduler"
8586 msgid "The Completely Fair Queuing (CFQ) I/O scheduler"
8587 msgstr "Completely Fair Queuing (CFQ) I/O スケジューラ"
8588
8589 #. type: Plain text
8590 #: build/C/man2/ioprio_set.2:268
8591 msgid ""
8592 "Since v3 (aka CFQ Time Sliced) CFQ implements I/O nice levels similar to "
8593 "those of CPU scheduling.  These nice levels are grouped in three scheduling "
8594 "classes each one containing one or more priority levels:"
8595 msgstr ""
8596 "バージョン 3 (別名 CFQ Time Sliced) 以降、 CPU スケジューリングと同様の I/O "
8597 "nice レベルが CFQ に実装されている。 これらの nice レベルは 3つのスケジューリ"
8598 "ングクラスに分類でき、 各スケジューリングクラスにつき 1つ以上の優先度レベルが"
8599 "定義されている。"
8600
8601 #. type: TP
8602 #: build/C/man2/ioprio_set.2:268
8603 #, no-wrap
8604 msgid "B<IOPRIO_CLASS_RT> (1)"
8605 msgstr "B<IOPRIO_CLASS_RT> (1)"
8606
8607 #. type: Plain text
8608 #: build/C/man2/ioprio_set.2:283
8609 msgid ""
8610 "This is the real-time I/O class.  This scheduling class is given higher "
8611 "priority than any other class: processes from this class are given first "
8612 "access to the disk every time.  Thus this I/O class needs to be used with "
8613 "some care: one I/O real-time process can starve the entire system.  Within "
8614 "the real-time class, there are 8 levels of class data (priority) that "
8615 "determine exactly how much time this process needs the disk for on each "
8616 "service.  The highest real-time priority level is 0; the lowest is 7.  In "
8617 "the future this might change to be more directly mappable to performance, by "
8618 "passing in a desired data rate instead."
8619 msgstr ""
8620 "これはリアルタイム I/O クラスである。 このスケジューリングクラスには他のクラ"
8621 "スよりも高い優先度が与えられる。 このクラスのプロセスには、常にディスクへのア"
8622 "クセスが優先して 割り当てられる。そのため、この I/O クラスを使う際には、 たっ"
8623 "た一つの リアルタイム I/O クラスのプロセスにより システム全体のディスクアクセ"
8624 "スができなくなってしまうことがある という点に、注意を払う必要がある。 このク"
8625 "ラスには、8 段階の class data (優先度レベル) がある。 この値は、そのプロセス"
8626 "が 1回のディスクアクセスにどれだけの 時間が必要かを正確に決めるためのものであ"
8627 "る。 最高のリアルタイム優先度レベルは 0 で、最低は 7 である。 将来的には、優"
8628 "先度レベルは、希望するデータレートを渡すなど、 より直接的に性能条件を反映でき"
8629 "るように変更されるかもしれない。"
8630
8631 #. type: TP
8632 #: build/C/man2/ioprio_set.2:283
8633 #, no-wrap
8634 msgid "B<IOPRIO_CLASS_BE> (2)"
8635 msgstr "B<IOPRIO_CLASS_BE> (2)"
8636
8637 #. type: Plain text
8638 #: build/C/man2/ioprio_set.2:296
8639 msgid ""
8640 "This is the best-effort scheduling class, which is the default for any "
8641 "process that hasn't set a specific I/O priority.  The class data (priority) "
8642 "determines how much I/O bandwidth the process will get.  Best-effort "
8643 "priority levels are analogous to CPU nice values (see B<getpriority>(2)).  "
8644 "The priority level determines a priority relative to other processes in the "
8645 "best-effort scheduling class.  Priority levels range from 0 (highest) to 7 "
8646 "(lowest)."
8647 msgstr ""
8648 "これは ベストエフォート・スケジューリングクラスである。 このクラスは、特定の "
8649 "I/O 優先度を設定していないプロセスの デフォルト値である。 class data (優先度"
8650 "レベル) により、そのプロセスがどの程度の I/O 帯域を得られるかが決定される。 "
8651 "ベストエフォート・優先度レベルは、CPU の nice 値 (B<getpriority>(2)  参照) と"
8652 "同様のものである。 優先度レベルは、ベストエフォート・スケジューリングクラスの"
8653 "中で 他のプロセスとの相対的な優先度を決定する。 優先度レベルの値の範囲は 0 "
8654 "(最高) から 7 (最低) である。"
8655
8656 #. type: TP
8657 #: build/C/man2/ioprio_set.2:296
8658 #, no-wrap
8659 msgid "B<IOPRIO_CLASS_IDLE> (3)"
8660 msgstr "B<IOPRIO_CLASS_IDLE> (3)"
8661
8662 #. type: Plain text
8663 #: build/C/man2/ioprio_set.2:305
8664 msgid ""
8665 "This is the idle scheduling class.  Processes running at this level only get "
8666 "I/O time when no-one else needs the disk.  The idle class has no class "
8667 "data.  Attention is required when assigning this priority class to a "
8668 "process, since it may become starved if higher priority processes are "
8669 "constantly accessing the disk."
8670 msgstr ""
8671 "これは idle スケジューリングクラスである。 このレベルで動作するプロセスは他に"
8672 "ディスクアクセスをしようとする プロセスがない場合にのみ I/O 時間を取得する。 "
8673 "idle クラスには class data (優先度) は用意されていない。 プロセスにこの優先度"
8674 "を割り当てる際には注意が必要である。 なぜなら、優先度の高いプロセスが常にディ"
8675 "スクにアクセスしている場合には ディスクにアクセスできなくなる可能性があるから"
8676 "だ。"
8677
8678 #. type: Plain text
8679 #: build/C/man2/ioprio_set.2:309
8680 msgid ""
8681 "Refer to I<Documentation/block/ioprio.txt> for more information on the CFQ I/"
8682 "O Scheduler and an example program."
8683 msgstr ""
8684 "CFQ I/O スケジューラの更なる情報とサンプルプログラムについては "
8685 "I<Documentation/block/ioprio.txt> を参照のこと。"
8686
8687 #. type: SS
8688 #: build/C/man2/ioprio_set.2:309
8689 #, no-wrap
8690 msgid "Required permissions to set I/O priorities"
8691 msgstr "I/O 優先度の設定に必要な許可"
8692
8693 #. type: Plain text
8694 #: build/C/man2/ioprio_set.2:312
8695 msgid ""
8696 "Permission to change a process's priority is granted or denied based on two "
8697 "assertions:"
8698 msgstr ""
8699 "プロセスの優先度を変更する許可が得られるかどうかは 以下の 2つの条件に基いて決"
8700 "定される。"
8701
8702 #. type: TP
8703 #: build/C/man2/ioprio_set.2:312
8704 #, no-wrap
8705 msgid "B<Process ownership>"
8706 msgstr "B<プロセスの所有権>"
8707
8708 #. type: Plain text
8709 #: build/C/man2/ioprio_set.2:320
8710 msgid ""
8711 "An unprivileged process may only set the I/O priority of a process whose "
8712 "real UID matches the real or effective UID of the calling process.  A "
8713 "process which has the B<CAP_SYS_NICE> capability can change the priority of "
8714 "any process."
8715 msgstr ""
8716 "非特権プロセスは、プロセスの実 UID が呼び出し元プロセスの実 UID もしくは 実"
8717 "効 UID と一致するプロセスの I/O 優先度のみを設定できる。 B<CAP_SYS_NICE> ケー"
8718 "パビリティを持つプロセスは、どのプロセスの優先度でも変更できる。"
8719
8720 #. type: TP
8721 #: build/C/man2/ioprio_set.2:320
8722 #, no-wrap
8723 msgid "B<What is the desired priority>"
8724 msgstr "B<どの優先度に設定しようとしているか>"
8725
8726 #. type: Plain text
8727 #: build/C/man2/ioprio_set.2:332
8728 msgid ""
8729 "Attempts to set very high priorities (B<IOPRIO_CLASS_RT>)  require the "
8730 "B<CAP_SYS_ADMIN> capability.  Kernel versions up to 2.6.24 also required "
8731 "B<CAP_SYS_ADMIN> to set a very low priority (B<IOPRIO_CLASS_IDLE>), but "
8732 "since Linux 2.6.25, this is no longer required."
8733 msgstr ""
8734 "非常に高い優先度 (B<IOPRIO_CLASS_RT>)  を設定しようとする場合、 "
8735 "B<CAP_SYS_ADMIN> ケーパビリティが必要である。 カーネル 2.6.24 以前では、非常"
8736 "に低い優先度 (B<IOPRIO_CLASS_IDLE>)  を設定するためにも B<CAP_SYS_ADMIN> ケー"
8737 "パビリティが必要であったが、 Linux 2.6.25 以降ではもはや必要なくなった。"
8738
8739 #. type: Plain text
8740 #: build/C/man2/ioprio_set.2:337
8741 msgid ""
8742 "A call to B<ioprio_set>()  must follow both rules, or the call will fail "
8743 "with the error B<EPERM>."
8744 msgstr ""
8745 "B<ioprio_set>()  はこの両方のルールに従い、条件を満たさない場合、エラー "
8746 "B<EPERM> で失敗する。"
8747
8748 #.  6 May 07: Bug report raised:
8749 #.  http://sources.redhat.com/bugzilla/show_bug.cgi?id=4464
8750 #.  Ulrich Drepper replied that he wasn't going to add these
8751 #.  to glibc.
8752 #. type: Plain text
8753 #: build/C/man2/ioprio_set.2:346
8754 msgid ""
8755 "Glibc does not yet provide a suitable header file defining the function "
8756 "prototypes and macros described on this page.  Suitable definitions can be "
8757 "found in I<linux/ioprio.h>."
8758 msgstr ""
8759 "glibc は、このページに記載された関数プロトタイプやマクロを定義する 適切なヘッ"
8760 "ダファイルをまだ提供していない。 必要な定義については I<linux/ioprio.h> を見"
8761 "ればよい。"
8762
8763 #. type: Plain text
8764 #: build/C/man2/ioprio_set.2:351
8765 #, fuzzy
8766 #| msgid "B<getpriority>(2), B<open>(2), B<capabilities>(7)"
8767 msgid "B<ionice>(1), B<getpriority>(2), B<open>(2), B<capabilities>(7)"
8768 msgstr "B<getpriority>(2), B<open>(2), B<capabilities>(7)"
8769
8770 #. type: Plain text
8771 #: build/C/man2/ioprio_set.2:354
8772 #, fuzzy
8773 #| msgid "Documentation/block/ioprio.txt in the kernel source tree."
8774 msgid "I<Documentation/block/ioprio.txt> in the Linux kernel source tree"
8775 msgstr "カーネルソース内の Documentation/block/ioprio.txt"
8776
8777 #. type: TH
8778 #: build/C/man2/ipc.2:25
8779 #, no-wrap
8780 msgid "IPC"
8781 msgstr "IPC"
8782
8783 #. type: TH
8784 #: build/C/man2/ipc.2:25
8785 #, fuzzy, no-wrap
8786 #| msgid "2012-04-15"
8787 msgid "2012-10-16"
8788 msgstr "2012-04-15"
8789
8790 #. type: Plain text
8791 #: build/C/man2/ipc.2:28
8792 msgid "ipc - System V IPC system calls"
8793 msgstr "ipc - System V IPC システムコール"
8794
8795 #. type: Plain text
8796 #: build/C/man2/ipc.2:33
8797 #, no-wrap
8798 msgid ""
8799 "B<int ipc(unsigned int >I<call>B<, int >I<first>B<, int >I<second>B<, int >I<third>B<,>\n"
8800 "B<        void *>I<ptr>B<, long >I<fifth>B<);>\n"
8801 msgstr ""
8802 "B<int ipc(unsigned int >I<call>B<, int >I<first>B<, int >I<second>B<, int >I<third>B<,>\n"
8803 "B<        void *>I<ptr>B<, long >I<fifth>B<);>\n"
8804
8805 #. type: Plain text
8806 #: build/C/man2/ipc.2:41
8807 msgid ""
8808 "B<ipc>()  is a common kernel entry point for the System V IPC calls for "
8809 "messages, semaphores, and shared memory.  I<call> determines which IPC "
8810 "function to invoke; the other arguments are passed through to the "
8811 "appropriate call."
8812 msgstr ""
8813 "B<ipc>()  は メッセージ、セマフォー、共有メモリに関する System V IPC コール"
8814 "の 共通のカーネルへのエントリポイントである。 I<call> はどの IPC 関数を呼び出"
8815 "すかを決め; 他の引き数は適切なコールへと渡される。"
8816
8817 #. type: Plain text
8818 #: build/C/man2/ipc.2:45
8819 msgid ""
8820 "User programs should call the appropriate functions by their usual names.  "
8821 "Only standard library implementors and kernel hackers need to know about "
8822 "B<ipc>()."
8823 msgstr ""
8824 "ユーザープログラムは通常の名前で適切な関数を呼び出すべきである。 標準ライブラ"
8825 "リの実装者やカーネルハッカーのみが B<ipc>()  について知る必要がある。"
8826
8827 #. type: Plain text
8828 #: build/C/man2/ipc.2:49
8829 msgid ""
8830 "B<ipc>()  is Linux-specific, and should not be used in programs intended to "
8831 "be portable."
8832 msgstr ""
8833 "B<ipc>()  は Linux 特有であり、 移植を意図したプログラムでは 使用してはいけな"
8834 "い。"
8835
8836 #. type: Plain text
8837 #: build/C/man2/ipc.2:57
8838 #, fuzzy
8839 #| msgid ""
8840 #| "On a few architectures, for example ia64, there is no B<ipc>()  system "
8841 #| "call; instead B<msgctl>(2), B<semctl>(2), B<shmctl>(2), and so on really "
8842 #| "are implemented as separate system calls."
8843 msgid ""
8844 "On some architectures\\(emfor example x86-64 and ARM\\(emthere is no B<ipc>"
8845 "()  system call; instead B<msgctl>(2), B<semctl>(2), B<shmctl>(2), and so on "
8846 "really are implemented as separate system calls."
8847 msgstr ""
8848 "ia64 などのいくつかのアーキテクチャでは、システムコール B<ipc>()  が存在しな"
8849 "い。実際には、その代わりに B<msgctl>(2), B<semctl>(2), B<shmctl>(2)  などが独"
8850 "立したシステムコールとして実装されている。"
8851
8852 #. type: Plain text
8853 #: build/C/man2/ipc.2:70
8854 msgid ""
8855 "B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), "
8856 "B<semget>(2), B<semop>(2), B<semtimedop>(2), B<shmat>(2), B<shmctl>(2), "
8857 "B<shmdt>(2), B<shmget>(2)"
8858 msgstr ""
8859 "B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), "
8860 "B<semget>(2), B<semop>(2), B<shmat>(2), B<shmctl>(2), B<shmdt>(2), B<shmget>"
8861 "(2)"
8862
8863 #. type: TH
8864 #: build/C/man2/seteuid.2:29
8865 #, no-wrap
8866 msgid "SETEUID"
8867 msgstr "SETEUID"
8868
8869 #. type: TH
8870 #: build/C/man2/seteuid.2:29
8871 #, fuzzy, no-wrap
8872 #| msgid "2012-04-15"
8873 msgid "2012-07-02"
8874 msgstr "2012-04-15"
8875
8876 #. type: Plain text
8877 #: build/C/man2/seteuid.2:32
8878 msgid "seteuid, setegid - set effective user or group ID"
8879 msgstr "seteuid, setegid - 実効ユーザー ID や 実効グループ ID を設定する"
8880
8881 #. type: Plain text
8882 #: build/C/man2/seteuid.2:38
8883 msgid "B<int seteuid(uid_t >I<euid>B<);>"
8884 msgstr "B<int seteuid(uid_t >I<euid>B<);>"
8885
8886 #. type: Plain text
8887 #: build/C/man2/seteuid.2:40
8888 msgid "B<int setegid(gid_t >I<egid>B<);>"
8889 msgstr "B<int setegid(gid_t >I<egid>B<);>"
8890
8891 #. type: Plain text
8892 #: build/C/man2/seteuid.2:49
8893 msgid "B<seteuid>(), B<setegid>():"
8894 msgstr "B<seteuid>(), B<setegid>():"
8895
8896 #. type: Plain text
8897 #: build/C/man2/seteuid.2:51
8898 msgid ""
8899 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
8900 "\\ 600"
8901 msgstr ""
8902 "_BSD_SOURCE || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L || _XOPEN_SOURCE\\ E<gt>="
8903 "\\ 600"
8904
8905 #. type: Plain text
8906 #: build/C/man2/seteuid.2:58
8907 msgid ""
8908 "B<seteuid>()  sets the effective user ID of the calling process.  "
8909 "Unprivileged user processes may only set the effective user ID to the real "
8910 "user ID, the effective user ID or the saved set-user-ID."
8911 msgstr ""
8912 "B<seteuid>()  は呼び出し元のプロセスの実効ユーザー ID を設定する。 非特権ユー"
8913 "ザーのプロセスの場合、実効ユーザー ID に設定できるのは、 実ユーザー ID・実効"
8914 "ユーザー ID・保存 set-user-ID のいずれかだけである。"
8915
8916 #.  When
8917 #.  .I euid
8918 #.  equals \-1, nothing is changed.
8919 #.  (This is an artifact of the implementation in glibc of seteuid()
8920 #.  using setresuid(2).)
8921 #. type: Plain text
8922 #: build/C/man2/seteuid.2:67
8923 msgid ""
8924 "Precisely the same holds for B<setegid>()  with \"group\" instead of \"user"
8925 "\"."
8926 msgstr ""
8927 "B<setegid>()  は「ユーザー」ではなく「グループ」に対して全く同じことを行う。"
8928
8929 #. type: Plain text
8930 #: build/C/man2/seteuid.2:91
8931 msgid ""
8932 "The calling process is not privileged (Linux: does not have the "
8933 "B<CAP_SETUID> capability in the case of B<seteuid>(), or the B<CAP_SETGID> "
8934 "capability in the case of B<setegid>())  and I<euid> (respectively, "
8935 "I<egid>)  is not the real user (group) ID, the effective user (group) ID, or "
8936 "the saved set-user-ID (saved set-group-ID)."
8937 msgstr ""
8938 "呼び出し元のプロセスに特権がなく、 I<euid> (I<egid>)  が実ユーザー (グルー"
8939 "プ) ID、または実効ユーザー (グループ) ID、 保存 set-user-ID (保存 set-group-"
8940 "ID) のいずれでもではない (Linux においては、 B<seteuid>()  では "
8941 "B<CAP_SETUID> ケーパビリティ (capability) が、 B<setegid>()  では "
8942 "B<CAP_SETGID> ケーパビリティがない場合に、特権がないと判断される)。"
8943
8944 #. type: Plain text
8945 #: build/C/man2/seteuid.2:93
8946 msgid "4.3BSD, POSIX.1-2001."
8947 msgstr "4.3BSD, POSIX.1-2001."
8948
8949 #. type: Plain text
8950 #: build/C/man2/seteuid.2:99
8951 msgid ""
8952 "Setting the effective user (group) ID to the saved set-user-ID (saved set-"
8953 "group-ID) is possible since Linux 1.1.37 (1.1.38).  On an arbitrary system "
8954 "one should check B<_POSIX_SAVED_IDS>."
8955 msgstr ""
8956 "実効ユーザー (グループ) ID を保存 set-user-ID (保存 set-group-ID) に 設定でき"
8957 "るのは、Linux 1.1.37 (1.1.38) 以降である。 全てのシステムにおいて "
8958 "B<_POSIX_SAVED_IDS> をチェックすべきである。"
8959
8960 #. type: Plain text
8961 #: build/C/man2/seteuid.2:115
8962 #, fuzzy
8963 #| msgid ""
8964 #| "Under libc4, libc5 and glibc 2.0 B<seteuid(>I<euid>B<)> is equivalent to "
8965 #| "B<setreuid(-1,>I< euid>B<)> and hence may change the saved set-user-ID.  "
8966 #| "Under glibc 2.1 and later it is equivalent to B<setresuid(-1,>I< euid>B<, "
8967 #| "-1)> and hence does not change the saved set-user-ID.  Similar remarks "
8968 #| "hold for B<setegid>()."
8969 msgid ""
8970 "Under libc4, libc5 and glibc 2.0 B<seteuid(>I<euid>B<)> is equivalent to "
8971 "B<setreuid(-1,>I< euid>B<)> and hence may change the saved set-user-ID.  "
8972 "Under glibc 2.1 and later it is equivalent to B<setresuid(-1,>I< euid>B<, -1)"
8973 "> and hence does not change the saved set-user-ID.  Analogous remarks hold "
8974 "for B<setegid>(), with the difference that the change in implementation from "
8975 "B<setregid(-1,>I< egid>B<)> to B<setresgid(-1,>I< egid>B<, -1)> occurred in "
8976 "glibc 2.2 or 2.3 (dependeing on the hardware architecture)."
8977 msgstr ""
8978 "libc4, libc5, glibc 2.0 では、 B<seteuid(>I<euid>B<)> は B<setreuid(-1,>I< "
8979 "euid>B<)> と等価であり、保存 set-user-ID を変更するかもしれない。 glibc 2.1 "
8980 "では、 B<setresuid(-1,>I< euid>B<, -1)> と等価であり、保存 set-user-ID 変更し"
8981 "ない。 同様のことが B<setegid>()  にも言える。"
8982
8983 #. type: Plain text
8984 #: build/C/man2/seteuid.2:124
8985 msgid ""
8986 "According to POSIX.1, B<seteuid>()  (B<setegid>())  need not permit I<euid> "
8987 "(I<egid>)  to be the same value as the current effective user (group) ID, "
8988 "and some implementations do not permit this."
8989 msgstr ""
8990 "POSIX.1 では、 B<seteuid>()  (B<setegid>())  で、 I<euid> (I<egid>)  として現"
8991 "在の実効ユーザ (グループ) ID と同じ値を指定可能である 必要はないとされてお"
8992 "り、いくつかの実装では I<euid> (I<egid>)  として現在の実効ユーザ (グループ) "
8993 "ID と同じ値を 指定することができない。"
8994
8995 #. type: Plain text
8996 #: build/C/man2/seteuid.2:131
8997 msgid ""
8998 "B<geteuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), B<capabilities>"
8999 "(7), B<credentials>(7)"
9000 msgstr ""
9001 "B<geteuid>(2), B<setresuid>(2), B<setreuid>(2), B<setuid>(2), B<capabilities>"
9002 "(7), B<credentials>(7)"
9003
9004 #. type: TH
9005 #: build/C/man2/setfsgid.2:31
9006 #, no-wrap
9007 msgid "SETFSGID"
9008 msgstr "SETFSGID"
9009
9010 #. type: Plain text
9011 #: build/C/man2/setfsgid.2:34
9012 msgid "setfsgid - set group identity used for file system checks"
9013 msgstr ""
9014 "setfsgid - ファイルシステムのチェックに用いられるグループ ID を設定する"
9015
9016 #. type: Plain text
9017 #: build/C/man2/setfsgid.2:37 build/C/man2/setfsuid.2:37
9018 msgid "B<#include E<lt>unistd.hE<gt>> /* glibc uses E<lt>sys/fsuid.hE<gt> */"
9019 msgstr "B<#include E<lt>unistd.hE<gt>> /* glibc では E<lt>sys/fsuid.hE<gt> */"
9020
9021 #. type: Plain text
9022 #: build/C/man2/setfsgid.2:39
9023 msgid "B<int setfsgid(uid_t >I<fsgid>B<);>"
9024 msgstr "B<int setfsgid(uid_t >I<fsgid>B<);>"
9025
9026 #. type: Plain text
9027 #: build/C/man2/setfsgid.2:51
9028 msgid ""
9029 "The system call B<setfsgid>()  sets the group ID that the Linux kernel uses "
9030 "to check for all accesses to the file system.  Normally, the value of "
9031 "I<fsgid> will shadow the value of the effective group ID.  In fact, whenever "
9032 "the effective group ID is changed, I<fsgid> will also be changed to the new "
9033 "value of the effective group ID."
9034 msgstr ""
9035 "システムコール B<setfsgid>()  は Linux カーネルがファイルシステムに対する 全"
9036 "てのアクセスのチェックに使用するグループ IDを設定する。通常は I<fsgid> の値は"
9037 "実効 (effective) グループID と同じになる。実際、 実効グループ ID が変更される"
9038 "度に I<fsgid> もまた新しい実効グループID の値に変更される。"
9039
9040 #. type: Plain text
9041 #: build/C/man2/setfsgid.2:62
9042 msgid ""
9043 "Explicit calls to B<setfsuid>(2)  and B<setfsgid>()  are usually only used "
9044 "by programs such as the Linux NFS server that need to change what user and "
9045 "group ID is used for file access without a corresponding change in the real "
9046 "and effective user and group IDs.  A change in the normal user IDs for a "
9047 "program such as the NFS server is a security hole that can expose it to "
9048 "unwanted signals.  (But see below.)"
9049 msgstr ""
9050 "通常、 B<setfsuid>()  や B<setfsgid>()  が明示的に呼び出されるのは、Linux "
9051 "NFS サーバー のように、 ファイルアクセスに用いるユーザID / グループID を変更"
9052 "しなければならないが、 対応する実(real)/実効(effective) ユーザID / グループ"
9053 "ID は変更したくないような プログラムに限られる。 NFS サーバーのようなプログラ"
9054 "ムで、通常のユーザID を変更すると、 プロセスを望まないシグナルにさらす可能性"
9055 "があり、 セキュリティホールになる。(下記参照)"
9056
9057 #. type: Plain text
9058 #: build/C/man2/setfsgid.2:69
9059 msgid ""
9060 "B<setfsgid>()  will only succeed if the caller is the superuser or if "
9061 "I<fsgid> matches either the real group ID, effective group ID, saved set-"
9062 "group-ID, or the current value of I<fsgid>."
9063 msgstr ""
9064 "B<setfsgid>()  は、スーパーユーザによって呼び出された場合か、 I<fsgid> が実グ"
9065 "ループID、実効グループID、 保存セットグループID (saved set-group-ID)、現在の "
9066 "I<fsgid> の値のいずれかに一致する場合にのみ成功する。"
9067
9068 #. type: Plain text
9069 #: build/C/man2/setfsgid.2:76
9070 msgid ""
9071 "On success, the previous value of I<fsgid> is returned.  On error, the "
9072 "current value of I<fsgid> is returned."
9073 msgstr ""
9074 "成功した場合、 I<fsgid> の以前の値を返す。エラーの場合は I<fsgid> の現在の値"
9075 "を返す。"
9076
9077 #.  This system call is present since Linux 1.1.44
9078 #.  and in libc since libc 4.7.6.
9079 #. type: Plain text
9080 #: build/C/man2/setfsgid.2:80 build/C/man2/setfsuid.2:80
9081 msgid "This system call is present in Linux since version 1.2."
9082 msgstr "このシステムコールはバージョン 1.2 以降の Linux に存在する。"
9083
9084 #. type: Plain text
9085 #: build/C/man2/setfsgid.2:84
9086 msgid ""
9087 "B<setfsgid>()  is Linux-specific and should not be used in programs intended "
9088 "to be portable."
9089 msgstr ""
9090 "B<setfsgid>()  は Linux 特有であり、移植を想定したプログラムで使用してはいけ"
9091 "ない。"
9092
9093 #. type: Plain text
9094 #: build/C/man2/setfsgid.2:90
9095 msgid ""
9096 "When glibc determines that the argument is not a valid group ID, it will "
9097 "return -1 and set I<errno> to B<EINVAL> without attempting the system call."
9098 msgstr ""
9099 "glibc が引き数がグループID として不正だと判断した場合は、 システムコールを行"
9100 "わず I<errno> に B<EINVAL> を設定して -1 が返される。"
9101
9102 #. type: Plain text
9103 #: build/C/man2/setfsgid.2:94 build/C/man2/setfsuid.2:94
9104 msgid ""
9105 "Note that at the time this system call was introduced, a process could send "
9106 "a signal to a process with the same effective user ID.  Today signal "
9107 "permission handling is slightly different."
9108 msgstr ""
9109 "このシステムコールが導入された当時、プロセスは 同じ実効ユーザIDのプロセスへシ"
9110 "グナルを送ることができた。 今日では、シグナル送信権限の扱いはかなり違うものに"
9111 "なっている。"
9112
9113 #. type: Plain text
9114 #: build/C/man2/setfsgid.2:104
9115 msgid ""
9116 "The original Linux B<setfsgid>()  system call supported only 16-bit group "
9117 "IDs.  Subsequently, Linux 2.4 added B<setfsgid32>()  supporting 32-bit IDs.  "
9118 "The glibc B<setfsgid>()  wrapper function transparently deals with the "
9119 "variation across kernel versions."
9120 msgstr ""
9121 "元々の Linux の B<setfsgid>() システムコールは\n"
9122 "16 ビットのグループ ID だけに対応していた。\n"
9123 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
9124 "B<setfsgid32>() が追加された。\n"
9125 "glibc の B<setfsgid>() のラッパー関数は\n"
9126 "カーネルバージョンによるこの違いを吸収している。"
9127
9128 #. type: Plain text
9129 #: build/C/man2/setfsgid.2:112
9130 msgid ""
9131 "No error messages of any kind are returned to the caller.  At the very "
9132 "least, B<EPERM> should be returned when the call fails (because the caller "
9133 "lacks the B<CAP_SETGID> capability)."
9134 msgstr ""
9135 "いかなる種類のエラーメッセージも返さない。 失敗した場合は (呼び出し元には "
9136 "B<CAP_SETGID> ケーパビリティがなかったのだから) 最低でも B<EPERM> くらいは返"
9137 "すべきである。"
9138
9139 #. type: Plain text
9140 #: build/C/man2/setfsgid.2:117
9141 msgid "B<kill>(2), B<setfsuid>(2), B<capabilities>(7), B<credentials>(7)"
9142 msgstr "B<kill>(2), B<setfsuid>(2), B<capabilities>(7), B<credentials>(7)"
9143
9144 #. type: TH
9145 #: build/C/man2/setfsuid.2:31
9146 #, no-wrap
9147 msgid "SETFSUID"
9148 msgstr "SETFSUID"
9149
9150 #. type: Plain text
9151 #: build/C/man2/setfsuid.2:34
9152 msgid "setfsuid - set user identity used for file system checks"
9153 msgstr "setfsuid - ファイルシステムのチェックに用いられるユーザ ID を設定する"
9154
9155 #. type: Plain text
9156 #: build/C/man2/setfsuid.2:39
9157 msgid "B<int setfsuid(uid_t >I<fsuid>B<);>"
9158 msgstr "B<int setfsuid(uid_t >I<fsuid>B<);>"
9159
9160 #. type: Plain text
9161 #: build/C/man2/setfsuid.2:51
9162 msgid ""
9163 "The system call B<setfsuid>()  sets the user ID that the Linux kernel uses "
9164 "to check for all accesses to the file system.  Normally, the value of "
9165 "I<fsuid> will shadow the value of the effective user ID.  In fact, whenever "
9166 "the effective user ID is changed, I<fsuid> will also be changed to the new "
9167 "value of the effective user ID."
9168 msgstr ""
9169 "B<setfsuid>()  は Linux カーネルがファイルシステムに対する 全てのアクセスの"
9170 "チェックに使用するユーザID を設定する。通常は I<fsuid> の値は実効 "
9171 "(effective) ユーザID と同じになる。実際、 実効ユーザID が変更される度に "
9172 "I<fsuid> もまた新しい実効ユーザID の値に変更される。"
9173
9174 #. type: Plain text
9175 #: build/C/man2/setfsuid.2:62
9176 msgid ""
9177 "Explicit calls to B<setfsuid>()  and B<setfsgid>(2)  are usually only used "
9178 "by programs such as the Linux NFS server that need to change what user and "
9179 "group ID is used for file access without a corresponding change in the real "
9180 "and effective user and group IDs.  A change in the normal user IDs for a "
9181 "program such as the NFS server is a security hole that can expose it to "
9182 "unwanted signals.  (But see below.)"
9183 msgstr ""
9184 "通常、 B<setfsuid>()  や B<setfsgid>()  が明示的に呼び出されるのは、Linux "
9185 "NFS サーバー のように、 ファイルアクセスに用いるユーザID / グループID を変更"
9186 "しなければならないが、 対応する実(real)/実効(effective) ユーザID / グループ"
9187 "ID は変更したくないような プログラムに限られる。 NFS サーバーのようなプログラ"
9188 "ムで、通常のユーザID を変更すると、 プロセスを望まないシグナルにさらす可能性"
9189 "があり、 セキュリティホールになる。(下記参照)"
9190
9191 #. type: Plain text
9192 #: build/C/man2/setfsuid.2:69
9193 msgid ""
9194 "B<setfsuid>()  will only succeed if the caller is the superuser or if "
9195 "I<fsuid> matches either the real user ID, effective user ID, saved set-user-"
9196 "ID, or the current value of I<fsuid>."
9197 msgstr ""
9198 "B<setfsuid>()  は、スーパーユーザによって呼び出された場合か、 I<fsuid> が実"
9199 "ユーザID、実効ユーザID、 保存セットユーザID (saved set-user-ID)、現在の "
9200 "I<fsuid> の値のいずれかに一致する場合にのみ成功する。"
9201
9202 #. type: Plain text
9203 #: build/C/man2/setfsuid.2:76
9204 msgid ""
9205 "On success, the previous value of I<fsuid> is returned.  On error, the "
9206 "current value of I<fsuid> is returned."
9207 msgstr ""
9208 "成功した場合、 I<fsuid> の以前の値を返す。エラーの場合は I<fsuid> の現在の値"
9209 "を返す。"
9210
9211 #. type: Plain text
9212 #: build/C/man2/setfsuid.2:84
9213 msgid ""
9214 "B<setfsuid>()  is Linux-specific and should not be used in programs intended "
9215 "to be portable."
9216 msgstr ""
9217 "B<setfsuid>()  は Linux 特有であり、移植を想定したプログラムで使用してはいけ"
9218 "ない。"
9219
9220 #. type: Plain text
9221 #: build/C/man2/setfsuid.2:90
9222 msgid ""
9223 "When glibc determines that the argument is not a valid user ID, it will "
9224 "return -1 and set I<errno> to B<EINVAL> without attempting the system call."
9225 msgstr ""
9226 "glibc が引き数がユーザID として不正だと判断した場合は、 システムコールを行わ"
9227 "ず I<errno> に B<EINVAL> を設定して -1 が返される。"
9228
9229 #. type: Plain text
9230 #: build/C/man2/setfsuid.2:104
9231 msgid ""
9232 "The original Linux B<setfsuid>()  system call supported only 16-bit user "
9233 "IDs.  Subsequently, Linux 2.4 added B<setfsuid32>()  supporting 32-bit IDs.  "
9234 "The glibc B<setfsuid>()  wrapper function transparently deals with the "
9235 "variation across kernel versions."
9236 msgstr ""
9237 "元々の Linux の B<setfsuid>() システムコールは\n"
9238 "16 ビットのグループ ID だけに対応していた。\n"
9239 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
9240 "B<setfsuid32>() が追加された。\n"
9241 "glibc の B<setfsuid>() のラッパー関数は\n"
9242 "カーネルバージョンによるこの違いを吸収している。"
9243
9244 #. type: Plain text
9245 #: build/C/man2/setfsuid.2:112
9246 msgid ""
9247 "No error messages of any kind are returned to the caller.  At the very "
9248 "least, B<EPERM> should be returned when the call fails (because the caller "
9249 "lacks the B<CAP_SETUID> capability)."
9250 msgstr ""
9251 "いかなる種類のエラーメッセージも呼び出し元に返さない。 失敗した場合は (呼び出"
9252 "し元には B<CAP_SETUID> ケーパビリティがなかったのだから) 最低でも B<EPERM> く"
9253 "らいは返すべきである。"
9254
9255 #. type: Plain text
9256 #: build/C/man2/setfsuid.2:117
9257 msgid "B<kill>(2), B<setfsgid>(2), B<capabilities>(7), B<credentials>(7)"
9258 msgstr "B<kill>(2), B<setfsgid>(2), B<capabilities>(7), B<credentials>(7)"
9259
9260 #. type: TH
9261 #: build/C/man2/setgid.2:29
9262 #, no-wrap
9263 msgid "SETGID"
9264 msgstr "SETGID"
9265
9266 #. type: Plain text
9267 #: build/C/man2/setgid.2:32
9268 msgid "setgid - set group identity"
9269 msgstr "setgid - グループ識別(identity)を設定する"
9270
9271 #. type: Plain text
9272 #: build/C/man2/setgid.2:38
9273 msgid "B<int setgid(gid_t >I<gid>B<);>"
9274 msgstr "B<int setgid(gid_t >I<gid>B<);>"
9275
9276 #. type: Plain text
9277 #: build/C/man2/setgid.2:43
9278 msgid ""
9279 "B<setgid>()  sets the effective group ID of the calling process.  If the "
9280 "caller is the superuser, the real GID and saved set-group-ID are also set."
9281 msgstr ""
9282 "B<setgid>()  は呼び出し元のプロセスの実効 (effective) グループID を設定す"
9283 "る。 もしスーパーユーザーによって呼び出された場合は、 実 (real) グループID と"
9284 "保存 (saved) set-group-ID も設定される。"
9285
9286 #. type: Plain text
9287 #: build/C/man2/setgid.2:53
9288 msgid ""
9289 "Under Linux, B<setgid>()  is implemented like the POSIX version with the "
9290 "B<_POSIX_SAVED_IDS> feature.  This allows a set-group-ID program that is not "
9291 "set-user-ID-root to drop all of its group privileges, do some un-privileged "
9292 "work, and then reengage the original effective group ID in a secure manner."
9293 msgstr ""
9294 "Linux において、 B<setgid>()  は B<_POSIX_SAVED_IDS> をもった POSIX 版のよう"
9295 "に実装されている。 これは set-user-ID-root でない set-group-ID プログラムにそ"
9296 "のグループの 特権の全て落とし、特権の必要ない仕事をし、本来の実効グループID "
9297 "に 安全な方法で再び戻すことを許す。"
9298
9299 #. type: Plain text
9300 #: build/C/man2/setgid.2:66
9301 msgid ""
9302 "The calling process is not privileged (does not have the B<CAP_SETGID> "
9303 "capability), and I<gid> does not match the real group ID or saved set-group-"
9304 "ID of the calling process."
9305 msgstr ""
9306 "呼び出し元のプロセスに権限がなく (B<CAP_SETGID> ケーパビリティがなく)、かつ "
9307 "I<gid> が呼び出し元のプロセスの実グループID と保存セットグループID のどちらと"
9308 "も一致しない。"
9309
9310 #. type: Plain text
9311 #: build/C/man2/setgid.2:78
9312 msgid ""
9313 "The original Linux B<setgid>()  system call supported only 16-bit group "
9314 "IDs.  Subsequently, Linux 2.4 added B<setgid32>()  supporting 32-bit IDs.  "
9315 "The glibc B<setgid>()  wrapper function transparently deals with the "
9316 "variation across kernel versions."
9317 msgstr ""
9318 "元々の Linux の B<setgid>() システムコールは\n"
9319 "16 ビットのグループ ID だけに対応していた。\n"
9320 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
9321 "B<setgid32>() が追加された。\n"
9322 "glibc の B<setgid>() のラッパー関数は\n"
9323 "カーネルバージョンによるこの違いを吸収している。"
9324
9325 #. type: Plain text
9326 #: build/C/man2/setgid.2:84
9327 msgid ""
9328 "B<getgid>(2), B<setegid>(2), B<setregid>(2), B<capabilities>(7), "
9329 "B<credentials>(7)"
9330 msgstr ""
9331 "B<getgid>(2), B<setegid>(2), B<setregid>(2), B<capabilities>(7), "
9332 "B<credentials>(7)"
9333
9334 #. type: TH
9335 #: build/C/man2/setpgid.2:48
9336 #, no-wrap
9337 msgid "SETPGID"
9338 msgstr "SETPGID"
9339
9340 #. type: Plain text
9341 #: build/C/man2/setpgid.2:51
9342 msgid "setpgid, getpgid, setpgrp, getpgrp - set/get process group"
9343 msgstr "setpgid, getpgid, setpgrp, getpgrp - プロセスグループの設定/取得を行う"
9344
9345 #. type: Plain text
9346 #: build/C/man2/setpgid.2:55
9347 msgid "B<int setpgid(pid_t >I<pid>B<, pid_t >I<pgid>B<);>"
9348 msgstr "B<int setpgid(pid_t >I<pid>B<, pid_t >I<pgid>B<);>"
9349
9350 #. type: Plain text
9351 #: build/C/man2/setpgid.2:57
9352 msgid "B<pid_t getpgid(pid_t >I<pid>B<);>"
9353 msgstr "B<pid_t getpgid(pid_t >I<pid>B<);>"
9354
9355 #. type: Plain text
9356 #: build/C/man2/setpgid.2:59
9357 msgid "B<pid_t getpgrp(void);> /* POSIX.1 version */"
9358 msgstr "B<pid_t getpgrp(void);> /* POSIX.1 version */"
9359
9360 #. type: Plain text
9361 #: build/C/man2/setpgid.2:62
9362 msgid ""
9363 "B<pid_t getpgrp(pid_t >I<pid>B<);\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ > /* BSD "
9364 "version */"
9365 msgstr ""
9366 "B<pid_t getpgrp(pid_t >I<pid>B<);\\ \\ \\ \\ \\ \\ \\ \\ \\ \\ \\ > /* BSD "
9367 "version */"
9368
9369 #. type: Plain text
9370 #: build/C/man2/setpgid.2:64
9371 msgid "B<int setpgrp(void);> /* System V version */"
9372 msgstr "B<int setpgrp(void);> /* System V version */"
9373
9374 #. type: Plain text
9375 #: build/C/man2/setpgid.2:67
9376 msgid "B<int setpgrp(pid_t >I<pid>B<, pid_t >I<pgid>B<);\\ > /* BSD version */"
9377 msgstr ""
9378 "B<int setpgrp(pid_t >I<pid>B<, pid_t >I<pgid>B<);\\ > /* BSD version */"
9379
9380 #. type: Plain text
9381 #: build/C/man2/setpgid.2:76
9382 msgid "B<getpgid>():"
9383 msgstr "B<getpgid>():"
9384
9385 #. type: Plain text
9386 #: build/C/man2/setpgid.2:84
9387 msgid "B<setpgrp>() (POSIX.1):"
9388 msgstr "B<setpgrp>() (POSIX.1):"
9389
9390 #. type: Plain text
9391 #: build/C/man2/setpgid.2:87
9392 #, no-wrap
9393 msgid ""
9394 "    _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
9395 "    _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED\n"
9396 msgstr ""
9397 "    _SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 ||\n"
9398 "    _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED\n"
9399
9400 #. type: Plain text
9401 #: build/C/man2/setpgid.2:91
9402 msgid "B<setpgrp>()\\ (BSD), B<getpgrp>()\\ (BSD):"
9403 msgstr "B<setpgrp>()\\ (BSD), B<getpgrp>()\\ (BSD):"
9404
9405 #. type: Plain text
9406 #: build/C/man2/setpgid.2:95
9407 #, no-wrap
9408 msgid ""
9409 "    _BSD_SOURCE &&\n"
9410 "        !\\ (_POSIX_SOURCE || _POSIX_C_SOURCE || _XOPEN_SOURCE ||\n"
9411 "           _XOPEN_SOURCE_EXTENDED || _GNU_SOURCE || _SVID_SOURCE)\n"
9412 msgstr ""
9413 "    _BSD_SOURCE &&\n"
9414 "        !\\ (_POSIX_SOURCE || _POSIX_C_SOURCE || _XOPEN_SOURCE ||\n"
9415 "           _XOPEN_SOURCE_EXTENDED || _GNU_SOURCE || _SVID_SOURCE)\n"
9416
9417 #. type: Plain text
9418 #: build/C/man2/setpgid.2:107
9419 msgid ""
9420 "All of these interfaces are available on Linux, and are used for getting and "
9421 "setting the process group ID (PGID) of a process.  The preferred, POSIX.1-"
9422 "specified ways of doing this are: B<getpgrp>(void), for retrieving the "
9423 "calling process's PGID; and B<setpgid>(), for setting a process's PGID."
9424 msgstr ""
9425 "これらのインタフェースすべてが Linux で利用可能で、 これらを使ってプロセスの"
9426 "プロセスグループ ID (PGID) の 取得や設定ができる。 推奨の、POSIX.1 で規定され"
9427 "た方法では、 B<getpgrp>(void)  で呼び出し元プロセスの PGID を取得し、 "
9428 "B<setpgid>()  で設定する。"
9429
9430 #. type: Plain text
9431 #: build/C/man2/setpgid.2:132
9432 msgid ""
9433 "B<setpgid>()  sets the PGID of the process specified by I<pid> to I<pgid>.  "
9434 "If I<pid> is zero, then the process ID of the calling process is used.  If "
9435 "I<pgid> is zero, then the PGID of the process specified by I<pid> is made "
9436 "the same as its process ID.  If B<setpgid>()  is used to move a process from "
9437 "one process group to another (as is done by some shells when creating "
9438 "pipelines), both process groups must be part of the same session (see "
9439 "B<setsid>(2)  and B<credentials>(7)).  In this case, the I<pgid> specifies "
9440 "an existing process group to be joined and the session ID of that group must "
9441 "match the session ID of the joining process."
9442 msgstr ""
9443 "B<setpgid>()  は I<pid> で指定したプロセスの PGID に I<pgid> を設定する。 "
9444 "I<pid> がゼロならば、呼び出し元プロセスのプロセス ID が pid として使用され"
9445 "る。 I<pgid> がゼロならば、 I<pid> で指定されたプロセスの PGID がそのプロセス"
9446 "のプロセス ID と 同じに設定される。 B<setpgid>()  をプロセスをあるプロセスグ"
9447 "ループから別のグループへ 移動するために使用する場合は (一部のシェルはパイプラ"
9448 "インを生成 する時にこれを行う)、両方のプロセスグループは同じセッションの 一部"
9449 "でなければならない (B<setsid>(2)  と B<credentials>(7)  参照)。この場合は "
9450 "I<pgid> は参加すべき既存の プロセスグループを指定し、そのセッション ID は参加"
9451 "するプロセスの セッション ID に一致しなければならない。"
9452
9453 #. type: Plain text
9454 #: build/C/man2/setpgid.2:137
9455 msgid ""
9456 "The POSIX.1 version of B<getpgrp>(), which takes no arguments, returns the "
9457 "PGID of the calling process."
9458 msgstr ""
9459 "POSIX.1 バージョンの B<getpgrp>()  は引き数を一つもとらず、 呼び出し元プロセ"
9460 "スの PGID を返す。"
9461
9462 #. type: Plain text
9463 #: build/C/man2/setpgid.2:148
9464 msgid ""
9465 "B<getpgid>()  returns the PGID of the process specified by I<pid>.  If "
9466 "I<pid> is zero, the process ID of the calling process is used.  (Retrieving "
9467 "the PGID of a process other than the caller is rarely necessary, and the "
9468 "POSIX.1 B<getpgrp>()  is preferred for that task.)"
9469 msgstr ""
9470 "B<getpgid>()  は I<pid> で指定されたプロセスの PGID を返す。 I<pid> がゼロな"
9471 "らば、呼び出し元プロセスのプロセス ID が pid として使用される。 (呼び出し元プ"
9472 "ロセス以外のプロセスの PGID の取得が必要になることは めったになく、呼び出し元"
9473 "プロセスの PGID を取得するには POSIX.1 バージョンの B<getpgrp>()  を使うのが"
9474 "望ましい。)"
9475
9476 #. type: Plain text
9477 #: build/C/man2/setpgid.2:153
9478 msgid ""
9479 "The System V-style B<setpgrp>(), which takes no arguments, is equivalent to "
9480 "I<setpgid(0,\\ 0)>."
9481 msgstr ""
9482 "System V バージョンの B<setpgrp>()  は引き数を一つもとらず、 I<setpgid(0,\\ "
9483 "0)> と等価である。"
9484
9485 #.  The true BSD setpgrp() system call differs in allowing the PGID
9486 #.  to be set to arbitrary values, rather than being restricted to
9487 #.  PGIDs in the same session.
9488 #. type: Plain text
9489 #: build/C/man2/setpgid.2:165
9490 msgid ""
9491 "The BSD-specific B<setpgrp>()  call, which takes arguments I<pid> and "
9492 "I<pgid>, is equivalent to I<setpgid(pid, pgid)>."
9493 msgstr ""
9494 "BSD 仕様の B<setpgrp>()  は I<pid> と I<pgid> を引き数にとり、 I<setpgid"
9495 "(pid, pgid)> と等価である。"
9496
9497 #. type: Plain text
9498 #: build/C/man2/setpgid.2:172
9499 msgid ""
9500 "The BSD-specific B<getpgrp>()  call, which takes a single I<pid> argument, "
9501 "is equivalent to I<getpgid(pid)>."
9502 msgstr ""
9503 "BSD 仕様の B<getpgrp>()  は I<pid> だけを引き数にとり、 I<getpgid(pid)> と等"
9504 "価である。"
9505
9506 #. type: Plain text
9507 #: build/C/man2/setpgid.2:181
9508 msgid ""
9509 "On success, B<setpgid>()  and B<setpgrp>()  return zero.  On error, -1 is "
9510 "returned, and I<errno> is set appropriately."
9511 msgstr ""
9512 "B<setpgid>()  と B<setpgrp>()  は成功した場合、ゼロを返す。エラーの場合は -1 "
9513 "を返し、 I<errno> が適切に設定される。"
9514
9515 #. type: Plain text
9516 #: build/C/man2/setpgid.2:185
9517 msgid "The POSIX.1 B<getpgrp>()  always returns the PGID of the caller."
9518 msgstr ""
9519 "POSIX.1 バージョンの B<getpgrp>()  は常に呼び出しプロセスの PGID を返す。"
9520
9521 #. type: Plain text
9522 #: build/C/man2/setpgid.2:193
9523 msgid ""
9524 "B<getpgid>(), and the BSD-specific B<getpgrp>()  return a process group on "
9525 "success.  On error, -1 is returned, and I<errno> is set appropriately."
9526 msgstr ""
9527 "B<getpgid>()  と BSD 仕様の B<getpgrp>()  は成功した場合プロセスグループを返"
9528 "す。 エラーの場合は -1 を返し、 I<errno> が適切に設定される。"
9529
9530 #. type: Plain text
9531 #: build/C/man2/setpgid.2:202
9532 msgid ""
9533 "An attempt was made to change the process group ID of one of the children of "
9534 "the calling process and the child had already performed an B<execve>(2)  "
9535 "(B<setpgid>(), B<setpgrp>())."
9536 msgstr ""
9537 "呼び出し元プロセスの子プロセスのプロセスグループ ID を変更しようとしたが、 す"
9538 "でにその子プロセスは B<execve>(2)  を実行していた。 (B<setpgid>(), B<setpgrp>"
9539 "())"
9540
9541 #. type: Plain text
9542 #: build/C/man2/setpgid.2:208
9543 msgid "I<pgid> is less than 0 (B<setpgid>(), B<setpgrp>())."
9544 msgstr "I<pgid> が 0 より小さい。 (B<setpgid>(), B<setpgrp>())"
9545
9546 #. type: Plain text
9547 #: build/C/man2/setpgid.2:217
9548 msgid ""
9549 "An attempt was made to move a process into a process group in a different "
9550 "session, or to change the process group ID of one of the children of the "
9551 "calling process and the child was in a different session, or to change the "
9552 "process group ID of a session leader (B<setpgid>(), B<setpgrp>())."
9553 msgstr ""
9554 "プロセスを異なるセッションのプロセスグループに移動させようとした。 または呼び"
9555 "出し元プロセスの子プロセスのプロセスグループ ID を変更しようと したが、その子"
9556 "プロセスは別のセッションだった。 またはセッションリーダーのプロセスグループ "
9557 "ID を変更しようとした。 (B<setpgid>(), B<setpgrp>())"
9558
9559 #. type: Plain text
9560 #: build/C/man2/setpgid.2:227
9561 msgid ""
9562 "For B<getpgid>(): I<pid> does not match any process.  For B<setpgid>(): "
9563 "I<pid> is not the calling process and not a child of the calling process."
9564 msgstr ""
9565 "B<getpgid>()  の場合: I<pid> がどのプロセスにも一致しない。 B<setpgid>()  の"
9566 "場合: I<pid> が呼び出し元のプロセスではなく、呼び出し元のプロセスの子プロセス"
9567 "でもない。"
9568
9569 #. type: Plain text
9570 #: build/C/man2/setpgid.2:233
9571 msgid ""
9572 "B<setpgid>()  and the version of B<getpgrp>()  with no arguments conform to "
9573 "POSIX.1-2001."
9574 msgstr ""
9575 "B<setpgid>()  と、引き数なしバージョンの B<getpgrp>()  は POSIX.1-2001 に準拠"
9576 "している。"
9577
9578 #. type: Plain text
9579 #: build/C/man2/setpgid.2:242
9580 msgid ""
9581 "POSIX.1-2001 also specifies B<getpgid>()  and the version of B<setpgrp>()  "
9582 "that takes no arguments.  (POSIX.1-2008 marks this B<setpgrp>()  "
9583 "specification as obsolete.)"
9584 msgstr ""
9585 "POSIX.1-2001 は、 B<getpgid>()  と、引き数なしバージョンの B<setpgrp>()  も規"
9586 "定している。 POSIX.1-2008 は、この B<setpgrp>()  の仕様を廃止予定としている。"
9587
9588 #. type: Plain text
9589 #: build/C/man2/setpgid.2:249
9590 msgid ""
9591 "The version of B<getpgrp>()  with one argument and the version of B<setpgrp>"
9592 "()  that takes two arguments derive from 4.2BSD, and are not specified by "
9593 "POSIX.1."
9594 msgstr ""
9595 "引き数 1 個バージョンの B<getpgrp>()  と引き数 2 個バージョンの B<setpgrp>"
9596 "()  は 4.2BSD に由来し、 POSIX.1 では規定されていない。"
9597
9598 #. type: Plain text
9599 #: build/C/man2/setpgid.2:255
9600 msgid ""
9601 "A child created via B<fork>(2)  inherits its parent's process group ID.  The "
9602 "PGID is preserved across an B<execve>(2)."
9603 msgstr ""
9604 "B<fork>(2)  で作成された子プロセスは、親プロセスの PGID を継承する。 "
9605 "B<execve>(2)  の前後で PGID は保存される。"
9606
9607 #. type: Plain text
9608 #: build/C/man2/setpgid.2:258
9609 msgid ""
9610 "Each process group is a member of a session and each process is a member of "
9611 "the session of which its process group is a member."
9612 msgstr ""
9613 "各プロセスグループはセッションのメンバーであり、各プロセスは そのプロセスグ"
9614 "ループが所属しているセッションのメンバーである。"
9615
9616 #. type: Plain text
9617 #: build/C/man2/setpgid.2:285
9618 msgid ""
9619 "A session can have a controlling terminal.  At any time, one (and only one) "
9620 "of the process groups in the session can be the foreground process group for "
9621 "the terminal; the remaining process groups are in the background.  If a "
9622 "signal is generated from the terminal (e.g., typing the interrupt key to "
9623 "generate B<SIGINT>), that signal is sent to the foreground process group.  "
9624 "(See B<termios>(3)  for a description of the characters that generate "
9625 "signals.)  Only the foreground process group may B<read>(2)  from the "
9626 "terminal; if a background process group tries to B<read>(2)  from the "
9627 "terminal, then the group is sent a B<SIGTSTP> signal, which suspends it.  "
9628 "The B<tcgetpgrp>(3)  and B<tcsetpgrp>(3)  functions are used to get/set the "
9629 "foreground process group of the controlling terminal."
9630 msgstr ""
9631 "セッションは制御端末 (controlling terminal) を持つことができる。 いつでも、"
9632 "セッションに所属するプロセスグループの一つ (だけ) が 端末のフォアグランドのプ"
9633 "ロセスグループになることができ、 残りのプロセスグループはバックグラウンドにな"
9634 "る。 端末からシグナルが生成された場合 (例えば、中断キーを叩いて B<SIGINT> が"
9635 "生成されるなど)、そのシグナルはフォアグラウンドのプロセスグループ に送られる "
9636 "(シグナルを生成する文字の説明は B<termios>(3)  を参照)。 フォアグラウンドのプ"
9637 "ロセスグループだけが端末からの B<read>(2)  ができる。 バックグラウンドのプロ"
9638 "セスグループが端末からの B<read>(2)  を行おうとした場合、そのプロセスグループ"
9639 "にはシグナル B<SIGTSTP> が送られ、そのプロセスグループは一時停止 (suspend) す"
9640 "る。 関数 B<tcgetpgrp>(3)  と B<tcsetpgrp>(3)  を使うと、制御端末のフォアグラ"
9641 "ウンドのプロセスグループを 取得/設定できる。"
9642
9643 #. type: Plain text
9644 #: build/C/man2/setpgid.2:293
9645 msgid ""
9646 "The B<setpgid>()  and B<getpgrp>()  calls are used by programs such as "
9647 "B<bash>(1)  to create process groups in order to implement shell job control."
9648 msgstr ""
9649 "B<setpgid>()  と B<getpgrp>()  は、 B<bash>(1)  のようなプログラムで、シェル"
9650 "のジョブ制御 (job control) の実装のための プロセスグループを作成するのに使わ"
9651 "れる。"
9652
9653 #. type: Plain text
9654 #: build/C/man2/setpgid.2:303
9655 msgid ""
9656 "If a session has a controlling terminal, and the B<CLOCAL> flag for that "
9657 "terminal is not set, and a terminal hangup occurs, then the session leader "
9658 "is sent a B<SIGHUP>.  If the session leader exits, then a B<SIGHUP> signal "
9659 "will also be sent to each process in the foreground process group of the "
9660 "controlling terminal."
9661 msgstr ""
9662 "セッションが制御端末を持っていて、その端末に対して B<CLOCAL> フラグが設定され"
9663 "ておらず、端末のハングアップが起きた場合、 セッション・リーダーに B<SIGHUP> "
9664 "が送られる。 セッション・リーダーが終了した場合には、その制御端末の フォアグ"
9665 "ランドのプロセスグループに所属する各プロセスにも B<SIGHUP> シグナルが送られ"
9666 "る。"
9667
9668 #.  exit.3 refers to the following text:
9669 #. type: Plain text
9670 #: build/C/man2/setpgid.2:317
9671 msgid ""
9672 "If the exit of the process causes a process group to become orphaned, and if "
9673 "any member of the newly orphaned process group is stopped, then a B<SIGHUP> "
9674 "signal followed by a B<SIGCONT> signal will be sent to each process in the "
9675 "newly orphaned process group.  An orphaned process group is one in which the "
9676 "parent of every member of process group is either itself also a member of "
9677 "the process group or is a member of a process group in a different session "
9678 "(see also B<credentials>(7))."
9679 msgstr ""
9680 "プロセスの終了によってプロセスグループが孤児 (orphaned) になった際に、 その新"
9681 "たに孤児になったプロセスグループに停止しているメンバーがいれば、 その孤児に"
9682 "なったプロセスグループに属す全てのプロセスに B<SIGHUP> シグナルに続けて "
9683 "B<SIGCONT> シグナルが送られる。 孤児になった (orphaned) プロセスグループと"
9684 "は、 そのプロセスグループの全てのメンバーについて、メンバーの親プロセスが、 "
9685 "親プロセス自身もそのプロセスグループのメンバーか、 別のセッションに属すプロセ"
9686 "スグループのメンバーのいずれかであるような、 プロセスグループのことである。"
9687
9688 #. type: Plain text
9689 #: build/C/man2/setpgid.2:324
9690 msgid ""
9691 "B<getuid>(2), B<setsid>(2), B<tcgetpgrp>(3), B<tcsetpgrp>(3), B<termios>(3), "
9692 "B<credentials>(7)"
9693 msgstr ""
9694 "B<getuid>(2), B<setsid>(2), B<tcgetpgrp>(3), B<tcsetpgrp>(3), B<termios>(3), "
9695 "B<credentials>(7)"
9696
9697 #. type: TH
9698 #: build/C/man2/setresuid.2:26
9699 #, no-wrap
9700 msgid "SETRESUID"
9701 msgstr "SETRESUID"
9702
9703 #. type: Plain text
9704 #: build/C/man2/setresuid.2:29
9705 msgid "setresuid, setresgid - set real, effective and saved user or group ID"
9706 msgstr "setresuid, setresgid - ユーザやグループの 実、実効、保存 ID を設定する"
9707
9708 #. type: Plain text
9709 #: build/C/man2/setresuid.2:35
9710 msgid "B<int setresuid(uid_t >I<ruid>B<, uid_t >I<euid>B<, uid_t >I<suid>B<);>"
9711 msgstr ""
9712 "B<int setresuid(uid_t >I<ruid>B<, uid_t >I<euid>B<, uid_t >I<suid>B<);>"
9713
9714 #. type: Plain text
9715 #: build/C/man2/setresuid.2:37
9716 msgid "B<int setresgid(gid_t >I<rgid>B<, gid_t >I<egid>B<, gid_t >I<sgid>B<);>"
9717 msgstr ""
9718 "B<int setresgid(gid_t >I<rgid>B<, gid_t >I<egid>B<, gid_t >I<sgid>B<);>"
9719
9720 #. type: Plain text
9721 #: build/C/man2/setresuid.2:41
9722 msgid ""
9723 "B<setresuid>()  sets the real user ID, the effective user ID, and the saved "
9724 "set-user-ID of the calling process."
9725 msgstr ""
9726 "B<setresuid>()  は呼び出し元のプロセスの実 (real) ユーザーID、実効 "
9727 "(effective) ユーザーID、 保存 set-user-ID を設定する。"
9728
9729 #. type: Plain text
9730 #: build/C/man2/setresuid.2:47
9731 msgid ""
9732 "Unprivileged user processes may change the real UID, effective UID, and "
9733 "saved set-user-ID, each to one of: the current real UID, the current "
9734 "effective UID or the current saved set-user-ID."
9735 msgstr ""
9736 "非特権ユーザーのプロセスは、その実 UID、実効 UID、保存 set-user-ID を、 現在"
9737 "の実 UID、現在の実効 UID、現在の保存 set-user-ID のどれかに変更することができ"
9738 "る:"
9739
9740 #. type: Plain text
9741 #: build/C/man2/setresuid.2:51
9742 msgid ""
9743 "Privileged processes (on Linux, those having the B<CAP_SETUID> capability)  "
9744 "may set the real UID, effective UID, and saved set-user-ID to arbitrary "
9745 "values."
9746 msgstr ""
9747 "特権プロセス (Linux では B<CAP_SETUID> ケーパビリティ (capability) を持つ プ"
9748 "ロセス) は、実 UID、実効 UID、保存 set-user-ID を任意の値に設定できる。"
9749
9750 #. type: Plain text
9751 #: build/C/man2/setresuid.2:53
9752 msgid ""
9753 "If one of the arguments equals -1, the corresponding value is not changed."
9754 msgstr "引き数のどれかが -1 の場合はその値は変更されずに残される。"
9755
9756 #. type: Plain text
9757 #: build/C/man2/setresuid.2:57
9758 msgid ""
9759 "Regardless of what changes are made to the real UID, effective UID, and "
9760 "saved set-user-ID, the file system UID is always set to the same value as "
9761 "the (possibly new) effective UID."
9762 msgstr ""
9763 "実 UID、実効 UID、保存 set-user-ID にどんな変更が行われたかに関わらず、 ファ"
9764 "イルシステム UID は常に実効 UID (可能であれば変更後の新しい実効 UID)  と同じ"
9765 "値に設定される。"
9766
9767 #. type: Plain text
9768 #: build/C/man2/setresuid.2:64
9769 msgid ""
9770 "Completely analogously, B<setresgid>()  sets the real GID, effective GID, "
9771 "and saved set-group-ID of the calling process (and always modifies the file "
9772 "system GID to be the same as the effective GID), with the same restrictions "
9773 "for unprivileged processes."
9774 msgstr ""
9775 "全く同じように、 B<setresgid>()  は呼び出し元のプロセスの実 GID、実効 GID、保"
9776 "存 set-group-ID を設定する (さらにファイルシステム GID を実効 GID と同じ値に"
9777 "修正する)。 非特権プロセスは同様の制限を受ける。"
9778
9779 #. type: TP
9780 #: build/C/man2/setresuid.2:70 build/C/man2/setuid.2:76
9781 #, no-wrap
9782 msgid "B<EAGAIN>"
9783 msgstr "B<EAGAIN>"
9784
9785 #. type: Plain text
9786 #: build/C/man2/setresuid.2:77
9787 msgid ""
9788 "I<uid> does not match the current UID and this call would bring that user ID "
9789 "over its B<RLIMIT_NPROC> resource limit."
9790 msgstr ""
9791 "I<uid> が現在のユーザー ID と違う値で、 この呼び出しにより ユーザー ID が リ"
9792 "ソース上限 B<RLIMIT_NPROC> を超えてしまう。"
9793
9794 #. type: Plain text
9795 #: build/C/man2/setresuid.2:81
9796 msgid ""
9797 "The calling process is not privileged (did not have the B<CAP_SETUID> "
9798 "capability) and tried to change the IDs to values that are not permitted."
9799 msgstr ""
9800 "呼び出したプロセスが特権を持たないのに (B<CAP_SETUID> ケーパビリティを持たな"
9801 "いのに)、 ID を許されていない値に変更しようとした。"
9802
9803 #. type: Plain text
9804 #: build/C/man2/setresuid.2:83
9805 msgid "These calls are available under Linux since Linux 2.1.44."
9806 msgstr "Linux ではバージョン 2.1.44 より利用可能になった。"
9807
9808 #. type: Plain text
9809 #: build/C/man2/setresuid.2:90
9810 msgid ""
9811 "Under HP-UX and FreeBSD, the prototype is found in I<E<lt>unistd.hE<gt>>.  "
9812 "Under Linux the prototype is provided by glibc since version 2.3.2."
9813 msgstr ""
9814 "HP-UX や FreeBSD では I<E<lt>unistd.hE<gt>> にプロトタイプが存在する。 \n"
9815 "Linux では、glibc 2.3.2 以降で プロトタイプが提供されている。"
9816
9817 #. type: Plain text
9818 #: build/C/man2/setresuid.2:106
9819 msgid ""
9820 "The original Linux B<setresuid>()  and B<setresgid>()  system calls "
9821 "supported only 16-bit user and group IDs.  Subsequently, Linux 2.4 added "
9822 "B<setresuid32>()  and B<setresgid32>(), supporting 32-bit IDs.  The glibc "
9823 "B<setresuid>()  and B<setresgid>()  wrapper functions transparently deal "
9824 "with the variations across kernel versions."
9825 msgstr ""
9826 "元々の Linux の B<setresuid>() と B<setresgid>() システムコールは\n"
9827 "16 ビットのグループ ID だけに対応していた。\n"
9828 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
9829 "B<setresuid32>() と B<setresgid32>() が追加された。\n"
9830 "glibc の B<setresuid>() と B<setresgid>() のラッパー関数は\n"
9831 "カーネルバージョンによるこの違いを吸収している。"
9832
9833 #. type: Plain text
9834 #: build/C/man2/setresuid.2:115
9835 msgid ""
9836 "B<getresuid>(2), B<getuid>(2), B<setfsgid>(2), B<setfsuid>(2), B<setreuid>"
9837 "(2), B<setuid>(2), B<capabilities>(7), B<credentials>(7)"
9838 msgstr ""
9839 "B<getresuid>(2), B<getuid>(2), B<setfsgid>(2), B<setfsuid>(2), B<setreuid>"
9840 "(2), B<setuid>(2), B<capabilities>(7), B<credentials>(7)"
9841
9842 #. type: TH
9843 #: build/C/man2/setreuid.2:45
9844 #, no-wrap
9845 msgid "SETREUID"
9846 msgstr "SETREUID"
9847
9848 #. type: Plain text
9849 #: build/C/man2/setreuid.2:48
9850 msgid "setreuid, setregid - set real and/or effective user or group ID"
9851 msgstr ""
9852 "setreuid, setregid - 実 (real) と実効 (effective) ユーザー (グループ) ID を設"
9853 "定する"
9854
9855 #. type: Plain text
9856 #: build/C/man2/setreuid.2:54
9857 msgid "B<int setreuid(uid_t >I<ruid>B<, uid_t >I<euid>B<);>"
9858 msgstr "B<int setreuid(uid_t >I<ruid>B<, uid_t >I<euid>B<);>"
9859
9860 #. type: Plain text
9861 #: build/C/man2/setreuid.2:56
9862 msgid "B<int setregid(gid_t >I<rgid>B<, gid_t >I<egid>B<);>"
9863 msgstr "B<int setregid(gid_t >I<rgid>B<, gid_t >I<egid>B<);>"
9864
9865 #. type: Plain text
9866 #: build/C/man2/setreuid.2:64
9867 msgid "B<setreuid>(), B<setregid>():"
9868 msgstr "B<setreuid>(), B<setregid>():"
9869
9870 #. type: Plain text
9871 #: build/C/man2/setreuid.2:68
9872 msgid ""
9873 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
9874 "_XOPEN_SOURCE_EXTENDED"
9875 msgstr ""
9876 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
9877 "_XOPEN_SOURCE_EXTENDED"
9878
9879 #. type: Plain text
9880 #: build/C/man2/setreuid.2:73
9881 msgid "B<setreuid>()  sets real and effective user IDs of the calling process."
9882 msgstr ""
9883 "B<setreuid>()  は呼び出し元のプロセスの実 (real) ユーザー ID と 実効 "
9884 "(effective) ユーザー ID を設定する。"
9885
9886 #. type: Plain text
9887 #: build/C/man2/setreuid.2:76
9888 msgid ""
9889 "Supplying a value of -1 for either the real or effective user ID forces the "
9890 "system to leave that ID unchanged."
9891 msgstr ""
9892 "実ユーザー ID や実効ユーザー ID に -1 を与えた場合、 システムはその ID を変更"
9893 "しない。"
9894
9895 #. type: Plain text
9896 #: build/C/man2/setreuid.2:79
9897 msgid ""
9898 "Unprivileged processes may only set the effective user ID to the real user "
9899 "ID, the effective user ID, or the saved set-user-ID."
9900 msgstr ""
9901 "非特権プロセスは実効ユーザー ID を実ユーザー ID または実効ユーザー ID または "
9902 "保存 set-user-ID にしか設定できない。"
9903
9904 #. type: Plain text
9905 #: build/C/man2/setreuid.2:82
9906 msgid ""
9907 "Unprivileged users may only set the real user ID to the real user ID or the "
9908 "effective user ID."
9909 msgstr ""
9910 "非特権ユーザーは、実ユーザー ID を実ユーザー ID または 実効ユーザー ID にしか"
9911 "設定できない。"
9912
9913 #. type: Plain text
9914 #: build/C/man2/setreuid.2:86
9915 msgid ""
9916 "If the real user ID is set or the effective user ID is set to a value not "
9917 "equal to the previous real user ID, the saved set-user-ID will be set to the "
9918 "new effective user ID."
9919 msgstr ""
9920 "実ユーザーID が設定されたり、実効ユーザーID が前の実ユーザーID と 異った値に"
9921 "設定された場合、保存 set-user-ID には新しい実効ユーザーID の値が設定される。"
9922
9923 #. type: Plain text
9924 #: build/C/man2/setreuid.2:91
9925 msgid ""
9926 "Completely analogously, B<setregid>()  sets real and effective group ID's of "
9927 "the calling process, and all of the above holds with \"group\" instead of "
9928 "\"user\"."
9929 msgstr ""
9930 "これと全く同様に、 B<setregid>()  は呼び出し元のプロセスの実グループ ID と実"
9931 "効グループ ID を設定し、 上記の説明で「ユーザー」を「グループ」に読み替えたこ"
9932 "とが成り立つ。"
9933
9934 #. type: Plain text
9935 #: build/C/man2/setreuid.2:113
9936 msgid ""
9937 "The calling process is not privileged (Linux: does not have the "
9938 "B<CAP_SETUID> capability in the case of B<setreuid>(), or the B<CAP_SETGID> "
9939 "capability in the case of B<setregid>())  and a change other than (i)  "
9940 "swapping the effective user (group) ID with the real user (group) ID, or "
9941 "(ii) setting one to the value of the other or (iii) setting the effective "
9942 "user (group) ID to the value of the saved set-user-ID (saved set-group-ID) "
9943 "was specified."
9944 msgstr ""
9945 "呼び出し元のプロセスに特権がなく (Linux では B<setreuid>()  の場合に "
9946 "B<CAP_SETUID> ケーパビリティ (capability) がなく、 B<setregid>()  の場合に "
9947 "B<CAP_SETGID> ケーパビリティがない)、 以下のいずれでもない変更が指定された: "
9948 "(i) 実効ユーザー (グループ) ID と実ユーザー (グループ) ID を入れ換える。 "
9949 "(ii) 片方の値を他方に設定する。 (iii) 実効ユーザー (グループ) ID に保存 set-"
9950 "user-ID (保存 set-group-ID)  の値を設定する。"
9951
9952 #. type: Plain text
9953 #: build/C/man2/setreuid.2:119
9954 msgid ""
9955 "POSIX.1-2001, 4.3BSD (the B<setreuid>()  and B<setregid>()  function calls "
9956 "first appeared in 4.2BSD)."
9957 msgstr ""
9958 "POSIX.1-2001, 4.3BSD (B<setreuid>()  と B<setregid>()  関数コールは 4.2BSD で"
9959 "登場した)。"
9960
9961 #. type: Plain text
9962 #: build/C/man2/setreuid.2:123
9963 msgid ""
9964 "Setting the effective user (group) ID to the saved set-user-ID (saved set-"
9965 "group-ID) is possible since Linux 1.1.37 (1.1.38)."
9966 msgstr ""
9967 "実効ユーザー (グループ) ID を保存ユーザー (グループ) ID に 設定することが、"
9968 "Linux 1.1.37 (1.1.38) から可能になった。"
9969
9970 #. type: Plain text
9971 #: build/C/man2/setreuid.2:140
9972 msgid ""
9973 "POSIX.1 does not specify all of possible ID changes that are permitted on "
9974 "Linux for an unprivileged process.  For B<setreuid>(), the effective user ID "
9975 "can be made the same as the real user ID or the save set-user-ID, and it is "
9976 "unspecified whether unprivileged processes may set the real user ID to the "
9977 "real user ID, the effective user ID, or the saved set-user-ID.  For "
9978 "B<setregid>(), the real group ID can be changed to the value of the saved "
9979 "set-group-ID, and the effective group ID can be changed to the value of the "
9980 "real group ID or the saved set-group-ID.  The precise details of what ID "
9981 "changes are permitted vary across implementations."
9982 msgstr ""
9983 "POSIX.1 では、非特権プロセスに対して Linux 上で認められている ID の変更の 全"
9984 "パターンを規定しているわけではない。 B<setreuid>()  では、実効ユーザ ID を実"
9985 "ユーザ ID もしくは保存 set-user-ID と 同じ値にすることができるが、 非特権プロ"
9986 "セスが実ユーザ ID を実ユーザ ID、実効ユーザ ID、 保存 set-user-ID のどの値に"
9987 "も設定できるかは規定されていない。 B<setregid>()  では、実グループ ID を保存 "
9988 "set-group-ID と同じ値に変更でき、 実効グループ ID を実グループ ID や保存 set-"
9989 "group-ID と同じ値に変更できる。 どのような ID の変更が認められているかの正確"
9990 "な詳細は 実装ごとに異なる。"
9991
9992 #. type: Plain text
9993 #: build/C/man2/setreuid.2:143
9994 msgid ""
9995 "POSIX.1 makes no specification about the effect of these calls on the saved "
9996 "set-user-ID and saved set-group-ID."
9997 msgstr ""
9998 "POSIX.1 では、これらのシステムコールが保存 set-user-ID や 保存 set-group-ID "
9999 "に与える影響については規定していない。"
10000
10001 #. type: Plain text
10002 #: build/C/man2/setreuid.2:159
10003 msgid ""
10004 "The original Linux B<setreuid>()  and B<setregid>()  system calls supported "
10005 "only 16-bit user and group IDs.  Subsequently, Linux 2.4 added B<setreuid32>"
10006 "()  and B<setregid32>(), supporting 32-bit IDs.  The glibc B<setreuid>()  "
10007 "and B<setregid>()  wrapper functions transparently deal with the variations "
10008 "across kernel versions."
10009 msgstr ""
10010 "元々の Linux の B<setreuid>() と B<setregid>() システムコールは\n"
10011 "16 ビットのグループ ID だけに対応していた。\n"
10012 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
10013 "B<setreuid32>() と B<setregid32>() が追加された。\n"
10014 "glibc の B<setreuid>() と B<setregid>() のラッパー関数は\n"
10015 "カーネルバージョンによるこの違いを吸収している。"
10016
10017 #. type: Plain text
10018 #: build/C/man2/setreuid.2:167
10019 msgid ""
10020 "B<getgid>(2), B<getuid>(2), B<seteuid>(2), B<setgid>(2), B<setresuid>(2), "
10021 "B<setuid>(2), B<capabilities>(7)"
10022 msgstr ""
10023 "B<getgid>(2), B<getuid>(2), B<seteuid>(2), B<setgid>(2), B<setresuid>(2), "
10024 "B<setuid>(2), B<capabilities>(7)"
10025
10026 #. type: TH
10027 #: build/C/man2/setsid.2:30
10028 #, no-wrap
10029 msgid "SETSID"
10030 msgstr "SETSID"
10031
10032 #. type: Plain text
10033 #: build/C/man2/setsid.2:33
10034 msgid "setsid - creates a session and sets the process group ID"
10035 msgstr "setsid - セッション (session) を作成し、プロセスグループ ID を設定する"
10036
10037 #. type: Plain text
10038 #: build/C/man2/setsid.2:38
10039 msgid "B<pid_t setsid(void);>"
10040 msgstr "B<pid_t setsid(void);>"
10041
10042 #. type: Plain text
10043 #: build/C/man2/setsid.2:51
10044 #, fuzzy
10045 #| msgid ""
10046 #| "B<setsid>()  creates a new session if the calling process is not a "
10047 #| "process group leader.  The calling process is the leader of the new "
10048 #| "session, the process group leader of the new process group, and has no "
10049 #| "controlling tty.  The process group ID and session ID of the calling "
10050 #| "process are set to the PID of the calling process.  The calling process "
10051 #| "will be the only process in this new process group and in this new "
10052 #| "session."
10053 msgid ""
10054 "B<setsid>()  creates a new session if the calling process is not a process "
10055 "group leader.  The calling process is the leader of the new session, the "
10056 "process group leader of the new process group, and has no controlling "
10057 "terminal.  The process group ID and session ID of the calling process are "
10058 "set to the PID of the calling process.  The calling process will be the only "
10059 "process in this new process group and in this new session."
10060 msgstr ""
10061 "B<setsid>()  は呼び出したプロセスがプロセスグループ・リーダー (process group "
10062 "leader) でなければ、新しいセッションを作成する。 呼び出したプロセスは新しい"
10063 "セッションのリーダー、新しいプロセスグループの プロセスグループ・リーダーとな"
10064 "り、tty の制御を持たない。 呼び出したプロセスのプロセスグループ ID とセッショ"
10065 "ン ID には、 呼び出したプロセスの PID が設定される。呼び出したプロセスはこの "
10066 "新しいプロセスグループ、この新しいセッションの唯一のプロセスとなる。"
10067
10068 #. type: Plain text
10069 #: build/C/man2/setsid.2:58
10070 msgid ""
10071 "On success, the (new) session ID of the calling process is returned.  On "
10072 "error, I<(pid_t)\\ -1> is returned, and I<errno> is set to indicate the "
10073 "error."
10074 msgstr ""
10075 "成功すると、呼び出したプロセスの (新しい) セッション ID が返される。 エラーの"
10076 "場合は、 I<(pid_t)\\ -1> が返され、 I<error> にエラーを示す値が設定される。"
10077
10078 #. type: Plain text
10079 #: build/C/man2/setsid.2:65
10080 msgid ""
10081 "The process group ID of any process equals the PID of the calling process.  "
10082 "Thus, in particular, B<setsid>()  fails if the calling process is already a "
10083 "process group leader."
10084 msgstr ""
10085 "いずれかのプロセスのプロセスグループ ID が、 呼び出したプロセスの PID と等し"
10086 "い。 これは、呼び出したプロセスが既にプロセスリーダーの場合には B<setsid>()  "
10087 "は失敗することを意味する。"
10088
10089 #. type: Plain text
10090 #: build/C/man2/setsid.2:73
10091 msgid ""
10092 "A child created via B<fork>(2)  inherits its parent's session ID.  The "
10093 "session ID is preserved across an B<execve>(2)."
10094 msgstr ""
10095 "B<fork>(2)  で作成された子プロセスは、親プロセスのセッション ID を継承する。 "
10096 "B<execve>(2)  の前後でセッション ID は保存される。"
10097
10098 #. type: Plain text
10099 #: build/C/man2/setsid.2:84
10100 msgid ""
10101 "A process group leader is a process with process group ID equal to its PID.  "
10102 "In order to be sure that B<setsid>()  will succeed, B<fork>(2)  and B<_exit>"
10103 "(2), and have the child do B<setsid>()."
10104 msgstr ""
10105 "プロセスグループ・リーダーとは、そのプロセスのプロセスグループ ID が その "
10106 "PID に等しいプロセスである。 B<setsid>()  を確実に成功させるためには、 "
10107 "B<fork>(2)  して B<exit>(2)  し、子プロセスで B<setsid>()  を行なえば良い。"
10108
10109 #. type: Plain text
10110 #: build/C/man2/setsid.2:91
10111 #, fuzzy
10112 #| msgid ""
10113 #| "B<getsid>(2), B<setpgid>(2), B<setpgrp>(2), B<tcgetsid>(3), B<credentials>"
10114 #| "(7)"
10115 msgid ""
10116 "B<setsid>(1), B<getsid>(2), B<setpgid>(2), B<setpgrp>(2), B<tcgetsid>(3), "
10117 "B<credentials>(7)"
10118 msgstr ""
10119 "B<getsid>(2), B<setpgid>(2), B<setpgrp>(2), B<tcgetsid>(3), B<credentials>(7)"
10120
10121 #. type: TH
10122 #: build/C/man2/setuid.2:30
10123 #, no-wrap
10124 msgid "SETUID"
10125 msgstr "SETUID"
10126
10127 #. type: Plain text
10128 #: build/C/man2/setuid.2:33
10129 msgid "setuid - set user identity"
10130 msgstr "setuid - ユーザー識別 (identity) を設定する"
10131
10132 #. type: Plain text
10133 #: build/C/man2/setuid.2:39
10134 msgid "B<int setuid(uid_t >I<uid>B<);>"
10135 msgstr "B<int setuid(uid_t >I<uid>B<);>"
10136
10137 #. type: Plain text
10138 #: build/C/man2/setuid.2:44
10139 msgid ""
10140 "B<setuid>()  sets the effective user ID of the calling process.  If the "
10141 "effective UID of the caller is root, the real UID and saved set-user-ID are "
10142 "also set."
10143 msgstr ""
10144 "B<setuid>()  は呼び出し元のプロセスの実効 (effective) ユーザー ID を設定す"
10145 "る。 もし呼び出し元プロセスの実効 UID が root ならば、 実 (real) UID と保存 "
10146 "(saved) set-user-ID も設定される。"
10147
10148 #. type: Plain text
10149 #: build/C/man2/setuid.2:53
10150 msgid ""
10151 "Under Linux, B<setuid>()  is implemented like the POSIX version with the "
10152 "B<_POSIX_SAVED_IDS> feature.  This allows a set-user-ID (other than root) "
10153 "program to drop all of its user privileges, do some un-privileged work, and "
10154 "then reengage the original effective user ID in a secure manner."
10155 msgstr ""
10156 "Linux では、 B<setuid>()  は B<_POSIX_SAVED_IDS> をもった POSIX 版のように実"
10157 "装されている。 これは (ルート以外の) set-user-ID プログラムにそのユーザーの特"
10158 "権を 全て与え、特権の必要ない仕事をし、本来の実効ユーザー ID に 安全な方法で"
10159 "再び戻すことを許す。"
10160
10161 #. type: Plain text
10162 #: build/C/man2/setuid.2:63
10163 msgid ""
10164 "If the user is root or the program is set-user-ID-root, special care must be "
10165 "taken.  The B<setuid>()  function checks the effective user ID of the caller "
10166 "and if it is the superuser, all process-related user ID's are set to "
10167 "I<uid>.  After this has occurred, it is impossible for the program to regain "
10168 "root privileges."
10169 msgstr ""
10170 "ユーザーが root またはプログラムが root に set-user-ID されているならば、 特"
10171 "別の注意が払われる。 B<setuid>()  関数は呼び出し者の実効ユーザー ID をチェッ"
10172 "クし、 それがスーパーユーザーならば、 プロセスに関連する全てのユーザー ID に "
10173 "I<uid> を設定する。 これが行なわれた後にはプログラムが再びルートの特権を得る"
10174 "ことはできない。"
10175
10176 #. type: Plain text
10177 #: build/C/man2/setuid.2:70
10178 msgid ""
10179 "Thus, a set-user-ID-root program wishing to temporarily drop root "
10180 "privileges, assume the identity of an unprivileged user, and then regain "
10181 "root privileges afterward cannot use B<setuid>().  You can accomplish this "
10182 "with B<seteuid>(2)."
10183 msgstr ""
10184 "したがって、set-user-ID-root プログラムで、一時的にルート特権を解除し、 非特"
10185 "権ユーザであるかのように振舞い、後でルート権限をもう一度得ようと する場合に"
10186 "は、 B<setuid>()  を使うことができない。その場合には、 B<seteuid>(2)  を使う"
10187 "必要がある。"
10188
10189 #. type: Plain text
10190 #: build/C/man2/setuid.2:85
10191 msgid ""
10192 "The I<uid> does not match the current uid and I<uid> brings process over its "
10193 "B<RLIMIT_NPROC> resource limit."
10194 msgstr ""
10195 "I<uid> が現在のユーザー ID とマッチせず、この I<uid> によってプロセスがリソー"
10196 "ス上限 B<RLIMIT_NPROC> を超えた。"
10197
10198 #. type: Plain text
10199 #: build/C/man2/setuid.2:92
10200 msgid ""
10201 "The user is not privileged (Linux: does not have the B<CAP_SETUID> "
10202 "capability) and I<uid> does not match the real UID or saved set-user-ID of "
10203 "the calling process."
10204 msgstr ""
10205 "ユーザーが特権を持たず (Linux では B<CAP_SETUID> ケーパビリティ (capability) "
10206 "を持たず)、 I<uid> が呼び出し元プロセスの実 UID または保存 set-user-ID と一致"
10207 "しない。"
10208
10209 #.  SVr4 documents an additional EINVAL error condition.
10210 #. type: Plain text
10211 #: build/C/man2/setuid.2:97
10212 msgid ""
10213 "SVr4, POSIX.1-2001.  Not quite compatible with the 4.4BSD call, which sets "
10214 "all of the real, saved, and effective user IDs."
10215 msgstr ""
10216 "SVr4, POSIX.1-2001.  4.4BSD のコールとは完全な互換性はない、 BSD のコールは"
10217 "実 (real)、保存 (saved)、実効 (effective) ID の全てを設定する。"
10218
10219 #. type: Plain text
10220 #: build/C/man2/setuid.2:105
10221 msgid ""
10222 "Linux has the concept of the file system user ID, normally equal to the "
10223 "effective user ID.  The B<setuid>()  call also sets the file system user ID "
10224 "of the calling process.  See B<setfsuid>(2)."
10225 msgstr ""
10226 "Linux はファイルシステム・ユーザー ID の概念を持つ。\n"
10227 "通常、これは実効ユーザー ID に等しい。 \n"
10228 "B<setuid>()  コールは呼び出し元のプロセスの\n"
10229 "ファイルシステム・ユーザー ID も設定する。 \n"
10230 "B<setfsuid>(2) も参照すること。"
10231
10232 #. type: Plain text
10233 #: build/C/man2/setuid.2:110
10234 msgid ""
10235 "If I<uid> is different from the old effective UID, the process will be "
10236 "forbidden from leaving core dumps."
10237 msgstr ""
10238 "I<uid> が前の実効 UID と異っていた場合、\n"
10239 "プロセスはコアダンプすることを禁止される。"
10240
10241 #. type: Plain text
10242 #: build/C/man2/setuid.2:120
10243 msgid ""
10244 "The original Linux B<setuid>()  system call supported only 16-bit user IDs.  "
10245 "Subsequently, Linux 2.4 added B<setuid32>()  supporting 32-bit IDs.  The "
10246 "glibc B<setuid>()  wrapper function transparently deals with the variation "
10247 "across kernel versions."
10248 msgstr ""
10249 "元々の Linux の B<setuid>() システムコールは\n"
10250 "16 ビットのグループ ID だけに対応していた。\n"
10251 "その後、Linux 2.4 で、32 ビットの ID に対応した\n"
10252 "B<setuid32>() が追加された。\n"
10253 "glibc の B<setuid>() のラッパー関数は\n"
10254 "カーネルバージョンによるこの違いを吸収している。"
10255
10256 #. type: Plain text
10257 #: build/C/man2/setuid.2:127
10258 msgid ""
10259 "B<getuid>(2), B<seteuid>(2), B<setfsuid>(2), B<setreuid>(2), B<capabilities>"
10260 "(7), B<credentials>(7)"
10261 msgstr ""
10262 "B<getuid>(2), B<seteuid>(2), B<setfsuid>(2), B<setreuid>(2), B<capabilities>"
10263 "(7), B<credentials>(7)"
10264
10265 #. type: TH
10266 #: build/C/man7/svipc.7:27
10267 #, no-wrap
10268 msgid "SVIPC"
10269 msgstr "SVIPC"
10270
10271 #. type: Plain text
10272 #: build/C/man7/svipc.7:30
10273 msgid "svipc - System V interprocess communication mechanisms"
10274 msgstr "svipc - System V プロセス間通信機構"
10275
10276 #. type: Plain text
10277 #: build/C/man7/svipc.7:35
10278 #, fuzzy, no-wrap
10279 #| msgid ""
10280 #| "B<#include E<lt>sys/types.hE<gt>>\n"
10281 #| "B<#include E<lt>sys/ipc.hE<gt>>\n"
10282 #| "B<#include E<lt>sys/msg.hE<gt>>\n"
10283 #| "B<#include E<lt>sys/sem.hE<gt>>\n"
10284 #| "B<#include E<lt>sys/shm.hE<gt>>\n"
10285 msgid ""
10286 "B<#include E<lt>sys/msg.hE<gt>>\n"
10287 "B<#include E<lt>sys/sem.hE<gt>>\n"
10288 "B<#include E<lt>sys/shm.hE<gt>>\n"
10289 msgstr ""
10290 "B<#include E<lt>sys/types.hE<gt>>\n"
10291 "B<#include E<lt>sys/ipc.hE<gt>>\n"
10292 "B<#include E<lt>sys/msg.hE<gt>>\n"
10293 "B<#include E<lt>sys/sem.hE<gt>>\n"
10294 "B<#include E<lt>sys/shm.hE<gt>>\n"
10295
10296 #. type: Plain text
10297 #: build/C/man7/svipc.7:43
10298 msgid ""
10299 "This manual page refers to the Linux implementation of the System V "
10300 "interprocess communication (IPC) mechanisms: message queues, semaphore sets, "
10301 "and shared memory segments.  In the following, the word I<resource> means an "
10302 "instantiation of one among such mechanisms."
10303 msgstr ""
10304 "このマニュアルページは System V プロセス間通信 (interprocess communication; "
10305 "IPC) 機構の Linux に おける実装を説明する。 このプロセス間通信機構には、 メッ"
10306 "セージキュー (message queue)、セマフォー集合 (semaphore set)、 共有メモリセグ"
10307 "メント (shared memory segment) などがある。以下で I<資源 (resource)> という用"
10308 "語を使用した場合にはこれらの機構のどれかを意味する。"
10309
10310 #. type: SS
10311 #: build/C/man7/svipc.7:43
10312 #, fuzzy, no-wrap
10313 #| msgid "Resource Access Permissions"
10314 msgid "Resource access permissions"
10315 msgstr "資源へのアクセス許可"
10316
10317 #. type: Plain text
10318 #: build/C/man7/svipc.7:51
10319 #, fuzzy
10320 #| msgid ""
10321 #| "For each resource, the system uses a common structure of type I<struct "
10322 #| "ipc_perm> to store information needed in determining permissions to "
10323 #| "perform an IPC operation.  The I<ipc_perm> structure, defined by the "
10324 #| "I<E<lt>sys/ipc.hE<gt>> system header file, includes the following members:"
10325 msgid ""
10326 "For each resource, the system uses a common structure of type I<struct "
10327 "ipc_perm> to store information needed in determining permissions to perform "
10328 "an IPC operation.  The I<ipc_perm> structure includes the following members:"
10329 msgstr ""
10330 "システムのそれぞれの資源は、IPC への操作を許可するかどうかを決定する ための情"
10331 "報を共通の構造体 I<struct ipc_perm> に格納して使用する。 I<ipc_perm> 構造体"
10332 "は、ヘッダーファイルの I<E<lt>sys/ipc.hE<gt>> に定義されており、以下のメン"
10333 "バーが含まれている:"
10334
10335 #. type: Plain text
10336 #: build/C/man7/svipc.7:61
10337 #, no-wrap
10338 msgid ""
10339 "struct ipc_perm {\n"
10340 "    uid_t          cuid;   /* creator user ID */\n"
10341 "    gid_t          cgid;   /* creator group ID */\n"
10342 "    uid_t          uid;    /* owner user ID */\n"
10343 "    gid_t          gid;    /* owner group ID */\n"
10344 "    unsigned short mode;   /* r/w permissions */\n"
10345 "};\n"
10346 msgstr ""
10347 "struct ipc_perm {\n"
10348 "    uid_t          cuid;   /* 作成者のユーザーID */\n"
10349 "    gid_t          cgid;   /* 作成者のグループID */\n"
10350 "    uid_t          uid;    /* 所有者のユーザーID */\n"
10351 "    gid_t          gid;    /* 所有者のグループID */\n"
10352 "    unsigned short mode;   /* 読み書きの許可 */\n"
10353 "};\n"
10354
10355 #. type: Plain text
10356 #: build/C/man7/svipc.7:71
10357 msgid ""
10358 "The I<mode> member of the I<ipc_perm> structure defines, with its lower 9 "
10359 "bits, the access permissions to the resource for a process executing an IPC "
10360 "system call.  The permissions are interpreted as follows:"
10361 msgstr ""
10362 "I<ipc_perm> 構造体の I<mode> メンバーは以下の 9 ビットで、プロセスの IPC シス"
10363 "テムコール による資源へのアクセス許可を定義する。 許可は以下のように解釈され"
10364 "る:"
10365
10366 #. type: Plain text
10367 #: build/C/man7/svipc.7:75
10368 #, no-wrap
10369 msgid ""
10370 "    0400    Read by user.\n"
10371 "    0200    Write by user.\n"
10372 msgstr ""
10373 "    0400    ユーザーによる読み込み。\n"
10374 "    0200    ユーザーによる書き込み。\n"
10375
10376 #. type: Plain text
10377 #: build/C/man7/svipc.7:78
10378 #, no-wrap
10379 msgid ""
10380 "    0040    Read by group.\n"
10381 "    0020    Write by group.\n"
10382 msgstr ""
10383 "    0040    グループによる読み込み。\n"
10384 "    0020    グループによる書き込み。\n"
10385
10386 #. type: Plain text
10387 #: build/C/man7/svipc.7:81
10388 #, no-wrap
10389 msgid ""
10390 "    0004    Read by others.\n"
10391 "    0002    Write by others.\n"
10392 msgstr ""
10393 "    0004    他人による読み込み。\n"
10394 "    0002    他人による書き込み。\n"
10395
10396 #. type: Plain text
10397 #: build/C/man7/svipc.7:89
10398 msgid ""
10399 "Bits 0100, 0010, and 0001 (the execute bits) are unused by the system.  "
10400 "Furthermore, \"write\" effectively means \"alter\" for a semaphore set."
10401 msgstr ""
10402 "システムはビット 0100, 0010, 0001 (実行ビット) は使用しない。 さらに、セマ"
10403 "フォーの場合には \"書き込み(write)\" は実際には \"変更(alter)\" を意味する。"
10404
10405 #. type: Plain text
10406 #: build/C/man7/svipc.7:92
10407 msgid ""
10408 "The same system header file also defines the following symbolic constants:"
10409 msgstr "同じヘッダーファイルには以下のシンボルの定義が含まれている:"
10410
10411 #. type: TP
10412 #: build/C/man7/svipc.7:92
10413 #, no-wrap
10414 msgid "B<IPC_CREAT>"
10415 msgstr "B<IPC_CREAT>"
10416
10417 #. type: Plain text
10418 #: build/C/man7/svipc.7:95
10419 msgid "Create entry if key doesn't exist."
10420 msgstr "キー(key)が存在しない場合には新たなエントリを作成する。"
10421
10422 #. type: TP
10423 #: build/C/man7/svipc.7:95
10424 #, no-wrap
10425 msgid "B<IPC_EXCL>"
10426 msgstr "B<IPC_EXCL>"
10427
10428 #. type: Plain text
10429 #: build/C/man7/svipc.7:98
10430 msgid "Fail if key exists."
10431 msgstr "キー(key)が存在する場合には失敗する。"
10432
10433 #. type: TP
10434 #: build/C/man7/svipc.7:98
10435 #, no-wrap
10436 msgid "B<IPC_NOWAIT>"
10437 msgstr "B<IPC_NOWAIT>"
10438
10439 #. type: Plain text
10440 #: build/C/man7/svipc.7:101
10441 msgid "Error if request must wait."
10442 msgstr "要求が待たされる場合にはエラーになる。"
10443
10444 #. type: TP
10445 #: build/C/man7/svipc.7:101
10446 #, no-wrap
10447 msgid "B<IPC_PRIVATE>"
10448 msgstr "B<IPC_PRIVATE>"
10449
10450 #. type: Plain text
10451 #: build/C/man7/svipc.7:104
10452 msgid "Private key."
10453 msgstr "プライベートキー。"
10454
10455 #. type: TP
10456 #: build/C/man7/svipc.7:104
10457 #, no-wrap
10458 msgid "B<IPC_RMID>"
10459 msgstr "B<IPC_RMID>"
10460
10461 #. type: Plain text
10462 #: build/C/man7/svipc.7:107
10463 msgid "Remove resource."
10464 msgstr "資源を削除する。"
10465
10466 #. type: TP
10467 #: build/C/man7/svipc.7:107
10468 #, no-wrap
10469 msgid "B<IPC_SET>"
10470 msgstr "B<IPC_SET>"
10471
10472 #. type: Plain text
10473 #: build/C/man7/svipc.7:110
10474 msgid "Set resource options."
10475 msgstr "資源にオプションを設定する。"
10476
10477 #. type: TP
10478 #: build/C/man7/svipc.7:110
10479 #, no-wrap
10480 msgid "B<IPC_STAT>"
10481 msgstr "B<IPC_STAT>"
10482
10483 #. type: Plain text
10484 #: build/C/man7/svipc.7:113
10485 msgid "Get resource options."
10486 msgstr "資源のオプションを取得する。"
10487
10488 #. type: Plain text
10489 #: build/C/man7/svipc.7:122
10490 msgid ""
10491 "Note that B<IPC_PRIVATE> is a I<key_t> type, while all the other symbolic "
10492 "constants are flag fields and can be OR'ed into an I<int> type variable."
10493 msgstr ""
10494 "B<IPC_PRIVATE> は I<key_t> 型である。その他の全てのシンボルはフラグフィールド"
10495 "として I<int> 変数に OR 演算で格納することができる。"
10496
10497 #. type: SS
10498 #: build/C/man7/svipc.7:122
10499 #, fuzzy, no-wrap
10500 #| msgid "Message Queues"
10501 msgid "Message queues"
10502 msgstr "メッセージキュー"
10503
10504 #. type: Plain text
10505 #: build/C/man7/svipc.7:130
10506 msgid ""
10507 "A message queue is uniquely identified by a positive integer (its I<msqid>)  "
10508 "and has an associated data structure of type I<struct msqid_ds>, defined in "
10509 "I<E<lt>sys/msg.hE<gt>>, containing the following members:"
10510 msgstr ""
10511 "メッセージキューは正の整数 (I<msqid>)  によって識別され、 I<E<lt>sys/msg."
10512 "hE<gt>> に定義されている構造体 I<struct msqid_ds> に結びつけられている。 この"
10513 "構造体は以下のメンバーを含んでいる:"
10514
10515 #. type: Plain text
10516 #: build/C/man7/svipc.7:143
10517 #, no-wrap
10518 msgid ""
10519 "struct msqid_ds {\n"
10520 "    struct ipc_perm msg_perm;\n"
10521 "    msgqnum_t       msg_qnum;    /* no of messages on queue */\n"
10522 "    msglen_t        msg_qbytes;  /* bytes max on a queue */\n"
10523 "    pid_t           msg_lspid;   /* PID of last msgsnd(2) call */\n"
10524 "    pid_t           msg_lrpid;   /* PID of last msgrcv(2) call */\n"
10525 "    time_t          msg_stime;   /* last msgsnd(2) time */\n"
10526 "    time_t          msg_rtime;   /* last msgrcv(2) time */\n"
10527 "    time_t          msg_ctime;   /* last change time */\n"
10528 "};\n"
10529 msgstr ""
10530 "struct msqid_ds {\n"
10531 "    struct ipc_perm msg_perm;\n"
10532 "    msgqnum_t       msg_qnum;    /* キューにあるメッセージの数 */\n"
10533 "    msglen_t        msg_qbytes;  /* キューの最大バイト数 */\n"
10534 "    pid_t           msg_lspid;   /* 最後に msgsnd(2) をした PID */\n"
10535 "    pid_t           msg_lrpid;   /* 最後に msgrcv(2) をした PID */\n"
10536 "    time_t          msg_stime;   /* 最後に msgsnd(2) をした時間 */\n"
10537 "    time_t          msg_rtime;   /* 最後に msgrcv(2) をした時間 */\n"
10538 "    time_t          msg_ctime;   /* 最後に変更された時間 */\n"
10539 "};\n"
10540
10541 #. type: TP
10542 #: build/C/man7/svipc.7:145
10543 #, no-wrap
10544 msgid "I<msg_perm>"
10545 msgstr "I<msg_perm>"
10546
10547 #. type: Plain text
10548 #: build/C/man7/svipc.7:150
10549 msgid ""
10550 "I<ipc_perm> structure that specifies the access permissions on the message "
10551 "queue."
10552 msgstr "メッセージキューへのアクセス許可を指定する I<ipc_perm> 構造体。"
10553
10554 #. type: TP
10555 #: build/C/man7/svipc.7:150
10556 #, no-wrap
10557 msgid "I<msg_qnum>"
10558 msgstr "I<msg_qnum>"
10559
10560 #. type: Plain text
10561 #: build/C/man7/svipc.7:153
10562 msgid "Number of messages currently on the message queue."
10563 msgstr "現在、このメッセージキューにあるメッセージの数。"
10564
10565 #. type: TP
10566 #: build/C/man7/svipc.7:153
10567 #, no-wrap
10568 msgid "I<msg_qbytes>"
10569 msgstr "I<msg_qbytes>"
10570
10571 #. type: Plain text
10572 #: build/C/man7/svipc.7:157
10573 msgid "Maximum number of bytes of message text allowed on the message queue."
10574 msgstr "メッセージキューに入れることができるメッセージの最大バイト数。"
10575
10576 #. type: TP
10577 #: build/C/man7/svipc.7:157
10578 #, no-wrap
10579 msgid "I<msg_lspid>"
10580 msgstr "I<msg_lspid>"
10581
10582 #. type: Plain text
10583 #: build/C/man7/svipc.7:162
10584 msgid "ID of the process that performed the last B<msgsnd>(2)  system call."
10585 msgstr "最後に B<msgsnd>(2)  システムコールを行なったプロセスの ID。"
10586
10587 #. type: TP
10588 #: build/C/man7/svipc.7:162
10589 #, no-wrap
10590 msgid "I<msg_lrpid>"
10591 msgstr "I<msg_lrpid>"
10592
10593 #. type: Plain text
10594 #: build/C/man7/svipc.7:167
10595 msgid "ID of the process that performed the last B<msgrcv>(2)  system call."
10596 msgstr "最後に B<msgrcv>(2)  システムコールを行なったプロセスの ID。"
10597
10598 #. type: TP
10599 #: build/C/man7/svipc.7:167
10600 #, no-wrap
10601 msgid "I<msg_stime>"
10602 msgstr "I<msg_stime>"
10603
10604 #. type: Plain text
10605 #: build/C/man7/svipc.7:172
10606 msgid "Time of the last B<msgsnd>(2)  system call."
10607 msgstr "最後に B<msgsnd>(2)  システムコールを行なった時間。"
10608
10609 #. type: TP
10610 #: build/C/man7/svipc.7:172
10611 #, no-wrap
10612 msgid "I<msg_rtime>"
10613 msgstr "I<msg_rtime>"
10614
10615 #. type: Plain text
10616 #: build/C/man7/svipc.7:177
10617 msgid "Time of the last B<msgrcv>(2)  system call."
10618 msgstr "最後に B<msgrcv>(2)  を行なった時間。"
10619
10620 #. type: TP
10621 #: build/C/man7/svipc.7:177
10622 #, no-wrap
10623 msgid "I<msg_ctime>"
10624 msgstr "I<msg_ctime>"
10625
10626 #. type: Plain text
10627 #: build/C/man7/svipc.7:183
10628 msgid ""
10629 "Time of the last system call that changed a member of the I<msqid_ds> "
10630 "structure."
10631 msgstr "最後に I<msqid_ds> 構造体のメンバーが変更された時間。"
10632
10633 #. type: SS
10634 #: build/C/man7/svipc.7:183
10635 #, fuzzy, no-wrap
10636 #| msgid "Semaphore Sets"
10637 msgid "Semaphore sets"
10638 msgstr "セマフォー集合"
10639
10640 #. type: Plain text
10641 #: build/C/man7/svipc.7:191
10642 msgid ""
10643 "A semaphore set is uniquely identified by a positive integer (its I<semid>)  "
10644 "and has an associated data structure of type I<struct semid_ds>, defined in "
10645 "I<E<lt>sys/sem.hE<gt>>, containing the following members:"
10646 msgstr ""
10647 "セマフォー集合は正の整数 (I<semid>)  によって識別され、 I<E<lt>sys/sem."
10648 "hE<gt>> に定義されている構造体 I<struct semid_ds> に結びつけられている。 この"
10649 "構造体は以下のメンバーを含んでいる:"
10650
10651 #. type: Plain text
10652 #: build/C/man7/svipc.7:200
10653 #, no-wrap
10654 msgid ""
10655 "struct semid_ds {\n"
10656 "    struct ipc_perm sem_perm;\n"
10657 "    time_t          sem_otime;   /* last operation time */\n"
10658 "    time_t          sem_ctime;   /* last change time */\n"
10659 "    unsigned long   sem_nsems;   /* count of sems in set */\n"
10660 "};\n"
10661 msgstr ""
10662 "struct semid_ds {\n"
10663 "    struct ipc_perm sem_perm;\n"
10664 "    time_t          sem_otime;   /* 最後に操作した時間 */\n"
10665 "    time_t          sem_ctime;   /* 最後に変更した時間 */\n"
10666 "    unsigned long   sem_nsems;   /* 集合の中にあるセマフォー数 */\n"
10667 "};\n"
10668
10669 #. type: TP
10670 #: build/C/man7/svipc.7:202
10671 #, no-wrap
10672 msgid "I<sem_perm>"
10673 msgstr "I<sem_perm>"
10674
10675 #. type: Plain text
10676 #: build/C/man7/svipc.7:207
10677 msgid ""
10678 "I<ipc_perm> structure that specifies the access permissions on the semaphore "
10679 "set."
10680 msgstr "セマフォー集合へのアクセス許可を指定する I<ipc_perm> 構造体。"
10681
10682 #. type: TP
10683 #: build/C/man7/svipc.7:207
10684 #, no-wrap
10685 msgid "I<sem_otime>"
10686 msgstr "I<sem_otime>"
10687
10688 #. type: Plain text
10689 #: build/C/man7/svipc.7:212
10690 msgid "Time of last B<semop>(2)  system call."
10691 msgstr "最後に B<semop>(2)  システムコールを行なった時間。"
10692
10693 #. type: TP
10694 #: build/C/man7/svipc.7:212
10695 #, no-wrap
10696 msgid "I<sem_ctime>"
10697 msgstr "I<sem_ctime>"
10698
10699 #. type: Plain text
10700 #: build/C/man7/svipc.7:218
10701 msgid ""
10702 "Time of last B<semctl>(2)  system call that changed a member of the above "
10703 "structure or of one semaphore belonging to the set."
10704 msgstr ""
10705 "最後に B<semctl>(2)  を行なって上記の構造体のメンバーを変更するか、セマフォー"
10706 "集合に属する セマフォーを変更した時間。"
10707
10708 #. type: TP
10709 #: build/C/man7/svipc.7:218
10710 #, no-wrap
10711 msgid "I<sem_nsems>"
10712 msgstr "I<sem_nsems>"
10713
10714 #. type: Plain text
10715 #: build/C/man7/svipc.7:226
10716 msgid ""
10717 "Number of semaphores in the set.  Each semaphore of the set is referenced by "
10718 "a nonnegative integer ranging from B<0> to I<sem_nsems-1>."
10719 msgstr ""
10720 "セマフォー集合の中にあるセマフォーの数。 集合の中にあるそれぞれのセマフォーは"
10721 "負でない整数によって参照され、 B<0> から I<sem_nsems-1> までの番号を持つ。"
10722
10723 #. type: Plain text
10724 #: build/C/man7/svipc.7:230
10725 msgid ""
10726 "A semaphore is a data structure of type I<struct sem> containing the "
10727 "following members:"
10728 msgstr ""
10729 "セマフォーは I<struct sem> 型のデータ構造体であり、以下のメンバーを含んでい"
10730 "る:"
10731
10732 #.     unsigned short semncnt; /* nr awaiting semval to increase */
10733 #.     unsigned short semzcnt; /* nr awaiting semval = 0 */
10734 #. type: Plain text
10735 #: build/C/man7/svipc.7:239
10736 #, no-wrap
10737 msgid ""
10738 "struct sem {\n"
10739 "    int semval;  /* semaphore value */\n"
10740 "    int sempid;  /* PID for last operation */\n"
10741 "};\n"
10742 msgstr ""
10743 "struct sem {\n"
10744 "    int semval;  /* セマフォーの値 */\n"
10745 "    int sempid;  /* 最後に操作したプロセス ID */\n"
10746 "};\n"
10747
10748 #. type: TP
10749 #: build/C/man7/svipc.7:241
10750 #, no-wrap
10751 msgid "I<semval>"
10752 msgstr "I<semval>"
10753
10754 #. type: Plain text
10755 #: build/C/man7/svipc.7:244
10756 msgid "Semaphore value: a nonnegative integer."
10757 msgstr "セマフォー値: 負でない整数。"
10758
10759 #. type: TP
10760 #: build/C/man7/svipc.7:244
10761 #, no-wrap
10762 msgid "I<sempid>"
10763 msgstr "I<sempid>"
10764
10765 #. .TP
10766 #. .I semncnt
10767 #. Number of processes suspended awaiting for
10768 #. .I semval
10769 #. to increase.
10770 #. .TP
10771 #. .I semznt
10772 #. Number of processes suspended awaiting for
10773 #. .I semval
10774 #. to become zero.
10775 #. type: Plain text
10776 #: build/C/man7/svipc.7:258
10777 msgid ""
10778 "ID of the last process that performed a semaphore operation on this "
10779 "semaphore."
10780 msgstr "このセマフォーを最後に操作したプロセスの ID。"
10781
10782 #. type: SS
10783 #: build/C/man7/svipc.7:258
10784 #, fuzzy, no-wrap
10785 #| msgid "Shared Memory Segments"
10786 msgid "Shared memory segments"
10787 msgstr "共有メモリセグメント"
10788
10789 #. type: Plain text
10790 #: build/C/man7/svipc.7:266
10791 msgid ""
10792 "A shared memory segment is uniquely identified by a positive integer (its "
10793 "I<shmid>)  and has an associated data structure of type I<struct shmid_ds>, "
10794 "defined in I<E<lt>sys/shm.hE<gt>>, containing the following members:"
10795 msgstr ""
10796 "共有メモリセグメントは正の整数 (I<shmid>)  によって識別され、 I<E<lt>sys/shm."
10797 "hE<gt>> に定義されている I<struct shmid_ds> 構造体に結びつけられている。 この"
10798 "構造体は以下のメンバーを含んでいる:"
10799
10800 #. type: Plain text
10801 #: build/C/man7/svipc.7:279
10802 #, no-wrap
10803 msgid ""
10804 "struct shmid_ds {\n"
10805 "    struct ipc_perm shm_perm;\n"
10806 "    size_t          shm_segsz;   /* size of segment */\n"
10807 "    pid_t           shm_cpid;    /* PID of creator */\n"
10808 "    pid_t           shm_lpid;    /* PID, last operation */\n"
10809 "    shmatt_t        shm_nattch;  /* no. of current attaches */\n"
10810 "    time_t          shm_atime;   /* time of last attach */\n"
10811 "    time_t          shm_dtime;   /* time of last detach */\n"
10812 "    time_t          shm_ctime;   /* time of last change */\n"
10813 "};\n"
10814 msgstr ""
10815 "struct shmid_ds {\n"
10816 "    struct ipc_perm shm_perm;\n"
10817 "    size_t          shm_segsz;   /* セグメントのサイズ */\n"
10818 "    pid_t           shm_cpid;    /* 作成者のプロセス ID */\n"
10819 "    pid_t           shm_lpid;    /* 最後に操作したプロセス ID */\n"
10820 "    shmatt_t        shm_nattch;  /* 現在、付加している数 */\n"
10821 "    time_t          shm_atime;   /* 最後に付加した時間 */\n"
10822 "    time_t          shm_dtime;   /* 最後に分離した時間 */\n"
10823 "    time_t          shm_ctime;   /* 最後に変更した時間 */\n"
10824 "};\n"
10825
10826 #. type: TP
10827 #: build/C/man7/svipc.7:281
10828 #, no-wrap
10829 msgid "I<shm_perm>"
10830 msgstr "I<shm_perm>"
10831
10832 #. type: Plain text
10833 #: build/C/man7/svipc.7:286
10834 msgid ""
10835 "I<ipc_perm> structure that specifies the access permissions on the shared "
10836 "memory segment."
10837 msgstr "共有メモリセグメントへのアクセス許可を指定した I<ipc_perm> 構造体。"
10838
10839 #. type: TP
10840 #: build/C/man7/svipc.7:286
10841 #, no-wrap
10842 msgid "I<shm_segsz>"
10843 msgstr "I<shm_segsz>"
10844
10845 #. type: Plain text
10846 #: build/C/man7/svipc.7:289
10847 msgid "Size in bytes of the shared memory segment."
10848 msgstr "共有メモリセグメントのバイト数。"
10849
10850 #. type: TP
10851 #: build/C/man7/svipc.7:289
10852 #, no-wrap
10853 msgid "I<shm_cpid>"
10854 msgstr "I<shm_cpid>"
10855
10856 #. type: Plain text
10857 #: build/C/man7/svipc.7:292
10858 msgid "ID of the process that created the shared memory segment."
10859 msgstr "共有メモリセグメントを作成したプロセスの ID。"
10860
10861 #. type: TP
10862 #: build/C/man7/svipc.7:292
10863 #, no-wrap
10864 msgid "I<shm_lpid>"
10865 msgstr "I<shm_lpid>"
10866
10867 #. type: Plain text
10868 #: build/C/man7/svipc.7:299
10869 msgid ""
10870 "ID of the last process that executed a B<shmat>(2)  or B<shmdt>(2)  system "
10871 "call."
10872 msgstr ""
10873 "最後に B<shmat>(2)  または B<shmdt>(2)  システムコールを実行したプロセスの "
10874 "ID。"
10875
10876 #. type: TP
10877 #: build/C/man7/svipc.7:299
10878 #, no-wrap
10879 msgid "I<shm_nattch>"
10880 msgstr "I<shm_nattch>"
10881
10882 #. type: Plain text
10883 #: build/C/man7/svipc.7:302
10884 msgid "Number of current alive attaches for this shared memory segment."
10885 msgstr "この共有メモリセグメントをメモリに付加 (attach) しているプロセスの数。"
10886
10887 #. type: TP
10888 #: build/C/man7/svipc.7:302
10889 #, no-wrap
10890 msgid "I<shm_atime>"
10891 msgstr "I<shm_atime>"
10892
10893 #. type: Plain text
10894 #: build/C/man7/svipc.7:307
10895 msgid "Time of the last B<shmat>(2)  system call."
10896 msgstr "最後に B<shmat>(2)  システムコールを行なった時間。"
10897
10898 #. type: TP
10899 #: build/C/man7/svipc.7:307
10900 #, no-wrap
10901 msgid "I<shm_dtime>"
10902 msgstr "I<shm_dtime>"
10903
10904 #. type: Plain text
10905 #: build/C/man7/svipc.7:312
10906 msgid "Time of the last B<shmdt>(2)  system call."
10907 msgstr "最後に B<shmdt>(2)  システムコールを行なった時間。"
10908
10909 #. type: TP
10910 #: build/C/man7/svipc.7:312
10911 #, no-wrap
10912 msgid "I<shm_ctime>"
10913 msgstr "I<shm_ctime>"
10914
10915 #. type: Plain text
10916 #: build/C/man7/svipc.7:318
10917 msgid "Time of the last B<shmctl>(2)  system call that changed I<shmid_ds>."
10918 msgstr ""
10919 "最後に B<shmctl>(2)  システムコールを行なって、 I<shmid_ds> 構造体を変更した"
10920 "時間。"
10921
10922 #. type: Plain text
10923 #: build/C/man7/svipc.7:335
10924 #, fuzzy
10925 #| msgid ""
10926 #| "B<ipc>(2), B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), "
10927 #| "B<semctl>(2), B<semget>(2), B<semop>(2), B<shmat>(2), B<shmctl>(2), "
10928 #| "B<shmdt>(2), B<shmget>(2), B<ftok>(3)"
10929 msgid ""
10930 "B<ipcmk>(1), B<ipcrm>(1), B<ipcs>(1), B<ipc>(2), B<msgctl>(2), B<msgget>(2), "
10931 "B<msgrcv>(2), B<msgsnd>(2), B<semctl>(2), B<semget>(2), B<semop>(2), B<shmat>"
10932 "(2), B<shmctl>(2), B<shmdt>(2), B<shmget>(2), B<ftok>(3)"
10933 msgstr ""
10934 "B<ipc>(2), B<msgctl>(2), B<msgget>(2), B<msgrcv>(2), B<msgsnd>(2), B<semctl>"
10935 "(2), B<semget>(2), B<semop>(2), B<shmat>(2), B<shmctl>(2), B<shmdt>(2), "
10936 "B<shmget>(2), B<ftok>(3)"
10937
10938 #. type: TH
10939 #: build/C/man3/ulimit.3:27
10940 #, no-wrap
10941 msgid "ULIMIT"
10942 msgstr "ULIMIT"
10943
10944 #. type: TH
10945 #: build/C/man3/ulimit.3:27
10946 #, no-wrap
10947 msgid "2008-08-06"
10948 msgstr "2008-08-06"
10949
10950 #. type: Plain text
10951 #: build/C/man3/ulimit.3:30
10952 msgid "ulimit - get and set user limits"
10953 msgstr "ulimit - ユーザー制限を取得・設定する"
10954
10955 #. type: Plain text
10956 #: build/C/man3/ulimit.3:32
10957 msgid "B<#include E<lt>ulimit.hE<gt>>"
10958 msgstr "B<#include E<lt>ulimit.hE<gt>>"
10959
10960 #. type: Plain text
10961 #: build/C/man3/ulimit.3:34
10962 msgid "B<long ulimit(int >I<cmd>B<, long >I<newlimit>B<);>"
10963 msgstr "B<long ulimit(int >I<cmd>B<, long >I<newlimit>B<);>"
10964
10965 #. type: Plain text
10966 #: build/C/man3/ulimit.3:46
10967 msgid ""
10968 "Warning: This routine is obsolete.  Use B<getrlimit>(2), B<setrlimit>(2), "
10969 "and B<sysconf>(3)  instead.  For the shell command B<ulimit>(), see B<bash>"
10970 "(1)."
10971 msgstr ""
10972 "注意: このルーチンは古い。 代わりに B<getrlimit>(2), B<setrlimit>(2), "
10973 "B<sysconf>(3)  などを用いること。 シェルコマンドとしての B<ulimit>()  につい"
10974 "ては、 B<bash>(1)  を見ること。"
10975
10976 #. type: Plain text
10977 #: build/C/man3/ulimit.3:53
10978 msgid ""
10979 "The B<ulimit>()  call will get or set some limit for the calling process.  "
10980 "The I<cmd> argument can have one of the following values."
10981 msgstr ""
10982 "B<ulimit>()  は呼び出し元のプロセスに関する制限のいくつかを取得・設定する。 "
10983 "I<cmd> 引き数には、以下の値のうちのどれか一つを与えることができる。"
10984
10985 #. type: TP
10986 #: build/C/man3/ulimit.3:53
10987 #, no-wrap
10988 msgid "B<UL_GETFSIZE>"
10989 msgstr "B<UL_GETFSIZE>"
10990
10991 #. type: Plain text
10992 #: build/C/man3/ulimit.3:56
10993 msgid "Return the limit on the size of a file, in units of 512 bytes."
10994 msgstr "ファイルサイズに関する制限を返す。単位は 512 バイト。"
10995
10996 #. type: TP
10997 #: build/C/man3/ulimit.3:56
10998 #, no-wrap
10999 msgid "B<UL_SETFSIZE>"
11000 msgstr "B<UL_SETFSIZE>"
11001
11002 #. type: Plain text
11003 #: build/C/man3/ulimit.3:59
11004 msgid "Set the limit on the size of a file."
11005 msgstr "ファイルサイズに関する制限を設定する。"
11006
11007 #. type: TP
11008 #: build/C/man3/ulimit.3:59
11009 #, no-wrap
11010 msgid "B<3>"
11011 msgstr "B<3>"
11012
11013 #. type: Plain text
11014 #: build/C/man3/ulimit.3:63
11015 msgid ""
11016 "(Not implemented for Linux.)  Return the maximum possible address of the "
11017 "data segment."
11018 msgstr ""
11019 "(Linux では実装されていない)  データセグメントで指定できるアドレスの最大値を"
11020 "返す。"
11021
11022 #. type: TP
11023 #: build/C/man3/ulimit.3:63
11024 #, no-wrap
11025 msgid "B<4>"
11026 msgstr "B<4>"
11027
11028 #. type: Plain text
11029 #: build/C/man3/ulimit.3:67
11030 msgid ""
11031 "(Implemented but no symbolic constant provided.)  Return the maximum number "
11032 "of files that the calling process can open."
11033 msgstr ""
11034 "(実装されているが、対応するシンボリックな定数は存在しない)  プロセスがオープ"
11035 "ンできるファイル数の最大値を返す。"
11036
11037 #. type: Plain text
11038 #: build/C/man3/ulimit.3:74
11039 msgid ""
11040 "On success, B<ulimit>()  returns a nonnegative value.  On error, -1 is "
11041 "returned, and I<errno> is set appropriately."
11042 msgstr ""
11043 "成功すると B<ulimit>()  は 0 または正の値を返す。 エラーが生じると -1 を返"
11044 "し、 I<errno> を適切な値に設定する。"
11045
11046 #. type: Plain text
11047 #: build/C/man3/ulimit.3:78
11048 msgid "A unprivileged process tried to increase a limit."
11049 msgstr "非特権プロセスが制限値を増加させようとした。"
11050
11051 #. type: Plain text
11052 #: build/C/man3/ulimit.3:83
11053 msgid "SVr4, POSIX.1-2001.  POSIX.1-2008 marks B<ulimit>()  as obsolete."
11054 msgstr ""
11055 "SVr4, POSIX.1-2001.  POSIX.1-2008 は B<ulimit>()  を廃止予定としている。"
11056
11057 #. type: Plain text
11058 #: build/C/man3/ulimit.3:88
11059 msgid "B<bash>(1), B<getrlimit>(2), B<setrlimit>(2), B<sysconf>(3)"
11060 msgstr "B<bash>(1), B<getrlimit>(2), B<setrlimit>(2), B<sysconf>(3)"
11061
11062 #~ msgid "2010-09-20"
11063 #~ msgstr "2010-09-20"
11064
11065 #~ msgid "http://www.kernel.org/pub/linux/libs/security/linux-privs"
11066 #~ msgstr "http://www.kernel.org/pub/linux/libs/security/linux-privs"
11067
11068 #~ msgid "2008-11-12"
11069 #~ msgstr "2008-11-12"
11070
11071 #~ msgid "I<mems>"
11072 #~ msgstr "I<mems>"
11073
11074 #~ msgid "2008-05-29"
11075 #~ msgstr "2008-05-29"
11076
11077 #~ msgid "2011-09-10"
11078 #~ msgstr "2011-09-10"
11079
11080 #~ msgid "2004-05-27"
11081 #~ msgstr "2004-05-27"
11082
11083 #~ msgid ""
11084 #~ "B<iopl>()  is Linux-specific and should not be used in processes intended "
11085 #~ "to be portable."
11086 #~ msgstr ""
11087 #~ "B<iopl>()  は Linux 特有の関数であり、移植を意図したプログラムで 使用して"
11088 #~ "はならない。"
11089
11090 #~ msgid "2008-07-09"
11091 #~ msgstr "2008-07-09"
11092
11093 #~ msgid "I<who> is a process ID identifying a single process."
11094 #~ msgstr "I<who> はプロセスID であり、指定された 1 プロセスが対象となる。"
11095
11096 #~ msgid "2007-06-28"
11097 #~ msgstr "2007-06-28"
11098
11099 #~ msgid "2009-10-17"
11100 #~ msgstr "2009-10-17"
11101
11102 #~ msgid "2008-12-03"
11103 #~ msgstr "2008-12-03"
11104
11105 #~ msgid "2009-01-26"
11106 #~ msgstr "2009-01-26"
11107
11108 #~ msgid ""
11109 #~ "Perform various network-related operations (e.g., setting privileged "
11110 #~ "socket options, enabling multicasting, interface configuration, modifying "
11111 #~ "routing tables)."
11112 #~ msgstr ""
11113 #~ "各種のネットワーク関連の操作を実行する。 (例えば、特権が必要なソケットオプ"
11114 #~ "ションを設定する、マルチキャストを有効にする、 インターフェースを設定す"
11115 #~ "る、ルーティングテーブルを変更するなど)"
11116
11117 #~ msgid "Use B<vhangup>(2)."
11118 #~ msgstr "B<vhangup>(2)  を呼び出す。"
11119
11120 #~ msgid "I<rlim> points outside the accessible address space."
11121 #~ msgstr "I<rlim> がアクセス可能なアドレス空間の外を指している。"
11122
11123 #~ msgid ""
11124 #~ "The structure definition shown at the start of this page was taken from "
11125 #~ "4.3BSD Reno.  Not all fields are meaningful under Linux.  In Linux 2.4 "
11126 #~ "only the fields I<ru_utime>, I<ru_stime>, I<ru_minflt>, and I<ru_majflt> "
11127 #~ "are maintained.  Since Linux 2.6, I<ru_nvcsw> and I<ru_nivcsw> are also "
11128 #~ "maintained.  Since Linux 2.6.22, I<ru_inblock> and I<ru_oublock> are also "
11129 #~ "maintained."
11130 #~ msgstr ""
11131 #~ "このページの最初で示した構造体の定義は 4.3BSD Reno のものを採用した。 "
11132 #~ "Linux では全てのフィールドが意味を持つというわけではない。 Linux 2.4 で"
11133 #~ "は、フィールド I<ru_utime>, I<ru_stime>, I<ru_minflt>, I<ru_majflt> のみが"
11134 #~ "メンテナンスされている。 Linux 2.6 以降では I<ru_nvcsw>, I<ru_nivcsw> もメ"
11135 #~ "ンテナンスされている。 Linux 2.6.22 以降では I<ru_inblock>, I<ru_oublock> "
11136 #~ "もメンテナンスされている。"
11137
11138 #~ msgid "Linux Notes"
11139 #~ msgstr "Linux での注意"