OSDN Git Service

(split) LDP: Update ja.po snapshots.
[linuxjm/LDP_man-pages.git] / po4a / signal / po / ja.po
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2012-05-01 04:22+0900\n"
10 "PO-Revision-Date: 2012-05-07 11:36+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
13 "Language: \n"
14 "MIME-Version: 1.0\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
17
18 #. type: TH
19 #: build/C/man3/bsd_signal.3:23
20 #, no-wrap
21 msgid "BSD_SIGNAL"
22 msgstr "BSD_SIGNAL"
23
24 #. type: TH
25 #: build/C/man3/bsd_signal.3:23 build/C/man2/getitimer.2:7
26 #, no-wrap
27 msgid "2009-03-15"
28 msgstr "2009-03-15"
29
30 #. type: TH
31 #: build/C/man3/bsd_signal.3:23 build/C/man2/eventfd.2:21
32 #: build/C/man2/getitimer.2:7 build/C/man3/gsignal.3:25 build/C/man2/kill.2:44
33 #: build/C/man2/killpg.2:40 build/C/man2/pause.2:30 build/C/man2/prctl.2:48
34 #: build/C/man3/profil.3:28 build/C/man3/psignal.3:28 build/C/man3/raise.3:27
35 #: build/C/man2/rt_sigqueueinfo.2:23 build/C/man2/sgetmask.2:24
36 #: build/C/man2/sigaction.2:45 build/C/man2/sigaltstack.2:25
37 #: build/C/man7/sigevent.7:24 build/C/man3/siginterrupt.3:29
38 #: build/C/man2/signal.2:34 build/C/man7/signal.7:44
39 #: build/C/man2/signalfd.2:19 build/C/man3/sigpause.3:23
40 #: build/C/man2/sigpending.2:27 build/C/man2/sigprocmask.2:27
41 #: build/C/man3/sigqueue.3:26 build/C/man2/sigreturn.2:27
42 #: build/C/man3/sigset.3:24 build/C/man3/sigsetops.3:29
43 #: build/C/man2/sigsuspend.2:27 build/C/man3/sigvec.3:24
44 #: build/C/man3/sigwait.3:24 build/C/man2/sigwaitinfo.2:23
45 #: build/C/man3/sysv_signal.3:23 build/C/man2/timer_create.2:29
46 #: build/C/man2/timer_delete.2:23 build/C/man2/timer_getoverrun.2:23
47 #: build/C/man2/timer_settime.2:23 build/C/man2/timerfd_create.2:20
48 #: build/C/man2/tkill.2:29 build/C/man2/wait.2:50 build/C/man2/wait4.2:34
49 #, no-wrap
50 msgid "Linux Programmer's Manual"
51 msgstr "Linux Programmer's Manual"
52
53 #. type: SH
54 #: build/C/man3/bsd_signal.3:24 build/C/man2/eventfd.2:22
55 #: build/C/man2/getitimer.2:8 build/C/man3/gsignal.3:26 build/C/man2/kill.2:45
56 #: build/C/man2/killpg.2:41 build/C/man2/pause.2:31 build/C/man2/prctl.2:49
57 #: build/C/man3/profil.3:29 build/C/man3/psignal.3:29 build/C/man3/raise.3:28
58 #: build/C/man2/rt_sigqueueinfo.2:24 build/C/man2/sgetmask.2:25
59 #: build/C/man2/sigaction.2:46 build/C/man2/sigaltstack.2:26
60 #: build/C/man7/sigevent.7:25 build/C/man3/siginterrupt.3:30
61 #: build/C/man2/signal.2:35 build/C/man7/signal.7:45
62 #: build/C/man2/signalfd.2:20 build/C/man3/sigpause.3:24
63 #: build/C/man2/sigpending.2:28 build/C/man2/sigprocmask.2:28
64 #: build/C/man3/sigqueue.3:27 build/C/man2/sigreturn.2:28
65 #: build/C/man3/sigset.3:25 build/C/man3/sigsetops.3:30
66 #: build/C/man2/sigsuspend.2:28 build/C/man3/sigvec.3:25
67 #: build/C/man3/sigwait.3:25 build/C/man2/sigwaitinfo.2:24
68 #: build/C/man3/sysv_signal.3:24 build/C/man2/timer_create.2:30
69 #: build/C/man2/timer_delete.2:24 build/C/man2/timer_getoverrun.2:24
70 #: build/C/man2/timer_settime.2:24 build/C/man2/timerfd_create.2:21
71 #: build/C/man2/tkill.2:30 build/C/man2/wait.2:51 build/C/man2/wait4.2:35
72 #, no-wrap
73 msgid "NAME"
74 msgstr "名前"
75
76 #. type: Plain text
77 #: build/C/man3/bsd_signal.3:26
78 msgid "bsd_signal - signal handling with BSD semantics"
79 msgstr "bsd_signal - BSD 方式のシグナル処理"
80
81 #. type: SH
82 #: build/C/man3/bsd_signal.3:26 build/C/man2/eventfd.2:24
83 #: build/C/man2/getitimer.2:10 build/C/man3/gsignal.3:28
84 #: build/C/man2/kill.2:47 build/C/man2/killpg.2:43 build/C/man2/pause.2:33
85 #: build/C/man2/prctl.2:51 build/C/man3/profil.3:31 build/C/man3/psignal.3:31
86 #: build/C/man3/raise.3:30 build/C/man2/rt_sigqueueinfo.2:26
87 #: build/C/man2/sgetmask.2:27 build/C/man2/sigaction.2:48
88 #: build/C/man2/sigaltstack.2:28 build/C/man7/sigevent.7:27
89 #: build/C/man3/siginterrupt.3:32 build/C/man2/signal.2:37
90 #: build/C/man2/signalfd.2:22 build/C/man3/sigpause.3:26
91 #: build/C/man2/sigpending.2:30 build/C/man2/sigprocmask.2:30
92 #: build/C/man3/sigqueue.3:29 build/C/man2/sigreturn.2:30
93 #: build/C/man3/sigset.3:27 build/C/man3/sigsetops.3:33
94 #: build/C/man2/sigsuspend.2:30 build/C/man3/sigvec.3:27
95 #: build/C/man3/sigwait.3:27 build/C/man2/sigwaitinfo.2:26
96 #: build/C/man3/sysv_signal.3:26 build/C/man2/timer_create.2:32
97 #: build/C/man2/timer_delete.2:26 build/C/man2/timer_getoverrun.2:26
98 #: build/C/man2/timer_settime.2:27 build/C/man2/timerfd_create.2:24
99 #: build/C/man2/tkill.2:32 build/C/man2/wait.2:53 build/C/man2/wait4.2:37
100 #, no-wrap
101 msgid "SYNOPSIS"
102 msgstr "書式"
103
104 #. type: Plain text
105 #: build/C/man3/bsd_signal.3:28
106 msgid "B<#define _XOPEN_SOURCE> /* See feature_test_macros(7) */"
107 msgstr "B<#define _XOPEN_SOURCE> /* feature_test_macros(7) 参照 */"
108
109 #. type: Plain text
110 #: build/C/man3/bsd_signal.3:30 build/C/man2/killpg.2:45
111 #: build/C/man2/sigaltstack.2:30 build/C/man2/signal.2:39
112 #: build/C/man2/sigpending.2:32 build/C/man2/sigprocmask.2:32
113 #: build/C/man3/sigqueue.3:31 build/C/man3/sigset.3:29
114 #: build/C/man3/sigsetops.3:35 build/C/man2/sigsuspend.2:32
115 #: build/C/man3/sigvec.3:29 build/C/man3/sysv_signal.3:30
116 msgid "B<#include E<lt>signal.hE<gt>>"
117 msgstr "B<#include E<lt>signal.hE<gt>>"
118
119 #. type: Plain text
120 #: build/C/man3/bsd_signal.3:32 build/C/man2/signal.2:41
121 #: build/C/man3/sigset.3:31 build/C/man3/sysv_signal.3:32
122 msgid "B<typedef void (*sighandler_t)(int);>"
123 msgstr "B<typedef void (*sighandler_t)(int);>"
124
125 #. type: Plain text
126 #: build/C/man3/bsd_signal.3:34
127 msgid ""
128 "B<sighandler_t bsd_signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
129 msgstr ""
130 "B<sighandler_t bsd_signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
131
132 #. type: SH
133 #: build/C/man3/bsd_signal.3:34 build/C/man2/eventfd.2:28
134 #: build/C/man2/getitimer.2:19 build/C/man3/gsignal.3:47
135 #: build/C/man2/kill.2:65 build/C/man2/killpg.2:59 build/C/man2/pause.2:37
136 #: build/C/man2/prctl.2:58 build/C/man3/profil.3:44 build/C/man3/psignal.3:54
137 #: build/C/man3/raise.3:36 build/C/man2/rt_sigqueueinfo.2:33
138 #: build/C/man2/sgetmask.2:31 build/C/man2/sigaction.2:65
139 #: build/C/man2/sigaltstack.2:49 build/C/man7/sigevent.7:50
140 #: build/C/man3/siginterrupt.3:53 build/C/man2/signal.2:43
141 #: build/C/man7/signal.7:47 build/C/man2/signalfd.2:26
142 #: build/C/man3/sigpause.3:34 build/C/man2/sigpending.2:44
143 #: build/C/man2/sigprocmask.2:45 build/C/man3/sigqueue.3:41
144 #: build/C/man2/sigreturn.2:32 build/C/man3/sigset.3:56
145 #: build/C/man3/sigsetops.3:61 build/C/man2/sigsuspend.2:44
146 #: build/C/man3/sigvec.3:47 build/C/man3/sigwait.3:43
147 #: build/C/man2/sigwaitinfo.2:44 build/C/man3/sysv_signal.3:34
148 #: build/C/man2/timer_create.2:50 build/C/man2/timer_delete.2:42
149 #: build/C/man2/timer_getoverrun.2:42 build/C/man2/timer_settime.2:47
150 #: build/C/man2/timerfd_create.2:36 build/C/man2/tkill.2:38
151 #: build/C/man2/wait.2:82 build/C/man2/wait4.2:68
152 #, no-wrap
153 msgid "DESCRIPTION"
154 msgstr "説明"
155
156 #. type: Plain text
157 #: build/C/man3/bsd_signal.3:39
158 msgid ""
159 "The B<bsd_signal>()  function takes the same arguments, and performs the "
160 "same task, as B<signal>(2)."
161 msgstr ""
162 "B<bsd_signal>()  関数は B<signal>(2)  と同じ引き数をとり、同じ処理を実行す"
163 "る。"
164
165 #. type: Plain text
166 #: build/C/man3/bsd_signal.3:52
167 msgid ""
168 "The difference between the two is that B<bsd_signal>()  is guaranteed to "
169 "provide reliable signal semantics, that is: a) the disposition of the signal "
170 "is not reset to the default when the handler is invoked; b) delivery of "
171 "further instances of the signal is blocked while the signal handler is "
172 "executing; and c) if the handler interrupts a blocking system call, then the "
173 "system call is automatically restarted.  A portable application cannot rely "
174 "on B<signal>(2)  to provide these guarantees."
175 msgstr ""
176 "両者の違いは、 B<bsd_signal>()  では信頼性のあるシグナル処理方式の提供が保証"
177 "されていることである。 信頼性のあるシグナル処理方式は以下の特徴を持つ。 a) ハ"
178 "ンドラが起動された場合に、シグナルの処理方法 (disposition) が デフォルトにリ"
179 "セットされない、 b) シグナルハンドラの実行中は、それ以降に発生した同じシグナ"
180 "ルの配送が ブロックされない、 c) ハンドラが停止中の (blocking している) シス"
181 "テムコールを 中断した場合、そのシステムコールが自動的に再開される。 移植性が"
182 "必要なアプリケーションでは、 B<signal>(2)  でこれらが保証されることを前提にす"
183 "べきではない。"
184
185 #. type: SH
186 #: build/C/man3/bsd_signal.3:52 build/C/man2/eventfd.2:222
187 #: build/C/man2/getitimer.2:117 build/C/man2/kill.2:99
188 #: build/C/man2/killpg.2:88 build/C/man2/pause.2:42 build/C/man2/prctl.2:546
189 #: build/C/man3/profil.3:66 build/C/man3/psignal.3:87 build/C/man3/raise.3:59
190 #: build/C/man2/rt_sigqueueinfo.2:124 build/C/man2/sgetmask.2:54
191 #: build/C/man2/sigaction.2:656 build/C/man2/sigaltstack.2:131
192 #: build/C/man3/siginterrupt.3:71 build/C/man2/signal.2:95
193 #: build/C/man2/signalfd.2:248 build/C/man3/sigpause.3:46
194 #: build/C/man2/sigpending.2:51 build/C/man2/sigprocmask.2:91
195 #: build/C/man3/sigqueue.3:81 build/C/man2/sigreturn.2:51
196 #: build/C/man3/sigset.3:127 build/C/man3/sigsetops.3:105
197 #: build/C/man2/sigsuspend.2:68 build/C/man3/sigvec.3:197
198 #: build/C/man3/sigwait.3:66 build/C/man2/sigwaitinfo.2:98
199 #: build/C/man3/sysv_signal.3:49 build/C/man2/timer_create.2:165
200 #: build/C/man2/timer_delete.2:50 build/C/man2/timer_getoverrun.2:79
201 #: build/C/man2/timer_settime.2:169 build/C/man2/timerfd_create.2:286
202 #: build/C/man2/tkill.2:69 build/C/man2/wait.2:354 build/C/man2/wait4.2:127
203 #, no-wrap
204 msgid "RETURN VALUE"
205 msgstr "返り値"
206
207 #. type: Plain text
208 #: build/C/man3/bsd_signal.3:58
209 msgid ""
210 "The B<bsd_signal>()  function returns the previous value of the signal "
211 "handler, or B<SIG_ERR> on error."
212 msgstr ""
213 "B<bsd_signal>()  関数はシグナルハンドラの直前の値を返す。 エラーの場合、 "
214 "B<SIG_ERR> を返す。"
215
216 #. type: SH
217 #: build/C/man3/bsd_signal.3:58 build/C/man2/eventfd.2:229
218 #: build/C/man2/getitimer.2:122 build/C/man2/kill.2:104
219 #: build/C/man2/killpg.2:93 build/C/man2/pause.2:53 build/C/man2/prctl.2:563
220 #: build/C/man2/rt_sigqueueinfo.2:129 build/C/man2/sgetmask.2:59
221 #: build/C/man2/sigaction.2:659 build/C/man2/sigaltstack.2:135
222 #: build/C/man3/siginterrupt.3:76 build/C/man2/signal.2:100
223 #: build/C/man2/signalfd.2:262 build/C/man2/sigpending.2:54
224 #: build/C/man2/sigprocmask.2:94 build/C/man3/sigqueue.3:89
225 #: build/C/man3/sigset.3:152 build/C/man3/sigsetops.3:121
226 #: build/C/man2/sigsuspend.2:72 build/C/man3/sigvec.3:214
227 #: build/C/man3/sigwait.3:71 build/C/man2/sigwaitinfo.2:107
228 #: build/C/man3/sysv_signal.3:55 build/C/man2/timer_create.2:173
229 #: build/C/man2/timer_delete.2:57 build/C/man2/timer_getoverrun.2:87
230 #: build/C/man2/timer_settime.2:178 build/C/man2/timerfd_create.2:301
231 #: build/C/man2/tkill.2:73 build/C/man2/wait.2:383 build/C/man2/wait4.2:130
232 #, no-wrap
233 msgid "ERRORS"
234 msgstr "エラー"
235
236 #. type: Plain text
237 #: build/C/man3/bsd_signal.3:61 build/C/man3/sysv_signal.3:58
238 msgid "As for B<signal>(2)."
239 msgstr "B<signal>(2)  と同じ。"
240
241 #. type: SH
242 #: build/C/man3/bsd_signal.3:61 build/C/man2/eventfd.2:266
243 #: build/C/man2/getitimer.2:143 build/C/man3/gsignal.3:93
244 #: build/C/man2/kill.2:120 build/C/man2/killpg.2:110 build/C/man2/pause.2:57
245 #: build/C/man2/prctl.2:725 build/C/man3/profil.3:68 build/C/man3/psignal.3:97
246 #: build/C/man3/raise.3:62 build/C/man2/rt_sigqueueinfo.2:171
247 #: build/C/man2/sgetmask.2:61 build/C/man2/sigaction.2:671
248 #: build/C/man2/sigaltstack.2:154 build/C/man7/sigevent.7:128
249 #: build/C/man3/siginterrupt.3:80 build/C/man2/signal.2:105
250 #: build/C/man7/signal.7:834 build/C/man2/signalfd.2:304
251 #: build/C/man3/sigpause.3:54 build/C/man2/sigpending.2:59
252 #: build/C/man2/sigprocmask.2:107 build/C/man3/sigqueue.3:112
253 #: build/C/man2/sigreturn.2:58 build/C/man3/sigset.3:171
254 #: build/C/man3/sigsetops.3:126 build/C/man2/sigsuspend.2:80
255 #: build/C/man3/sigvec.3:219 build/C/man3/sigwait.3:77
256 #: build/C/man2/sigwaitinfo.2:126 build/C/man3/sysv_signal.3:58
257 #: build/C/man2/timer_create.2:191 build/C/man2/timer_delete.2:64
258 #: build/C/man2/timer_getoverrun.2:94 build/C/man2/timer_settime.2:203
259 #: build/C/man2/timerfd_create.2:370 build/C/man2/tkill.2:90
260 #: build/C/man2/wait.2:421 build/C/man2/wait4.2:133
261 #, no-wrap
262 msgid "CONFORMING TO"
263 msgstr "準拠"
264
265 #. type: Plain text
266 #: build/C/man3/bsd_signal.3:68
267 msgid ""
268 "4.2BSD, POSIX.1-2001.  POSIX.1-2008 removes the specification of "
269 "B<bsd_signal>(), recommending the use of B<sigaction>(2)  instead."
270 msgstr ""
271 "4.2BSD, POSIX.1-2001.  POSIX.1-2008 では B<bsd_signal>()  の仕様が削除されて"
272 "いる。 代わりに、 B<sigaction>(2)  の使用が推奨されている。"
273
274 #. type: SH
275 #: build/C/man3/bsd_signal.3:68 build/C/man2/eventfd.2:271
276 #: build/C/man2/getitimer.2:153 build/C/man2/kill.2:122
277 #: build/C/man2/killpg.2:114 build/C/man3/raise.3:64
278 #: build/C/man2/rt_sigqueueinfo.2:173 build/C/man2/sgetmask.2:63
279 #: build/C/man2/sigaction.2:674 build/C/man2/sigaltstack.2:156
280 #: build/C/man2/signal.2:107 build/C/man2/signalfd.2:309
281 #: build/C/man3/sigpause.3:58 build/C/man2/sigpending.2:61
282 #: build/C/man2/sigprocmask.2:109 build/C/man3/sigqueue.3:114
283 #: build/C/man2/sigreturn.2:62 build/C/man3/sigset.3:188
284 #: build/C/man3/sigsetops.3:128 build/C/man2/sigsuspend.2:82
285 #: build/C/man3/sigvec.3:225 build/C/man3/sigwait.3:79
286 #: build/C/man2/sigwaitinfo.2:128 build/C/man3/sysv_signal.3:60
287 #: build/C/man2/timer_create.2:193 build/C/man2/timer_getoverrun.2:96
288 #: build/C/man2/tkill.2:96 build/C/man2/wait.2:423 build/C/man2/wait4.2:135
289 #, no-wrap
290 msgid "NOTES"
291 msgstr "注意"
292
293 #. type: Plain text
294 #: build/C/man3/bsd_signal.3:74
295 msgid ""
296 "Use of B<bsd_signal>()  should be avoided; use B<sigaction>(2)  instead."
297 msgstr ""
298 "B<bsd_signal>()  の使用は避けるべきである。代わりに B<sigaction>(2)  を使うこ"
299 "と。"
300
301 #. type: Plain text
302 #: build/C/man3/bsd_signal.3:85
303 msgid ""
304 "On modern Linux systems, B<bsd_signal>()  and B<signal>(2)  are equivalent.  "
305 "But on older systems, B<signal>(2)  provided unreliable signal semantics; "
306 "see B<signal>(2)  for details."
307 msgstr ""
308 "最近の Linux システムでは、 B<bsd_signal>()  と B<signal>(2)  は等価である。"
309 "しかし、以前のシステムでは、 B<signal>(2)  は信頼性に欠けるシグナル処理方式を"
310 "提供していた。 詳細は B<signal>(2)  を参照。"
311
312 #. type: Plain text
313 #: build/C/man3/bsd_signal.3:92 build/C/man3/sysv_signal.3:85
314 msgid ""
315 "The use of I<sighandler_t> is a GNU extension; this type is only defined if "
316 "the B<_GNU_SOURCE> feature test macro is defined."
317 msgstr ""
318 "I<sighandler_t> を使っているのは GNU による拡張である。 この型は機能検査マク"
319 "ロ B<_GNU_SOURCE> を定義した場合にのみ定義される。"
320
321 #. type: SH
322 #: build/C/man3/bsd_signal.3:92 build/C/man2/eventfd.2:417
323 #: build/C/man2/getitimer.2:219 build/C/man3/gsignal.3:101
324 #: build/C/man2/kill.2:170 build/C/man2/killpg.2:133 build/C/man2/pause.2:59
325 #: build/C/man2/prctl.2:739 build/C/man3/profil.3:79
326 #: build/C/man3/psignal.3:111 build/C/man3/raise.3:75
327 #: build/C/man2/rt_sigqueueinfo.2:183 build/C/man2/sgetmask.2:74
328 #: build/C/man2/sigaction.2:787 build/C/man2/sigaltstack.2:230
329 #: build/C/man7/sigevent.7:130 build/C/man3/siginterrupt.3:89
330 #: build/C/man2/signal.2:259 build/C/man7/signal.7:845
331 #: build/C/man2/signalfd.2:430 build/C/man3/sigpause.3:96
332 #: build/C/man2/sigpending.2:82 build/C/man2/sigprocmask.2:139
333 #: build/C/man3/sigqueue.3:147 build/C/man2/sigreturn.2:72
334 #: build/C/man3/sigset.3:264 build/C/man3/sigsetops.3:166
335 #: build/C/man2/sigsuspend.2:104 build/C/man3/sigvec.3:250
336 #: build/C/man3/sigwait.3:86 build/C/man2/sigwaitinfo.2:179
337 #: build/C/man3/sysv_signal.3:85 build/C/man2/timer_create.2:397
338 #: build/C/man2/timer_delete.2:66 build/C/man2/timer_getoverrun.2:128
339 #: build/C/man2/timer_settime.2:208 build/C/man2/timerfd_create.2:540
340 #: build/C/man2/tkill.2:105 build/C/man2/wait.2:605 build/C/man2/wait4.2:153
341 #, no-wrap
342 msgid "SEE ALSO"
343 msgstr "関連項目"
344
345 #. type: Plain text
346 #: build/C/man3/bsd_signal.3:97
347 msgid "B<sigaction>(2), B<signal>(2), B<sysv_signal>(3), B<signal>(7)"
348 msgstr "B<sigaction>(2), B<signal>(2), B<sysv_signal>(3), B<signal>(7)"
349
350 #. type: SH
351 #: build/C/man3/bsd_signal.3:97 build/C/man2/eventfd.2:428
352 #: build/C/man2/getitimer.2:226 build/C/man3/gsignal.3:105
353 #: build/C/man2/kill.2:180 build/C/man2/killpg.2:139 build/C/man2/pause.2:64
354 #: build/C/man2/prctl.2:742 build/C/man3/profil.3:84
355 #: build/C/man3/psignal.3:116 build/C/man3/raise.3:82
356 #: build/C/man2/rt_sigqueueinfo.2:191 build/C/man2/sgetmask.2:77
357 #: build/C/man2/sigaction.2:806 build/C/man2/sigaltstack.2:237
358 #: build/C/man7/sigevent.7:140 build/C/man3/siginterrupt.3:91
359 #: build/C/man2/signal.2:278 build/C/man7/signal.7:878
360 #: build/C/man2/signalfd.2:443 build/C/man3/sigpause.3:104
361 #: build/C/man2/sigpending.2:90 build/C/man2/sigprocmask.2:150
362 #: build/C/man3/sigqueue.3:155 build/C/man2/sigreturn.2:77
363 #: build/C/man3/sigset.3:274 build/C/man3/sigsetops.3:171
364 #: build/C/man2/sigsuspend.2:114 build/C/man3/sigvec.3:260
365 #: build/C/man3/sigwait.3:94 build/C/man2/sigwaitinfo.2:191
366 #: build/C/man3/sysv_signal.3:90 build/C/man2/timer_create.2:410
367 #: build/C/man2/timer_delete.2:72 build/C/man2/timer_getoverrun.2:138
368 #: build/C/man2/timer_settime.2:212 build/C/man2/timerfd_create.2:552
369 #: build/C/man2/tkill.2:110 build/C/man2/wait.2:617 build/C/man2/wait4.2:160
370 #, no-wrap
371 msgid "COLOPHON"
372 msgstr "この文書について"
373
374 #. type: Plain text
375 #: build/C/man3/bsd_signal.3:104 build/C/man2/eventfd.2:435
376 #: build/C/man2/getitimer.2:233 build/C/man3/gsignal.3:112
377 #: build/C/man2/kill.2:187 build/C/man2/killpg.2:146 build/C/man2/pause.2:71
378 #: build/C/man2/prctl.2:749 build/C/man3/profil.3:91
379 #: build/C/man3/psignal.3:123 build/C/man3/raise.3:89
380 #: build/C/man2/rt_sigqueueinfo.2:198 build/C/man2/sgetmask.2:84
381 #: build/C/man2/sigaction.2:813 build/C/man2/sigaltstack.2:244
382 #: build/C/man7/sigevent.7:147 build/C/man3/siginterrupt.3:98
383 #: build/C/man2/signal.2:285 build/C/man7/signal.7:885
384 #: build/C/man2/signalfd.2:450 build/C/man3/sigpause.3:111
385 #: build/C/man2/sigpending.2:97 build/C/man2/sigprocmask.2:157
386 #: build/C/man3/sigqueue.3:162 build/C/man2/sigreturn.2:84
387 #: build/C/man3/sigset.3:281 build/C/man3/sigsetops.3:178
388 #: build/C/man2/sigsuspend.2:121 build/C/man3/sigvec.3:267
389 #: build/C/man3/sigwait.3:101 build/C/man2/sigwaitinfo.2:198
390 #: build/C/man3/sysv_signal.3:97 build/C/man2/timer_create.2:417
391 #: build/C/man2/timer_delete.2:79 build/C/man2/timer_getoverrun.2:145
392 #: build/C/man2/timer_settime.2:219 build/C/man2/timerfd_create.2:559
393 #: build/C/man2/tkill.2:117 build/C/man2/wait.2:624 build/C/man2/wait4.2:167
394 msgid ""
395 "This page is part of release 3.40 of the Linux I<man-pages> project.  A "
396 "description of the project, and information about reporting bugs, can be "
397 "found at http://www.kernel.org/doc/man-pages/."
398 msgstr ""
399 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.40 の一部\n"
400 "である。プロジェクトの説明とバグ報告に関する情報は\n"
401 "http://www.kernel.org/doc/man-pages/ に書かれている。"
402
403 #. type: TH
404 #: build/C/man2/eventfd.2:21
405 #, no-wrap
406 msgid "EVENTFD"
407 msgstr "EVENTFD"
408
409 #. type: TH
410 #: build/C/man2/eventfd.2:21
411 #, no-wrap
412 msgid "2010-08-30"
413 msgstr "2010-08-30"
414
415 #. type: TH
416 #: build/C/man2/eventfd.2:21 build/C/man2/getitimer.2:7 build/C/man2/kill.2:44
417 #: build/C/man2/killpg.2:40 build/C/man2/pause.2:30 build/C/man2/prctl.2:48
418 #: build/C/man3/profil.3:28 build/C/man2/rt_sigqueueinfo.2:23
419 #: build/C/man2/sgetmask.2:24 build/C/man2/sigaction.2:45
420 #: build/C/man2/sigaltstack.2:25 build/C/man2/signal.2:34
421 #: build/C/man7/signal.7:44 build/C/man2/signalfd.2:19
422 #: build/C/man3/sigpause.3:23 build/C/man2/sigpending.2:27
423 #: build/C/man2/sigprocmask.2:27 build/C/man3/sigqueue.3:26
424 #: build/C/man2/sigreturn.2:27 build/C/man3/sigset.3:24
425 #: build/C/man3/sigsetops.3:29 build/C/man2/sigsuspend.2:27
426 #: build/C/man3/sigvec.3:24 build/C/man3/sigwait.3:24
427 #: build/C/man2/sigwaitinfo.2:23 build/C/man2/timer_create.2:29
428 #: build/C/man2/timer_delete.2:23 build/C/man2/timer_getoverrun.2:23
429 #: build/C/man2/timer_settime.2:23 build/C/man2/timerfd_create.2:20
430 #: build/C/man2/tkill.2:29 build/C/man2/wait.2:50 build/C/man2/wait4.2:34
431 #, no-wrap
432 msgid "Linux"
433 msgstr "Linux"
434
435 #. type: Plain text
436 #: build/C/man2/eventfd.2:24
437 msgid "eventfd - create a file descriptor for event notification"
438 msgstr "eventfd - イベント通知用のファイルディスクリプタを生成する"
439
440 #. type: Plain text
441 #: build/C/man2/eventfd.2:26
442 msgid "B<#include E<lt>sys/eventfd.hE<gt>>"
443 msgstr "B<#include E<lt>sys/eventfd.hE<gt>>"
444
445 #. type: Plain text
446 #: build/C/man2/eventfd.2:28
447 msgid "B<int eventfd(unsigned int >I<initval>B<, int >I<flags>B<);>"
448 msgstr "B<int eventfd(unsigned int >I<initval>B<, int >I<flags>B<);>"
449
450 #. type: Plain text
451 #: build/C/man2/eventfd.2:38
452 msgid ""
453 "B<eventfd>()  creates an \"eventfd object\" that can be used as an event "
454 "wait/notify mechanism by userspace applications, and by the kernel to notify "
455 "userspace applications of events.  The object contains an unsigned 64-bit "
456 "integer (I<uint64_t>)  counter that is maintained by the kernel.  This "
457 "counter is initialized with the value specified in the argument I<initval>."
458 msgstr ""
459 "B<eventfd>()  は \"eventfd オブジェクト\" を生成する。 eventfd オブジェクトは"
460 "ユーザ空間アプリケーションがイベント待ち受け/通知用の 仕組みとして使うことが"
461 "できる。また、カーネルがユーザ空間アプリケーションに イベントを通知するために"
462 "も使うことができる。 このオブジェクトには、unsigned の 64 ビット整数 "
463 "(I<uint64_t>)  型のカウンタが含まれており、このカウンタはカーネルにより管理さ"
464 "れる。 このカウンタは I<initval> 引き数で指定された値で初期化される。"
465
466 #. type: Plain text
467 #: build/C/man2/eventfd.2:43
468 msgid ""
469 "The following values may be bitwise ORed in I<flags> to change the behaviour "
470 "of B<eventfd>():"
471 msgstr ""
472 "以下の値のいくつかをビット単位の論理和 (OR) で指定することで、\n"
473 "B<eventfd>() の振舞いを変更することができる。"
474
475 #. type: TP
476 #: build/C/man2/eventfd.2:43
477 #, no-wrap
478 msgid "B<EFD_CLOEXEC> (since Linux 2.6.27)"
479 msgstr "B<EFD_CLOEXEC> (Linux 2.6.27 以降)"
480
481 #. type: Plain text
482 #: build/C/man2/eventfd.2:53 build/C/man2/signalfd.2:94
483 #: build/C/man2/timerfd_create.2:102
484 msgid ""
485 "Set the close-on-exec (B<FD_CLOEXEC>)  flag on the new file descriptor.  See "
486 "the description of the B<O_CLOEXEC> flag in B<open>(2)  for reasons why this "
487 "may be useful."
488 msgstr ""
489 "新しいファイルディスクリプタに対して close-on-exec (B<FD_CLOEXEC>)  フラグを"
490 "セットする。 このフラグが役に立つ理由については、 B<open>(2)  の "
491 "B<O_CLOEXEC> フラグの説明を参照のこと。"
492
493 #. type: TP
494 #: build/C/man2/eventfd.2:53
495 #, no-wrap
496 msgid "B<EFD_NONBLOCK> (since Linux 2.6.27)"
497 msgstr "B<EFD_NONBLOCK> (Linux 2.6.27 以降)"
498
499 #. type: Plain text
500 #: build/C/man2/eventfd.2:61 build/C/man2/signalfd.2:84
501 #: build/C/man2/timerfd_create.2:92
502 msgid ""
503 "Set the B<O_NONBLOCK> file status flag on the new open file description.  "
504 "Using this flag saves extra calls to B<fcntl>(2)  to achieve the same result."
505 msgstr ""
506 "新しく生成されるオープンファイル記述 (open file description) の "
507 "B<O_NONBLOCK> ファイルステータスフラグをセットする。 このフラグを使うこと"
508 "で、 B<O_NONBLOCK> をセットするために B<fcntl>(2)  を追加で呼び出す必要がなく"
509 "なる。"
510
511 #. type: TP
512 #: build/C/man2/eventfd.2:61
513 #, no-wrap
514 msgid "B<EFD_SEMAPHORE> (since Linux 2.6.30)"
515 msgstr "B<EFD_SEMAPHORE> (Linux 2.6.30 以降)"
516
517 #. type: Plain text
518 #: build/C/man2/eventfd.2:65
519 msgid ""
520 "Provide semaphore-like semantics for reads from the new file descriptor.  "
521 "See below."
522 msgstr ""
523
524 #. type: Plain text
525 #: build/C/man2/eventfd.2:69 build/C/man2/signalfd.2:98
526 msgid ""
527 "In Linux up to version 2.6.26, the I<flags> argument is unused, and must be "
528 "specified as zero."
529 msgstr ""
530 "バージョン 2.6.26 以前の Linux では、 I<flags> 引き数は未使用であり、0 を指定"
531 "しなければならない。"
532
533 #. type: Plain text
534 #: build/C/man2/eventfd.2:75
535 msgid ""
536 "As its return value, B<eventfd>()  returns a new file descriptor that can be "
537 "used to refer to the eventfd object.  The following operations can be "
538 "performed on the file descriptor:"
539 msgstr ""
540 "B<eventfd>()  は eventfd オブジェクトを参照するのに使用できる新しいファイル"
541 "ディスクリプタ を返す。返されたファイルディスクリプタに対しては以下の操作を実"
542 "行できる。"
543
544 #. type: TP
545 #: build/C/man2/eventfd.2:75 build/C/man2/signalfd.2:101
546 #: build/C/man2/timerfd_create.2:210
547 #, no-wrap
548 msgid "B<read>(2)"
549 msgstr "B<read>(2)"
550
551 #. type: Plain text
552 #: build/C/man2/eventfd.2:85
553 msgid ""
554 "Each successful B<read>(2)  returns an 8-byte integer.  A B<read>(2)  will "
555 "fail with the error B<EINVAL> if the size of the supplied buffer is less "
556 "than 8 bytes."
557 msgstr ""
558 "B<read>(2) は成功すると、8 バイトの整数を返す。\n"
559 "渡されたバッファの大きさが 8 バイト未満の場合、\n"
560 "B<read>(2)  はエラー B<EINVAL> で失敗する。"
561
562 #. type: Plain text
563 #: build/C/man2/eventfd.2:90
564 msgid ""
565 "The value returned by B<read>(2)  is in host byte order, i.e., the native "
566 "byte order for integers on the host machine."
567 msgstr ""
568
569 #. type: Plain text
570 #: build/C/man2/eventfd.2:97
571 msgid ""
572 "The semantics of B<read>(2)  depend on whether the eventfd counter currently "
573 "has a nonzero value and whether the B<EFD_SEMAPHORE> flag was specified when "
574 "creating the eventfd file descriptor:"
575 msgstr ""
576
577 #. type: IP
578 #: build/C/man2/eventfd.2:98 build/C/man2/eventfd.2:105
579 #: build/C/man2/eventfd.2:112 build/C/man2/eventfd.2:157
580 #: build/C/man2/eventfd.2:167 build/C/man2/eventfd.2:177
581 #: build/C/man2/prctl.2:606 build/C/man2/prctl.2:611 build/C/man2/prctl.2:616
582 #: build/C/man2/prctl.2:626 build/C/man3/psignal.3:103
583 #: build/C/man3/psignal.3:107 build/C/man2/sigaction.2:294
584 #: build/C/man2/sigaction.2:309 build/C/man2/sigaction.2:325
585 #: build/C/man2/sigaction.2:340 build/C/man2/sigaction.2:387
586 #: build/C/man2/sigaction.2:423 build/C/man2/signal.2:66
587 #: build/C/man2/signal.2:71 build/C/man2/signal.2:78 build/C/man2/signal.2:205
588 #: build/C/man2/signal.2:209 build/C/man2/signal.2:248
589 #: build/C/man7/signal.7:147 build/C/man7/signal.7:155
590 #: build/C/man7/signal.7:611 build/C/man7/signal.7:613
591 #: build/C/man7/signal.7:634 build/C/man7/signal.7:649
592 #: build/C/man7/signal.7:653 build/C/man7/signal.7:660
593 #: build/C/man7/signal.7:676 build/C/man7/signal.7:682
594 #: build/C/man7/signal.7:689 build/C/man7/signal.7:694
595 #: build/C/man7/signal.7:713 build/C/man7/signal.7:732
596 #: build/C/man7/signal.7:739 build/C/man7/signal.7:748
597 #: build/C/man7/signal.7:756 build/C/man7/signal.7:762
598 #: build/C/man7/signal.7:767 build/C/man7/signal.7:787
599 #: build/C/man7/signal.7:806 build/C/man7/signal.7:809
600 #: build/C/man7/signal.7:812 build/C/man7/signal.7:815
601 #: build/C/man7/signal.7:820 build/C/man7/signal.7:826
602 #: build/C/man7/signal.7:830 build/C/man3/sigwait.3:59
603 #: build/C/man3/sigwait.3:64 build/C/man2/timer_create.2:214
604 #: build/C/man2/timer_create.2:217 build/C/man2/timer_create.2:220
605 #: build/C/man2/timer_create.2:224 build/C/man2/timer_create.2:227
606 #: build/C/man2/timer_create.2:233 build/C/man2/timer_create.2:237
607 #, no-wrap
608 msgid "*"
609 msgstr "*"
610
611 #. type: Plain text
612 #: build/C/man2/eventfd.2:105
613 msgid ""
614 "If B<EFD_SEMAPHORE> was not specified and the eventfd counter has a nonzero "
615 "value, then a B<read>(2)  returns 8 bytes containing that value, and the "
616 "counter's value is reset to zero."
617 msgstr ""
618 "B<EFD_SEMAPHORE> が指定されておらず、eventfd カウンタが 0 以外の値\n"
619 "の場合、 B<read>(2) はカウンタ値を格納した 8 バイトの値を返し、\n"
620 "カウンタ値は 0 にリセットされる。"
621
622 #. type: Plain text
623 #: build/C/man2/eventfd.2:112
624 msgid ""
625 "If B<EFD_SEMAPHORE> was specified and the eventfd counter has a nonzero "
626 "value, then a B<read>(2)  returns 8 bytes containing the value 1, and the "
627 "counter's value is decremented by 1."
628 msgstr ""
629 "B<EFD_SEMAPHORE> が指定されていて eventfd カウンタが 0 以外の値の場合、\n"
630 "B<read>(2) は値 1 の 8 バイト値を返し、カウンタ値は 1 減算される。"
631
632 #. type: Plain text
633 #: build/C/man2/eventfd.2:122
634 msgid ""
635 "If the eventfd counter is zero at the time of the call to B<read>(2), then "
636 "the call either blocks until the counter becomes nonzero (at which time, the "
637 "B<read>(2)  proceeds as described above)  or fails with the error B<EAGAIN> "
638 "if the file descriptor has been made nonblocking."
639 msgstr ""
640 "B<read>(2) を呼び出した時点で eventfd カウンタが 0 の場合、 B<read>(2)\n"
641 "はカウンタが 0 以外になるまで停止 (block) する (0 以外になった時点で\n"
642 "B<read>(2) は上記で述べた通り実行を再開する)、 もしくはファイルディスク\n"
643 "リプタが非停止 (nonblocking) に設定されている場合はエラー B<EAGAIN>で\n"
644 "失敗する。"
645
646 #. type: TP
647 #: build/C/man2/eventfd.2:123
648 #, no-wrap
649 msgid "B<write>(2)"
650 msgstr "B<write>(2)"
651
652 #. type: Plain text
653 #: build/C/man2/eventfd.2:140
654 msgid ""
655 "A B<write>(2)  call adds the 8-byte integer value supplied in its buffer to "
656 "the counter.  The maximum value that may be stored in the counter is the "
657 "largest unsigned 64-bit value minus 1 (i.e., 0xfffffffffffffffe).  If the "
658 "addition would cause the counter's value to exceed the maximum, then the "
659 "B<write>(2)  either blocks until a B<read>(2)  is performed on the file "
660 "descriptor, or fails with the error B<EAGAIN> if the file descriptor has "
661 "been made nonblocking."
662 msgstr ""
663 "B<write>(2)  は、引き数のバッファで渡された 8 バイトの整数値をカウンタに加算"
664 "する。 カウンタに格納可能な最大値は unsigned の 64 ビット整数の最大値から 1 "
665 "を引いた値 (すなわち 0xfffffffffffffffe) である。 加算を行うとカウンタ値が最"
666 "大値を超過する場合には、 そのファイルディスクリプタに対して B<read>(2)  が実"
667 "行されるまで、 B<write>(2)  は停止 (block) する、 もしくはファイルディスクリ"
668 "プタが非停止 (nonblocking)  に設定されている場合はエラー B<EAGAIN> で失敗す"
669 "る。"
670
671 #. type: Plain text
672 #: build/C/man2/eventfd.2:147
673 msgid ""
674 "A B<write>(2)  will fail with the error B<EINVAL> if the size of the "
675 "supplied buffer is less than 8 bytes, or if an attempt is made to write the "
676 "value 0xffffffffffffffff."
677 msgstr ""
678 "渡されたバッファの大きさが 8 バイト未満の場合、もしくは 値 "
679 "0xffffffffffffffff を書き込もうとした場合、 B<write>(2)  はエラー B<EINVAL> "
680 "で失敗する。"
681
682 #. type: TP
683 #: build/C/man2/eventfd.2:147 build/C/man2/signalfd.2:139
684 #: build/C/man2/timerfd_create.2:243
685 #, no-wrap
686 msgid "B<poll>(2), B<select>(2) (and similar)"
687 msgstr "B<poll>(2), B<select>(2) (と同様の操作)"
688
689 #. type: Plain text
690 #: build/C/man2/eventfd.2:156
691 msgid ""
692 "The returned file descriptor supports B<poll>(2)  (and analogously B<epoll>"
693 "(7))  and B<select>(2), as follows:"
694 msgstr ""
695 "返されたファイルディスクリプタは、 B<poll>(2)  (B<epoll>(7)  も同じ) や "
696 "B<select>(2)  をサポートしており、以下のような動作をする。"
697
698 #. type: Plain text
699 #: build/C/man2/eventfd.2:167
700 msgid ""
701 "The file descriptor is readable (the B<select>(2)  I<readfds> argument; the "
702 "B<poll>(2)  B<POLLIN> flag)  if the counter has a value greater than 0."
703 msgstr ""
704 "カウンタが 0 より大きい値の場合、 ファイルディスクリプタは読み出し可能となる "
705 "(B<select>(2)  の I<readfds> 引き数や B<poll>(2)  の B<POLLIN> フラグ)。"
706
707 #. type: Plain text
708 #: build/C/man2/eventfd.2:177
709 msgid ""
710 "The file descriptor is writable (the B<select>(2)  I<writefds> argument; the "
711 "B<poll>(2)  B<POLLOUT> flag)  if it is possible to write a value of at least "
712 "\"1\" without blocking."
713 msgstr ""
714 "少なくとも値 \"1\" を、停止 (block) を伴わずに書き込める場合、 ファイルディス"
715 "クリプタは書き込み可能となる (B<select>(2)  の I<writefds> 引き数や B<poll>"
716 "(2)  の B<POLLOUT> フラグ)。"
717
718 #. type: Plain text
719 #: build/C/man2/eventfd.2:197
720 msgid ""
721 "If an overflow of the counter value was detected, then B<select>(2)  "
722 "indicates the file descriptor as being both readable and writable, and "
723 "B<poll>(2)  returns a B<POLLERR> event.  As noted above, B<write>(2)  can "
724 "never overflow the counter.  However an overflow can occur if 2^64 eventfd "
725 "\"signal posts\" were performed by the KAIO subsystem (theoretically "
726 "possible, but practically unlikely).  If an overflow has occurred, then "
727 "B<read>(2)  will return that maximum I<uint64_t> value (i.e., "
728 "0xffffffffffffffff)."
729 msgstr ""
730 "カウンタ値のオーバーフローが検出された場合、 B<select>(2)  はファイルディスク"
731 "リプタは読み出し可能と書き込み可能の両方を通知し、 B<poll>(2)  は B<POLLERR> "
732 "イベントを返す。 上述の通り、 B<write>(2)  でカウンタがオーバーフローすること"
733 "は決してない。 しかしながら、 KAIO サブシステムによって 2^64 回の eventfd "
734 "\"signal posts\" が 実行された場合にはオーバーフローが起こり得る (理論的には"
735 "あり得るが、実用的にはあり得ない)。 オーバーフローが発生した場合、 B<read>"
736 "(2)  は I<uint64_t> の最大値 (すなわち 0xffffffffffffffff) を返す。"
737
738 #. type: Plain text
739 #: build/C/man2/eventfd.2:205
740 msgid ""
741 "The eventfd file descriptor also supports the other file-descriptor "
742 "multiplexing APIs: B<pselect>(2), B<ppoll>(2), and B<epoll>(7)."
743 msgstr ""
744 "eventfd ファイルディスクリプタは、これ以外のファイルディスクリプタ 多重 API "
745 "である B<pselect>(2), B<ppoll>(2), B<epoll>(7)  もサポートしている。"
746
747 #. type: TP
748 #: build/C/man2/eventfd.2:205 build/C/man2/signalfd.2:159
749 #: build/C/man2/timerfd_create.2:261
750 #, no-wrap
751 msgid "B<close>(2)"
752 msgstr "B<close>(2)"
753
754 #. type: Plain text
755 #: build/C/man2/eventfd.2:210
756 msgid ""
757 "When the file descriptor is no longer required it should be closed.  When "
758 "all file descriptors associated with the same eventfd object have been "
759 "closed, the resources for object are freed by the kernel."
760 msgstr ""
761 "ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきであ"
762 "る。 同じ eventfd オブジェクトに関連付けられたファイルディスクリプタが全て ク"
763 "ローズされると、そのオブジェクト用の資源がカーネルにより解放される。"
764
765 #. type: Plain text
766 #: build/C/man2/eventfd.2:222
767 msgid ""
768 "A copy of the file descriptor created by B<eventfd>()  is inherited by the "
769 "child produced by B<fork>(2).  The duplicate file descriptor is associated "
770 "with the same eventfd object.  File descriptors created by B<eventfd>()  are "
771 "preserved across B<execve>(2), unless the close-on-exec flag has been set."
772 msgstr ""
773 "B<fork>(2) で生成された子プロセスは、 B<eventfd>() で生成されたファイル\n"
774 "ディスクリプタのコピーを継承する。 複製されたファイルディスクリプタは同\n"
775 "じ eventfd オブジェクトに関連付けられる。\n"
776 "close-on-exec フラグが設定されていない場合、 B<execve>(2) の前後で\n"
777 "B<eventfd>() で生成されたファイルディスクリプタは保持される。"
778
779 #. type: Plain text
780 #: build/C/man2/eventfd.2:229
781 msgid ""
782 "On success, B<eventfd>()  returns a new eventfd file descriptor.  On error, "
783 "-1 is returned and I<errno> is set to indicate the error."
784 msgstr ""
785 "成功すると、 B<eventfd>()  は新規の eventfd ファイルディスクリプタを返す。 エ"
786 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
787
788 #. type: TP
789 #: build/C/man2/eventfd.2:230 build/C/man2/getitimer.2:130
790 #: build/C/man2/kill.2:105 build/C/man2/killpg.2:94 build/C/man2/prctl.2:568
791 #: build/C/man2/prctl.2:573 build/C/man2/prctl.2:585 build/C/man2/prctl.2:590
792 #: build/C/man2/prctl.2:599 build/C/man2/rt_sigqueueinfo.2:136
793 #: build/C/man2/sigaction.2:664 build/C/man2/sigaltstack.2:140
794 #: build/C/man3/siginterrupt.3:77 build/C/man2/signal.2:101
795 #: build/C/man2/signalfd.2:268 build/C/man2/signalfd.2:276
796 #: build/C/man2/sigprocmask.2:102 build/C/man3/sigqueue.3:96
797 #: build/C/man3/sigsetops.3:122 build/C/man3/sigwait.3:72
798 #: build/C/man2/sigwaitinfo.2:122 build/C/man2/timer_create.2:177
799 #: build/C/man2/timer_delete.2:58 build/C/man2/timer_getoverrun.2:88
800 #: build/C/man2/timer_settime.2:187 build/C/man2/timer_settime.2:195
801 #: build/C/man2/timerfd_create.2:304 build/C/man2/timerfd_create.2:312
802 #: build/C/man2/timerfd_create.2:348 build/C/man2/timerfd_create.2:355
803 #: build/C/man2/timerfd_create.2:361 build/C/man2/tkill.2:74
804 #: build/C/man2/wait.2:416
805 #, no-wrap
806 msgid "B<EINVAL>"
807 msgstr "B<EINVAL>"
808
809 #. type: Plain text
810 #: build/C/man2/eventfd.2:234
811 msgid "An unsupported value was specified in I<flags>."
812 msgstr ""
813
814 #. type: TP
815 #: build/C/man2/eventfd.2:234 build/C/man2/signalfd.2:283
816 #: build/C/man2/timerfd_create.2:319
817 #, no-wrap
818 msgid "B<EMFILE>"
819 msgstr "B<EMFILE>"
820
821 #. type: Plain text
822 #: build/C/man2/eventfd.2:237
823 msgid "The per-process limit on open file descriptors has been reached."
824 msgstr ""
825 "オープン済みのファイルディスクリプタの数がプロセスあたりの上限に 達していた。"
826
827 #. type: TP
828 #: build/C/man2/eventfd.2:237 build/C/man2/signalfd.2:286
829 #: build/C/man2/timerfd_create.2:322
830 #, no-wrap
831 msgid "B<ENFILE>"
832 msgstr "B<ENFILE>"
833
834 #. type: Plain text
835 #: build/C/man2/eventfd.2:241 build/C/man2/signalfd.2:290
836 #: build/C/man2/timerfd_create.2:326
837 msgid ""
838 "The system-wide limit on the total number of open files has been reached."
839 msgstr "オープン済みのファイル総数がシステム全体の上限に達していた。"
840
841 #. type: TP
842 #: build/C/man2/eventfd.2:241 build/C/man2/signalfd.2:290
843 #: build/C/man2/timerfd_create.2:326
844 #, no-wrap
845 msgid "B<ENODEV>"
846 msgstr "B<ENODEV>"
847
848 #. type: Plain text
849 #: build/C/man2/eventfd.2:249 build/C/man2/signalfd.2:293
850 #: build/C/man2/timerfd_create.2:329
851 msgid "Could not mount (internal) anonymous inode device."
852 msgstr "(カーネル内の) 無名 inode デバイスをマウントできなかった。"
853
854 #. type: TP
855 #: build/C/man2/eventfd.2:249 build/C/man2/sigaltstack.2:145
856 #: build/C/man2/signalfd.2:293 build/C/man2/timer_create.2:185
857 #: build/C/man2/timerfd_create.2:329
858 #, no-wrap
859 msgid "B<ENOMEM>"
860 msgstr "B<ENOMEM>"
861
862 #. type: Plain text
863 #: build/C/man2/eventfd.2:253
864 msgid "There was insufficient memory to create a new eventfd file descriptor."
865 msgstr ""
866 "新しい eventfd ファイルディスクリプタを生成するのに十分なメモリがなかった。"
867
868 #. type: SH
869 #: build/C/man2/eventfd.2:253 build/C/man2/prctl.2:720
870 #: build/C/man3/psignal.3:93 build/C/man2/rt_sigqueueinfo.2:164
871 #: build/C/man2/signalfd.2:296 build/C/man3/sigqueue.3:110
872 #: build/C/man2/timer_create.2:189 build/C/man2/timer_delete.2:62
873 #: build/C/man2/timer_getoverrun.2:92 build/C/man2/timer_settime.2:201
874 #: build/C/man2/timerfd_create.2:367 build/C/man2/tkill.2:85
875 #, no-wrap
876 msgid "VERSIONS"
877 msgstr "バージョン"
878
879 #.  eventfd() is in glibc 2.7, but reportedly does not build
880 #. type: Plain text
881 #: build/C/man2/eventfd.2:266
882 msgid ""
883 "B<eventfd>()  is available on Linux since kernel 2.6.22.  Working support is "
884 "provided in glibc since version 2.8.  The B<eventfd2>()  system call (see "
885 "NOTES) is available on Linux since kernel 2.6.27.  Since version 2.9, the "
886 "glibc B<eventfd>()  wrapper will employ the B<eventfd2>()  system call, if "
887 "it is supported by the kernel."
888 msgstr ""
889 "B<eventfd>()  はカーネル 2.6.22 以降の Linux で利用可能である。 正しく動作す"
890 "る glibc 側のサポートはバージョン 2.8 以降で提供されている。 B<eventfd2>()  "
891 "システムコール (「注意」参照) は カーネル 2.6.27 以降の Linux で利用可能であ"
892 "る。 バージョン 2.9 以降では、glibc の B<eventfd>()  のラッパー関数は、カーネ"
893 "ルが対応していれば B<eventfd2>()  システムコールを利用する。"
894
895 #. type: Plain text
896 #: build/C/man2/eventfd.2:271
897 msgid "B<eventfd>()  and B<eventfd2>()  are Linux-specific."
898 msgstr "B<eventfd>()  と B<eventfd2>()  は Linux 固有である。"
899
900 #. type: Plain text
901 #: build/C/man2/eventfd.2:279
902 msgid ""
903 "Applications can use an eventfd file descriptor instead of a pipe (see "
904 "B<pipe>(2))  in all cases where a pipe is used simply to signal events.  The "
905 "kernel overhead of an eventfd file descriptor is much lower than that of a "
906 "pipe, and only one file descriptor is required (versus the two required for "
907 "a pipe)."
908 msgstr ""
909 "アプリケーションは、パイプをイベントを通知するためだけに使用している 全ての場"
910 "面において、パイプの代わりに eventfd ファイルディスクリプタを 使用することが"
911 "できる。 eventfd ファイルディスクリプタを使う方が、パイプを使う場合に比べて "
912 "カーネルでのオーバヘッドは比べるとずっと小さく、ファイルディスクリプタも 一つ"
913 "しか必要としない (パイプの場合は二つ必要である)。"
914
915 #.  or eventually syslets/threadlets
916 #. type: Plain text
917 #: build/C/man2/eventfd.2:285
918 msgid ""
919 "When used in the kernel, an eventfd file descriptor can provide a kernel-"
920 "userspace bridge allowing, for example, functionalities like KAIO (kernel "
921 "AIO)  to signal to a file descriptor that some operation is complete."
922 msgstr ""
923 "カーネル内で使用すると、eventfd ファイルディスクリプタは カーネル空間とユーザ"
924 "空間のブリッジ機能を提供することができ、 例えば KAIO (kernel AIO)  のような機"
925 "能が、あるファイルディスクリプタに何らかの操作が完了したことを 通知することが"
926 "できる。"
927
928 #. type: Plain text
929 #: build/C/man2/eventfd.2:302
930 msgid ""
931 "A key point about an eventfd file descriptor is that it can be monitored "
932 "just like any other file descriptor using B<select>(2), B<poll>(2), or "
933 "B<epoll>(7).  This means that an application can simultaneously monitor the "
934 "readiness of \"traditional\" files and the readiness of other kernel "
935 "mechanisms that support the eventfd interface.  (Without the B<eventfd>()  "
936 "interface, these mechanisms could not be multiplexed via B<select>(2), "
937 "B<poll>(2), or B<epoll>(7).)"
938 msgstr ""
939 "eventfd ファイルディスクリプタの重要な点は、 eventfd ファイルディスクリプタ"
940 "が B<select>(2), B<poll>(2), B<epoll>(7)  を使って他のファイルディスクリプタ"
941 "と全く同様に監視できる点である。 このことは、アプリケーションは「従来の "
942 "(traditional)」 ファイルの状態変化と eventfd インタフェースをサポートする他の"
943 "カーネル機構の状態変化を同時に監視 できることを意味する (B<eventfd>()  インタ"
944 "フェースがない時には、これらのカーネル機構は B<select>(2), B<poll>(2), "
945 "B<epoll>(7)  経由で多重することはできなかった)。"
946
947 #. type: SS
948 #: build/C/man2/eventfd.2:302 build/C/man2/signalfd.2:333
949 #, no-wrap
950 msgid "Underlying Linux system calls"
951 msgstr "下層にある Linux のシステムコール"
952
953 #. type: Plain text
954 #: build/C/man2/eventfd.2:316
955 msgid ""
956 "There are two underlying Linux system calls: B<eventfd>()  and the more "
957 "recent B<eventfd2>().  The former system call does not implement a I<flags> "
958 "argument.  The latter system call implements the I<flags> values described "
959 "above.  The glibc wrapper function will use B<eventfd2>()  where it is "
960 "available."
961 msgstr ""
962 "下層にある Linux システムコールは二種類あり、 B<eventfd>()  と、もっと新しい "
963 "B<eventfd2>()  である。 B<eventfd>()  は I<flags> 引き数を実装していない。 "
964 "B<eventfd2>()  では上記の値の I<flags> が実装されている。 glibc のラッパー関"
965 "数は、 B<eventfd2>()  が利用可能であれば、これを使用する。"
966
967 #. type: SS
968 #: build/C/man2/eventfd.2:316
969 #, no-wrap
970 msgid "Additional glibc features"
971 msgstr "glibc の追加機能"
972
973 #. type: Plain text
974 #: build/C/man2/eventfd.2:320
975 msgid ""
976 "The GNU C library defines an additional type, and two functions that attempt "
977 "to abstract some of the details of reading and writing on an eventfd file "
978 "descriptor:"
979 msgstr ""
980 "GNU C ライブラリは、eventfd ファイルディスクリプタの読み出しと書き込みに を関"
981 "する詳細のいくつか抽象化するために、一つの型と、二つの関数を追加で 定義してい"
982 "る。"
983
984 #. type: Plain text
985 #: build/C/man2/eventfd.2:324
986 #, no-wrap
987 msgid "typedef uint64_t eventfd_t;\n"
988 msgstr "typedef uint64_t eventfd_t;\n"
989
990 #. type: Plain text
991 #: build/C/man2/eventfd.2:327
992 #, no-wrap
993 msgid ""
994 "int eventfd_read(int fd, eventfd_t *value);\n"
995 "int eventfd_write(int fd, eventfd_t value);\n"
996 msgstr ""
997 "int eventfd_read(int fd, eventfd_t *value);\n"
998 "int eventfd_write(int fd, eventfd_t value);\n"
999
1000 #. type: Plain text
1001 #: build/C/man2/eventfd.2:334
1002 msgid ""
1003 "The functions perform the read and write operations on an eventfd file "
1004 "descriptor, returning 0 if the correct number of bytes was transferred, or "
1005 "-1 otherwise."
1006 msgstr ""
1007 "これらの関数は、eventfd ファイルディスクリプタに対する読み出しと 書き込みの操"
1008 "作を実行し、正しいバイト数が転送された場合には 0 を返し、そうでない場合は -1 "
1009 "を返す。"
1010
1011 #. type: SH
1012 #: build/C/man2/eventfd.2:334 build/C/man2/sigaction.2:784
1013 #: build/C/man2/sigaltstack.2:213 build/C/man2/signalfd.2:357
1014 #: build/C/man3/sigwait.3:83 build/C/man2/timer_create.2:251
1015 #: build/C/man2/timer_getoverrun.2:125 build/C/man2/timer_settime.2:205
1016 #: build/C/man2/timerfd_create.2:372 build/C/man2/wait.2:522
1017 #, no-wrap
1018 msgid "EXAMPLE"
1019 msgstr "例"
1020
1021 #. type: Plain text
1022 #: build/C/man2/eventfd.2:343
1023 msgid ""
1024 "The following program creates an eventfd file descriptor and then forks to "
1025 "create a child process.  While the parent briefly sleeps, the child writes "
1026 "each of the integers supplied in the program's command-line arguments to the "
1027 "eventfd file descriptor.  When the parent has finished sleeping, it reads "
1028 "from the eventfd file descriptor."
1029 msgstr ""
1030 "以下のプログラムは eventfd ファイルディスクリプタを生成し、 その後 fork を実"
1031 "行して子プロセスを生成する。 親プロセスが少しの間 sleep する間に、子プロセス"
1032 "は プログラムのコマンドライン引き数で指定された整数(列)をそれぞれ eventfd "
1033 "ファイルディスクリプタに書き込む。 親プロセスは sleep を完了すると eventfd "
1034 "ファイルディスクリプタから 読み出しを行う。"
1035
1036 #. type: Plain text
1037 #: build/C/man2/eventfd.2:345
1038 msgid "The following shell session shows a sample run of the program:"
1039 msgstr "以下に示すシェルセッションにこのプログラムの使い方を示す。"
1040
1041 #. type: Plain text
1042 #: build/C/man2/eventfd.2:357
1043 #, no-wrap
1044 msgid ""
1045 "$B< ./a.out 1 2 4 7 14>\n"
1046 "Child writing 1 to efd\n"
1047 "Child writing 2 to efd\n"
1048 "Child writing 4 to efd\n"
1049 "Child writing 7 to efd\n"
1050 "Child writing 14 to efd\n"
1051 "Child completed write loop\n"
1052 "Parent about to read\n"
1053 "Parent read 28 (0x1c) from efd\n"
1054 msgstr ""
1055 "$B< ./a.out 1 2 4 7 14>\n"
1056 "Child writing 1 to efd\n"
1057 "Child writing 2 to efd\n"
1058 "Child writing 4 to efd\n"
1059 "Child writing 7 to efd\n"
1060 "Child writing 14 to efd\n"
1061 "Child completed write loop\n"
1062 "Parent about to read\n"
1063 "Parent read 28 (0x1c) from efd\n"
1064
1065 #. type: SS
1066 #: build/C/man2/eventfd.2:359 build/C/man2/signalfd.2:380
1067 #: build/C/man2/timerfd_create.2:400 build/C/man2/wait.2:557
1068 #, no-wrap
1069 msgid "Program source"
1070 msgstr "プログラムのソース"
1071
1072 #. type: Plain text
1073 #: build/C/man2/eventfd.2:367
1074 #, no-wrap
1075 msgid ""
1076 "#include E<lt>sys/eventfd.hE<gt>\n"
1077 "#include E<lt>unistd.hE<gt>\n"
1078 "#include E<lt>stdlib.hE<gt>\n"
1079 "#include E<lt>stdio.hE<gt>\n"
1080 "#include E<lt>stdint.hE<gt>             /* Definition of uint64_t */\n"
1081 msgstr ""
1082 "#include E<lt>sys/eventfd.hE<gt>\n"
1083 "#include E<lt>unistd.hE<gt>\n"
1084 "#include E<lt>stdlib.hE<gt>\n"
1085 "#include E<lt>stdio.hE<gt>\n"
1086 "#include E<lt>stdint.hE<gt>             /* Definition of uint64_t */\n"
1087
1088 #. type: Plain text
1089 #: build/C/man2/eventfd.2:370 build/C/man2/signalfd.2:391
1090 #, no-wrap
1091 msgid ""
1092 "#define handle_error(msg) \\e\n"
1093 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1094 msgstr ""
1095 "#define handle_error(msg) \\e\n"
1096 "    do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
1097
1098 #. type: Plain text
1099 #: build/C/man2/eventfd.2:377
1100 #, no-wrap
1101 msgid ""
1102 "int\n"
1103 "main(int argc, char *argv[])\n"
1104 "{\n"
1105 "    int efd, j;\n"
1106 "    uint64_t u;\n"
1107 "    ssize_t s;\n"
1108 msgstr ""
1109 "int\n"
1110 "main(int argc, char *argv[])\n"
1111 "{\n"
1112 "    int efd, j;\n"
1113 "    uint64_t u;\n"
1114 "    ssize_t s;\n"
1115
1116 #. type: Plain text
1117 #: build/C/man2/eventfd.2:382
1118 #, no-wrap
1119 msgid ""
1120 "    if (argc E<lt> 2) {\n"
1121 "        fprintf(stderr, \"Usage: %s E<lt>numE<gt>...\\en\", argv[0]);\n"
1122 "        exit(EXIT_FAILURE);\n"
1123 "    }\n"
1124 msgstr ""
1125 "    if (argc E<lt> 2) {\n"
1126 "        fprintf(stderr, \"Usage: %s E<lt>numE<gt>...\\en\", argv[0]);\n"
1127 "        exit(EXIT_FAILURE);\n"
1128 "    }\n"
1129
1130 #. type: Plain text
1131 #: build/C/man2/eventfd.2:386
1132 #, no-wrap
1133 msgid ""
1134 "    efd = eventfd(0, 0);\n"
1135 "    if (efd == -1)\n"
1136 "        handle_error(\"eventfd\");\n"
1137 msgstr ""
1138 "    efd = eventfd(0, 0);\n"
1139 "    if (efd == -1)\n"
1140 "        handle_error(\"eventfd\");\n"
1141
1142 #. type: Plain text
1143 #: build/C/man2/eventfd.2:398
1144 #, no-wrap
1145 msgid ""
1146 "    switch (fork()) {\n"
1147 "    case 0:\n"
1148 "        for (j = 1; j E<lt> argc; j++) {\n"
1149 "            printf(\"Child writing %s to efd\\en\", argv[j]);\n"
1150 "            u = strtoull(argv[j], NULL, 0);\n"
1151 "                    /* strtoull() allows various bases */\n"
1152 "            s = write(efd, &u, sizeof(uint64_t));\n"
1153 "            if (s != sizeof(uint64_t))\n"
1154 "                handle_error(\"write\");\n"
1155 "        }\n"
1156 "        printf(\"Child completed write loop\\en\");\n"
1157 msgstr ""
1158 "    switch (fork()) {\n"
1159 "    case 0:\n"
1160 "        for (j = 1; j E<lt> argc; j++) {\n"
1161 "            printf(\"Child writing %s to efd\\en\", argv[j]);\n"
1162 "            u = strtoull(argv[j], NULL, 0);\n"
1163 "                    /* strtoull() allows various bases */\n"
1164 "            s = write(efd, &u, sizeof(uint64_t));\n"
1165 "            if (s != sizeof(uint64_t))\n"
1166 "                handle_error(\"write\");\n"
1167 "        }\n"
1168 "        printf(\"Child completed write loop\\en\");\n"
1169
1170 #. type: Plain text
1171 #: build/C/man2/eventfd.2:400
1172 #, no-wrap
1173 msgid "        exit(EXIT_SUCCESS);\n"
1174 msgstr "        exit(EXIT_SUCCESS);\n"
1175
1176 #. type: Plain text
1177 #: build/C/man2/eventfd.2:403
1178 #, no-wrap
1179 msgid ""
1180 "    default:\n"
1181 "        sleep(2);\n"
1182 msgstr ""
1183 "    default:\n"
1184 "        sleep(2);\n"
1185
1186 #. type: Plain text
1187 #: build/C/man2/eventfd.2:411
1188 #, no-wrap
1189 msgid ""
1190 "        printf(\"Parent about to read\\en\");\n"
1191 "        s = read(efd, &u, sizeof(uint64_t));\n"
1192 "        if (s != sizeof(uint64_t))\n"
1193 "            handle_error(\"read\");\n"
1194 "        printf(\"Parent read %llu (0x%llx) from efd\\en\",\n"
1195 "                (unsigned long long) u, (unsigned long long) u);\n"
1196 "        exit(EXIT_SUCCESS);\n"
1197 msgstr ""
1198 "        printf(\"Parent about to read\\en\");\n"
1199 "        s = read(efd, &u, sizeof(uint64_t));\n"
1200 "        if (s != sizeof(uint64_t))\n"
1201 "            handle_error(\"read\");\n"
1202 "        printf(\"Parent read %llu (0x%llx) from efd\\en\",\n"
1203 "                (unsigned long long) u, (unsigned long long) u);\n"
1204 "        exit(EXIT_SUCCESS);\n"
1205
1206 #. type: Plain text
1207 #: build/C/man2/eventfd.2:416
1208 #, no-wrap
1209 msgid ""
1210 "    case -1:\n"
1211 "        handle_error(\"fork\");\n"
1212 "    }\n"
1213 "}\n"
1214 msgstr ""
1215 "    case -1:\n"
1216 "        handle_error(\"fork\");\n"
1217 "    }\n"
1218 "}\n"
1219
1220 #. type: Plain text
1221 #: build/C/man2/eventfd.2:428
1222 msgid ""
1223 "B<futex>(2), B<pipe>(2), B<poll>(2), B<read>(2), B<select>(2), B<signalfd>"
1224 "(2), B<timerfd_create>(2), B<write>(2), B<epoll>(7), B<sem_overview>(7)"
1225 msgstr ""
1226 "B<futex>(2), B<pipe>(2), B<poll>(2), B<read>(2), B<select>(2), B<signalfd>"
1227 "(2), B<timerfd_create>(2), B<write>(2), B<epoll>(7), B<sem_overview>(7)"
1228
1229 #. type: TH
1230 #: build/C/man2/getitimer.2:7
1231 #, no-wrap
1232 msgid "GETITIMER"
1233 msgstr "GETITIMER"
1234
1235 #. type: Plain text
1236 #: build/C/man2/getitimer.2:10
1237 msgid "getitimer, setitimer - get or set value of an interval timer"
1238 msgstr "getitimer, setitimer - インターバル・タイマーの値を取得または設定する"
1239
1240 #. type: Plain text
1241 #: build/C/man2/getitimer.2:13
1242 #, no-wrap
1243 msgid "B<#include E<lt>sys/time.hE<gt>>\n"
1244 msgstr "B<#include E<lt>sys/time.hE<gt>>\n"
1245
1246 #. type: Plain text
1247 #: build/C/man2/getitimer.2:15
1248 #, no-wrap
1249 msgid "B<int getitimer(int >I<which>B<, struct itimerval *>I<curr_value>B<);>\n"
1250 msgstr "B<int getitimer(int >I<which>B<, struct itimerval *>I<curr_value>B<);>\n"
1251
1252 #. type: Plain text
1253 #: build/C/man2/getitimer.2:18
1254 #, no-wrap
1255 msgid ""
1256 "B<int setitimer(int >I<which>B<, const struct itimerval *>I<new_value>B<,>\n"
1257 "B<              struct itimerval *>I<old_value>B<);>\n"
1258 msgstr ""
1259 "B<int setitimer(int >I<which>B<, const struct itimerval *>I<new_value>B<,>\n"
1260 "B<              struct itimerval *>I<old_value>B<);>\n"
1261
1262 #. type: Plain text
1263 #: build/C/man2/getitimer.2:24
1264 msgid ""
1265 "The system provides each process with three interval timers, each "
1266 "decrementing in a distinct time domain.  When any timer expires, a signal is "
1267 "sent to the process, and the timer (potentially) restarts."
1268 msgstr ""
1269 "システムは 1 個のプロセスにつき 3 個のインターバル・タイマーを提供する。 それ"
1270 "ぞれのタイマーは別々の時間領域で減少する。 どのタイマーも満了するとプロセスに"
1271 "シグナルが送られ、 タイマーは (設定によっては) 再び開始される。"
1272
1273 #. type: TP
1274 #: build/C/man2/getitimer.2:24
1275 #, no-wrap
1276 msgid "B<ITIMER_REAL>"
1277 msgstr "B<ITIMER_REAL>"
1278
1279 #. type: Plain text
1280 #: build/C/man2/getitimer.2:29
1281 msgid "decrements in real time, and delivers B<SIGALRM> upon expiration."
1282 msgstr "実時間 (real time) で減少し、満了すると B<SIGALRM> が送られる。"
1283
1284 #. type: TP
1285 #: build/C/man2/getitimer.2:29
1286 #, no-wrap
1287 msgid "B<ITIMER_VIRTUAL>"
1288 msgstr "B<ITIMER_VIRTUAL>"
1289
1290 #. type: Plain text
1291 #: build/C/man2/getitimer.2:34
1292 msgid ""
1293 "decrements only when the process is executing, and delivers B<SIGVTALRM> "
1294 "upon expiration."
1295 msgstr ""
1296 "プロセスが実行されている間のみ減少し、満了すると B<SIGVTALRM> が送られる。"
1297
1298 #. type: TP
1299 #: build/C/man2/getitimer.2:34
1300 #, no-wrap
1301 msgid "B<ITIMER_PROF>"
1302 msgstr "B<ITIMER_PROF>"
1303
1304 #. type: Plain text
1305 #: build/C/man2/getitimer.2:44
1306 msgid ""
1307 "decrements both when the process executes and when the system is executing "
1308 "on behalf of the process.  Coupled with B<ITIMER_VIRTUAL>, this timer is "
1309 "usually used to profile the time spent by the application in user and kernel "
1310 "space.  B<SIGPROF> is delivered upon expiration."
1311 msgstr ""
1312 "プロセスが実行されていて、 かつシステムがそのプロセスのために処理を行なってい"
1313 "る間に減少する。 多くの場合、このタイマーは B<ITIMER_VIRTUAL> と組み合わされ"
1314 "て、アプリケーションがカーネル空間とユーザー空間で どれだけの時間を過ごしたか"
1315 "をプロファイルするのに使用される。 満了すると B<SIGPROF> が送られる。"
1316
1317 #. type: Plain text
1318 #: build/C/man2/getitimer.2:46
1319 msgid "Timer values are defined by the following structures:"
1320 msgstr "タイマーの値は以下の構造体によって定義される:"
1321
1322 #. type: Plain text
1323 #: build/C/man2/getitimer.2:54
1324 #, no-wrap
1325 msgid ""
1326 "struct itimerval {\n"
1327 "    struct timeval it_interval; /* next value */\n"
1328 "    struct timeval it_value;    /* current value */\n"
1329 "};\n"
1330 msgstr ""
1331 "struct itimerval {\n"
1332 "    struct timeval it_interval; /* next value */\n"
1333 "    struct timeval it_value;    /* current value */\n"
1334 "};\n"
1335
1336 #. type: Plain text
1337 #: build/C/man2/getitimer.2:59
1338 #, no-wrap
1339 msgid ""
1340 "struct timeval {\n"
1341 "    long tv_sec;                /* seconds */\n"
1342 "    long tv_usec;               /* microseconds */\n"
1343 "};\n"
1344 msgstr ""
1345 "struct timeval {\n"
1346 "    long tv_sec;                /* seconds */\n"
1347 "    long tv_usec;               /* microseconds */\n"
1348 "};\n"
1349
1350 #. type: Plain text
1351 #: build/C/man2/getitimer.2:81
1352 msgid ""
1353 "The function B<getitimer>()  fills the structure pointed to by I<curr_value> "
1354 "with the current setting for the timer specified by I<which> (one of "
1355 "B<ITIMER_REAL>, B<ITIMER_VIRTUAL>, or B<ITIMER_PROF>).  The element "
1356 "I<it_value> is set to the amount of time remaining on the timer, or zero if "
1357 "the timer is disabled.  Similarly, I<it_interval> is set to the reset value."
1358 msgstr ""
1359 "B<getitimer>()  関数は、 I<which> で指定されたタイマー (B<ITIMER_REAL>, "
1360 "B<ITIMER_VIRTUAL>, B<ITIMER_PROF> のどれか) の現在の設定を、 I<curr_value> で"
1361 "指定された構造体に格納する。 I<it_value> 要素にはタイマーの残り時間が設定され"
1362 "る。タイマーがオフの場合は ゼロが設定される。同様に I<it_interval> には初期値"
1363 "が設定される。"
1364
1365 #. type: Plain text
1366 #: build/C/man2/getitimer.2:89
1367 msgid ""
1368 "The function B<setitimer>()  sets the specified timer to the value in "
1369 "I<new_value>.  If I<old_value> is non-NULL, the old value of the timer is "
1370 "stored there."
1371 msgstr ""
1372 "B<setitimer>()  関数は指定されたタイマーに I<new_value> の値を設定する。 "
1373 "I<old_value> が NULL 以外の場合、タイマーの古い値が I<old_value> に格納され"
1374 "る。"
1375
1376 #. type: Plain text
1377 #: build/C/man2/getitimer.2:99
1378 msgid ""
1379 "Timers decrement from I<it_value> to zero, generate a signal, and reset to "
1380 "I<it_interval>.  A timer which is set to zero (I<it_value> is zero or the "
1381 "timer expires and I<it_interval> is zero) stops."
1382 msgstr ""
1383 "タイマーは I<it_value> からゼロへ向けて減っていき、シグナルを生成し、 "
1384 "I<it_interval> に初期化される。 タイマーがゼロに設定された場合 (I<it_value> "
1385 "がゼロか、タイマーが満了した時に I<it_interval> がゼロの場合) は停止する。"
1386
1387 #. type: Plain text
1388 #: build/C/man2/getitimer.2:105
1389 msgid ""
1390 "Both I<tv_sec> and I<tv_usec> are significant in determining the duration of "
1391 "a timer."
1392 msgstr "タイマーの期間は I<tv_sec> と I<tv_usec> の両方により決定される。"
1393
1394 #. type: Plain text
1395 #: build/C/man2/getitimer.2:117
1396 msgid ""
1397 "Timers will never expire before the requested time, but may expire some "
1398 "(short) time afterward, which depends on the system timer resolution and on "
1399 "the system load; see B<time>(7).  (But see BUGS below.)  Upon expiration, a "
1400 "signal will be generated and the timer reset.  If the timer expires while "
1401 "the process is active (always true for B<ITIMER_VIRTUAL>)  the signal will "
1402 "be delivered immediately when generated.  Otherwise the delivery will be "
1403 "offset by a small time dependent on the system loading."
1404 msgstr ""
1405 "要求した時間がくる前にタイマーが満了することはないが、 逆にある (短い) 時間だ"
1406 "け満了が遅れることはある。 どれだけ遅れるかはシステムの時間分解能とシステムの"
1407 "負荷に依存する (B<time>(7)  参照; 但し、バグの項も参照のこと)。 タイマーが満"
1408 "了するとシグナルが生成され、タイマーは初期化される。 プロセスがアクティブな"
1409 "時 (B<ITIMER_VIRTUAL> の場合には常にそうである) にタイマーが満了した場合、生"
1410 "成されたシグナルは すぐに配送される。それ以外の場合は、システムの負荷により少"
1411 "しの時間だけ 遅れて配送される。"
1412
1413 #. type: Plain text
1414 #: build/C/man2/getitimer.2:122 build/C/man2/killpg.2:93
1415 #: build/C/man2/tkill.2:73
1416 msgid ""
1417 "On success, zero is returned.  On error, -1 is returned, and I<errno> is set "
1418 "appropriately."
1419 msgstr ""
1420 "成功した場合、0 が返される。エラーが発生した場合、-1 が返され、 I<errno> が適"
1421 "切に設定される。"
1422
1423 #. type: TP
1424 #: build/C/man2/getitimer.2:123 build/C/man2/prctl.2:564
1425 #: build/C/man2/sigaction.2:660 build/C/man2/sigaltstack.2:136
1426 #: build/C/man2/sigpending.2:55 build/C/man2/sigprocmask.2:95
1427 #: build/C/man2/sigsuspend.2:73 build/C/man2/timer_settime.2:180
1428 #: build/C/man2/timerfd_create.2:341
1429 #, no-wrap
1430 msgid "B<EFAULT>"
1431 msgstr "B<EFAULT>"
1432
1433 #. type: Plain text
1434 #: build/C/man2/getitimer.2:130 build/C/man2/timerfd_create.2:348
1435 msgid "I<new_value>, I<old_value>, or I<curr_value> is not valid a pointer."
1436 msgstr "I<new_value>, I<old_value>, I<curr_value> が有効なポインタではない。"
1437
1438 #. type: Plain text
1439 #: build/C/man2/getitimer.2:143
1440 msgid ""
1441 "I<which> is not one of B<ITIMER_REAL>, B<ITIMER_VIRTUAL>, or B<ITIMER_PROF>; "
1442 "or (since Linux 2.6.22) one of the I<tv_usec> fields in the structure "
1443 "pointed to by I<new_value> contains a value outside the range 0 to 999999."
1444 msgstr ""
1445 "I<which> が B<ITIMER_REAL>, B<ITIMER_VIRTUAL>, B<ITIMER_PROF> のどれでもな"
1446 "い。 または (Linux 2.6.22 以降で)  I<new_value> で指定された構造体の "
1447 "I<tv_usec> フィールドの一つが 0 以上 999999 以下の範囲に入らない値である。"
1448
1449 #. type: Plain text
1450 #: build/C/man2/getitimer.2:153
1451 msgid ""
1452 "POSIX.1-2001, SVr4, 4.4BSD (this call first appeared in 4.2BSD).  "
1453 "POSIX.1-2008 marks B<getitimer>()  and B<setitimer>()  obsolete, "
1454 "recommending the use of the POSIX timers API (B<timer_gettime>(2), "
1455 "B<timer_settime>(2), etc.) instead."
1456 msgstr ""
1457 "POSIX.1-2001, SVr4, 4.4BSD (このコールは 4.2BSD で始めて現われた).  "
1458 "POSIX.1-2008 では、 B<getitimer>()  と B<setitimer>()  は廃止予定とされてお"
1459 "り、 代わりに POSIX タイマー API (B<timer_gettime>(2), B<timer_settime>(2)  "
1460 "など) を使うことが推奨されている。"
1461
1462 #. type: Plain text
1463 #: build/C/man2/getitimer.2:159
1464 msgid ""
1465 "A child created via B<fork>(2)  does not inherit its parent's interval "
1466 "timers.  Interval timers are preserved across an B<execve>(2)."
1467 msgstr ""
1468 "B<fork>(2)  で作成された子プロセスは、 親プロセスのインターバル・タイマーを継"
1469 "承しない。 B<execve>(2)  の前後ではインターバル・タイマーは保存される。"
1470
1471 #. type: Plain text
1472 #: build/C/man2/getitimer.2:169
1473 msgid ""
1474 "POSIX.1 leaves the interaction between B<setitimer>()  and the three "
1475 "interfaces B<alarm>(2), B<sleep>(3), and B<usleep>(3)  unspecified."
1476 msgstr ""
1477 "POSIX.1 では、 B<setitimer>()  と、 B<alarm>(2), B<sleep>(3), B<usleep>(3)  "
1478 "という 3 つのインタフェースとの相互の影響については規定していない。"
1479
1480 #. type: SH
1481 #: build/C/man2/getitimer.2:169 build/C/man2/kill.2:160
1482 #: build/C/man3/profil.3:70 build/C/man3/psignal.3:99
1483 #: build/C/man2/sigaction.2:775 build/C/man7/signal.7:836
1484 #: build/C/man2/signalfd.2:349 build/C/man2/sigpending.2:76
1485 #: build/C/man3/sigset.3:230 build/C/man2/timer_getoverrun.2:112
1486 #: build/C/man2/timerfd_create.2:534
1487 #, no-wrap
1488 msgid "BUGS"
1489 msgstr "バグ"
1490
1491 #. type: Plain text
1492 #: build/C/man2/getitimer.2:178
1493 msgid ""
1494 "The generation and delivery of a signal are distinct, and only one instance "
1495 "of each of the signals listed above may be pending for a process.  Under "
1496 "very heavy loading, an B<ITIMER_REAL> timer may expire before the signal "
1497 "from a previous expiration has been delivered.  The second signal in such an "
1498 "event will be lost."
1499 msgstr ""
1500 "シグナルの生成と配送は別個のものであり、 前述のシグナルのそれぞれについて一つ"
1501 "だけがプロセスのために 待機する。 非常に重い負荷の下では、 B<ITIMER_REAL> タ"
1502 "イマーでは、時間切れにより生成された一つ前のシグナルが配送される前に、 次の時"
1503 "間切れが起こる場合がある。 そのような場合、 2 個めのイベントに対するシグナル"
1504 "は失われてしまう。"
1505
1506 #. type: Plain text
1507 #: build/C/man2/getitimer.2:193
1508 msgid ""
1509 "On Linux kernels before 2.6.16, timer values are represented in jiffies.  If "
1510 "a request is made set a timer with a value whose jiffies representation "
1511 "exceeds B<MAX_SEC_IN_JIFFIES> (defined in I<include/linux/jiffies.h>), then "
1512 "the timer is silently truncated to this ceiling value.  On Linux/i386 "
1513 "(where, since Linux 2.6.13, the default jiffy is 0.004 seconds), this means "
1514 "that the ceiling value for a timer is approximately 99.42 days.  Since Linux "
1515 "2.6.16, the kernel uses a different internal representation for times, and "
1516 "this ceiling is removed."
1517 msgstr ""
1518 "バージョン 2.6.16 より前の Linux カーネルでは、 タイマーの値は jiffy で表現さ"
1519 "れる。 要求が jiffy 表現で (I<include/linux/jiffies.h> で定義されている)  "
1520 "B<MAX_SEC_IN_JIFFIES> を越える値をタイマーに設定しようとするものの場合、 タイ"
1521 "マーは暗黙にこの上限値に切り詰められる。 Linux/i386 の場合 (Linux 2.6.13 以降"
1522 "では jiffy は 0.004 秒) の場合、 これはタイマーの上限値がおよそ 99.42 日にな"
1523 "ることを意味する。 Linux 2.6.16 以降では、カーネルは時間に関する内部表現とし"
1524 "て 異なる表現を使うようになっており、この上限はなくなった。"
1525
1526 #.  4 Jul 2005: It looks like this bug may remain in 2.4.x.
1527 #.      http://lkml.org/lkml/2005/7/1/165
1528 #. type: Plain text
1529 #: build/C/man2/getitimer.2:200
1530 msgid ""
1531 "On certain systems (including i386), Linux kernels before version 2.6.12 "
1532 "have a bug which will produce premature timer expirations of up to one jiffy "
1533 "under some circumstances.  This bug is fixed in kernel 2.6.12."
1534 msgstr ""
1535 "(i386 を含む) いくつかのシステムでは、 バージョン 2.6.12 以前の Linux カーネ"
1536 "ルは ある種の状況では 1 jiffy 早くタイマーが終了してしまうというバグがあっ"
1537 "た。 このバグはカーネル 2.6.12 で修正された。"
1538
1539 #.  Bugzilla report 25 Apr 2006:
1540 #.  http://bugzilla.kernel.org/show_bug.cgi?id=6443
1541 #.  "setitimer() should reject noncanonical arguments"
1542 #. type: Plain text
1543 #: build/C/man2/getitimer.2:219
1544 msgid ""
1545 "POSIX.1-2001 says that B<setitimer>()  should fail if a I<tv_usec> value is "
1546 "specified that is outside of the range 0 to 999999.  However, in kernels up "
1547 "to and including 2.6.21, Linux does not give an error, but instead silently "
1548 "adjusts the corresponding seconds value for the timer.  From kernel 2.6.22 "
1549 "onward, this nonconformance has been repaired: an improper I<tv_usec> value "
1550 "results in an B<EINVAL> error."
1551 msgstr ""
1552 "POSIX.1-2001 では B<setitimer>()  は I<tv_usec> の値が 0 から 999999 の範囲外"
1553 "である場合には失敗するべきだとしている。 しかし、2.6.21 以前のカーネルの "
1554 "Linux ではエラーにならず、 対応する秒数の分だけそのタイマーの秒の値が暗黙に調"
1555 "整される。 カーネル 2.6.22 以降では、この標準非準拠の動作は修正され、 "
1556 "I<tv_usec> の値が不適切な場合には B<EINVAL> エラーとなる。"
1557
1558 #. type: Plain text
1559 #: build/C/man2/getitimer.2:226
1560 msgid ""
1561 "B<gettimeofday>(2), B<sigaction>(2), B<signal>(2), B<timer_create>(2), "
1562 "B<timerfd_create>(2), B<time>(7)"
1563 msgstr ""
1564 "B<gettimeofday>(2), B<sigaction>(2), B<signal>(2), B<timer_create>(2), "
1565 "B<timerfd_create>(2), B<time>(7)"
1566
1567 #. type: TH
1568 #: build/C/man3/gsignal.3:25
1569 #, no-wrap
1570 msgid "GSIGNAL"
1571 msgstr "GSIGNAL"
1572
1573 #. type: TH
1574 #: build/C/man3/gsignal.3:25 build/C/man3/profil.3:28 build/C/man3/sigvec.3:24
1575 #, no-wrap
1576 msgid "2007-07-26"
1577 msgstr "2007-07-26"
1578
1579 #. type: Plain text
1580 #: build/C/man3/gsignal.3:28
1581 msgid "gsignal, ssignal - software signal facility"
1582 msgstr "gsignal, ssignal - ソフトウェア・シグナル機能"
1583
1584 #. type: Plain text
1585 #: build/C/man3/gsignal.3:31 build/C/man2/kill.2:52 build/C/man3/psignal.3:34
1586 #: build/C/man3/raise.3:33 build/C/man2/sigaction.2:51
1587 #: build/C/man3/siginterrupt.3:35 build/C/man3/sigpause.3:29
1588 #: build/C/man3/sigwait.3:30 build/C/man2/sigwaitinfo.2:29
1589 #, no-wrap
1590 msgid "B<#include E<lt>signal.hE<gt>>\n"
1591 msgstr "B<#include E<lt>signal.hE<gt>>\n"
1592
1593 #. type: Plain text
1594 #: build/C/man3/gsignal.3:33
1595 #, no-wrap
1596 msgid "B<typedef void (*sighandler_t)(int);>\n"
1597 msgstr "B<typedef void (*sighandler_t)(int);>\n"
1598
1599 #. type: Plain text
1600 #: build/C/man3/gsignal.3:35
1601 #, no-wrap
1602 msgid "B<int gsignal(int >I<signum>B<);>\n"
1603 msgstr "B<int gsignal(int >I<signum>B<);>\n"
1604
1605 #. type: Plain text
1606 #: build/C/man3/gsignal.3:37
1607 #, no-wrap
1608 msgid "B<sighandler_t ssignal(int >I<signum>B<, sighandler_t >I<action>B<);>\n"
1609 msgstr "B<sighandler_t ssignal(int >I<signum>B<, sighandler_t >I<action>B<);>\n"
1610
1611 #. type: Plain text
1612 #: build/C/man3/gsignal.3:42 build/C/man2/kill.2:59 build/C/man2/killpg.2:51
1613 #: build/C/man3/profil.3:40 build/C/man3/psignal.3:44
1614 #: build/C/man2/sigaction.2:59 build/C/man2/sigaltstack.2:36
1615 #: build/C/man3/siginterrupt.3:42 build/C/man2/sigpending.2:38
1616 #: build/C/man2/sigprocmask.2:39 build/C/man3/sigqueue.3:37
1617 #: build/C/man3/sigset.3:43 build/C/man3/sigsetops.3:49
1618 #: build/C/man2/sigsuspend.2:38 build/C/man3/sigvec.3:43
1619 #: build/C/man3/sigwait.3:37 build/C/man2/sigwaitinfo.2:39
1620 #: build/C/man2/timer_create.2:46 build/C/man2/timer_delete.2:38
1621 #: build/C/man2/timer_getoverrun.2:38 build/C/man2/timer_settime.2:42
1622 #: build/C/man2/wait.2:68 build/C/man2/wait4.2:54
1623 msgid ""
1624 "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
1625 msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7)  参照):"
1626
1627 #. type: Plain text
1628 #: build/C/man3/gsignal.3:47
1629 msgid "B<gsignal>(), B<ssignal>(): _SVID_SOURCE"
1630 msgstr "B<gsignal>(), B<ssignal>(): _SVID_SOURCE"
1631
1632 #. type: Plain text
1633 #: build/C/man3/gsignal.3:55
1634 msgid ""
1635 "Don't use these functions under Linux.  Due to a historical mistake, under "
1636 "Linux these functions are aliases for B<raise>(3)  and B<signal>(2), "
1637 "respectively."
1638 msgstr ""
1639 "Linux ではこれらの関数を使用しないこと。 過去に間違いがあり、Linux では "
1640 "B<gsignal>()  と B<ssignal>()  はそれぞれ B<raise>(3)  と B<signal>(2)  の別"
1641 "名になっている。"
1642
1643 #. type: Plain text
1644 #: build/C/man3/gsignal.3:93
1645 msgid ""
1646 "Elsewhere, on System V-like systems, these functions implement software "
1647 "signaling, entirely independent of the classical B<signal>(2)  and B<kill>"
1648 "(2)  functions.  The function B<ssignal>()  defines the action to take when "
1649 "the software signal with number I<signum> is raised using the function "
1650 "B<gsignal>(), and returns the previous such action or B<SIG_DFL>.  The "
1651 "function B<gsignal>()  does the following: if no action (or the action "
1652 "B<SIG_DFL>)  was specified for I<signum>, then it does nothing and returns "
1653 "0.  If the action B<SIG_IGN> was specified for I<signum>, then it does "
1654 "nothing and returns 1.  Otherwise, it resets the action to B<SIG_DFL> and "
1655 "calls the action function with argument I<signum>, and returns the value "
1656 "returned by that function.  The range of possible values I<signum> varies "
1657 "(often 1-15 or 1-17)."
1658 msgstr ""
1659 "一方、System V 風のシステムでは、これらの関数で、 従来の B<signal>(2)  や "
1660 "B<kill>(2)  の関数群とは完全に独立な、 ソフトウェア・シグナリングを実現してい"
1661 "る。 B<ssignal>()  関数は、番号 I<signum> のソフトウェア・シグナルが "
1662 "B<gsignal>()  関数を使って発生された時にとるべきアクションを定義する。 "
1663 "B<gsignal>()  の返り値は、一つ前に指定されていたアクション、もしくは "
1664 "B<SIG_DFL> である。 B<gsignal>()  は以下のような動作を行う: I<signum> に対し"
1665 "てアクションが指定されていないか、アクション B<SIG_DFL> が指定されていた場"
1666 "合、何もせずに 0 を返す。 I<signum> に対して アクション B<SIG_IGN> が指定され"
1667 "ていた場合、何もせずに 1 を返す。 それ以外の場合、アクションを B<SIG_DFL> に"
1668 "リセットし、引き数に I<signum> を指定してアクション関数を呼び出して、アクショ"
1669 "ン関数の返り値を返す。 I<signum> がとり得る値の範囲は実装により異なる (多くの"
1670 "場合 1〜15 か 1〜17 である)。"
1671
1672 #. type: Plain text
1673 #: build/C/man3/gsignal.3:101
1674 msgid ""
1675 "These functions are available under AIX, DG/UX, HP-UX, SCO, Solaris, Tru64.  "
1676 "They are called obsolete under most of these systems, and are broken under "
1677 "Linux libc and glibc.  Some systems also have B<gsignal_r>()  and "
1678 "B<ssignal_r>()."
1679 msgstr ""
1680 "これらの関数は、AIX, DG/UX, HP-UX, SCO, Solaris, Tru64 で使用可能である。 こ"
1681 "れらのシステムのほとんどで廃止されたことになっており、 Linux の libc および "
1682 "glibc では正しく実装されていない。 B<gsignal_r>()  と B<ssignal_r>()  が実装"
1683 "されているシステムもある。"
1684
1685 #. type: Plain text
1686 #: build/C/man3/gsignal.3:105
1687 msgid "B<kill>(2), B<signal>(2), B<raise>(3)"
1688 msgstr "B<kill>(2), B<signal>(2), B<raise>(3)"
1689
1690 #. type: TH
1691 #: build/C/man2/kill.2:44
1692 #, no-wrap
1693 msgid "KILL"
1694 msgstr "KILL"
1695
1696 #. type: TH
1697 #: build/C/man2/kill.2:44
1698 #, no-wrap
1699 msgid "2009-09-15"
1700 msgstr "2009-09-15"
1701
1702 #. type: Plain text
1703 #: build/C/man2/kill.2:47
1704 msgid "kill - send signal to a process"
1705 msgstr "kill - プロセスにシグナルを送る"
1706
1707 #. type: Plain text
1708 #: build/C/man2/kill.2:50
1709 #, no-wrap
1710 msgid "B<#include E<lt>sys/types.hE<gt>>\n"
1711 msgstr "B<#include E<lt>sys/types.hE<gt>>\n"
1712
1713 #. type: Plain text
1714 #: build/C/man2/kill.2:54
1715 #, no-wrap
1716 msgid "B<int kill(pid_t >I<pid>B<, int >I<sig>B<);>\n"
1717 msgstr "B<int kill(pid_t >I<pid>B<, int >I<sig>B<);>\n"
1718
1719 #. type: Plain text
1720 #: build/C/man2/kill.2:64
1721 msgid ""
1722 "B<kill>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
1723 msgstr ""
1724 "B<kill>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
1725
1726 #. type: Plain text
1727 #: build/C/man2/kill.2:70
1728 msgid ""
1729 "The B<kill>()  system call can be used to send any signal to any process "
1730 "group or process."
1731 msgstr ""
1732 "システムコールの B<kill>()  は、任意のプロセス・グループもしくはプロセスにシ"
1733 "グナルを 送るのに使われる。"
1734
1735 #. type: Plain text
1736 #: build/C/man2/kill.2:73
1737 msgid ""
1738 "If I<pid> is positive, then signal I<sig> is sent to the process with the ID "
1739 "specified by I<pid>."
1740 msgstr ""
1741 "I<pid> に正の値を指定した場合、シグナル I<sig> が I<pid> で指定された ID を持"
1742 "つプロセスに送られる。"
1743
1744 #. type: Plain text
1745 #: build/C/man2/kill.2:76
1746 msgid ""
1747 "If I<pid> equals 0, then I<sig> is sent to every process in the process "
1748 "group of the calling process."
1749 msgstr ""
1750 "I<pid> に 0 を指定した場合、 呼び出し元のプロセスのプロセス・グループに属する"
1751 "すべてのプロセスに I<sig> で指定したシグナルが送られる。"
1752
1753 #. type: Plain text
1754 #: build/C/man2/kill.2:80
1755 msgid ""
1756 "If I<pid> equals -1, then I<sig> is sent to every process for which the "
1757 "calling process has permission to send signals, except for process 1 "
1758 "(I<init>), but see below."
1759 msgstr ""
1760 "I<pid> に -1 を指定した場合、 I<sig> で指定したシグナルが、 呼び出し元のプロ"
1761 "セスがシグナルを送る許可を持つ全てのプロセスに 送られる。但し、プロセス番号 "
1762 "1 (I<init>) へはシグナルは送られない。 以下の関連部分も参照のこと。"
1763
1764 #. type: Plain text
1765 #: build/C/man2/kill.2:83
1766 msgid ""
1767 "If I<pid> is less than -1, then I<sig> is sent to every process in the "
1768 "process group whose ID is I<-pid>."
1769 msgstr ""
1770 "I<pid> に -1 より小さな値を指定した場合、 ID が I<-pid> のプロセス・グループ"
1771 "に属するすべてのプロセスに I<sig> で指定したシグナルが送られる。"
1772
1773 #. type: Plain text
1774 #: build/C/man2/kill.2:88
1775 msgid ""
1776 "If I<sig> is 0, then no signal is sent, but error checking is still "
1777 "performed; this can be used to check for the existence of a process ID or "
1778 "process group ID."
1779 msgstr ""
1780 "I<sig> に 0 を指定した場合、シグナルは送られないが、 エラーのチェックは行われ"
1781 "る。これを使って、プロセス ID や プロセスグループ ID の存在確認を行うことがで"
1782 "きる。"
1783
1784 #. type: Plain text
1785 #: build/C/man2/kill.2:99 build/C/man2/killpg.2:88
1786 msgid ""
1787 "For a process to have permission to send a signal it must either be "
1788 "privileged (under Linux: have the B<CAP_KILL> capability), or the real or "
1789 "effective user ID of the sending process must equal the real or saved set-"
1790 "user-ID of the target process.  In the case of B<SIGCONT> it suffices when "
1791 "the sending and receiving processes belong to the same session."
1792 msgstr ""
1793 "プロセスがシグナルを送信する許可を持つためには、 プロセスが特権 (Linux では "
1794 "B<CAP_KILL> ケーパビリティ (capability)) を持つか、 送信元プロセスの実ユー"
1795 "ザー ID または実効ユーザー ID が 送信先プロセスの実 set-user-ID または保存 "
1796 "set-user-ID と 等しくなければならない。 B<SIGCONT> の場合、送信プロセスと受信"
1797 "プロセスが 同じセッションに属していれば十分である。"
1798
1799 #. type: Plain text
1800 #: build/C/man2/kill.2:104
1801 msgid ""
1802 "On success (at least one signal was sent), zero is returned.  On error, -1 "
1803 "is returned, and I<errno> is set appropriately."
1804 msgstr ""
1805 "成功した場合 (少なくとも一つのシグナルが送信された場合)、 0 が返される。エ"
1806 "ラーの場合 -1 が返され、 I<errno> が適切に設定される。"
1807
1808 #. type: Plain text
1809 #: build/C/man2/kill.2:108
1810 msgid "An invalid signal was specified."
1811 msgstr "無効なシグナルを指定した。"
1812
1813 #. type: TP
1814 #: build/C/man2/kill.2:108 build/C/man2/killpg.2:98 build/C/man2/prctl.2:639
1815 #: build/C/man2/prctl.2:651 build/C/man2/prctl.2:661 build/C/man2/prctl.2:669
1816 #: build/C/man2/rt_sigqueueinfo.2:143 build/C/man2/sigaltstack.2:149
1817 #: build/C/man3/sigqueue.3:100 build/C/man2/tkill.2:77
1818 #, no-wrap
1819 msgid "B<EPERM>"
1820 msgstr "B<EPERM>"
1821
1822 #. type: Plain text
1823 #: build/C/man2/kill.2:112 build/C/man2/killpg.2:102
1824 msgid ""
1825 "The process does not have permission to send the signal to any of the target "
1826 "processes."
1827 msgstr ""
1828 "プロセスが、受信するプロセスのいずれに対しても シグナルを送る許可を持っていな"
1829 "い。"
1830
1831 #. type: TP
1832 #: build/C/man2/kill.2:112 build/C/man2/killpg.2:102 build/C/man2/killpg.2:106
1833 #: build/C/man2/rt_sigqueueinfo.2:151 build/C/man3/sigqueue.3:106
1834 #: build/C/man2/tkill.2:82
1835 #, no-wrap
1836 msgid "B<ESRCH>"
1837 msgstr "B<ESRCH>"
1838
1839 #. type: Plain text
1840 #: build/C/man2/kill.2:120
1841 msgid ""
1842 "The pid or process group does not exist.  Note that an existing process "
1843 "might be a zombie, a process which already committed termination, but has "
1844 "not yet been B<wait>(2)ed for."
1845 msgstr ""
1846 "指定したプロセスまたはプロセス・グループが存在しなかった。 ゾンビプロセスは存"
1847 "在するプロセスとしてみなされる。 ゾンビプロセスとはすでに処理は終了している"
1848 "が、親プロセスによる B<wait>()  処理が行われていないプロセスのことである。"
1849
1850 #. type: Plain text
1851 #: build/C/man2/kill.2:122 build/C/man2/pause.2:59 build/C/man2/wait.2:423
1852 msgid "SVr4, 4.3BSD, POSIX.1-2001."
1853 msgstr "SVr4, 4.3BSD, POSIX.1-2001."
1854
1855 #. type: Plain text
1856 #: build/C/man2/kill.2:130
1857 msgid ""
1858 "The only signals that can be sent to process ID 1, the I<init> process, are "
1859 "those for which I<init> has explicitly installed signal handlers.  This is "
1860 "done to assure the system is not brought down accidentally."
1861 msgstr ""
1862 "プロセス番号 1 の I<init> プロセスに送ることができるシグナルは、 I<init> が明"
1863 "示的にシグナルハンドラを設定したシグナルだけである。 こうなっているのは、誤っ"
1864 "てシステムをダウンさせないようにするためである。"
1865
1866 #. type: Plain text
1867 #: build/C/man2/kill.2:136
1868 msgid ""
1869 "POSIX.1-2001 requires that I<kill(-1,sig)> send I<sig> to all processes that "
1870 "the calling process may send signals to, except possibly for some "
1871 "implementation-defined system processes.  Linux allows a process to signal "
1872 "itself, but on Linux the call I<kill(-1,sig)> does not signal the calling "
1873 "process."
1874 msgstr ""
1875 "POSIX.1-2001 では、 I<kill(-1,sig)> が 呼び出し元のプロセスがシグナルを送るこ"
1876 "とが出来るプロセス全てに I<sig> を送ることを要求している。 但し、システム実装"
1877 "時に定められたシステムプロセスは シグナルの送信対象から除外される。 Linux で"
1878 "は、プロセスが自分自身にシグナルを送れるようになっているが、 Linux の I<kill"
1879 "(-1,sig)> は呼び出し元のプロセスにはシグナルを送らない。"
1880
1881 #. type: Plain text
1882 #: build/C/man2/kill.2:146
1883 msgid ""
1884 "POSIX.1-2001 requires that if a process sends a signal to itself, and the "
1885 "sending thread does not have the signal blocked, and no other thread has it "
1886 "unblocked or is waiting for it in B<sigwait>(3), at least one unblocked "
1887 "signal must be delivered to the sending thread before the B<kill>()  returns."
1888 msgstr ""
1889 "POSIX.1-2001 では以下の動作になることを要求している。 自分自身にシグナルを送"
1890 "ると、シグナルを送ったスレッドがそのシグナルをブロック しておらず、他のどのス"
1891 "レッドもそのシグナルを受ける状態にもなく B<sigwait>(3)  でそのシグナルを待っ"
1892 "てもいない場合、 B<kill>()  が返る前に少なくとも一つのブロックされていない シ"
1893 "グナルがシグナルを送ったスレッドに配送されなければならない。"
1894
1895 #. type: SS
1896 #: build/C/man2/kill.2:146 build/C/man3/sigpause.3:75 build/C/man2/wait.2:477
1897 #, no-wrap
1898 msgid "Linux Notes"
1899 msgstr "Linux での注意"
1900
1901 #.  In the 0.* kernels things chopped and changed quite
1902 #.  a bit - MTK, 24 Jul 02
1903 #. type: Plain text
1904 #: build/C/man2/kill.2:160
1905 msgid ""
1906 "Across different kernel versions, Linux has enforced different rules for the "
1907 "permissions required for an unprivileged process to send a signal to another "
1908 "process.  In kernels 1.0 to 1.2.2, a signal could be sent if the effective "
1909 "user ID of the sender matched that of the receiver, or the real user ID of "
1910 "the sender matched that of the receiver.  From kernel 1.2.3 until 1.3.77, a "
1911 "signal could be sent if the effective user ID of the sender matched either "
1912 "the real or effective user ID of the receiver.  The current rules, which "
1913 "conform to POSIX.1-2001, were adopted in kernel 1.3.78."
1914 msgstr ""
1915 "Linux では、特権のないプロセスが他のプロセスにシグナルを送信するために 必要な"
1916 "権限についてのルールが、カーネルバージョンにより違っている。 カーネル 1.0 か"
1917 "ら 1.2.2 では、送信側の実効ユーザーID が受信側の 実効ユーザー IDと一致すれば"
1918 "シグナルを送信できた。 カーネル 1.2.3 から 1.3.77では、送信側の実効ユーザー"
1919 "ID が受信側の 実ユーザーID か実効ユーザーID のいずれかと一致すればシグナルを"
1920 "送信できた。 現在のルールは、POSIX.1-2001 に準拠しており、カーネル 1.3.78 以"
1921 "降で 適用されている。"
1922
1923 #. type: Plain text
1924 #: build/C/man2/kill.2:170
1925 msgid ""
1926 "In 2.6 kernels up to and including 2.6.7, there was a bug that meant that "
1927 "when sending signals to a process group, B<kill>()  failed with the error "
1928 "B<EPERM> if the caller did have permission to send the signal to I<any> "
1929 "(rather than I<all>) of the members of the process group.  Notwithstanding "
1930 "this error return, the signal was still delivered to all of the processes "
1931 "for which the caller had permission to signal."
1932 msgstr ""
1933 "バージョン 2.6.7 以前の 2.6 系のカーネルには、 プロセスグループにシグナルを"
1934 "送ったときに、 呼び出し元のプロセスがプロセスグループの (全メンバーではなく) "
1935 "一部のメンバー に対してのみシグナルを送る許可を持っている場合に、 B<kill>()  "
1936 "がエラー B<EPERM> で失敗するというバグがある。 このエラーが返るにもかかわら"
1937 "ず、そのシグナルは呼び出し元が シグナルを送る許可を持つ全てのプロセスへ送られ"
1938 "る。"
1939
1940 #. type: Plain text
1941 #: build/C/man2/kill.2:180
1942 msgid ""
1943 "B<_exit>(2), B<killpg>(2), B<signal>(2), B<tkill>(2), B<exit>(3), B<sigqueue>"
1944 "(3), B<capabilities>(7), B<credentials>(7), B<signal>(7)"
1945 msgstr ""
1946 "B<_exit>(2), B<killpg>(2), B<signal>(2), B<tkill>(2), B<exit>(3), B<sigqueue>"
1947 "(3), B<credentials>(7), B<capabilities>(7), B<signal>(7)"
1948
1949 #. type: TH
1950 #: build/C/man2/killpg.2:40
1951 #, no-wrap
1952 msgid "KILLPG"
1953 msgstr "KILLPG"
1954
1955 #. type: TH
1956 #: build/C/man2/killpg.2:40 build/C/man3/sigset.3:24 build/C/man2/wait4.2:34
1957 #, no-wrap
1958 msgid "2010-09-20"
1959 msgstr "2010-09-20"
1960
1961 #. type: Plain text
1962 #: build/C/man2/killpg.2:43
1963 msgid "killpg - send signal to a process group"
1964 msgstr "killpg - シグナルをプロセス・グループに送る"
1965
1966 #. type: Plain text
1967 #: build/C/man2/killpg.2:47
1968 msgid "B<int killpg(int >I<pgrp>B<, int >I<sig>B<);>"
1969 msgstr "B<int killpg(int >I<pgrp>B<, int >I<sig>B<);>"
1970
1971 #. type: TP
1972 #: build/C/man2/killpg.2:54
1973 #, no-wrap
1974 msgid "B<killpg>():"
1975 msgstr "B<killpg>():"
1976
1977 #. type: Plain text
1978 #: build/C/man2/killpg.2:58 build/C/man2/sigaltstack.2:44
1979 #: build/C/man3/siginterrupt.3:49 build/C/man2/wait4.2:61
1980 msgid ""
1981 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
1982 "_XOPEN_SOURCE_EXTENDED"
1983 msgstr ""
1984 "_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
1985 "_XOPEN_SOURCE_EXTENDED"
1986
1987 #. type: Plain text
1988 #: build/C/man2/killpg.2:68
1989 msgid ""
1990 "B<killpg>()  sends the signal I<sig> to the process group I<pgrp>.  See "
1991 "B<signal>(7)  for a list of signals."
1992 msgstr ""
1993 "B<killpg>()  は I<sig> で指定したシグナルを I<pgrp> で指定したプロセス・グ"
1994 "ループに送る。 シグナルの定義の一覧は B<signal>(7)  を参照のこと。"
1995
1996 #. type: Plain text
1997 #: build/C/man2/killpg.2:77
1998 msgid ""
1999 "If I<pgrp> is 0, B<killpg>()  sends the signal to the calling process's "
2000 "process group.  (POSIX says: If I<pgrp> is less than or equal to 1, the "
2001 "behavior is undefined.)"
2002 msgstr ""
2003 "引き数 I<pgrp> に 0 を指定した場合には B<killpg>()  は呼び出し元のプロセスが"
2004 "属しているプロセス・グループに対してシグナルを送る。 (POSIX では以下のように"
2005 "記述されている: I<pgrp> が 1 以下である場合、動作は未定義である。)"
2006
2007 #. type: Plain text
2008 #: build/C/man2/killpg.2:98
2009 msgid "I<Sig> is not a valid signal number."
2010 msgstr "I<sig> で指定された値は無効なシグナル番号である。"
2011
2012 #. type: Plain text
2013 #: build/C/man2/killpg.2:106
2014 msgid "No process can be found in the process group specified by I<pgrp>."
2015 msgstr ""
2016 "I<pgrp> で指定されたプロセス・グループに属するプロセスが存在しなかった。"
2017
2018 #. type: Plain text
2019 #: build/C/man2/killpg.2:110
2020 msgid ""
2021 "The process group was given as 0 but the sending process does not have a "
2022 "process group."
2023 msgstr ""
2024 "プロセス・グループとして 0 が指定されたが、送信プロセスは プロセス・グループ"
2025 "を持っていない。"
2026
2027 #. type: Plain text
2028 #: build/C/man2/killpg.2:114
2029 msgid ""
2030 "SVr4, 4.4BSD (the B<killpg>()  function call first appeared in 4BSD), "
2031 "POSIX.1-2001."
2032 msgstr "SVr4, 4.4BSD (B<killpg>()  は 4BSD で初めて追加された), POSIX.1-2001。"
2033
2034 #. type: Plain text
2035 #: build/C/man2/killpg.2:128
2036 msgid ""
2037 "There are various differences between the permission checking in BSD-type "
2038 "systems and System V-type systems.  See the POSIX rationale for B<kill>().  "
2039 "A difference not mentioned by POSIX concerns the return value B<EPERM>: BSD "
2040 "documents that no signal is sent and B<EPERM> returned when the permission "
2041 "check failed for at least one target process, while POSIX documents B<EPERM> "
2042 "only when the permission check failed for all target processes."
2043 msgstr ""
2044 "BSD 系システムと System V 系システムでは、 許可のチェックに様々な違いがあ"
2045 "る。 B<kill>(2)  についての POSIX の原理 (rationale) を参照すること。 POSIX "
2046 "で記述されていない違いとしては、返り値 B<EPERM> がある。 BSD では「送信先プロ"
2047 "セスの許可のチェックが 1 つでも失敗した場合は、 シグナルが送信されず、 "
2048 "B<EPERM> が返される」と記述されている。 POSIX では「送信先プロセスの許可の"
2049 "チェックが全て失敗した場合にのみ、 B<EPERM> が返される」と記述されている。"
2050
2051 #. type: Plain text
2052 #: build/C/man2/killpg.2:133
2053 msgid ""
2054 "On Linux, B<killpg>()  is implemented as a library function that makes the "
2055 "call I<kill(-pgrp,\\ sig)>."
2056 msgstr ""
2057 "Linux では、 B<killpg>()  はライブラリ関数として実装されており、 I<kill(-"
2058 "pgrp,\\ sig)> の呼び出しが行われる。"
2059
2060 #. type: Plain text
2061 #: build/C/man2/killpg.2:139
2062 msgid ""
2063 "B<getpgrp>(2), B<kill>(2), B<signal>(2), B<capabilities>(7), B<credentials>"
2064 "(7)"
2065 msgstr ""
2066 "B<getpgrp>(2), B<kill>(2), B<signal>(2), B<credentials>(7), B<capabilities>"
2067 "(7)"
2068
2069 #. type: TH
2070 #: build/C/man2/pause.2:30
2071 #, no-wrap
2072 msgid "PAUSE"
2073 msgstr "PAUSE"
2074
2075 #. type: TH
2076 #: build/C/man2/pause.2:30
2077 #, no-wrap
2078 msgid "2008-10-06"
2079 msgstr "2008-10-06"
2080
2081 #. type: Plain text
2082 #: build/C/man2/pause.2:33
2083 msgid "pause - wait for signal"
2084 msgstr "pause - シグナルを待つ"
2085
2086 #. type: Plain text
2087 #: build/C/man2/pause.2:35 build/C/man3/profil.3:33
2088 msgid "B<#include E<lt>unistd.hE<gt>>"
2089 msgstr "B<#include E<lt>unistd.hE<gt>>"
2090
2091 #. type: Plain text
2092 #: build/C/man2/pause.2:37
2093 msgid "B<int pause(void);>"
2094 msgstr "B<int pause(void);>"
2095
2096 #. type: Plain text
2097 #: build/C/man2/pause.2:42
2098 msgid ""
2099 "B<pause>()  causes the calling process (or thread) to sleep until a signal "
2100 "is delivered that either terminates the process or causes the invocation of "
2101 "a signal-catching function."
2102 msgstr ""
2103 "B<pause>()  は、呼び出したプロセス (またはスレッド) を、 そのプロセスを終了さ"
2104 "せたり、シグナル捕捉関数が起動されるような シグナルが配送されるまで、スリープ"
2105 "させる。"
2106
2107 #.  .BR ERESTARTNOHAND .
2108 #. type: Plain text
2109 #: build/C/man2/pause.2:53
2110 msgid ""
2111 "B<pause>()  only returns when a signal was caught and the signal-catching "
2112 "function returned.  In this case B<pause>()  returns -1, and I<errno> is set "
2113 "to B<EINTR>."
2114 msgstr ""
2115 "B<pause>()  が返るのは、シグナルを受け取りシグナル捕獲関数から返った場合だけ"
2116 "である。 この場合は B<pause>()  は -1 を返し、 I<errno> に B<EINTR> が設定さ"
2117 "れる。"
2118
2119 #. type: TP
2120 #: build/C/man2/pause.2:54 build/C/man2/sigsuspend.2:77
2121 #: build/C/man2/sigwaitinfo.2:116 build/C/man2/wait.2:409
2122 #, no-wrap
2123 msgid "B<EINTR>"
2124 msgstr "B<EINTR>"
2125
2126 #. type: Plain text
2127 #: build/C/man2/pause.2:57
2128 msgid "a signal was caught and the signal-catching function returned."
2129 msgstr "シグナルを受け取り、シグナル捕獲関数から帰ってきた。"
2130
2131 #. type: Plain text
2132 #: build/C/man2/pause.2:64
2133 msgid "B<kill>(2), B<select>(2), B<signal>(2), B<sigsuspend>(2)"
2134 msgstr "B<kill>(2), B<select>(2), B<signal>(2), B<sigsuspend>(2)"
2135
2136 #. type: TH
2137 #: build/C/man2/prctl.2:48
2138 #, no-wrap
2139 msgid "PRCTL"
2140 msgstr "PRCTL"
2141
2142 #. type: TH
2143 #: build/C/man2/prctl.2:48
2144 #, no-wrap
2145 msgid "2012-04-23"
2146 msgstr "2012-04-23"
2147
2148 #. type: Plain text
2149 #: build/C/man2/prctl.2:51
2150 msgid "prctl - operations on a process"
2151 msgstr "prctl - プロセスの操作を行なう"
2152
2153 #. type: Plain text
2154 #: build/C/man2/prctl.2:54
2155 #, no-wrap
2156 msgid "B<#include E<lt>sys/prctl.hE<gt>>\n"
2157 msgstr "B<#include E<lt>sys/prctl.hE<gt>>\n"
2158
2159 #. type: Plain text
2160 #: build/C/man2/prctl.2:57
2161 #, no-wrap
2162 msgid ""
2163 "B<int prctl(int >I<option>B<, unsigned long >I<arg2>B<, unsigned long >I<arg3>B<,>\n"
2164 "B<          unsigned long >I<arg4>B<, unsigned long >I<arg5>B<);>\n"
2165 msgstr ""
2166 "B<int prctl(int >I<option>B<, unsigned long >I<arg2>B<, unsigned long >I<arg3>B<,>\n"
2167 "B<          unsigned long >I<arg4>B<, unsigned long >I<arg5>B<);>\n"
2168
2169 #. type: Plain text
2170 #: build/C/man2/prctl.2:64
2171 msgid ""
2172 "B<prctl>()  is called with a first argument describing what to do (with "
2173 "values defined in I<E<lt>linux/prctl.hE<gt>>), and further arguments with a "
2174 "significance depending on the first one.  The first argument can be:"
2175 msgstr ""
2176 "B<prctl>()  の動作は最初の引き数によって決定される (この値は I<E<lt>linux/"
2177 "prctl.hE<gt>> に定義されている)。 残りの引き数は最初の引き数によって変化す"
2178 "る。 一番目の引き数として以下のものを指定できる:"
2179
2180 #. type: TP
2181 #: build/C/man2/prctl.2:64
2182 #, no-wrap
2183 msgid "B<PR_CAPBSET_READ> (since Linux 2.6.25)"
2184 msgstr "B<PR_CAPBSET_READ> (Linux 2.6.25 以降)"
2185
2186 #. type: Plain text
2187 #: build/C/man2/prctl.2:76
2188 msgid ""
2189 "Return (as the function result) 1 if the capability specified in I<arg2> is "
2190 "in the calling thread's capability bounding set, or 0 if it is not.  (The "
2191 "capability constants are defined in I<E<lt>linux/capability.hE<gt>>.)  The "
2192 "capability bounding set dictates whether the process can receive the "
2193 "capability through a file's permitted capability set on a subsequent call to "
2194 "B<execve>(2)."
2195 msgstr ""
2196 "で指定されたケーパビリティが呼び出したスレッドのケーパビリティ バインディング"
2197 "セット (capability bounding set) に含まれている場合、 (関数の返り値として) 1 "
2198 "を返し、そうでない場合 0 を返す (ケーパビリティ定数は I<E<lt>linux/"
2199 "capability.hE<gt>> で定義されている)。 ケーパビリティバウンディングセット"
2200 "は、 B<execve>(2)  を呼び出した際に、ファイルの許可 (permitted) ケーパビリ"
2201 "ティの中で そのプロセスが獲得できるケーパビリティを指示するものである。"
2202
2203 #. type: Plain text
2204 #: build/C/man2/prctl.2:81
2205 msgid ""
2206 "If the capability specified in I<arg2> is not valid, then the call fails "
2207 "with the error B<EINVAL>."
2208 msgstr ""
2209 "I<arg2> に指定されたケーパビリティが有効でない場合、 呼び出しはエラー "
2210 "B<EINVAL> で失敗する。"
2211
2212 #. type: TP
2213 #: build/C/man2/prctl.2:81
2214 #, no-wrap
2215 msgid "B<PR_CAPBSET_DROP> (since Linux 2.6.25)"
2216 msgstr "B<PR_CAPBSET_DROP> (Linux 2.6.25 以降)"
2217
2218 #. type: Plain text
2219 #: build/C/man2/prctl.2:90
2220 msgid ""
2221 "If the calling thread has the B<CAP_SETPCAP> capability, then drop the "
2222 "capability specified by I<arg2> from the calling thread's capability "
2223 "bounding set.  Any children of the calling thread will inherit the newly "
2224 "reduced bounding set."
2225 msgstr ""
2226 "呼び出したスレッドがケーパビリティ B<CAP_SETPCAP> を持っている場合、 呼び出し"
2227 "たスレッドのケーパビリティバウンディングセットから I<arg2> で指定されたケーパ"
2228 "ビリティを外す。 呼び出したスレッドの子プロセスは変更後のバウンディングセット"
2229 "を 継承する。"
2230
2231 #. type: Plain text
2232 #: build/C/man2/prctl.2:102
2233 msgid ""
2234 "The call fails with the error: B<EPERM> if the calling thread does not have "
2235 "the B<CAP_SETPCAP>; B<EINVAL> if I<arg2> does not represent a valid "
2236 "capability; or B<EINVAL> if file capabilities are not enabled in the kernel, "
2237 "in which case bounding sets are not supported."
2238 msgstr ""
2239 "呼び出したスレッドが B<CAP_SETPCAP> を持っていない場合、呼び出しはエラー "
2240 "B<EPERM> で失敗する。 I<arg2> に指定されたケーパビリティが有効でない場合、 "
2241 "B<EINVAL> で失敗する。 ファイルケーパビリティがカーネルで有効になっていない場"
2242 "合 (この場合にはバウンディングセットがサポートされない)、 B<EINVAL> で失敗す"
2243 "る。"
2244
2245 #. type: TP
2246 #: build/C/man2/prctl.2:102
2247 #, no-wrap
2248 msgid "B<PR_SET_DUMPABLE> (since Linux 2.3.20)"
2249 msgstr "B<PR_SET_DUMPABLE> (Linux 2.3.20 以降)"
2250
2251 #.  See http://marc.theaimsgroup.com/?l=linux-kernel&m=115270289030630&w=2
2252 #.  Subject:    Fix prctl privilege escalation (CVE-2006-2451)
2253 #.  From:       Marcel Holtmann <marcel () holtmann ! org>
2254 #.  Date:       2006-07-12 11:12:00
2255 #. type: Plain text
2256 #: build/C/man2/prctl.2:128
2257 msgid ""
2258 "Set the state of the flag determining whether core dumps are produced for "
2259 "this process upon delivery of a signal whose default behavior is to produce "
2260 "a core dump.  (Normally this flag is set for a process by default, but it is "
2261 "cleared when a set-user-ID or set-group-ID program is executed and also by "
2262 "various system calls that manipulate process UIDs and GIDs).  In kernels up "
2263 "to and including 2.6.12, I<arg2> must be either 0 (process is not dumpable) "
2264 "or 1 (process is dumpable).  Between kernels 2.6.13 and 2.6.17, the value 2 "
2265 "was also permitted, which caused any binary which normally would not be "
2266 "dumped to be dumped readable by root only; for security reasons, this "
2267 "feature has been removed.  (See also the description of I</proc/sys/fs/"
2268 "suid_dumpable> in B<proc>(5).)  Processes that are not dumpable can not be "
2269 "attached via B<ptrace(2)> B<PTRACE_ATTACH>."
2270 msgstr ""
2271 "(Linux 2.3.20 以降) デフォルトの振る舞いではコアダンプを引き起こすよう\n"
2272 "なシグナルを受信したときに、 コアダンプするかどうかを決定するフラグを\n"
2273 "設定する (通常このフラグは、デフォルトではセットされているが、\n"
2274 "set-user-ID あるいは set-group-ID プログラムが実行されたり、 さまざまな\n"
2275 "システムコールによってプロセスの UID や GID が操作されたときに クリアさ\n"
2276 "れる)。 2.6.12 以前のカーネルでは、 I<arg2> は 0 (プロセスはダンプ不可)\n"
2277 "あるいは 1 (プロセスはダンプ可能) の どちらかでなければならない。\n"
2278 "2.6.13 から 2.6.17 までのカーネルでは、値 2 も認められていた。 この値を\n"
2279 "指定すると、通常はダンプされないバイナリが root だけが 読み込み可能な形\n"
2280 "でダンプされた。 セキュリティ上の理由から、この機能は削除された\n"
2281 "(B<proc>(5) の I</proc/sys/fs/suid_dumpable> の説明も参照)。\n"
2282 "ダンプ不可のプロセスを B<ptrace(2)> B<PTRACE_ATTACH> 経由で接続すること\n"
2283 "はできない。"
2284
2285 #. type: TP
2286 #: build/C/man2/prctl.2:128
2287 #, no-wrap
2288 msgid "B<PR_GET_DUMPABLE> (since Linux 2.3.20)"
2289 msgstr "B<PR_GET_DUMPABLE> (Linux 2.3.20 以降)"
2290
2291 #.  Since Linux 2.6.13, the dumpable flag can have the value 2,
2292 #.  but in 2.6.13 PR_GET_DUMPABLE simply returns 1 if the dumpable
2293 #.  flags has a nonzero value.  This was fixed in 2.6.14.
2294 #. type: Plain text
2295 #: build/C/man2/prctl.2:135
2296 msgid ""
2297 "Return (as the function result) the current state of the calling process's "
2298 "dumpable flag."
2299 msgstr ""
2300 "(Linux 2.3.20 以降)  呼び出し元プロセスにおけるダンプ可能フラグの 現在の状態"
2301 "を (関数の返り値として) 返す。"
2302
2303 #. type: TP
2304 #: build/C/man2/prctl.2:135
2305 #, no-wrap
2306 msgid "B<PR_SET_ENDIAN> (since Linux 2.6.18, PowerPC only)"
2307 msgstr "B<PR_SET_ENDIAN> (Linux 2.6.18 以降、PowerPC のみ)"
2308
2309 #.  Respectively 0, 1, 2
2310 #. type: Plain text
2311 #: build/C/man2/prctl.2:145
2312 msgid ""
2313 "Set the endian-ness of the calling process to the value given in I<arg2>, "
2314 "which should be one of the following: B<PR_ENDIAN_BIG>, B<PR_ENDIAN_LITTLE>, "
2315 "or B<PR_ENDIAN_PPC_LITTLE> (PowerPC pseudo little endian)."
2316 msgstr ""
2317 "呼び出し元プロセスのエンディアン設定 (endian-ness) を I<arg2> で指定された値"
2318 "に設定する。 指定できる値は B<PR_ENDIAN_BIG>, B<PR_ENDIAN_LITTLE>, "
2319 "B<PR_ENDIAN_PPC_LITTLE> (PowerPC 擬似リトルエンディアン)  のいずれか一つであ"
2320 "る。"
2321
2322 #. type: TP
2323 #: build/C/man2/prctl.2:145
2324 #, no-wrap
2325 msgid "B<PR_GET_ENDIAN> (since Linux 2.6.18, PowerPC only)"
2326 msgstr "B<PR_GET_ENDIAN> (Linux 2.6.18 以降、PowerPC のみ)"
2327
2328 #. type: Plain text
2329 #: build/C/man2/prctl.2:150
2330 msgid ""
2331 "Return the endian-ness of the calling process, in the location pointed to by "
2332 "I<(int\\ *) arg2>."
2333 msgstr ""
2334 "呼び出し元プロセスのエンディアン設定 (endian-ness) を I<(int\\ *) arg2> が指"
2335 "す場所に格納して返す。"
2336
2337 #. type: TP
2338 #: build/C/man2/prctl.2:150
2339 #, no-wrap
2340 msgid "B<PR_SET_FPEMU> (since Linux 2.4.18, 2.5.9, only on ia64)"
2341 msgstr "B<PR_SET_FPEMU> (Linux 2.4.18 以降, 2.5.9, ia64 のみ)"
2342
2343 #. type: Plain text
2344 #: build/C/man2/prctl.2:157
2345 msgid ""
2346 "Set floating-point emulation control bits to I<arg2>.  Pass "
2347 "B<PR_FPEMU_NOPRINT> to silently emulate fp operations accesses, or "
2348 "B<PR_FPEMU_SIGFPE> to not emulate fp operations and send B<SIGFPE> instead."
2349 msgstr ""
2350 "浮動小数点エミュレーション (floating-point emulation) 制御ビットを I<arg2> で"
2351 "指定された値に設定する。 指定できる値は B<PR_FPEMU_NOPRINT> (浮動小数点命令ア"
2352 "クセスを黙って エミュレートする) か B<PR_FPEMU_SIGFPE> (浮動小数点命令をエ"
2353 "ミュレートせず、 代わりに B<SIGFPE> を送る) である。"
2354
2355 #. type: TP
2356 #: build/C/man2/prctl.2:157
2357 #, no-wrap
2358 msgid "B<PR_GET_FPEMU> (since Linux 2.4.18, 2.5.9, only on ia64)"
2359 msgstr "B<PR_GET_FPEMU> (Linux 2.4.18 以降, 2.5.9, ia64 のみ)"
2360
2361 #. type: Plain text
2362 #: build/C/man2/prctl.2:162
2363 msgid ""
2364 "Return floating-point emulation control bits, in the location pointed to by "
2365 "I<(int\\ *) arg2>."
2366 msgstr ""
2367 "浮動小数点エミュレーション制御ビットの値を I<(int\\ *) arg2> が指す場所に格納"
2368 "して返す。"
2369
2370 #. type: TP
2371 #: build/C/man2/prctl.2:162
2372 #, no-wrap
2373 msgid "B<PR_SET_FPEXC> (since Linux 2.4.21, 2.5.32, only on PowerPC)"
2374 msgstr "B<PR_SET_FPEXC> (Linux 2.4.21 および 2.5.32 以降、PowerPC のみ)"
2375
2376 #. type: Plain text
2377 #: build/C/man2/prctl.2:175
2378 msgid ""
2379 "Set floating-point exception mode to I<arg2>.  Pass B<PR_FP_EXC_SW_ENABLE> "
2380 "to use FPEXC for FP exception enables, B<PR_FP_EXC_DIV> for floating-point "
2381 "divide by zero, B<PR_FP_EXC_OVF> for floating-point overflow, "
2382 "B<PR_FP_EXC_UND> for floating-point underflow, B<PR_FP_EXC_RES> for floating-"
2383 "point inexact result, B<PR_FP_EXC_INV> for floating-point invalid operation, "
2384 "B<PR_FP_EXC_DISABLED> for FP exceptions disabled, B<PR_FP_EXC_NONRECOV> for "
2385 "async nonrecoverable exception mode, B<PR_FP_EXC_ASYNC> for async "
2386 "recoverable exception mode, B<PR_FP_EXC_PRECISE> for precise exception mode."
2387 msgstr ""
2388 "浮動小数点例外モード (floating-point exception mode) を I<arg2> で指定された"
2389 "値に設定する。 指定できるのは以下の値である: B<PR_FP_EXC_SW_ENABLE> (FPEXC で"
2390 "浮動小数点例外を有効にする)、 B<PR_FP_EXC_DIV> (0 除算)、 B<PR_FP_EXC_OVF> "
2391 "(オーバーフロー)、 B<PR_FP_EXC_UND> (アンダーフロー)、 B<PR_FP_EXC_RES> (不正"
2392 "確な結果 (inexact result))、 B<PR_FP_EXC_INV> (不正な命令 (invalid "
2393 "operation))、 B<PR_FP_EXC_DISABLED> (浮動小数点例外を無効にする)、 "
2394 "B<PR_FP_EXC_NONRECOV> (async nonrecoverable exception mode)、 "
2395 "B<PR_FP_EXC_ASYNC> (async recoverable exception mode)、 B<PR_FP_EXC_PRECISE> "
2396 "(precise exception mode)。"
2397
2398 #. type: TP
2399 #: build/C/man2/prctl.2:175
2400 #, no-wrap
2401 msgid "B<PR_GET_FPEXC> (since Linux 2.4.21, 2.5.32, only on PowerPC)"
2402 msgstr "B<PR_GET_FPEXC>(Linux 2.4.21 および 2.5.32 以降、PowerPC のみ)"
2403
2404 #. type: Plain text
2405 #: build/C/man2/prctl.2:180
2406 msgid ""
2407 "Return floating-point exception mode, in the location pointed to by I<(int\\ "
2408 "*) arg2>."
2409 msgstr ""
2410 "浮動小数点例外モードの値を I<(int\\ *) arg2> が指す場所に格納して返す。"
2411
2412 #. type: TP
2413 #: build/C/man2/prctl.2:180
2414 #, no-wrap
2415 msgid "B<PR_SET_KEEPCAPS> (since Linux 2.2.18)"
2416 msgstr "B<PR_SET_KEEPCAPS> (Linux 2.2.18 以降)"
2417
2418 #. type: Plain text
2419 #: build/C/man2/prctl.2:198
2420 #, fuzzy
2421 #| msgid ""
2422 #| "Set the state of the thread's \"keep capabilities\" flag, which "
2423 #| "determines whether the threads's effective and permitted capability sets "
2424 #| "are cleared when a change is made to the threads's user IDs such that the "
2425 #| "threads's real UID, effective UID, and saved set-user-ID all become "
2426 #| "nonzero when at least one of them previously had the value 0.  (By "
2427 #| "default, these credential sets are cleared).  I<arg2> must be either 0 "
2428 #| "(capabilities are cleared) or 1 (capabilities are kept).  This value will "
2429 #| "be reset to 0 on subsequent calls to B<execve>(2)."
2430 msgid ""
2431 "Set the state of the thread's \"keep capabilities\" flag, which determines "
2432 "whether the threads's permitted capability set is cleared when a change is "
2433 "made to the threads's user IDs such that the threads's real UID, effective "
2434 "UID, and saved set-user-ID all become nonzero when at least one of them "
2435 "previously had the value 0.  By default, the permitted capability set is "
2436 "cleared when such a change is made; setting the \"keep capabilities\" flag "
2437 "prevents it from being cleared.  I<arg2> must be either 0 (permitted "
2438 "capabilities are cleared)  or 1 (permitted capabilities are kept).  (A "
2439 "thread's I<effective> capability set is always cleared when such a "
2440 "credential change is made, regardless of the setting of the \"keep "
2441 "capabilities\" flag.)  The \"keep capabilities\" value will be reset to 0 on "
2442 "subsequent calls to B<execve>(2)."
2443 msgstr ""
2444 "スレッドの「ケーパビリティ保持」フラグを設定する。 このフラグは、スレッドの"
2445 "実 UID、実効 UID、保存 set-user-ID のうち少なくとも 一つが 0 であった状態か"
2446 "ら、これら全てが 0 以外に変更されたとき、 スレッドの実効/許可のケーパビリティ"
2447 "集合がクリアされるかどうかを決定する (デフォルトでは、これらのケーパビリティ"
2448 "集合はクリアされる)。 I<arg2> は 0 (ケーパビリティをクリアする) あるいは 1 "
2449 "(ケーパビリティを保持する) の どちらかでなければならない。 B<execve>(2)  が呼"
2450 "び出されると、この値は 0 にリセットされる。"
2451
2452 #. type: TP
2453 #: build/C/man2/prctl.2:198
2454 #, no-wrap
2455 msgid "B<PR_GET_KEEPCAPS> (since Linux 2.2.18)"
2456 msgstr "B<PR_GET_KEEPCAPS> (Linux 2.2.18 以降)"
2457
2458 #. type: Plain text
2459 #: build/C/man2/prctl.2:202
2460 msgid ""
2461 "Return (as the function result) the current state of the calling threads's "
2462 "\"keep capabilities\" flag."
2463 msgstr ""
2464 "呼び出し元スレッドにおける「ケーパビリティ保持」フラグの 現在の状態を (関数の"
2465 "返り値として) 返す。"
2466
2467 #. type: TP
2468 #: build/C/man2/prctl.2:202
2469 #, no-wrap
2470 msgid "B<PR_SET_NAME> (since Linux 2.6.9)"
2471 msgstr "B<PR_SET_NAME> (Linux 2.6.9 以降)"
2472
2473 #.  TASK_COMM_LEN in include/linux/sched.h
2474 #. type: Plain text
2475 #: build/C/man2/prctl.2:210
2476 msgid ""
2477 "Set the process name for the calling process, using the value in the "
2478 "location pointed to by I<(char\\ *) arg2>.  The name can be up to 16 bytes "
2479 "long, and should be null-terminated if it contains fewer bytes."
2480 msgstr ""
2481 "呼び出し元プロセスのプロセス名を I<(char\\ *) arg2> が指す場所に格納された値"
2482 "を使って設定する。 名前は最大で 16 バイトであり、 それより少ないバイト数の場"
2483 "合は NULL で終端すべきである。"
2484
2485 #. type: TP
2486 #: build/C/man2/prctl.2:210
2487 #, no-wrap
2488 msgid "B<PR_GET_NAME> (since Linux 2.6.11)"
2489 msgstr "B<PR_GET_NAME> (Linux 2.6.11 以降)"
2490
2491 #. type: Plain text
2492 #: build/C/man2/prctl.2:217
2493 msgid ""
2494 "Return the process name for the calling process, in the buffer pointed to by "
2495 "I<(char\\ *) arg2>.  The buffer should allow space for up to 16 bytes; the "
2496 "returned string will be null-terminated if it is shorter than that."
2497 msgstr ""
2498 "呼び出し元プロセスのプロセス名を I<(char\\ *) arg2> が指す場所に格納して返"
2499 "す。 バッファは最大で 16 バイトを格納できるようにすべきである。 返される文字"
2500 "列は、長さが 16 バイトより短い場合は NULL 終端される。"
2501
2502 #. type: TP
2503 #: build/C/man2/prctl.2:217
2504 #, no-wrap
2505 msgid "B<PR_SET_PDEATHSIG> (since Linux 2.1.57)"
2506 msgstr "B<PR_SET_PDEATHSIG> (Linux 2.1.57 以降)"
2507
2508 #. type: Plain text
2509 #: build/C/man2/prctl.2:228
2510 msgid ""
2511 "Set the parent process death signal of the calling process to I<arg2> "
2512 "(either a signal value in the range 1..maxsig, or 0 to clear).  This is the "
2513 "signal that the calling process will get when its parent dies.  This value "
2514 "is cleared for the child of a B<fork>(2)  and (since Linux 2.5.36 / 2.6.23)  "
2515 "when execing a set-user_ID or set-group-ID binary."
2516 msgstr ""
2517 "親プロセス死亡シグナル (parent process death signal) を I<arg2> に設定\n"
2518 "する (設定できるシグナル値の範囲は 1..maxsig であり、0 は通知の解除であ\n"
2519 "る)。 呼び出し元プロセスの親プロセスが死んだ際に、ここで設定した値が シ\n"
2520 "グナルとして通知される。この値は B<fork>(2) の子プロセスでは解除される。\n"
2521 "(Linux 2.5.36 以降および 2.6.23 以降では) set-user-ID もしくは\n"
2522 "set-group-ID されたバイナリを実行した場合にも、このフラグは解除される。"
2523
2524 #. type: TP
2525 #: build/C/man2/prctl.2:228
2526 #, no-wrap
2527 msgid "B<PR_GET_PDEATHSIG> (since Linux 2.3.15)"
2528 msgstr "B<PR_GET_PDEATHSIG> (Linux 2.3.15 以降)"
2529
2530 #. type: Plain text
2531 #: build/C/man2/prctl.2:233
2532 msgid ""
2533 "Return the current value of the parent process death signal, in the location "
2534 "pointed to by I<(int\\ *) arg2>."
2535 msgstr ""
2536 "親プロセス死亡シグナルの現在の値を I<(int\\ *) arg2> が指す場所に格納して返"
2537 "す。"
2538
2539 #. type: TP
2540 #: build/C/man2/prctl.2:233
2541 #, no-wrap
2542 msgid "B<PR_SET_SECCOMP> (since Linux 2.6.23)"
2543 msgstr "B<PR_SET_SECCOMP> (Linux 2.6.23 以降)"
2544
2545 #.  See http://thread.gmane.org/gmane.linux.kernel/542632
2546 #.  [PATCH 0 of 2] seccomp updates
2547 #.  andrea@cpushare.com
2548 #. type: Plain text
2549 #: build/C/man2/prctl.2:257
2550 msgid ""
2551 "Set the secure computing mode for the calling thread.  In the current "
2552 "implementation, I<arg2> must be 1.  After the secure computing mode has been "
2553 "set to 1, the only system calls that the thread is permitted to make are "
2554 "B<read>(2), B<write>(2), B<_exit>(2), and B<sigreturn>(2).  Other system "
2555 "calls result in the delivery of a B<SIGKILL> signal.  Secure computing mode "
2556 "is useful for number-crunching applications that may need to execute "
2557 "untrusted byte code, perhaps obtained by reading from a pipe or socket.  "
2558 "This operation is only available if the kernel is configured with "
2559 "CONFIG_SECCOMP enabled."
2560 msgstr ""
2561 "呼び出したスレッドの secure computing モードを設定する。 現在の実装では、 "
2562 "I<arg2> は 1 にしなければならない。 secure computing モードを 1 に設定する"
2563 "と、 そのスレッドが呼び出しを許可されるシステムコールは B<read>(2), B<write>"
2564 "(2), B<_exit>(2), B<sigreturn>(2)  だけになる。 それ以外のシステムコールを呼"
2565 "び出すと、シグナル B<SIGKILL> が配送される。 パイプやソケットから読み込んだ、"
2566 "信頼できないバイトコードを実行する 必要がある大量の演算を行うアプリケーション"
2567 "において、 secure computing モードは役立つ。 この操作は利用できるのは、カーネ"
2568 "ルが CONFIG_SECCOMP を有効にして 作成されている場合だけである。"
2569
2570 #. type: TP
2571 #: build/C/man2/prctl.2:257
2572 #, no-wrap
2573 msgid "B<PR_GET_SECCOMP> (since Linux 2.6.23)"
2574 msgstr "B<PR_GET_SECCOMP> (Linux 2.6.23 以降)"
2575
2576 #. type: Plain text
2577 #: build/C/man2/prctl.2:270
2578 msgid ""
2579 "Return the secure computing mode of the calling thread.  Not very useful for "
2580 "the current implementation (mode equals 1), but may be useful for other "
2581 "possible future modes: if the caller is not in secure computing mode, this "
2582 "operation returns 0; if the caller is in secure computing mode, then the "
2583 "B<prctl>()  call will cause a B<SIGKILL> signal to be sent to the process.  "
2584 "This operation is only available if the kernel is configured with "
2585 "CONFIG_SECCOMP enabled."
2586 msgstr ""
2587 "呼び出したスレッドの secure computing モードを返す。 現在の実装 (モードは 1 "
2588 "固定) はあまり役に立たないが、 将来他のモードが実装されると役立つようになるか"
2589 "もしれない。 呼び出したスレッドが secure computing モードでなかった場合、 こ"
2590 "の操作は 0 を返す。 呼び出したスレッドが secure computing モードの場合、 "
2591 "B<prctl>()  を呼び出すとシグナル B<SIGKILL> がそのプロセスに送信される。 この"
2592 "操作が利用できるのは、カーネルが CONFIG_SECCOMP を有効にして 作成されている場"
2593 "合だけである。"
2594
2595 #. type: TP
2596 #: build/C/man2/prctl.2:270
2597 #, no-wrap
2598 msgid "B<PR_SET_SECUREBITS> (since Linux 2.6.26)"
2599 msgstr "B<PR_SET_SECUREBITS> (Linux 2.6.26 以降)"
2600
2601 #. type: Plain text
2602 #: build/C/man2/prctl.2:276
2603 msgid ""
2604 "Set the \"securebits\" flags of the calling thread to the value supplied in "
2605 "I<arg2>.  See B<capabilities>(7)."
2606 msgstr ""
2607 "呼び出したスレッドの \"securebits\" フラグを I<arg2> で渡された値に設定す"
2608 "る。 B<capabilities>(7)  参照。"
2609
2610 #. type: TP
2611 #: build/C/man2/prctl.2:276
2612 #, no-wrap
2613 msgid "B<PR_GET_SECUREBITS> (since Linux 2.6.26)"
2614 msgstr "B<PR_GET_SECUREBITS> (Linux 2.6.26 以降)"
2615
2616 #. type: Plain text
2617 #: build/C/man2/prctl.2:282
2618 msgid ""
2619 "Return (as the function result)  the \"securebits\" flags of the calling "
2620 "thread.  See B<capabilities>(7)."
2621 msgstr ""
2622 "呼び出したスレッドの \"securebits\" フラグを (関数の返り値として) 返す。 "
2623 "B<capabilities>(7)  参照。"
2624
2625 #. type: TP
2626 #: build/C/man2/prctl.2:282
2627 #, no-wrap
2628 msgid "B<PR_SET_TIMING> (since Linux 2.6.0-test4)"
2629 msgstr "B<PR_SET_TIMING> (Linux 2.6.0-test4 以降)"
2630
2631 #.  0
2632 #.  1
2633 #.  PR_TIMING_TIMESTAMP doesn't do anything in 2.6.26-rc8,
2634 #.  and looking at the patch history, it appears
2635 #.  that it never did anything.
2636 #. type: Plain text
2637 #: build/C/man2/prctl.2:299
2638 msgid ""
2639 "Set whether to use (normal, traditional) statistical process timing or "
2640 "accurate timestamp-based process timing, by passing B<PR_TIMING_STATISTICAL> "
2641 "or B<PR_TIMING_TIMESTAMP> to I<arg2>.  B<PR_TIMING_TIMESTAMP> is not "
2642 "currently implemented (attempting to set this mode will yield the error "
2643 "B<EINVAL>)."
2644 msgstr ""
2645 "(通常の、伝統的に使われてきた) 統計的なプロセスタイミングを使用するか、\n"
2646 "正確なタイムスタンプに基づくプロセスタイミングを使用するかを設定する。\n"
2647 "I<arg2> に指定できる値は B<PR_TIMING_STATISTICAL> か\n"
2648 "B<PR_TIMING_TIMESTAMP> である。 B<PR_TIMING_TIMESTAMP> は現在のところ実\n"
2649 "装されていない (このモードに設定しようとするとエラー B<EINVAL> が起こる\n"
2650 "ことだろう)。"
2651
2652 #. type: TP
2653 #: build/C/man2/prctl.2:299
2654 #, no-wrap
2655 msgid "B<PR_GET_TIMING> (since Linux 2.6.0-test4)"
2656 msgstr "B<PR_GET_TIMING> (Linux 2.6.0-test4 以降)"
2657
2658 #. type: Plain text
2659 #: build/C/man2/prctl.2:303
2660 msgid ""
2661 "Return (as the function result) which process timing method is currently in "
2662 "use."
2663 msgstr "現在使用中のプロセスタイミングを決める方法を返す。"
2664
2665 #. type: TP
2666 #: build/C/man2/prctl.2:303
2667 #, no-wrap
2668 msgid "B<PR_TASK_PERF_EVENTS_DISABLE> (since Linux 2.6.31)"
2669 msgstr "B<PR_TASK_PERF_EVENTS_DISABLE> (Linux 2.6.31 以降)"
2670
2671 #. type: Plain text
2672 #: build/C/man2/prctl.2:312
2673 msgid ""
2674 "Disable all performance counters attached to the calling process, regardless "
2675 "of whether the counters were created by this process or another process.  "
2676 "Performance counters created by the calling process for other processes are "
2677 "unaffected.  For more information on performance counters, see the kernel "
2678 "source file I<tools/perf/design.txt>."
2679 msgstr ""
2680
2681 #.  commit 1d1c7ddbfab358445a542715551301b7fc363e28
2682 #. type: Plain text
2683 #: build/C/man2/prctl.2:318
2684 msgid ""
2685 "Originally called B<PR_TASK_PERF_COUNTERS_DISABLE>; renamed (with same "
2686 "numerical value)  in Linux 2.6.32."
2687 msgstr ""
2688
2689 #. type: TP
2690 #: build/C/man2/prctl.2:318
2691 #, no-wrap
2692 msgid "B<PR_TASK_PERF_EVENTS_ENABLE> (since Linux 2.6.31)"
2693 msgstr "B<PR_TASK_PERF_EVENTS_ENABLE> (Linux 2.6.31 以降)"
2694
2695 #. type: Plain text
2696 #: build/C/man2/prctl.2:323
2697 msgid ""
2698 "The converse of B<PR_TASK_PERF_EVENTS_DISABLE>; enable performance counters "
2699 "attached to the calling process."
2700 msgstr ""
2701
2702 #.  commit 1d1c7ddbfab358445a542715551301b7fc363e28
2703 #.  commit cdd6c482c9ff9c55475ee7392ec8f672eddb7be6
2704 #. type: Plain text
2705 #: build/C/man2/prctl.2:330
2706 msgid ""
2707 "Originally called B<PR_TASK_PERF_COUNTERS_ENABLE>; renamed in Linux 2.6.32."
2708 msgstr ""
2709
2710 #. type: TP
2711 #: build/C/man2/prctl.2:330
2712 #, no-wrap
2713 msgid "B<PR_SET_TSC> (since Linux 2.6.26, x86 only)"
2714 msgstr "B<PR_SET_TSC> (Linux 2.6.26 以降, x86 のみ)"
2715
2716 #. type: Plain text
2717 #: build/C/man2/prctl.2:343
2718 msgid ""
2719 "Set the state of the flag determining whether the timestamp counter can be "
2720 "read by the process.  Pass B<PR_TSC_ENABLE> to I<arg2> to allow it to be "
2721 "read, or B<PR_TSC_SIGSEGV> to generate a B<SIGSEGV> when the process tries "
2722 "to read the timestamp counter."
2723 msgstr ""
2724 "そのプロセスがタイムスタンプ・カウンタを読み出せるかを決定する フラグの状態を"
2725 "設定する。 読み出しを許可する場合は I<arg2> に B<PR_TSC_ENABLE> を、そのプロ"
2726 "セスがタイムスタンプ・カウンタを読み出そうとした際に B<SIGSEGV> を発生させる"
2727 "場合には B<PR_TSC_SIGSEGV> を渡す。"
2728
2729 #. type: TP
2730 #: build/C/man2/prctl.2:343
2731 #, no-wrap
2732 msgid "B<PR_GET_TSC> (since Linux 2.6.26, x86 only)"
2733 msgstr "B<PR_GET_TSC> (Linux 2.6.26 以降, x86 のみ)"
2734
2735 #. type: Plain text
2736 #: build/C/man2/prctl.2:349
2737 msgid ""
2738 "Return the state of the flag determining whether the timestamp counter can "
2739 "be read, in the location pointed to by I<(int\\ *) arg2>."
2740 msgstr ""
2741 "そのプロセスがタイムスタンプ・カウンタを読み出せるかを決定する フラグの状態"
2742 "を I<(int\\ *) arg2> が指す場所に格納して返す。"
2743
2744 #. type: TP
2745 #: build/C/man2/prctl.2:349
2746 #, no-wrap
2747 msgid "B<PR_SET_UNALIGN>"
2748 msgstr "B<PR_SET_UNALIGN>"
2749
2750 #. type: Plain text
2751 #: build/C/man2/prctl.2:359
2752 msgid ""
2753 "(Only on: ia64, since Linux 2.3.48; parisc, since Linux 2.6.15; PowerPC, "
2754 "since Linux 2.6.18; Alpha, since Linux 2.6.22)  Set unaligned access control "
2755 "bits to I<arg2>.  Pass B<PR_UNALIGN_NOPRINT> to silently fix up unaligned "
2756 "user accesses, or B<PR_UNALIGN_SIGBUS> to generate B<SIGBUS> on unaligned "
2757 "user access."
2758 msgstr ""
2759 "(ia64 では Linux 2.3.48 以降; parisc では Linux 2.6.15 以降; PowerPC では "
2760 "Linux 2.6.18 以降; Alpha では Linux 2.6.22 以降; これらのアーキテクチャの"
2761 "み)  unaligned アクセス制御ビットを I<arg2> で指定された値に設定する。 指定で"
2762 "きる値は B<PR_UNALIGN_NOPRINT> (unaligned なユーザアクセスを黙って 修正する) "
2763 "か B<PR_UNALIGN_SIGBUS> (unaligned なユーザアクセスがあった場合 B<SIGBUS> を"
2764 "生成する) である。"
2765
2766 #. type: TP
2767 #: build/C/man2/prctl.2:359
2768 #, no-wrap
2769 msgid "B<PR_GET_UNALIGN>"
2770 msgstr "B<PR_GET_UNALIGN>"
2771
2772 #. type: Plain text
2773 #: build/C/man2/prctl.2:366
2774 msgid ""
2775 "(see B<PR_SET_UNALIGN> for information on versions and architectures)  "
2776 "Return unaligned access control bits, in the location pointed to by I<(int\\ "
2777 "*) arg2>."
2778 msgstr ""
2779 "(バージョンとアーキテクチャの情報は B<PR_SET_UNALIGN> 参照)  unaligned アクセ"
2780 "ス制御ビットの値を I<(int\\ *) arg2> が指す場所に格納して返す。"
2781
2782 #. type: TP
2783 #: build/C/man2/prctl.2:366
2784 #, no-wrap
2785 msgid "B<PR_MCE_KILL> (since Linux 2.6.32)"
2786 msgstr "B<PR_MCE_KILL> (Linux 2.6.32 以降)"
2787
2788 #. type: Plain text
2789 #: build/C/man2/prctl.2:406
2790 msgid ""
2791 "Set the machine check memory corruption kill policy for the current thread.  "
2792 "If I<arg2> is B<PR_MCE_KILL_CLEAR>, clear the thread memory corruption kill "
2793 "policy and use the system-wide default.  (The system-wide default is defined "
2794 "by I</proc/sys/vm/memory_failure_early_kill>; see B<proc>(5).)  If I<arg2> "
2795 "is B<PR_MCE_KILL_SET>, use a thread-specific memory corruption kill policy.  "
2796 "In this case, I<arg3> defines whether the policy is I<early kill> "
2797 "(B<PR_MCE_KILL_EARLY>), I<late kill> (B<PR_MCE_KILL_LATE>), or the system-"
2798 "wide default (B<PR_MCE_KILL_DEFAULT>).  Early kill means that the thread "
2799 "receives a B<SIGBUS> signal as soon as hardware memory corruption is "
2800 "detected inside its address space.  In late kill mode, the process is only "
2801 "killed when it accesses a corrupted page.  See B<sigaction>(2)  for more "
2802 "information on the B<SIGBUS> signal.  The policy is inherited by children.  "
2803 "The remaining unused B<prctl>()  arguments must be zero for future "
2804 "compatibility."
2805 msgstr ""
2806
2807 #. type: TP
2808 #: build/C/man2/prctl.2:406
2809 #, no-wrap
2810 msgid "B<PR_MCE_KILL_GET> (since Linux 2.6.32)"
2811 msgstr "B<PR_MCE_KILL_GET> (Linux 2.6.32 以降)"
2812
2813 #. type: Plain text
2814 #: build/C/man2/prctl.2:412
2815 msgid ""
2816 "Return the current per-process machine check kill policy.  All unused "
2817 "B<prctl>()  arguments must be zero."
2818 msgstr ""
2819
2820 #. type: TP
2821 #: build/C/man2/prctl.2:412
2822 #, no-wrap
2823 msgid "B<PR_SET_MM> (since Linux 3.3)"
2824 msgstr "B<PR_SET_MM> (Linux 3.3 以降)"
2825
2826 #. type: Plain text
2827 #: build/C/man2/prctl.2:432
2828 msgid ""
2829 "Modify certain kernel memory map descriptor fields of the calling process.  "
2830 "Usually these fields are set by the kernel and dynamic loader (see B<ld.so>"
2831 "(8)  for more information) and a regular application should not use this "
2832 "feature.  However, there are cases, such as self-modifying programs, where a "
2833 "program might find it useful to change its own memory map.  This feature is "
2834 "available only if the kernel is built with the B<CONFIG_CHECKPOINT_RESTORE> "
2835 "option enabled.  The calling process must have the B<CAP_SYS_RESOURCE> "
2836 "capability.  The value in I<arg2> is one of the options below, while I<arg3> "
2837 "provides a new value for the option."
2838 msgstr ""
2839
2840 #. type: TP
2841 #: build/C/man2/prctl.2:433
2842 #, no-wrap
2843 msgid "B<PR_SET_MM_START_CODE>"
2844 msgstr "B<PR_SET_MM_START_CODE>"
2845
2846 #. type: Plain text
2847 #: build/C/man2/prctl.2:442
2848 msgid ""
2849 "Set the address above which the program text can run.  The corresponding "
2850 "memory area must be readable and executable, but not writable or sharable "
2851 "(see B<mprotect>(2)  and B<mmap>(2)  for more information)."
2852 msgstr ""
2853
2854 #. type: TP
2855 #: build/C/man2/prctl.2:442
2856 #, no-wrap
2857 msgid "B<PR_SET_MM_END_CODE>"
2858 msgstr "B<PR_SET_MM_END_CODE>"
2859
2860 #. type: Plain text
2861 #: build/C/man2/prctl.2:447
2862 msgid ""
2863 "Set the address below which the program text can run.  The corresponding "
2864 "memory area must be readable and executable, but not writable or sharable."
2865 msgstr ""
2866
2867 #. type: TP
2868 #: build/C/man2/prctl.2:447
2869 #, no-wrap
2870 msgid "B<PR_SET_MM_START_DATA>"
2871 msgstr "B<PR_SET_MM_START_DATA>"
2872
2873 #. type: Plain text
2874 #: build/C/man2/prctl.2:453
2875 msgid ""
2876 "Set the address above which initialized and uninitialized (bss) data are "
2877 "placed.  The corresponding memory area must be readable and writable, but "
2878 "not executable or sharable."
2879 msgstr ""
2880
2881 #. type: TP
2882 #: build/C/man2/prctl.2:453
2883 #, no-wrap
2884 msgid "B<PR_SET_MM_END_DATA>"
2885 msgstr "B<PR_SET_MM_END_DATA>"
2886
2887 #. type: Plain text
2888 #: build/C/man2/prctl.2:459
2889 msgid ""
2890 "Set the address below which initialized and uninitialized (bss) data are "
2891 "placed.  The corresponding memory area must be readable and writable, but "
2892 "not executable or sharable."
2893 msgstr ""
2894
2895 #. type: TP
2896 #: build/C/man2/prctl.2:459
2897 #, no-wrap
2898 msgid "B<PR_SET_MM_START_STACK>"
2899 msgstr "B<PR_SET_MM_START_STACK>"
2900
2901 #. type: Plain text
2902 #: build/C/man2/prctl.2:463
2903 msgid ""
2904 "Set the start address of the stack.  The corresponding memory area must be "
2905 "readable and writable."
2906 msgstr ""
2907
2908 #. type: TP
2909 #: build/C/man2/prctl.2:463
2910 #, no-wrap
2911 msgid "B<PR_SET_MM_START_BRK>"
2912 msgstr "B<PR_SET_MM_START_BRK>"
2913
2914 #. type: Plain text
2915 #: build/C/man2/prctl.2:475
2916 msgid ""
2917 "Set the address above which the program heap can be expanded with B<brk>(2)  "
2918 "call.  The address must be greater than the ending address of the current "
2919 "program data segment.  In addition, the combined size of the resulting heap "
2920 "and the size of the data segment can't exceed the B<RLIMIT_DATA> resource "
2921 "limit (see B<setrlimit>(2))."
2922 msgstr ""
2923
2924 #. type: TP
2925 #: build/C/man2/prctl.2:475
2926 #, no-wrap
2927 msgid "B<PR_SET_MM_BRK>"
2928 msgstr "B<PR_SET_MM_BRK>"
2929
2930 #.  FIXME The following (until ========) is not yet in mainline kernel,
2931 #.  so commented out for the moment.
2932 #.  .TP
2933 #.  .BR PR_SET_MM_ARG_START
2934 #.  Set the address above which the program command line is placed.
2935 #.  .TP
2936 #.  .BR PR_SET_MM_ARG_END
2937 #.  Set the address below which the program command line is placed.
2938 #.  .TP
2939 #.  .BR PR_SET_MM_ENV_START
2940 #.  Set the address above which the program environment is placed.
2941 #.  .TP
2942 #.  .BR PR_SET_MM_ENV_END
2943 #.  Set the address below which the program environment is placed.
2944 #.  .IP
2945 #.  The address passed with
2946 #.  .BR PR_SET_MM_ARG_START ,
2947 #.  .BR PR_SET_MM_ARG_END ,
2948 #.  .BR PR_SET_MM_ENV_START ,
2949 #.  and
2950 #.  .BR PR_SET_MM_ENV_END
2951 #.  should belong to a process stack area.
2952 #.  Thus, the corresponding memory area must be readable, writable, and
2953 #.  (depending on the kernel configuration) have the
2954 #.  .BR MAP_GROWSDOWN
2955 #.  attribute set (see
2956 #.  .BR mmap (2)).
2957 #.  .TP
2958 #.  .BR PR_SET_MM_AUXV
2959 #.  Set a new auxiliary vector.
2960 #.  The
2961 #.  .I arg3
2962 #.  argument should provide the address of the vector.
2963 #.  The
2964 #.  .I arg4
2965 #.  is the size of the vector.
2966 #.  .TP
2967 #.  .BR PR_SET_MM_EXE_FILE
2968 #.  Supersede the
2969 #.  .IR /proc/pid/exe
2970 #.  symbolic link with a new one pointing to a new executable file
2971 #.  identified by the file descriptor provided in
2972 #.  .I arg3
2973 #.  argument.
2974 #.  The file descriptor should be obtained with a regular
2975 #.  .BR open (2)
2976 #.  call.
2977 #.  .IP
2978 #.  To change the symbolic link, one needs to unmap all existing
2979 #.  executable memory areas, including those created by the kernel itself
2980 #.  (for example the kernel usually creates at least one executable
2981 #.  memory area for the ELF
2982 #.  .IR .text
2983 #.  section).
2984 #.  .IP
2985 #.  The second limitation is that such transitions can be done only once
2986 #.  in a process life time.
2987 #.  Any further attempts will be rejected.
2988 #.  This should help system administrators to monitor unusual
2989 #.  symbolic-link transitions over all process running in a system.
2990 #.  ========== END FIXME
2991 #. type: Plain text
2992 #: build/C/man2/prctl.2:544
2993 msgid ""
2994 "Set the current B<brk>(2)  value.  The requirements for the address are the "
2995 "same as for the B<PR_SET_MM_START_BRK> option."
2996 msgstr ""
2997
2998 #. type: Plain text
2999 #: build/C/man2/prctl.2:563
3000 msgid ""
3001 "On success, B<PR_GET_DUMPABLE>, B<PR_GET_KEEPCAPS>, B<PR_CAPBSET_READ>, "
3002 "B<PR_GET_TIMING>, B<PR_GET_SECUREBITS>, B<PR_MCE_KILL_GET>, and (if it "
3003 "returns)  B<PR_GET_SECCOMP> return the nonnegative values described above.  "
3004 "All other I<option> values return 0 on success.  On error, -1 is returned, "
3005 "and I<errno> is set appropriately."
3006 msgstr ""
3007 "成功すると、 B<PR_GET_DUMPABLE>, B<PR_GET_KEEPCAPS>,\n"
3008 "B<PR_CAPBSET_READ>, B<PR_GET_TIMING>, B<PR_GET_SECUREBITS>,\n"
3009 "B<PR_MCE_KILL_GET>, B<PR_GET_SECCOMP> は上述の負でない値を返す (なお、\n"
3010 "B<PR_GET_SECCOMP> は返らない場合もある)。 I<option> が他の値の場合は\n"
3011 "成功時に 0 を返す。\n"
3012 "エラーの場合、-1 を返し、 I<errno> に適切な値を設定する。"
3013
3014 #. type: Plain text
3015 #: build/C/man2/prctl.2:568
3016 msgid "I<arg2> is an invalid address."
3017 msgstr "I<arg2> が不正なアドレスである。"
3018
3019 #. type: Plain text
3020 #: build/C/man2/prctl.2:573
3021 msgid "The value of I<option> is not recognized."
3022 msgstr "I<option> の値が理解できない。"
3023
3024 #. type: Plain text
3025 #: build/C/man2/prctl.2:585
3026 msgid ""
3027 "I<option> is B<PR_MCE_KILL> or B<PR_MCE_KILL_GET> or B<PR_SET_MM>, and "
3028 "unused B<prctl>()  arguments were not specified as zero."
3029 msgstr ""
3030
3031 #. type: Plain text
3032 #: build/C/man2/prctl.2:590
3033 msgid "I<arg2> is not valid value for this I<option>."
3034 msgstr "I<arg2> が指定された I<option> で有効な値ではない。"
3035
3036 #. type: Plain text
3037 #: build/C/man2/prctl.2:599
3038 msgid ""
3039 "I<option> is B<PR_SET_SECCOMP> or B<PR_SET_SECCOMP>, and the kernel was not "
3040 "configured with B<CONFIG_SECCOMP>."
3041 msgstr ""
3042 "I<option> が B<PR_SET_SECCOMP> か B<PR_GET_SECCOMP> だが、カーネルが "
3043 "B<CONFIG_SECCOMP> を有効にして作成されていなかった。"
3044
3045 #. type: Plain text
3046 #: build/C/man2/prctl.2:605
3047 msgid "I<option> is B<PR_SET_MM>, and one of the following is true"
3048 msgstr ""
3049
3050 #. type: Plain text
3051 #: build/C/man2/prctl.2:611
3052 msgid "I<arg4> or I<arg5> is nonzero;"
3053 msgstr ""
3054
3055 #. type: Plain text
3056 #: build/C/man2/prctl.2:616
3057 msgid ""
3058 "I<arg3> is greater than B<TASK_SIZE> (the limit on the size of the user "
3059 "address space for this architecture);"
3060 msgstr ""
3061
3062 #. type: Plain text
3063 #: build/C/man2/prctl.2:626
3064 msgid ""
3065 "I<arg2> is B<PR_SET_MM_START_CODE>, B<PR_SET_MM_END_CODE>, "
3066 "B<PR_SET_MM_START_DATA>, B<PR_SET_MM_END_DATA>, or B<PR_SET_MM_START_STACK,> "
3067 "and the permissions of the corresponding memory area are not as required;"
3068 msgstr ""
3069
3070 #. type: Plain text
3071 #: build/C/man2/prctl.2:638
3072 msgid ""
3073 "I<arg2> is B<PR_SET_MM_START_BRK> or B<PR_SET_MM_BRK>, and I<arg3> is less "
3074 "than or equal to the end of the data segment or specifies a value that would "
3075 "cause the B<RLIMIT_DATA> resource limit to be exceeded."
3076 msgstr ""
3077
3078 #. type: Plain text
3079 #: build/C/man2/prctl.2:651
3080 msgid ""
3081 "I<option> is B<PR_SET_SECUREBITS>, and the caller does not have the "
3082 "B<CAP_SETPCAP> capability, or tried to unset a \"locked\" flag, or tried to "
3083 "set a flag whose corresponding locked flag was set (see B<capabilities>(7))."
3084 msgstr ""
3085 "I<option> が B<PR_SET_SECUREBITS> で、呼び出し元がケーパビリティ "
3086 "B<CAP_SETPCAP> を持っていない。 または、\"locked\" フラグを解除しようとし"
3087 "た。 または、locked フラグがセットされているフラグをセットしようとした "
3088 "(B<capabilities>(7)  参照)。"
3089
3090 #. type: Plain text
3091 #: build/C/man2/prctl.2:661
3092 msgid ""
3093 "I<option> is B<PR_SET_KEEPCAPS>, and the callers's "
3094 "B<SECURE_KEEP_CAPS_LOCKED> flag is set (see B<capabilities>(7))."
3095 msgstr ""
3096 "I<option> が B<PR_SET_KEEPCAPS> で、呼び出し元のフラグ "
3097 "B<SECURE_KEEP_CAPS_LOCKED> がセットされている (B<capabilities>(7)  参照)。"
3098
3099 #. type: Plain text
3100 #: build/C/man2/prctl.2:669
3101 msgid ""
3102 "I<option> is B<PR_CAPBSET_DROP>, and the caller does not have the "
3103 "B<CAP_SETPCAP> capability."
3104 msgstr ""
3105 "I<option> が B<PR_CAPBSET_DROP> で、呼び出し元がケーパビリティ "
3106 "B<CAP_SETPCAP> を持っていない。"
3107
3108 #.  FIXME The following (until ========) is not yet in mainline kernel,
3109 #.  so commented out for the moment.
3110 #.  .TP
3111 #.  .B EACCES
3112 #.  .I option
3113 #.  is
3114 #.  .BR PR_SET_MM ,
3115 #.  and
3116 #.  .I arg3
3117 #.  is
3118 #.  .BR PR_SET_MM_EXE_FILE ,
3119 #.  the file is not executable.
3120 #.  .TP
3121 #.  .B EBUSY
3122 #.  .I option
3123 #.  is
3124 #.  .BR PR_SET_MM ,
3125 #.  .I arg3
3126 #.  is
3127 #.  .BR PR_SET_MM_EXE_FILE ,
3128 #.  and this the second attempt to change the
3129 #.  .I /proc/pid/exe
3130 #.  symbolic link, which is prohibited.
3131 #.  .TP
3132 #.  .B EBADF
3133 #.  .I option
3134 #.  is
3135 #.  .BR PR_SET_MM ,
3136 #.  .I arg3
3137 #.  is
3138 #.  .BR PR_SET_MM_EXE_FILE ,
3139 #.  and the file descriptor passed in
3140 #.  .I arg4
3141 #.  is not valid.
3142 #.  ========== END FIXME
3143 #.  The following can't actually happen, because prctl() in
3144 #.  seccomp mode will cause SIGKILL.
3145 #.  .TP
3146 #.  .B EPERM
3147 #.  .I option
3148 #.  is
3149 #.  .BR PR_SET_SECCOMP ,
3150 #.  and secure computing mode is already 1.
3151 #. type: Plain text
3152 #: build/C/man2/prctl.2:720
3153 msgid ""
3154 "I<option> is B<PR_SET_MM>, and the caller does not have the "
3155 "B<CAP_SYS_RESOURCE> capability."
3156 msgstr ""
3157 "I<option> が B<PR_SET_MM> で、呼び出し元がケーパビリティ\n"
3158 "B<CAP_SYS_RESOURCE> を持っていない。"
3159
3160 #.  The library interface was added in glibc 2.0.6
3161 #. type: Plain text
3162 #: build/C/man2/prctl.2:725
3163 msgid "The B<prctl>()  system call was introduced in Linux 2.1.57."
3164 msgstr "B<prctl>()  システムコールは Linux 2.1.57 で導入された。"
3165
3166 #. type: Plain text
3167 #: build/C/man2/prctl.2:732
3168 msgid ""
3169 "This call is Linux-specific.  IRIX has a B<prctl>()  system call (also "
3170 "introduced in Linux 2.1.44 as irix_prctl on the MIPS architecture), with "
3171 "prototype"
3172 msgstr ""
3173 "このコールは Linux 特有である。 IRIX には B<prctl>()  システム・コールがある"
3174 "が (MIPS アーキテクチャにおいて irix_prctl として Linux 2.1.44 で同様に導入さ"
3175 "れた)、 そのプロトタイプは"
3176
3177 #. type: Plain text
3178 #: build/C/man2/prctl.2:734
3179 msgid "B<ptrdiff_t prctl(int >I<option>B<, int >I<arg2>B<, int >I<arg3>B<);>"
3180 msgstr "B<ptrdiff_t prctl(int >I<option>B<, int >I<arg2>B<, int >I<arg3>B<);>"
3181
3182 #. type: Plain text
3183 #: build/C/man2/prctl.2:739
3184 msgid ""
3185 "and options to get the maximum number of processes per user, get the maximum "
3186 "number of processors the calling process can use, find out whether a "
3187 "specified process is currently blocked, get or set the maximum stack size, "
3188 "etc."
3189 msgstr ""
3190 "である。ユーザー当りのプロセス最大数を取得するオプション、 プロセスの使用でき"
3191 "る最大プロッサー数を取得するオプション、 現在特定のプロセスが停止(block)させ"
3192 "られているかどうか調べるオプション、 スタックサイズの最大値の取得や設定を行な"
3193 "うオプションなどがある。"
3194
3195 #. type: Plain text
3196 #: build/C/man2/prctl.2:742
3197 msgid "B<signal>(2), B<core>(5)"
3198 msgstr "B<signal>(2), B<core>(5)"
3199
3200 #. type: TH
3201 #: build/C/man3/profil.3:28
3202 #, no-wrap
3203 msgid "PROFIL"
3204 msgstr "PROFIL"
3205
3206 #. type: Plain text
3207 #: build/C/man3/profil.3:31
3208 msgid "profil - execution time profile"
3209 msgstr "profil - 実行時間プロファイル (profile)"
3210
3211 #. type: Plain text
3212 #: build/C/man3/profil.3:36
3213 msgid ""
3214 "B<int profil(unsigned short *>I<buf>B<, size_t >I<bufsiz>B<, size_t "
3215 ">I<offset>B<, unsigned int >I<scale>B<);>"
3216 msgstr ""
3217 "B<int profil(unsigned short *>I<buf>B<, size_t >I<bufsiz>B<, size_t "
3218 ">I<offset>B<, unsigned int >I<scale>B<);>"
3219
3220 #. type: Plain text
3221 #: build/C/man3/profil.3:44
3222 msgid ""
3223 "B<profil>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
3224 msgstr ""
3225 "B<profil>(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE\\ E<lt>\\ 500)"
3226
3227 #. type: Plain text
3228 #: build/C/man3/profil.3:66
3229 msgid ""
3230 "This routine provides a means to find out in what areas your program spends "
3231 "most of its time.  The argument I<buf> points to I<bufsiz> bytes of core.  "
3232 "Every virtual 10 milliseconds, the user's program counter (PC)  is examined: "
3233 "I<offset> is subtracted and the result is multiplied by I<scale> and divided "
3234 "by 65536.  If the resulting value is less than I<bufsiz>, then the "
3235 "corresponding entry in I<buf> is incremented.  If I<buf> is NULL, profiling "
3236 "is disabled."
3237 msgstr ""
3238 "このルーティンはプログラムのどこの部分で時間を費やしているかを調べる 手段を提"
3239 "供する。引き数 I<buf> は I<bufsiz> バイトのメモリを指している。仮想の 10 ミリ"
3240 "秒ごとに、ユーザーの プログラム・カウンター (PC) が検査される: I<offset> が引"
3241 "かれ、その結果が I<scale> 倍され 65536 で割られる。 結果が I<bufsiz> より小さ"
3242 "い場合は I<buf> の対応するエントリがインクリメントされる。 I<buf> が NULL な"
3243 "らば、プロファイル (profile) は無効にされる。"
3244
3245 #. type: Plain text
3246 #: build/C/man3/profil.3:68
3247 msgid "Zero is always returned."
3248 msgstr "常に 0 が返される。"
3249
3250 #. type: Plain text
3251 #: build/C/man3/profil.3:70
3252 msgid "Similar to a call in SVr4 (but not POSIX.1-2001)."
3253 msgstr "SVr4 のコールに似ている (しかし POSIX.1-2001 ではない)。"
3254
3255 #. type: Plain text
3256 #: build/C/man3/profil.3:76
3257 msgid ""
3258 "B<profil>()  cannot be used on a program that also uses B<ITIMER_PROF> "
3259 "interval timers (see B<setitimer>(2))."
3260 msgstr ""
3261 "B<profil>()  は B<ITIMER_PROF> インターバル・タイマーも使用しているプログラム"
3262 "では使用できない (B<setitimer>(2)  参照)。"
3263
3264 #. type: Plain text
3265 #: build/C/man3/profil.3:79
3266 msgid ""
3267 "True kernel profiling provides more accurate results.  Libc 4.4 contained a "
3268 "kernel patch providing a system call profil."
3269 msgstr ""
3270 "本当のカーネル・プロファイルはより正確な結果を与える。 libc 4.4 にはシステム"
3271 "コール profil を提供するための カーネルパッチが含まれていた。"
3272
3273 #. type: Plain text
3274 #: build/C/man3/profil.3:84
3275 msgid "B<gprof>(1), B<setitimer>(2), B<sigaction>(2), B<signal>(2)"
3276 msgstr "B<gprof>(1), B<setitimer>(2), B<sigaction>(2), B<signal>(2)"
3277
3278 #. type: TH
3279 #: build/C/man3/psignal.3:28
3280 #, no-wrap
3281 msgid "PSIGNAL"
3282 msgstr "PSIGNAL"
3283
3284 #. type: TH
3285 #: build/C/man3/psignal.3:28
3286 #, no-wrap
3287 msgid "2010-10-06"
3288 msgstr "2010-10-06"
3289
3290 #. type: TH
3291 #: build/C/man3/psignal.3:28 build/C/man3/raise.3:27
3292 #: build/C/man7/sigevent.7:24
3293 #, no-wrap
3294 msgid "GNU"
3295 msgstr "GNU"
3296
3297 #. type: Plain text
3298 #: build/C/man3/psignal.3:31
3299 msgid "psignal, psiginfo - print signal message"
3300 msgstr "psignal, psiginfo - シグナルメッセージを表示"
3301
3302 #. type: Plain text
3303 #: build/C/man3/psignal.3:37
3304 #, no-wrap
3305 msgid ""
3306 "B<void psignal(int >I<sig>B<, const char *>I<s>B<);>\n"
3307 "B<void psiginfo(const siginfo_t *>I<pinfo>B<, const char *>I<s>B<);>\n"
3308 msgstr ""
3309 "B<void psignal(int >I<sig>B<, const char *>I<s>B<);>\n"
3310 "B<void psiginfo(const siginfo_t *>I<pinfo>B<, const char *>I<s>B<);>\n"
3311
3312 #. type: Plain text
3313 #: build/C/man3/psignal.3:39
3314 #, no-wrap
3315 msgid "B<extern const char *const >I<sys_siglist>B<[];>\n"
3316 msgstr "B<extern const char *const >I<sys_siglist>B<[];>\n"
3317
3318 #. type: Plain text
3319 #: build/C/man3/psignal.3:48
3320 msgid "B<psignal>(): _SVID_SOURCE || _BSD_SOURCE"
3321 msgstr "B<psignal>(): _SVID_SOURCE || _BSD_SOURCE"
3322
3323 #. type: Plain text
3324 #: build/C/man3/psignal.3:51
3325 msgid ""
3326 "B<psiginfo>(): _XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ "
3327 "200809L"
3328 msgstr "B<psiginfo>(): _XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
3329
3330 #. type: Plain text
3331 #: build/C/man3/psignal.3:54
3332 msgid "I<sys_siglist>: _BSD_SOURCE"
3333 msgstr "I<sys_siglist>: _BSD_SOURCE"
3334
3335 #. type: Plain text
3336 #: build/C/man3/psignal.3:63
3337 msgid ""
3338 "The B<psignal>()  function displays a message on I<stderr> consisting of the "
3339 "string I<s>, a colon, a space, a string describing the signal number I<sig>, "
3340 "and a trailing newline.  If the string I<s> is NULL or empty, the colon and "
3341 "space are omitted.  If I<sig> is invalid, the message displayed will "
3342 "indicate an unknown signal."
3343 msgstr ""
3344 "B<psignal>() 関数は、文字列 I<s>、コロン、スペース、\n"
3345 "シグナル番号 I<sig> を説明する文字列、終端の改行から\n"
3346 "構成されるメッセージを I<stderr> に表示する。\n"
3347 "文字列 I<s> が NULL か空の場合、コロンとスペースは省略される。\n"
3348 "I<sig> が不正ならば、表示される メッセージは未知のシグナルを示す。"
3349
3350 #. type: Plain text
3351 #: build/C/man3/psignal.3:84
3352 msgid ""
3353 "The B<psiginfo>()  function is like B<psignal>(), except that it displays "
3354 "information about the signal described by I<pinfo>, which should point to a "
3355 "valid I<siginfo_t> structure.  As well as the signal description, B<psiginfo>"
3356 "()  displays information about the origin of the signal, and other "
3357 "information relevant to the signal (e.g., the relevant memory address for "
3358 "hardware-generated signals, the child process ID for B<SIGCHLD>, and the "
3359 "user ID and process ID of the sender, for signals set using B<kill>(2)  or "
3360 "B<sigqueue>(3))."
3361 msgstr ""
3362
3363 #. type: Plain text
3364 #: build/C/man3/psignal.3:87
3365 msgid ""
3366 "The array I<sys_siglist> holds the signal description strings indexed by "
3367 "signal number."
3368 msgstr ""
3369 "配列 I<sys_siglist> はシグナルを説明する文字列を保持しており、 配列へのアクセ"
3370 "スにはシグナル番号を添え字として用いる事ができる。"
3371
3372 #. type: Plain text
3373 #: build/C/man3/psignal.3:93
3374 msgid "The B<psignal>()  and B<psiginfo>()  functions return no value."
3375 msgstr "関数 B<psignal>() と B<psiginfo>() は、値を返さない。"
3376
3377 #. type: Plain text
3378 #: build/C/man3/psignal.3:97
3379 msgid "The B<psiginfo>()  function was added to glibc in version 2.10."
3380 msgstr "B<psiginfo>() 関数は glibc バージョン 2.10 で追加された。"
3381
3382 #. type: Plain text
3383 #: build/C/man3/psignal.3:99
3384 msgid "POSIX.1-2008, 4.3BSD."
3385 msgstr "POSIX.1-2008, 4.3BSD."
3386
3387 #. type: Plain text
3388 #: build/C/man3/psignal.3:103
3389 msgid "In glibc versions up to 2.12, B<psiginfo>()  had the following bugs:"
3390 msgstr "バージョン 2.12 までの glibc では B<psiginfo>() には以下のバグがあった。"
3391
3392 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12107
3393 #.  Reportedly now fixed; check glibc 2.13
3394 #. type: Plain text
3395 #: build/C/man3/psignal.3:107
3396 msgid "In some circumstances, a trailing newline is not printed."
3397 msgstr ""
3398
3399 #.  FIXME http://sourceware.org/bugzilla/show_bug.cgi?id=12108
3400 #.  Reportedly now fixed; check glibc 2.13
3401 #. type: Plain text
3402 #: build/C/man3/psignal.3:111
3403 msgid "Additional details are not displayed for real-time signals."
3404 msgstr ""
3405
3406 #. type: Plain text
3407 #: build/C/man3/psignal.3:116
3408 msgid "B<sigaction>(2), B<perror>(3), B<strsignal>(3), B<signal>(7)"
3409 msgstr "B<sigaction>(2), B<perror>(3), B<strsignal>(3), B<signal>(7)"
3410
3411 #. type: TH
3412 #: build/C/man3/raise.3:27
3413 #, no-wrap
3414 msgid "RAISE"
3415 msgstr "RAISE"
3416
3417 #. type: TH
3418 #: build/C/man3/raise.3:27
3419 #, no-wrap
3420 msgid "2012-04-20"
3421 msgstr "2012-04-20"
3422
3423 #. type: Plain text
3424 #: build/C/man3/raise.3:30
3425 msgid "raise - send a signal to the caller"
3426 msgstr "raise - 呼び出し元にシグナルを送る"
3427
3428 #. type: Plain text
3429 #: build/C/man3/raise.3:35
3430 #, no-wrap
3431 msgid "B<int raise(int >I<sig>B<);>\n"
3432 msgstr "B<int raise(int >I<sig>B<);>\n"
3433
3434 #. type: Plain text
3435 #: build/C/man3/raise.3:41
3436 msgid ""
3437 "The B<raise>()  function sends a signal to the calling process or thread.  "
3438 "In a single-threaded program it is equivalent to"
3439 msgstr ""
3440 "B<raise>()  関数は、呼び出し元のプロセスもしくはスレッドにシグナルを送る。 シ"
3441 "ングルスレッドのプログラムでは、以下と等価である。"
3442
3443 #. type: Plain text
3444 #: build/C/man3/raise.3:45
3445 #, no-wrap
3446 msgid "kill(getpid(), sig);\n"
3447 msgstr "kill(getpid(), sig);\n"
3448
3449 #. type: Plain text
3450 #: build/C/man3/raise.3:49
3451 msgid "In a multithreaded program it is equivalent to"
3452 msgstr "マルチスレッドのプログラムでは、以下と等価である。"
3453
3454 #. type: Plain text
3455 #: build/C/man3/raise.3:53
3456 #, no-wrap
3457 msgid "pthread_kill(pthread_self(), sig);\n"
3458 msgstr "pthread_kill(pthread_self(), sig);\n"
3459
3460 #. type: Plain text
3461 #: build/C/man3/raise.3:59
3462 msgid ""
3463 "If the signal causes a handler to be called, B<raise>()  will only return "
3464 "after the signal handler has returned."
3465 msgstr ""
3466 "シグナルに起因してシグナル・ハンドラが呼び出される場合には、 B<raise>()  が返"
3467 "るのは必ずシグナル・ハンドラが返った後になる。"
3468
3469 #. type: Plain text
3470 #: build/C/man3/raise.3:62
3471 msgid "B<raise>()  returns 0 on success, and nonzero for failure."
3472 msgstr "成功した場合は 0 を、失敗した場合は 0 以外の値を返す。"
3473
3474 #. type: Plain text
3475 #: build/C/man3/raise.3:64 build/C/man2/signal.2:107
3476 msgid "C89, C99, POSIX.1-2001."
3477 msgstr "C89, C99, POSIX.1-2001."
3478
3479 #.  2.3.2 used the obsolete tkill(), if available.
3480 #. type: Plain text
3481 #: build/C/man3/raise.3:75
3482 msgid ""
3483 "Since version 2.3.3, glibc implements B<raise>()  by calling B<tgkill>(2), "
3484 "if the kernel supports that system call.  Older glibc versions implemented "
3485 "B<raise>()  using B<kill>(2)."
3486 msgstr ""
3487 "glibc バージョン 2.3.3 以降では、カーネルが B<tgkill>(2) システムコール\n"
3488 "をサポートしている場合はB<raise>() は B<tgkill>(2) を使って実装されて\n"
3489 "いる。古いバージョンの glibc では、B<raise>() は B<kill>(2) を使って\n"
3490 "実装されている。"
3491
3492 #. type: Plain text
3493 #: build/C/man3/raise.3:82
3494 msgid ""
3495 "B<getpid>(2), B<kill>(2), B<sigaction>(2), B<signal>(2), B<pthread_kill>(3), "
3496 "B<signal>(7)"
3497 msgstr ""
3498 "B<getpid>(2), B<kill>(2), B<sigaction>(2), B<signal>(2), B<pthread_kill>(3), "
3499 "B<signal>(7)"
3500
3501 #. type: TH
3502 #: build/C/man2/rt_sigqueueinfo.2:23
3503 #, no-wrap
3504 msgid "RT_SIGQUEUEINFO"
3505 msgstr "RT_SIGQUEUEINFO"
3506
3507 #. type: TH
3508 #: build/C/man2/rt_sigqueueinfo.2:23 build/C/man7/signal.7:44
3509 #: build/C/man2/tkill.2:29
3510 #, no-wrap
3511 msgid "2011-09-18"
3512 msgstr "2011-09-18"
3513
3514 #. type: Plain text
3515 #: build/C/man2/rt_sigqueueinfo.2:26
3516 msgid "rt_sigqueueinfo, rt_tgsigqueueinfo - queue a signal and data"
3517 msgstr ""
3518
3519 #. type: Plain text
3520 #: build/C/man2/rt_sigqueueinfo.2:29
3521 #, no-wrap
3522 msgid "B<int rt_sigqueueinfo(pid_t >I<tgid>B<, int >I<sig>B<, siginfo_t *>I<uinfo>B<);>\n"
3523 msgstr "B<int rt_sigqueueinfo(pid_t >I<tgid>B<, int >I<sig>B<, siginfo_t *>I<uinfo>B<);>\n"
3524
3525 #. type: Plain text
3526 #: build/C/man2/rt_sigqueueinfo.2:32
3527 #, no-wrap
3528 msgid ""
3529 "B<int rt_tgsigqueueinfo(pid_t >I<tgid>B<, pid_t >I<tid>B<, int >I<sig>B<,>\n"
3530 "B<                      siginfo_t *>I<uinfo>B<);>\n"
3531 msgstr ""
3532 "B<int rt_tgsigqueueinfo(pid_t >I<tgid>B<, pid_t >I<tid>B<, int >I<sig>B<,>\n"
3533 "B<                      siginfo_t *>I<uinfo>B<);>\n"
3534
3535 #. type: Plain text
3536 #: build/C/man2/rt_sigqueueinfo.2:45
3537 msgid ""
3538 "The B<rt_sigqueueinfo>()  and B<rt_tgsigqueueinfo>()  system calls are the "
3539 "low-level interfaces used to send a signal plus data to a process or "
3540 "thread.  The receiver of the signal can obtain the accompanying data by "
3541 "establishing a signal handler with the B<sigaction>(2)  B<SA_SIGINFO> flag."
3542 msgstr ""
3543
3544 #. type: Plain text
3545 #: build/C/man2/rt_sigqueueinfo.2:51
3546 msgid ""
3547 "These system calls are not intended for direct application use; they are "
3548 "provided to allow the implementation of B<sigqueue>(3)  and "
3549 "B<pthread_sigqueue>(3)."
3550 msgstr ""
3551
3552 #. type: Plain text
3553 #: build/C/man2/rt_sigqueueinfo.2:63
3554 msgid ""
3555 "The B<rt_sigqueueinfo>()  system call sends the signal I<sig> to the thread "
3556 "group with the ID I<tgid>.  (The term \"thread group\" is synonymous with "
3557 "\"process\", and I<tid> corresponds to the traditional UNIX process ID.)  "
3558 "The signal will be delivered to an arbitrary member of the thread group (i."
3559 "e., one of the threads that is not currently blocking the signal)."
3560 msgstr ""
3561
3562 #. type: Plain text
3563 #: build/C/man2/rt_sigqueueinfo.2:74
3564 msgid ""
3565 "The I<uinfo> argument specifies the data to accompany the signal.  This "
3566 "argument is a pointer to a structure of type I<siginfo_t>, described in "
3567 "B<sigaction>(2)  (and defined by including I<E<lt>sigaction.hE<gt>>).  The "
3568 "caller should set the following fields in this structure:"
3569 msgstr ""
3570
3571 #. type: TP
3572 #: build/C/man2/rt_sigqueueinfo.2:74 build/C/man7/sigevent.7:86
3573 #: build/C/man2/wait.2:315
3574 #, no-wrap
3575 msgid "I<si_code>"
3576 msgstr "I<si_code>"
3577
3578 #.  tkill(2) or
3579 #. type: Plain text
3580 #: build/C/man2/rt_sigqueueinfo.2:90
3581 msgid ""
3582 "This must be one of the B<SI_*> codes in the kernel source file I<include/"
3583 "asm-generic/siginfo.h>, with the restriction that the code must be negative "
3584 "(i.e., cannot be B<SI_USER>, which is used by the kernel to indicate a "
3585 "signal sent by B<kill>(2))  and cannot (since Linux 2.6.39) be B<SI_TKILL> "
3586 "(which is used by the kernel to indicate a signal sent using B<tgkill>(2))."
3587 msgstr ""
3588
3589 #. type: TP
3590 #: build/C/man2/rt_sigqueueinfo.2:90 build/C/man2/wait.2:294
3591 #, no-wrap
3592 msgid "I<si_pid>"
3593 msgstr "I<si_pid>"
3594
3595 #. type: Plain text
3596 #: build/C/man2/rt_sigqueueinfo.2:94
3597 msgid ""
3598 "This should be set to a process ID, typically the process ID of the sender."
3599 msgstr ""
3600
3601 #. type: TP
3602 #: build/C/man2/rt_sigqueueinfo.2:94 build/C/man2/wait.2:297
3603 #, no-wrap
3604 msgid "I<si_uid>"
3605 msgstr "I<si_uid>"
3606
3607 #. type: Plain text
3608 #: build/C/man2/rt_sigqueueinfo.2:98
3609 msgid ""
3610 "This should be set to a user ID, typically the real user ID of the sender."
3611 msgstr ""
3612
3613 #. type: TP
3614 #: build/C/man2/rt_sigqueueinfo.2:98 build/C/man7/sigevent.7:94
3615 #, no-wrap
3616 msgid "I<si_value>"
3617 msgstr "I<si_value>"
3618
3619 #. type: Plain text
3620 #: build/C/man2/rt_sigqueueinfo.2:105
3621 msgid ""
3622 "This field contains the user data to accompany the signal.  For more "
3623 "information, see the description of the last (I<union sigval>)  argument of "
3624 "B<sigqueue>(3)."
3625 msgstr ""
3626
3627 #. type: Plain text
3628 #: build/C/man2/rt_sigqueueinfo.2:112
3629 msgid ""
3630 "Internally, the kernel sets the I<si_signo> field to the value specified in "
3631 "I<sig>, so that the receiver of the signal can also obtain the signal number "
3632 "via that field."
3633 msgstr ""
3634
3635 #. type: Plain text
3636 #: build/C/man2/rt_sigqueueinfo.2:124
3637 msgid ""
3638 "The B<rt_tgsigqueueinfo>()  system call is like B<rt_sigqueueinfo>(), but "
3639 "sends the signal and data to the single thread specified by the combination "
3640 "of I<tgid>, a thread group ID, and I<tid>, a thread in that thread group."
3641 msgstr ""
3642
3643 #. type: Plain text
3644 #: build/C/man2/rt_sigqueueinfo.2:129
3645 msgid ""
3646 "On success, these system calls return 0.  On error, they return -1 and "
3647 "I<errno> is set to indicate the error."
3648 msgstr ""
3649
3650 #. type: TP
3651 #: build/C/man2/rt_sigqueueinfo.2:130 build/C/man3/sigqueue.3:90
3652 #: build/C/man2/sigwaitinfo.2:108 build/C/man2/timer_create.2:174
3653 #, no-wrap
3654 msgid "B<EAGAIN>"
3655 msgstr "B<EAGAIN>"
3656
3657 #. type: Plain text
3658 #: build/C/man2/rt_sigqueueinfo.2:136 build/C/man3/sigqueue.3:96
3659 msgid ""
3660 "The limit of signals which may be queued has been reached.  (See B<signal>"
3661 "(7)  for further information.)"
3662 msgstr ""
3663 "待ち行列に入れられるシグナルの最大数に達した (より詳しい情報は B<signal>(7)  "
3664 "を参照すること)。"
3665
3666 #. type: Plain text
3667 #: build/C/man2/rt_sigqueueinfo.2:143
3668 msgid "I<sig>, I<tgid>, or I<tid> was invalid."
3669 msgstr ""
3670
3671 #. type: Plain text
3672 #: build/C/man2/rt_sigqueueinfo.2:151
3673 msgid ""
3674 "The caller does not have permission to send the signal to the target.  For "
3675 "the required permissions, see B<kill>(2).  Or: I<uinfo-E<gt>si_code> is "
3676 "invalid."
3677 msgstr ""
3678
3679 #. type: Plain text
3680 #: build/C/man2/rt_sigqueueinfo.2:157
3681 msgid "B<rt_sigqueueinfo>(): No thread group matching I<tgid> was found."
3682 msgstr ""
3683
3684 #. type: Plain text
3685 #: build/C/man2/rt_sigqueueinfo.2:164
3686 msgid "B<rt_tgsigqueinfo>(): No thread matching I<tgid> and I<tid> was found."
3687 msgstr ""
3688
3689 #. type: Plain text
3690 #: build/C/man2/rt_sigqueueinfo.2:171
3691 msgid ""
3692 "The B<rt_sigqueueinfo>()  system call was added to Linux in version 2.2.  "
3693 "The B<rt_tgsigqueueinfo>()  system call was added to Linux in version 2.6.31."
3694 msgstr ""
3695
3696 #. type: Plain text
3697 #: build/C/man2/rt_sigqueueinfo.2:173 build/C/man2/sgetmask.2:63
3698 #: build/C/man2/timerfd_create.2:372
3699 msgid "These system calls are Linux-specific."
3700 msgstr "これらのシステムコールは Linux 固有である。"
3701
3702 #. type: Plain text
3703 #: build/C/man2/rt_sigqueueinfo.2:178
3704 msgid ""
3705 "Since these system calls are not intended for application use, there are no "
3706 "glibc wrapper functions; use B<syscall>(2)  in the unlikely case that you "
3707 "want to call them directly."
3708 msgstr ""
3709
3710 #. type: Plain text
3711 #: build/C/man2/rt_sigqueueinfo.2:183
3712 msgid ""
3713 "As with B<kill>(2), the null signal (0) can be used to check if the "
3714 "specified process or thread exists."
3715 msgstr ""
3716
3717 #. type: Plain text
3718 #: build/C/man2/rt_sigqueueinfo.2:191
3719 msgid ""
3720 "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<tgkill>(2), "
3721 "B<pthread_sigqueue>(3), B<sigqueue>(3), B<signal>(7)"
3722 msgstr "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<tgkill>(2), B<pthread_sigqueue>(3), B<sigqueue>(3), B<signal>(7)"
3723
3724 #. type: TH
3725 #: build/C/man2/sgetmask.2:24
3726 #, no-wrap
3727 msgid "SGETMASK"
3728 msgstr "SGETMASK"
3729
3730 #. type: TH
3731 #: build/C/man2/sgetmask.2:24
3732 #, no-wrap
3733 msgid "2007-07-05"
3734 msgstr "2007-07-05"
3735
3736 #. type: Plain text
3737 #: build/C/man2/sgetmask.2:27
3738 msgid "sgetmask, ssetmask - manipulation of signal mask (obsolete)"
3739 msgstr "sgetmask, ssetmask - シグナルマスクの操作 (廃止予定)"
3740
3741 #. type: Plain text
3742 #: build/C/man2/sgetmask.2:29
3743 msgid "B<long sgetmask(void);>"
3744 msgstr "B<long sgetmask(void);>"
3745
3746 #. type: Plain text
3747 #: build/C/man2/sgetmask.2:31
3748 msgid "B<long ssetmask(long >I<newmask>B<);>"
3749 msgstr "B<long ssetmask(long >I<newmask>B<);>"
3750
3751 #. type: Plain text
3752 #: build/C/man2/sgetmask.2:37
3753 msgid ""
3754 "These system calls are obsolete.  I<Do not use them>; use B<sigprocmask>(2)  "
3755 "instead."
3756 msgstr ""
3757 "これらのシステムコールは廃止予定であり、 「使用しないこと」。 代わりに "
3758 "B<sigprocmask>(2)  を使用すること。"
3759
3760 #. type: Plain text
3761 #: build/C/man2/sgetmask.2:40
3762 msgid "B<sgetmask>()  returns the signal mask of the calling process."
3763 msgstr "B<sgetmask>()  は、呼び出し元プロセスのシグナルマスクを返す。"
3764
3765 #. type: Plain text
3766 #: build/C/man2/sgetmask.2:45
3767 msgid ""
3768 "B<ssetmask>()  sets the signal mask of the calling process to the value "
3769 "given in I<newmask>.  The previous signal mask is returned."
3770 msgstr ""
3771 "B<ssetmask>()  は、呼び出し元プロセスのシグナルマスクを I<newmask> で指定され"
3772 "た値に設定し、変更前のシグナルマスクを返す。"
3773
3774 #. type: Plain text
3775 #: build/C/man2/sgetmask.2:54
3776 msgid ""
3777 "The signal masks dealt with by these two system calls are plain bit masks "
3778 "(unlike the I<sigset_t> used by B<sigprocmask>(2)); use B<sigmask>(3)  to "
3779 "create and inspect these masks."
3780 msgstr ""
3781 "これら二つのシステムコールが扱うシグナルマスクは、 単純なビットマスクである "
3782 "(この点が B<sigprocmask>(2)  で使用される I<sigset_t> と異なる)。 これらのマ"
3783 "スクを作成したり検査するには B<sigmask>(3)  を使用すること。"
3784
3785 #. type: Plain text
3786 #: build/C/man2/sgetmask.2:59
3787 msgid ""
3788 "B<sgetmask>()  always successfully returns the signal mask.  B<ssetmask>()  "
3789 "always succeeds, and returns the previous signal mask."
3790 msgstr ""
3791 "B<sgetmask>()  は常に成功し、シグナルマスクを返す。 B<ssetmask>()  は常に成功"
3792 "し、直前のシグナルマスクを返す。"
3793
3794 #. type: Plain text
3795 #: build/C/man2/sgetmask.2:61
3796 msgid "These system calls always succeed."
3797 msgstr "これらのシステムコールは常に成功する。"
3798
3799 #. type: Plain text
3800 #: build/C/man2/sgetmask.2:66
3801 msgid ""
3802 "Glibc does not provide wrappers for these system calls; use B<syscall>(2)."
3803 msgstr ""
3804 "glibc はこれらのシステムコールに対するラッパー関数を提供していない。 "
3805 "B<syscall>(2)  を使用すること。"
3806
3807 #. type: Plain text
3808 #: build/C/man2/sgetmask.2:69
3809 msgid ""
3810 "These system calls are unaware of signal numbers greater than 31 (i.e., real-"
3811 "time signals)."
3812 msgstr ""
3813 "これらのシステムコールは、 31 より大きいシグナル番号 (つまり、リアルタイムシ"
3814 "グナル) を扱えない。"
3815
3816 #. type: Plain text
3817 #: build/C/man2/sgetmask.2:74
3818 msgid "It is not possible to block B<SIGSTOP> or B<SIGKILL>."
3819 msgstr "B<SIGSTOP> や B<SIGKILL> をブロックすることはできない。"
3820
3821 #. type: Plain text
3822 #: build/C/man2/sgetmask.2:77
3823 msgid "B<sigprocmask>(2), B<signal>(7)"
3824 msgstr "B<sigprocmask>(2), B<signal>(7)"
3825
3826 #. type: TH
3827 #: build/C/man2/sigaction.2:45
3828 #, no-wrap
3829 msgid "SIGACTION"
3830 msgstr "SIGACTION"
3831
3832 #. type: TH
3833 #: build/C/man2/sigaction.2:45
3834 #, no-wrap
3835 msgid "2012-04-26"
3836 msgstr "2012-04-26"
3837
3838 #. type: Plain text
3839 #: build/C/man2/sigaction.2:48
3840 msgid "sigaction - examine and change a signal action"
3841 msgstr "sigaction - シグナルの動作の確認と変更"
3842
3843 #. type: Plain text
3844 #: build/C/man2/sigaction.2:54
3845 #, no-wrap
3846 msgid ""
3847 "B<int sigaction(int >I<signum>B<, const struct sigaction *>I<act>B<,>\n"
3848 "B<              struct sigaction *>I<oldact>B<);>\n"
3849 msgstr ""
3850 "B<int sigaction(int >I<signum>B<, const struct sigaction *>I<act>B<,>\n"
3851 "B<              struct sigaction *>I<oldact>B<);>\n"
3852
3853 #. type: Plain text
3854 #: build/C/man2/sigaction.2:64
3855 msgid ""
3856 "B<sigaction>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
3857 "_POSIX_SOURCE"
3858 msgstr ""
3859 "B<sigaction>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
3860 "_POSIX_SOURCE"
3861
3862 #. type: Plain text
3863 #: build/C/man2/sigaction.2:73
3864 msgid ""
3865 "The B<sigaction>()  system call is used to change the action taken by a "
3866 "process on receipt of a specific signal.  (See B<signal>(7)  for an overview "
3867 "of signals.)"
3868 msgstr ""
3869 "B<sigaction>()  システムコールは、特定のシグナルを受信した際の プロセスの動作"
3870 "を変更するのに使用される (シグナルの概要については B<signal>(7)  を参照)。"
3871
3872 #. type: Plain text
3873 #: build/C/man2/sigaction.2:79
3874 msgid ""
3875 "I<signum> specifies the signal and can be any valid signal except B<SIGKILL> "
3876 "and B<SIGSTOP>."
3877 msgstr ""
3878 "I<signum> には、 B<SIGKILL> と B<SIGSTOP> 以外の有効なシグナルをどれでも指定"
3879 "できる。"
3880
3881 #. type: Plain text
3882 #: build/C/man2/sigaction.2:90
3883 msgid ""
3884 "If I<act> is non-NULL, the new action for signal I<signum> is installed from "
3885 "I<act>.  If I<oldact> is non-NULL, the previous action is saved in I<oldact>."
3886 msgstr ""
3887 "I<act> が NULL 以外であれば、シグナル I<signum> の新しい動作 (action) として "
3888 "I<act> が設定される。 I<oldact> が NULL でなければ、今までの動作が I<oldact> "
3889 "に格納される。"
3890
3891 #. type: Plain text
3892 #: build/C/man2/sigaction.2:94
3893 msgid "The I<sigaction> structure is defined as something like:"
3894 msgstr "I<sigaction> 構造体は以下のような感じに定義される。"
3895
3896 #. type: Plain text
3897 #: build/C/man2/sigaction.2:104
3898 #, no-wrap
3899 msgid ""
3900 "struct sigaction {\n"
3901 "    void     (*sa_handler)(int);\n"
3902 "    void     (*sa_sigaction)(int, siginfo_t *, void *);\n"
3903 "    sigset_t   sa_mask;\n"
3904 "    int        sa_flags;\n"
3905 "    void     (*sa_restorer)(void);\n"
3906 "};\n"
3907 msgstr ""
3908 "struct sigaction {\n"
3909 "    void     (*sa_handler)(int);\n"
3910 "    void     (*sa_sigaction)(int, siginfo_t *, void *);\n"
3911 "    sigset_t   sa_mask;\n"
3912 "    int        sa_flags;\n"
3913 "    void     (*sa_restorer)(void);\n"
3914 "};\n"
3915
3916 #. type: Plain text
3917 #: build/C/man2/sigaction.2:111
3918 msgid ""
3919 "On some architectures a union is involved: do not assign to both "
3920 "I<sa_handler> and I<sa_sigaction>."
3921 msgstr ""
3922 "アーキテクチャによっては共用体 (union) が用いられており、その場合には "
3923 "I<sa_handler> と I<sa_sigaction> の両方を同時に割り当てることはできない。"
3924
3925 #. type: Plain text
3926 #: build/C/man2/sigaction.2:118
3927 msgid ""
3928 "The I<sa_restorer> element is obsolete and should not be used.  POSIX does "
3929 "not specify a I<sa_restorer> element."
3930 msgstr ""
3931 "I<sa_restorer> 要素は廃止予定であり使用すべきではない。 POSIX には "
3932 "I<sa_restorer> 要素に関する規定はない。"
3933
3934 #. type: Plain text
3935 #: build/C/man2/sigaction.2:128
3936 msgid ""
3937 "I<sa_handler> specifies the action to be associated with I<signum> and may "
3938 "be B<SIG_DFL> for the default action, B<SIG_IGN> to ignore this signal, or a "
3939 "pointer to a signal handling function.  This function receives the signal "
3940 "number as its only argument."
3941 msgstr ""
3942 "I<sa_handler> は I<signum> に対応する動作を指定するもので、 デフォルトの動作"
3943 "を行う B<SIG_DFL>、 そのシグナルを無視する B<SIG_IGN>、 シグナルハンドラ関数"
3944 "へのポインタが設定できる。 シグナルハンドラ関数の引き数は一つであり、シグナル"
3945 "番号が引き数として 渡される。"
3946
3947 #. type: Plain text
3948 #: build/C/man2/sigaction.2:150
3949 msgid ""
3950 "If B<SA_SIGINFO> is specified in I<sa_flags>, then I<sa_sigaction> (instead "
3951 "of I<sa_handler>)  specifies the signal-handling function for I<signum>.  "
3952 "This function receives the signal number as its first argument, a pointer to "
3953 "a I<siginfo_t> as its second argument and a pointer to a I<ucontext_t> (cast "
3954 "to I<void\\ *>) as its third argument.  (Commonly, the handler function "
3955 "doesn't make any use of the third argument.  See B<getcontext>(2)  for "
3956 "further information about I<ucontext_t>.)"
3957 msgstr ""
3958 "I<sa_flags> に B<SA_SIGINFO> が指定された場合、 (I<sa_handler> ではなく)\n"
3959 "I<sa_sigaction> により I<signum> に対応するシグナルハンドラ関数が指定さ\n"
3960 "れる。指定される関数は、最初の引き数としてシグナル番号を、二番目の引き\n"
3961 "数として I<siginfo_t> へのポインタを、三番目の引き数として (I<void\\ *>\n"
3962 "にキャストした) I<ucontext_t> へのポインタを受けとる。 (一般的には、\n"
3963 "ハンドラ関数の三番目の引き数が使用されない。I<ucontext_t> についての\n"
3964 "詳しい情報は B<getcontext>(2) を参照。)"
3965
3966 #. type: Plain text
3967 #: build/C/man2/sigaction.2:160
3968 msgid ""
3969 "I<sa_mask> specifies a mask of signals which should be blocked (i.e., added "
3970 "to the signal mask of the thread in which the signal handler is invoked)  "
3971 "during execution of the signal handler.  In addition, the signal which "
3972 "triggered the handler will be blocked, unless the B<SA_NODEFER> flag is used."
3973 msgstr ""
3974 "I<sa_mask> は、シグナル・ハンドラ実行中に禁止 (block) すべきシグナルのマスク"
3975 "を指定する (ハンドラ実行中のシグナルの禁止は、シグナル・ハンドラが起動された"
3976 "スレッド のシグナルのマスクに追加することで行われる)。 さらに、 "
3977 "B<SA_NODEFER> フラグが指定されていない場合は、ハンドラを起動するきっかけとな"
3978 "る シグナルにも I<sa_mask> が適用される。"
3979
3980 #. type: Plain text
3981 #: build/C/man2/sigaction.2:164
3982 msgid ""
3983 "I<sa_flags> specifies a set of flags which modify the behavior of the "
3984 "signal.  It is formed by the bitwise OR of zero or more of the following:"
3985 msgstr ""
3986 "I<sa_flags> はシグナル・ハンドラの動作を変更するためのフラグの集合を指定す"
3987 "る。 I<sa_flags> には、以下に示すフラグの (0 個以上の) 論理和をとったものを指"
3988 "定する。"
3989
3990 #. type: TP
3991 #: build/C/man2/sigaction.2:165
3992 #, no-wrap
3993 msgid "B<SA_NOCLDSTOP>"
3994 msgstr "B<SA_NOCLDSTOP>"
3995
3996 #. type: Plain text
3997 #: build/C/man2/sigaction.2:182
3998 msgid ""
3999 "If I<signum> is B<SIGCHLD>, do not receive notification when child processes "
4000 "stop (i.e., when they receive one of B<SIGSTOP>, B<SIGTSTP>, B<SIGTTIN> or "
4001 "B<SIGTTOU>)  or resume (i.e., they receive B<SIGCONT>)  (see B<wait>(2)).  "
4002 "This flag is only meaningful when establishing a handler for B<SIGCHLD>."
4003 msgstr ""
4004 "I<signum> が B<SIGCHLD> の場合、 子プロセスが停止したり (子プロセスが "
4005 "B<SIGSTOP>, B<SIGTSTP>, B<SIGTTIN>, B<SIGTTOU> を受けたとき) 再開したり (子プ"
4006 "ロセスが B<SIGCONT> を受けたとき) したときに B<SIGCHLD> の通知を受けない。 こ"
4007 "のフラグは、 B<SIGCHLD> に対してハンドラを設定する際にのみ意味を持つ。"
4008
4009 #. type: TP
4010 #: build/C/man2/sigaction.2:182
4011 #, no-wrap
4012 msgid "B<SA_NOCLDWAIT> (since Linux 2.6)"
4013 msgstr "B<SA_NOCLDWAIT> (Linux 2.6 以降)"
4014
4015 #.  To be precise: Linux 2.5.60 -- MTK
4016 #. type: Plain text
4017 #: build/C/man2/sigaction.2:196
4018 msgid ""
4019 "If I<signum> is B<SIGCHLD>, do not transform children into zombies when they "
4020 "terminate.  See also B<waitpid>(2).  This flag is only meaningful when "
4021 "establishing a handler for B<SIGCHLD>, or when setting that signal's "
4022 "disposition to B<SIG_DFL>."
4023 msgstr ""
4024 "(Linux 2.6 以降)  I<signum> が B<SIGCHLD> の場合、子プロセスが終了したときに "
4025 "子プロセスをゾンビプロセスに変化させない (B<waitpid>(2)  も参照)。 このフラグ"
4026 "は、 B<SIGCHLD> に対してハンドラを設定する際、もしくはそのシグナルの処理方法"
4027 "を B<SIG_DFL> に設定する際にのみ意味を持つ。"
4028
4029 #. type: Plain text
4030 #: build/C/man2/sigaction.2:208
4031 msgid ""
4032 "If the B<SA_NOCLDWAIT> flag is set when establishing a handler for "
4033 "B<SIGCHLD>, POSIX.1 leaves it unspecified whether a B<SIGCHLD> signal is "
4034 "generated when a child process terminates.  On Linux, a B<SIGCHLD> signal is "
4035 "generated in this case; on some other implementations, it is not."
4036 msgstr ""
4037 "B<SIGCHLD> に対してハンドラを設定する際に B<SA_NOCLDWAIT> フラグをセットした"
4038 "場合、 子プロセスが終了した際に B<SIGCHLD> シグナルが生成されるかどうかは、 "
4039 "POSIX.1 では規定されていない。 Linux では、この状況で B<SIGCHLD> シグナルは生"
4040 "成される。 いくつかの他の実装では生成されない。"
4041
4042 #. type: TP
4043 #: build/C/man2/sigaction.2:208
4044 #, no-wrap
4045 msgid "B<SA_NODEFER>"
4046 msgstr "B<SA_NODEFER>"
4047
4048 #. type: Plain text
4049 #: build/C/man2/sigaction.2:215
4050 msgid ""
4051 "Do not prevent the signal from being received from within its own signal "
4052 "handler.  This flag is only meaningful when establishing a signal handler.  "
4053 "B<SA_NOMASK> is an obsolete, nonstandard synonym for this flag."
4054 msgstr ""
4055 "それ自身のシグナル・ハンドラーの内部にいる時でも そのシグナルをマスクしないよ"
4056 "うにする。 このフラグはシグナルハンドラを設定する際にのみ意味を持つ。 "
4057 "B<SA_NOMASK> はこのフラグと同じ意味だが、廃止されており、非標準である。"
4058
4059 #. type: TP
4060 #: build/C/man2/sigaction.2:215
4061 #, no-wrap
4062 msgid "B<SA_ONSTACK>"
4063 msgstr "B<SA_ONSTACK>"
4064
4065 #. type: Plain text
4066 #: build/C/man2/sigaction.2:221
4067 msgid ""
4068 "Call the signal handler on an alternate signal stack provided by "
4069 "B<sigaltstack>(2).  If an alternate stack is not available, the default "
4070 "stack will be used.  This flag is only meaningful when establishing a signal "
4071 "handler."
4072 msgstr ""
4073 "B<sigaltstack>(2)  で提供される別のシグナル・スタックでシグナルハンドラを呼び"
4074 "出す。 別のシグナル・スタックが利用可能でなければ、デフォルトのスタックが 使"
4075 "用される。 このフラグはシグナルハンドラを設定する際にのみ意味を持つ。"
4076
4077 #. type: TP
4078 #: build/C/man2/sigaction.2:221
4079 #, no-wrap
4080 msgid "B<SA_RESETHAND>"
4081 msgstr "B<SA_RESETHAND>"
4082
4083 #. type: Plain text
4084 #: build/C/man2/sigaction.2:228
4085 msgid ""
4086 "Restore the signal action to the default state once the signal handler has "
4087 "been called.  This flag is only meaningful when establishing a signal "
4088 "handler.  B<SA_ONESHOT> is an obsolete, nonstandard synonym for this flag."
4089 msgstr ""
4090 "シグナルハンドラが呼ばれる度に、シグナルの動作をデフォルトに戻す。 このフラグ"
4091 "はシグナルハンドラを設定する際にのみ意味を持つ。 B<SA_ONESHOT> はこのフラグと"
4092 "同じ意味だが、廃止されており、非標準である。"
4093
4094 #. type: TP
4095 #: build/C/man2/sigaction.2:228
4096 #, no-wrap
4097 msgid "B<SA_RESTART>"
4098 msgstr "B<SA_RESTART>"
4099
4100 #. type: Plain text
4101 #: build/C/man2/sigaction.2:236
4102 msgid ""
4103 "Provide behavior compatible with BSD signal semantics by making certain "
4104 "system calls restartable across signals.  This flag is only meaningful when "
4105 "establishing a signal handler.  See B<signal>(7)  for a discussion of system "
4106 "call restarting."
4107 msgstr ""
4108 "いくつかのシステムコールをシグナルの通知の前後で再開できるようにして、 BSD シ"
4109 "グナル方式 (semantics) と互換性のある動作を提供する。 このフラグはシグナルハ"
4110 "ンドラを設定する際にのみ意味を持つ。 B<signal>(7)  に書かれているシステムコー"
4111 "ルの再開に関する議論を参照のこと。"
4112
4113 #. type: TP
4114 #: build/C/man2/sigaction.2:236
4115 #, no-wrap
4116 msgid "B<SA_SIGINFO> (since Linux 2.2)"
4117 msgstr "B<SA_SIGINFO> (Linux 2.2 以降)"
4118
4119 #.  (The
4120 #.  .I sa_sigaction
4121 #.  field was added in Linux 2.1.86.)
4122 #. type: Plain text
4123 #: build/C/man2/sigaction.2:247
4124 msgid ""
4125 "The signal handler takes 3 arguments, not one.  In this case, "
4126 "I<sa_sigaction> should be set instead of I<sa_handler>.  This flag is only "
4127 "meaningful when establishing a signal handler."
4128 msgstr ""
4129 "シグナルハンドラは一つではなく、三つの引き数を持つ。この場合は I<sa_handler> "
4130 "のかわりに I<sa_sigaction> を設定しなければならない このフラグはシグナルハン"
4131 "ドラを設定する際にのみ意味を持つ。"
4132
4133 #. type: Plain text
4134 #: build/C/man2/sigaction.2:254
4135 msgid ""
4136 "The I<siginfo_t> argument to I<sa_sigaction> is a struct with the following "
4137 "elements:"
4138 msgstr ""
4139 "I<sa_sigaction> のパラメータ I<siginfo_t> は以下の要素を持つ構造体である:"
4140
4141 #.  FIXME
4142 #.  si_trapno seems to be only used on SPARC and Alpha;
4143 #.  this page could use a little more detail on its purpose there.
4144 #.  In the kernel: si_tid
4145 #. type: Plain text
4146 #: build/C/man2/sigaction.2:285
4147 #, no-wrap
4148 msgid ""
4149 "siginfo_t {\n"
4150 "    int      si_signo;    /* Signal number */\n"
4151 "    int      si_errno;    /* An errno value */\n"
4152 "    int      si_code;     /* Signal code */\n"
4153 "    int      si_trapno;   /* Trap number that caused\n"
4154 "                             hardware-generated signal\n"
4155 "                             (unused on most architectures) */\n"
4156 "    pid_t    si_pid;      /* Sending process ID */\n"
4157 "    uid_t    si_uid;      /* Real user ID of sending process */\n"
4158 "    int      si_status;   /* Exit value or signal */\n"
4159 "    clock_t  si_utime;    /* User time consumed */\n"
4160 "    clock_t  si_stime;    /* System time consumed */\n"
4161 "    sigval_t si_value;    /* Signal value */\n"
4162 "    int      si_int;      /* POSIX.1b signal */\n"
4163 "    void    *si_ptr;      /* POSIX.1b signal */\n"
4164 "    int      si_overrun;  /* Timer overrun count; POSIX.1b timers */\n"
4165 "    int      si_timerid;  /* Timer ID; POSIX.1b timers */\n"
4166 "    void    *si_addr;     /* Memory location which caused fault */\n"
4167 "    long     si_band;     /* Band event (was I<int> in\n"
4168 "                             glibc 2.3.2 and earlier) */\n"
4169 "    int      si_fd;       /* File descriptor */\n"
4170 "    short    si_addr_lsb; /* Least significant bit of address\n"
4171 "                             (since kernel 2.6.32) */\n"
4172 "}\n"
4173 msgstr ""
4174 "siginfo_t {\n"
4175 "    int      si_signo;    /* Signal number */\n"
4176 "    int      si_errno;    /* An errno value */\n"
4177 "    int      si_code;     /* Signal code */\n"
4178 "    int      si_trapno;   /* Trap number that caused\n"
4179 "                             hardware-generated signal\n"
4180 "                             (unused on most architectures) */\n"
4181 "    pid_t    si_pid;      /* Sending process ID */\n"
4182 "    uid_t    si_uid;      /* Real user ID of sending process */\n"
4183 "    int      si_status;   /* Exit value or signal */\n"
4184 "    clock_t  si_utime;    /* User time consumed */\n"
4185 "    clock_t  si_stime;    /* System time consumed */\n"
4186 "    sigval_t si_value;    /* Signal value */\n"
4187 "    int      si_int;      /* POSIX.1b signal */\n"
4188 "    void    *si_ptr;      /* POSIX.1b signal */\n"
4189 "    int      si_overrun;  /* Timer overrun count; POSIX.1b timers */\n"
4190 "    int      si_timerid;  /* Timer ID; POSIX.1b timers */\n"
4191 "    void    *si_addr;     /* Memory location which caused fault */\n"
4192 "    long     si_band;     /* Band event (was I<int> in\n"
4193 "                             glibc 2.3.2 and earlier) */\n"
4194 "    int      si_fd;       /* File descriptor */\n"
4195 "    short    si_addr_lsb; /* Least significant bit of address\n"
4196 "                             (since kernel 2.6.32) */\n"
4197 "}\n"
4198
4199 #. type: Plain text
4200 #: build/C/man2/sigaction.2:294
4201 msgid ""
4202 "I<si_signo>, I<si_errno> and I<si_code> are defined for all signals.  "
4203 "(I<si_errno> is generally unused on Linux.)  The rest of the struct may be a "
4204 "union, so that one should only read the fields that are meaningful for the "
4205 "given signal:"
4206 msgstr ""
4207 "I<si_signo>, I<si_errno>, I<si_code> は全てのシグナルに対して定義されている "
4208 "(I<si_errno> は Linux では一般的には使用されない)。 構造体の残りの部分は、共"
4209 "用体 (union) になっているかもしれない。 その場合は該当するシグナルにおいて意"
4210 "味のあるフィールドのみを読み込む ことができる。"
4211
4212 #. type: Plain text
4213 #: build/C/man2/sigaction.2:309
4214 msgid ""
4215 "Signals sent with B<kill>(2)  and B<sigqueue>(3)  fill in I<si_pid> and "
4216 "I<si_uid>.  In addition, signals sent with B<sigqueue>(3)  fill in I<si_int> "
4217 "and I<si_ptr> with the values specified by the sender of the signal; see "
4218 "B<sigqueue>(3)  for more details."
4219 msgstr ""
4220
4221 #. type: Plain text
4222 #: build/C/man2/sigaction.2:325
4223 msgid ""
4224 "Signals sent by POSIX.1b timers (since Linux 2.6) fill in I<si_overrun> and "
4225 "I<si_timerid>.  The I<si_timerid> field is an internal ID used by the kernel "
4226 "to identify the timer; it is not the same as the timer ID returned by "
4227 "B<timer_create>(2).  The I<si_overrun> field is the timer overrun count; "
4228 "this is the same information as is obtained by a call to B<timer_getoverrun>"
4229 "(2).  These fields are nonstandard Linux extensions."
4230 msgstr ""
4231 "POSIX.1b タイマ (Linux 2.6 以降) は I<si_overrun> と I<si_timerid> を\n"
4232 "設定する。 I<si_timerid> フィールドはカーネルがタイマを特定するのに\n"
4233 "使用する内部 ID であり、 B<timer_create>(2) が返すタイマ ID と同じではない。\n"
4234 "I<si_overrun> フィールドはタイマが回り切った回数である。\n"
4235 "これは B<timer_getoverrun>(2) の呼び出しで取得できる情報と同じである。\n"
4236 "これらのフィールドは非標準で Linux による拡張である。"
4237
4238 #. type: Plain text
4239 #: build/C/man2/sigaction.2:340
4240 msgid ""
4241 "Signals sent for message queue notification (see the description of "
4242 "B<SIGEV_SIGNAL> in B<mq_notify>(3))  fill in I<si_int>/I<si_ptr>, with the "
4243 "I<sigev_value> supplied to B<mq_notify>(3); I<si_pid>, with the process ID "
4244 "of the message sender; and I<si_uid>, with the real user ID of the message "
4245 "sender."
4246 msgstr ""
4247
4248 #.  FIXME .
4249 #.  When si_utime and si_stime where originally implemented, the
4250 #.  measurement unit was HZ, which was the same as clock ticks
4251 #.  (sysconf(_SC_CLK_TCK)).  In 2.6, HZ became configurable, and
4252 #.  was *still* used as the unit to return the info these fields,
4253 #.  with the result that the field values depended on the the
4254 #.  configured HZ.  Of course, the should have been measured in
4255 #.  USER_HZ instead, so that sysconf(_SC_CLK_TCK) could be used to
4256 #.  convert to seconds.  I have a queued patch to fix this:
4257 #.  http://thread.gmane.org/gmane.linux.kernel/698061/ .
4258 #.  This patch made it into 2.6.27.
4259 #.  But note that these fields still don't return the times of
4260 #.  waited-for children (as is done by getrusage() and times()
4261 #.  and wait4()).  Solaris 8 does include child times.
4262 #. type: Plain text
4263 #: build/C/man2/sigaction.2:387
4264 #, fuzzy
4265 #| msgid ""
4266 #| "B<SIGCHLD> fills in I<si_status>, I<si_utime> and I<si_stime>.  The "
4267 #| "I<si_utime> and I<si_stime> fields do not include the times used by "
4268 #| "waited-for children (unlike B<getrusage>(2)  and B<time>(2)).  In kernels "
4269 #| "up to 2.6, and since 2.6.27, these fields report CPU time in units of "
4270 #| "I<sysconf(_SC_CLK_TCK)>.  In 2.6 kernels before 2.6.27, a bug meant that "
4271 #| "these fields reported time in units of the (configurable) system jiffy "
4272 #| "(see B<time>(7))."
4273 msgid ""
4274 "B<SIGCHLD> fills in I<si_pid>, I<si_uid>, I<si_status>, I<si_utime> and "
4275 "I<si_stime>, providing information about the child.  The I<si_pid> field is "
4276 "the process ID of the child; I<si_uid> is the child's real user ID.  The "
4277 "I<si_status> field contains the exit status of the child (if I<si_code> is "
4278 "B<CLD_EXITED>), or the signal number that caused the process to change "
4279 "state.  The I<si_utime> and I<si_stime> contain the user and system CPU time "
4280 "used by the child process; these fields do not include the times used by "
4281 "waited-for children (unlike B<getrusage>(2)  and B<time>(2)).  In kernels up "
4282 "to 2.6, and since 2.6.27, these fields report CPU time in units of I<sysconf"
4283 "(_SC_CLK_TCK)>.  In 2.6 kernels before 2.6.27, a bug meant that these fields "
4284 "reported time in units of the (configurable) system jiffy (see B<time>(7))."
4285 msgstr ""
4286 "B<SIGCHLD> は I<si_status>, I<si_utime>, I<si_stime> を設定する。 "
4287 "(B<getrusage>(2)  や B<time>(2)  と異なり) フィールド I<si_utime> と "
4288 "I<si_stime> には wait 待ちの子プロセスにより使用された時間は含まれない。 2.6 "
4289 "より前と 2.6.27 以降のカーネルでは、 これらのフィールドに格納される CPU 時間"
4290 "の単位は I<sysconf(_SC_CLK_TCK)> である。 2.6.27 より前の 2.6 系のカーネルで"
4291 "は、バグがあり、 これらのフィールドの CPU 時間の単位が (カーネルのコンフィグ"
4292 "で指定される) システムの jiffy であった (B<time>(7)  参照)。"
4293
4294 #.  FIXME SIGTRAP also sets the following for ptrace_notify() ?
4295 #.      info.si_code = exit_code;
4296 #.      info.si_pid = task_pid_vnr(current);
4297 #.      info.si_uid = current_uid();  /* Real UID */
4298 #. type: Plain text
4299 #: build/C/man2/sigaction.2:423
4300 msgid ""
4301 "B<SIGILL>, B<SIGFPE>, B<SIGSEGV>, B<SIGBUS>, and B<SIGTRAP> fill in "
4302 "I<si_addr> with the address of the fault.  On some architectures, these "
4303 "signals also fill in the I<si_trapno> filed.  Some suberrors of B<SIGBUS>, "
4304 "in particular B<BUS_MCEERR_AO> and B<BUS_MCEERR_AR>, also fill in "
4305 "I<si_addr_lsb>.  This field indicates the least significant bit of the "
4306 "reported address and therefore the extent of the corruption.  For example, "
4307 "if a full page was corrupted, I<si_addr_lsb> contains I<log2(sysconf"
4308 "(_SC_PAGESIZE))>.  B<BUS_MCERR_*> and I<si_addr_lsb> are Linux-specific "
4309 "extensions."
4310 msgstr ""
4311
4312 #. type: Plain text
4313 #: build/C/man2/sigaction.2:437
4314 msgid ""
4315 "B<SIGIO>/B<SIGPOLL> (the two names are synonyms on Linux)  fills in "
4316 "I<si_band> and I<si_fd>.  The I<si_band> event is a bit mask containing the "
4317 "same values as are filled in the I<revents> field by B<poll>(2).  The "
4318 "I<si_fd> field indicates the file descriptor for which the I/O event "
4319 "occurred."
4320 msgstr ""
4321
4322 #. type: Plain text
4323 #: build/C/man2/sigaction.2:444
4324 msgid ""
4325 "I<si_code> is a value (not a bit mask)  indicating why this signal was "
4326 "sent.  The following list shows the values which can be placed in I<si_code> "
4327 "for any signal, along with reason that the signal was generated."
4328 msgstr ""
4329 "I<si_code> は、そのシグナルが送信された理由を示す値である (ビットマスクではな"
4330 "い)。 以下のリストに、どのシグナルの場合でも I<si_code> に入りうる値を、シグ"
4331 "ナルが生成された理由とともに記載する。"
4332
4333 #. type: TP
4334 #: build/C/man2/sigaction.2:445
4335 #, no-wrap
4336 msgid "B<SI_USER>"
4337 msgstr "B<SI_USER>"
4338
4339 #. type: TP
4340 #: build/C/man2/sigaction.2:448 build/C/man7/signal.7:109
4341 #, no-wrap
4342 msgid "B<kill>(2)"
4343 msgstr "B<kill>(2)"
4344
4345 #. type: TP
4346 #: build/C/man2/sigaction.2:448
4347 #, no-wrap
4348 msgid "B<SI_KERNEL>"
4349 msgstr "B<SI_KERNEL>"
4350
4351 #. type: Plain text
4352 #: build/C/man2/sigaction.2:451
4353 msgid "Sent by the kernel."
4354 msgstr "カーネルにより送信された"
4355
4356 #. type: TP
4357 #: build/C/man2/sigaction.2:451
4358 #, no-wrap
4359 msgid "B<SI_QUEUE>"
4360 msgstr "B<SI_QUEUE>"
4361
4362 #. type: TP
4363 #: build/C/man2/sigaction.2:454 build/C/man7/signal.7:126
4364 #, no-wrap
4365 msgid "B<sigqueue>(3)"
4366 msgstr "B<sigqueue>(3)"
4367
4368 #. type: TP
4369 #: build/C/man2/sigaction.2:454
4370 #, no-wrap
4371 msgid "B<SI_TIMER>"
4372 msgstr "B<SI_TIMER>"
4373
4374 #. type: Plain text
4375 #: build/C/man2/sigaction.2:457
4376 msgid "POSIX timer expired"
4377 msgstr "POSIX タイマが満了した"
4378
4379 #. type: TP
4380 #: build/C/man2/sigaction.2:457
4381 #, no-wrap
4382 msgid "B<SI_MESGQ>"
4383 msgstr "B<SI_MESGQ>"
4384
4385 #. type: Plain text
4386 #: build/C/man2/sigaction.2:461
4387 msgid ""
4388 "POSIX message queue state changed (since Linux 2.6.6); see B<mq_notify>(3)"
4389 msgstr ""
4390 "POSIX メッセージキューの状態が変化した (Linux 2.6.6 以降)。 B<mq_notify>(3)B<"
4391 "参照。>"
4392
4393 #. type: TP
4394 #: build/C/man2/sigaction.2:461
4395 #, no-wrap
4396 msgid "B<SI_ASYNCIO>"
4397 msgstr "B<SI_ASYNCIO>"
4398
4399 #. type: Plain text
4400 #: build/C/man2/sigaction.2:464
4401 msgid "AIO completed"
4402 msgstr "非同期 IO (AIO) が完了した"
4403
4404 #. type: TP
4405 #: build/C/man2/sigaction.2:464
4406 #, no-wrap
4407 msgid "B<SI_SIGIO>"
4408 msgstr "B<SI_SIGIO>"
4409
4410 #. type: Plain text
4411 #: build/C/man2/sigaction.2:473
4412 msgid ""
4413 "Queued B<SIGIO> (only in kernels up to Linux 2.2; from Linux 2.4 onward "
4414 "B<SIGIO>/B<SIGPOLL> fills in I<si_code> as described below)."
4415 msgstr ""
4416
4417 #. type: TP
4418 #: build/C/man2/sigaction.2:473
4419 #, no-wrap
4420 msgid "B<SI_TKILL>"
4421 msgstr "B<SI_TKILL>"
4422
4423 #.  SI_DETHREAD is defined in 2.6.9 sources, but isn't implemented
4424 #.  It appears to have been an idea that was tried during 2.5.6
4425 #.  through to 2.5.24 and then was backed out.
4426 #. type: Plain text
4427 #: build/C/man2/sigaction.2:482
4428 msgid "B<tkill>(2)  or B<tgkill>(2)  (since Linux 2.4.19)"
4429 msgstr "B<tkill>(2)  または B<tgkill>(2)  (Linux 2.4.19 以降)"
4430
4431 #. type: Plain text
4432 #: build/C/man2/sigaction.2:489
4433 msgid ""
4434 "The following values can be placed in I<si_code> for a B<SIGILL> signal:"
4435 msgstr "B<SIGILL> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4436
4437 #. type: TP
4438 #: build/C/man2/sigaction.2:490
4439 #, no-wrap
4440 msgid "B<ILL_ILLOPC>"
4441 msgstr "B<ILL_ILLOPC>"
4442
4443 #. type: Plain text
4444 #: build/C/man2/sigaction.2:493
4445 msgid "illegal opcode"
4446 msgstr "不正な命令コード (opcode)"
4447
4448 #. type: TP
4449 #: build/C/man2/sigaction.2:493
4450 #, no-wrap
4451 msgid "B<ILL_ILLOPN>"
4452 msgstr "B<ILL_ILLOPN>"
4453
4454 #. type: Plain text
4455 #: build/C/man2/sigaction.2:496
4456 msgid "illegal operand"
4457 msgstr "不正なオペランド"
4458
4459 #. type: TP
4460 #: build/C/man2/sigaction.2:496
4461 #, no-wrap
4462 msgid "B<ILL_ILLADR>"
4463 msgstr "B<ILL_ILLADR>"
4464
4465 #. type: Plain text
4466 #: build/C/man2/sigaction.2:499
4467 msgid "illegal addressing mode"
4468 msgstr "不正なアドレッシングモード"
4469
4470 #. type: TP
4471 #: build/C/man2/sigaction.2:499
4472 #, no-wrap
4473 msgid "B<ILL_ILLTRP>"
4474 msgstr "B<ILL_ILLTRP>"
4475
4476 #. type: Plain text
4477 #: build/C/man2/sigaction.2:502
4478 msgid "illegal trap"
4479 msgstr "不正なトラップ"
4480
4481 #. type: TP
4482 #: build/C/man2/sigaction.2:502
4483 #, no-wrap
4484 msgid "B<ILL_PRVOPC>"
4485 msgstr "B<ILL_PRVOPC>"
4486
4487 #. type: Plain text
4488 #: build/C/man2/sigaction.2:505
4489 msgid "privileged opcode"
4490 msgstr "特権が必要な命令コード (opcode)"
4491
4492 #. type: TP
4493 #: build/C/man2/sigaction.2:505
4494 #, no-wrap
4495 msgid "B<ILL_PRVREG>"
4496 msgstr "B<ILL_PRVREG>"
4497
4498 #. type: Plain text
4499 #: build/C/man2/sigaction.2:508
4500 msgid "privileged register"
4501 msgstr "特権が必要なレジスタ"
4502
4503 #. type: TP
4504 #: build/C/man2/sigaction.2:508
4505 #, no-wrap
4506 msgid "B<ILL_COPROC>"
4507 msgstr "B<ILL_COPROC>"
4508
4509 #. type: Plain text
4510 #: build/C/man2/sigaction.2:511
4511 msgid "coprocessor error"
4512 msgstr "コプロセッサのエラー"
4513
4514 #. type: TP
4515 #: build/C/man2/sigaction.2:511
4516 #, no-wrap
4517 msgid "B<ILL_BADSTK>"
4518 msgstr "B<ILL_BADSTK>"
4519
4520 #. type: Plain text
4521 #: build/C/man2/sigaction.2:514
4522 msgid "internal stack error"
4523 msgstr "内部スタックエラー"
4524
4525 #. type: Plain text
4526 #: build/C/man2/sigaction.2:521
4527 msgid ""
4528 "The following values can be placed in I<si_code> for a B<SIGFPE> signal:"
4529 msgstr "B<SIGFPE> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4530
4531 #. type: TP
4532 #: build/C/man2/sigaction.2:522
4533 #, no-wrap
4534 msgid "B<FPE_INTDIV>"
4535 msgstr "B<FPE_INTDIV>"
4536
4537 #. type: Plain text
4538 #: build/C/man2/sigaction.2:525
4539 msgid "integer divide by zero"
4540 msgstr "整数の 0 による除算"
4541
4542 #. type: TP
4543 #: build/C/man2/sigaction.2:525
4544 #, no-wrap
4545 msgid "B<FPE_INTOVF>"
4546 msgstr "B<FPE_INTOVF>"
4547
4548 #. type: Plain text
4549 #: build/C/man2/sigaction.2:528
4550 msgid "integer overflow"
4551 msgstr "整数のオーバーフロー"
4552
4553 #. type: TP
4554 #: build/C/man2/sigaction.2:528
4555 #, no-wrap
4556 msgid "B<FPE_FLTDIV>"
4557 msgstr "B<FPE_FLTDIV>"
4558
4559 #. type: Plain text
4560 #: build/C/man2/sigaction.2:531
4561 msgid "floating-point divide by zero"
4562 msgstr "浮動小数点の 0 による除算"
4563
4564 #. type: TP
4565 #: build/C/man2/sigaction.2:531
4566 #, no-wrap
4567 msgid "B<FPE_FLTOVF>"
4568 msgstr "B<FPE_FLTOVF>"
4569
4570 #. type: Plain text
4571 #: build/C/man2/sigaction.2:534
4572 msgid "floating-point overflow"
4573 msgstr "浮動小数点のオーバーフロー"
4574
4575 #. type: TP
4576 #: build/C/man2/sigaction.2:534
4577 #, no-wrap
4578 msgid "B<FPE_FLTUND>"
4579 msgstr "B<FPE_FLTUND>"
4580
4581 #. type: Plain text
4582 #: build/C/man2/sigaction.2:537
4583 msgid "floating-point underflow"
4584 msgstr "浮動小数点のアンダーフロー"
4585
4586 #. type: TP
4587 #: build/C/man2/sigaction.2:537
4588 #, no-wrap
4589 msgid "B<FPE_FLTRES>"
4590 msgstr "B<FPE_FLTRES>"
4591
4592 #. type: Plain text
4593 #: build/C/man2/sigaction.2:540
4594 msgid "floating-point inexact result"
4595 msgstr "浮動小数点の不正確な演算結果 (inexact result)"
4596
4597 #. type: TP
4598 #: build/C/man2/sigaction.2:540
4599 #, no-wrap
4600 msgid "B<FPE_FLTINV>"
4601 msgstr "B<FPE_FLTINV>"
4602
4603 #. type: Plain text
4604 #: build/C/man2/sigaction.2:543
4605 msgid "floating-point invalid operation"
4606 msgstr "浮動小数点の不正な操作"
4607
4608 #. type: TP
4609 #: build/C/man2/sigaction.2:543
4610 #, no-wrap
4611 msgid "B<FPE_FLTSUB>"
4612 msgstr "B<FPE_FLTSUB>"
4613
4614 #. type: Plain text
4615 #: build/C/man2/sigaction.2:546
4616 msgid "subscript out of range"
4617 msgstr "範囲外の添字 (subscript)"
4618
4619 #. type: Plain text
4620 #: build/C/man2/sigaction.2:553
4621 msgid ""
4622 "The following values can be placed in I<si_code> for a B<SIGSEGV> signal:"
4623 msgstr "B<SIGSEGV> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4624
4625 #. type: TP
4626 #: build/C/man2/sigaction.2:554
4627 #, no-wrap
4628 msgid "B<SEGV_MAPERR>"
4629 msgstr "B<SEGV_MAPERR>"
4630
4631 #. type: Plain text
4632 #: build/C/man2/sigaction.2:557
4633 msgid "address not mapped to object"
4634 msgstr "オブジェクトにマッピングされていないアドレス"
4635
4636 #. type: TP
4637 #: build/C/man2/sigaction.2:557
4638 #, no-wrap
4639 msgid "B<SEGV_ACCERR>"
4640 msgstr "B<SEGV_ACCERR>"
4641
4642 #. type: Plain text
4643 #: build/C/man2/sigaction.2:560
4644 msgid "invalid permissions for mapped object"
4645 msgstr "マッピングされたオブジェクトに対するアクセス許可がない"
4646
4647 #. type: Plain text
4648 #: build/C/man2/sigaction.2:567
4649 msgid ""
4650 "The following values can be placed in I<si_code> for a B<SIGBUS> signal:"
4651 msgstr "B<SIGBUS> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4652
4653 #. type: TP
4654 #: build/C/man2/sigaction.2:568
4655 #, no-wrap
4656 msgid "B<BUS_ADRALN>"
4657 msgstr "B<BUS_ADRALN>"
4658
4659 #. type: Plain text
4660 #: build/C/man2/sigaction.2:571
4661 msgid "invalid address alignment"
4662 msgstr "不正なアドレス・アライメント (alignment)"
4663
4664 #. type: TP
4665 #: build/C/man2/sigaction.2:571
4666 #, no-wrap
4667 msgid "B<BUS_ADRERR>"
4668 msgstr "B<BUS_ADRERR>"
4669
4670 #. type: Plain text
4671 #: build/C/man2/sigaction.2:574
4672 msgid "nonexistent physical address"
4673 msgstr "存在しない物理アドレス"
4674
4675 #. type: TP
4676 #: build/C/man2/sigaction.2:574
4677 #, no-wrap
4678 msgid "B<BUS_OBJERR>"
4679 msgstr "B<BUS_OBJERR>"
4680
4681 #. type: Plain text
4682 #: build/C/man2/sigaction.2:577
4683 msgid "object-specific hardware error"
4684 msgstr "オブジェクト固有のハードウェアエラー"
4685
4686 #. type: TP
4687 #: build/C/man2/sigaction.2:577
4688 #, no-wrap
4689 msgid "B<BUS_MCEERR_AR> (since Linux 2.6.32)"
4690 msgstr "B<BUS_MCEERR_AR> (Linux 2.6.32 以降)"
4691
4692 #. type: Plain text
4693 #: build/C/man2/sigaction.2:580
4694 msgid "Hardware memory error consumed on a machine check; action required."
4695 msgstr ""
4696
4697 #. type: TP
4698 #: build/C/man2/sigaction.2:580
4699 #, no-wrap
4700 msgid "B<BUS_MCEERR_AO> (since Linux 2.6.32)"
4701 msgstr "B<BUS_MCEERR_AO> (Linux 2.6.32  以降)"
4702
4703 #. type: Plain text
4704 #: build/C/man2/sigaction.2:583
4705 msgid ""
4706 "Hardware memory error detected in process but not consumed; action optional."
4707 msgstr ""
4708
4709 #. type: Plain text
4710 #: build/C/man2/sigaction.2:590
4711 msgid ""
4712 "The following values can be placed in I<si_code> for a B<SIGTRAP> signal:"
4713 msgstr "B<SIGTRAP> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4714
4715 #. type: TP
4716 #: build/C/man2/sigaction.2:591
4717 #, no-wrap
4718 msgid "B<TRAP_BRKPT>"
4719 msgstr "B<TRAP_BRKPT>"
4720
4721 #. type: Plain text
4722 #: build/C/man2/sigaction.2:594
4723 msgid "process breakpoint"
4724 msgstr "プロセスのブレークポイント"
4725
4726 #. type: TP
4727 #: build/C/man2/sigaction.2:594
4728 #, no-wrap
4729 msgid "B<TRAP_TRACE>"
4730 msgstr "B<TRAP_TRACE>"
4731
4732 #. type: Plain text
4733 #: build/C/man2/sigaction.2:597
4734 msgid "process trace trap"
4735 msgstr "プロセスのトレース・トラップ"
4736
4737 #. type: TP
4738 #: build/C/man2/sigaction.2:597
4739 #, no-wrap
4740 msgid "B<TRAP_BRANCH> (since Linux 2.4)"
4741 msgstr "B<TRAP_BRANCH> (Linux 2.4 以降)"
4742
4743 #. type: Plain text
4744 #: build/C/man2/sigaction.2:600
4745 msgid "process taken branch trap"
4746 msgstr ""
4747
4748 #. type: TP
4749 #: build/C/man2/sigaction.2:600
4750 #, no-wrap
4751 msgid "B<TRAP_HWBKPT> (since Linux 2.4)"
4752 msgstr "B<TRAP_HWBKPT> (Linux 2.4 以降)"
4753
4754 #. type: Plain text
4755 #: build/C/man2/sigaction.2:603
4756 msgid "hardware breakpoint/watchpoint"
4757 msgstr ""
4758
4759 #. type: Plain text
4760 #: build/C/man2/sigaction.2:610
4761 msgid ""
4762 "The following values can be placed in I<si_code> for a B<SIGCHLD> signal:"
4763 msgstr "B<SIGCHLD> シグナルの場合、 I<si_code> には以下の値を指定できる:"
4764
4765 #. type: TP
4766 #: build/C/man2/sigaction.2:611
4767 #, no-wrap
4768 msgid "B<CLD_EXITED>"
4769 msgstr "B<CLD_EXITED>"
4770
4771 #. type: Plain text
4772 #: build/C/man2/sigaction.2:614
4773 msgid "child has exited"
4774 msgstr "子プロセスが終了した (exited)"
4775
4776 #. type: TP
4777 #: build/C/man2/sigaction.2:614
4778 #, no-wrap
4779 msgid "B<CLD_KILLED>"
4780 msgstr "B<CLD_KILLED>"
4781
4782 #. type: Plain text
4783 #: build/C/man2/sigaction.2:617
4784 msgid "child was killed"
4785 msgstr "子プロセスが kill された"
4786
4787 #. type: TP
4788 #: build/C/man2/sigaction.2:617
4789 #, no-wrap
4790 msgid "B<CLD_DUMPED>"
4791 msgstr "B<CLD_DUMPED>"
4792
4793 #. type: Plain text
4794 #: build/C/man2/sigaction.2:620
4795 msgid "child terminated abnormally"
4796 msgstr "子プロセスが異常終了した"
4797
4798 #. type: TP
4799 #: build/C/man2/sigaction.2:620
4800 #, no-wrap
4801 msgid "B<CLD_TRAPPED>"
4802 msgstr "B<CLD_TRAPPED>"
4803
4804 #. type: Plain text
4805 #: build/C/man2/sigaction.2:623
4806 msgid "traced child has trapped"
4807 msgstr "トレース対象の子プロセスがトラップを上げた"
4808
4809 #. type: TP
4810 #: build/C/man2/sigaction.2:623
4811 #, no-wrap
4812 msgid "B<CLD_STOPPED>"
4813 msgstr "B<CLD_STOPPED>"
4814
4815 #. type: Plain text
4816 #: build/C/man2/sigaction.2:626
4817 msgid "child has stopped"
4818 msgstr "子プロセスが停止 (stop) した"
4819
4820 #. type: TP
4821 #: build/C/man2/sigaction.2:626
4822 #, no-wrap
4823 msgid "B<CLD_CONTINUED>"
4824 msgstr "B<CLD_CONTINUED>"
4825
4826 #. type: Plain text
4827 #: build/C/man2/sigaction.2:629
4828 msgid "stopped child has continued (since Linux 2.6.9)"
4829 msgstr "停止していた子プロセスが再開した (Linux 2.6.9 以降)"
4830
4831 #. type: Plain text
4832 #: build/C/man2/sigaction.2:636
4833 msgid ""
4834 "The following values can be placed in I<si_code> for a B<SIGIO>/B<SIGPOLL> "
4835 "signal:"
4836 msgstr ""
4837 "B<SIGIO>/B<SIGPOLL> シグナルの場合、 I<si_code> には以下の値を\n"
4838 "指定できる:"
4839
4840 #. type: TP
4841 #: build/C/man2/sigaction.2:637
4842 #, no-wrap
4843 msgid "B<POLL_IN>"
4844 msgstr "B<POLL_IN>"
4845
4846 #. type: Plain text
4847 #: build/C/man2/sigaction.2:640
4848 msgid "data input available"
4849 msgstr "入力データが利用可能"
4850
4851 #. type: TP
4852 #: build/C/man2/sigaction.2:640
4853 #, no-wrap
4854 msgid "B<POLL_OUT>"
4855 msgstr "B<POLL_OUT>"
4856
4857 #. type: Plain text
4858 #: build/C/man2/sigaction.2:643
4859 msgid "output buffers available"
4860 msgstr "出力バッファが利用可能"
4861
4862 #. type: TP
4863 #: build/C/man2/sigaction.2:643
4864 #, no-wrap
4865 msgid "B<POLL_MSG>"
4866 msgstr "B<POLL_MSG>"
4867
4868 #. type: Plain text
4869 #: build/C/man2/sigaction.2:646
4870 msgid "input message available"
4871 msgstr "入力メッセージが利用可能"
4872
4873 #. type: TP
4874 #: build/C/man2/sigaction.2:646
4875 #, no-wrap
4876 msgid "B<POLL_ERR>"
4877 msgstr "B<POLL_ERR>"
4878
4879 #. type: Plain text
4880 #: build/C/man2/sigaction.2:649
4881 msgid "I/O error"
4882 msgstr "I/O エラー"
4883
4884 #. type: TP
4885 #: build/C/man2/sigaction.2:649
4886 #, no-wrap
4887 msgid "B<POLL_PRI>"
4888 msgstr "B<POLL_PRI>"
4889
4890 #. type: Plain text
4891 #: build/C/man2/sigaction.2:652
4892 msgid "high priority input available"
4893 msgstr "高優先の入力が利用可能"
4894
4895 #. type: TP
4896 #: build/C/man2/sigaction.2:652
4897 #, no-wrap
4898 msgid "B<POLL_HUP>"
4899 msgstr "B<POLL_HUP>"
4900
4901 #. type: Plain text
4902 #: build/C/man2/sigaction.2:655
4903 msgid "device disconnected"
4904 msgstr "デバイスが接続されていない"
4905
4906 #. type: Plain text
4907 #: build/C/man2/sigaction.2:659
4908 msgid "B<sigaction>()  returns 0 on success and -1 on error."
4909 msgstr "B<sigaction>()  は成功すれば 0 を返し、エラーならば -1 を返す。"
4910
4911 #. type: Plain text
4912 #: build/C/man2/sigaction.2:664
4913 msgid ""
4914 "I<act> or I<oldact> points to memory which is not a valid part of the "
4915 "process address space."
4916 msgstr ""
4917 "I<act> か I<oldact> が指しているメモリが正しいプロセスのアドレス空間にない。"
4918
4919 #. type: Plain text
4920 #: build/C/man2/sigaction.2:671
4921 msgid ""
4922 "An invalid signal was specified.  This will also be generated if an attempt "
4923 "is made to change the action for B<SIGKILL> or B<SIGSTOP>, which cannot be "
4924 "caught or ignored."
4925 msgstr ""
4926 "無効なシグナルが指定された。補足 (catch) したり無視したりできない シグナルで"
4927 "ある B<SIGKILL> や B<SIGSTOP> に対する動作を変更しようとした場合にも発生す"
4928 "る。"
4929
4930 #.  SVr4 does not document the EINTR condition.
4931 #. type: Plain text
4932 #: build/C/man2/sigaction.2:674
4933 msgid "POSIX.1-2001, SVr4."
4934 msgstr "POSIX.1-2001, SVr4."
4935
4936 #. type: Plain text
4937 #: build/C/man2/sigaction.2:682 build/C/man7/signal.7:103
4938 msgid ""
4939 "A child created via B<fork>(2)  inherits a copy of its parent's signal "
4940 "dispositions.  During an B<execve>(2), the dispositions of handled signals "
4941 "are reset to the default; the dispositions of ignored signals are left "
4942 "unchanged."
4943 msgstr ""
4944 "B<fork>(2) 経由で作成された子プロセスは、親プロセスのシグナルの処理方法の コ"
4945 "ピーを継承する。\n"
4946 "B<execve>(2) の前後で、ハンドラが設定されているシグナルの処理方法はデフォルト"
4947 "にリセットされ、\n"
4948 "無視が設定されているシグナルの処理方法は変更されずそのままとなる。"
4949
4950 #. type: Plain text
4951 #: build/C/man2/sigaction.2:700 build/C/man2/signal.2:129
4952 msgid ""
4953 "According to POSIX, the behavior of a process is undefined after it ignores "
4954 "a B<SIGFPE>, B<SIGILL>, or B<SIGSEGV> signal that was not generated by "
4955 "B<kill>(2)  or B<raise>(3).  Integer division by zero has undefined result.  "
4956 "On some architectures it will generate a B<SIGFPE> signal.  (Also dividing "
4957 "the most negative integer by -1 may generate B<SIGFPE>.)  Ignoring this "
4958 "signal might lead to an endless loop."
4959 msgstr ""
4960 "POSIX では、 B<kill>(2)  や B<raise>(3)  で生成できないシグナル B<SIGFPE>, "
4961 "B<SIGILL>, B<SIGSEGV> を無視 (ignore) した場合、その後の動作は未定義である。 "
4962 "ゼロによる整数割り算の結果は未定義となる。 アーキテクチャーによっては、このと"
4963 "き B<SIGFPE> シグナルが生成される。 (同様に負の最大整数を -1 で割ると "
4964 "B<SIGFPE> が生成されるかもしれない)  このシグナルを無視すると無限ループに陥る"
4965 "かもしれない。"
4966
4967 #. type: Plain text
4968 #: build/C/man2/sigaction.2:717
4969 msgid ""
4970 "POSIX.1-1990 disallowed setting the action for B<SIGCHLD> to B<SIG_IGN>.  "
4971 "POSIX.1-2001 allows this possibility, so that ignoring B<SIGCHLD> can be "
4972 "used to prevent the creation of zombies (see B<wait>(2)).  Nevertheless, the "
4973 "historical BSD and System V behaviors for ignoring B<SIGCHLD> differ, so "
4974 "that the only completely portable method of ensuring that terminated "
4975 "children do not become zombies is to catch the B<SIGCHLD> signal and perform "
4976 "a B<wait>(2)  or similar."
4977 msgstr ""
4978 "POSIX.1-1990 では B<SIGCHLD> に B<SIG_IGN> を設定することを認めていない。 "
4979 "POSIX.1-2001 では認められており、 B<SIGCHLD> を無視することでゾンビプロセスの"
4980 "生成を防止することができる (B<wait>(2)  を参照)。 さらに、BSD と SystemV で"
4981 "は B<SIGCHLD> を無視した際の動作が異なっている。 そのため、完全に移植性がある"
4982 "方法で、終了した子プロセスがゾンビにならないこと を保証するには、 B<SIGCHLD> "
4983 "シグナルを補足し、 B<wait>(2)  などを実行するしかない。"
4984
4985 #. type: Plain text
4986 #: build/C/man2/sigaction.2:730
4987 msgid ""
4988 "POSIX.1-1990 only specified B<SA_NOCLDSTOP>.  POSIX.1-2001 added "
4989 "B<SA_NOCLDWAIT>, B<SA_RESETHAND>, B<SA_NODEFER>, and B<SA_SIGINFO>.  Use of "
4990 "these latter values in I<sa_flags> may be less portable in applications "
4991 "intended for older UNIX implementations."
4992 msgstr ""
4993 "POSIX.1-1990 の仕様では B<SA_NOCLDSTOP> のみが定義されている。\n"
4994 "POSIX.1-2001 では B<SA_NOCLDWAIT>, B<SA_RESETHAND>, B<SA_NODEFER>,\n"
4995 "B<SA_SIGINFO> が追加された。 UNIX の古い実装で動かすアプリケーションで、\n"
4996 "他の I<sa_flags> フラグを使用すると移植性が下がる。"
4997
4998 #. type: Plain text
4999 #: build/C/man2/sigaction.2:734
5000 msgid ""
5001 "The B<SA_RESETHAND> flag is compatible with the SVr4 flag of the same name."
5002 msgstr "B<SA_RESETHAND> フラグは SVr4 の同じ名前のフラグと互換性がある。"
5003
5004 #. type: Plain text
5005 #: build/C/man2/sigaction.2:744
5006 msgid ""
5007 "The B<SA_NODEFER> flag is compatible with the SVr4 flag of the same name "
5008 "under kernels 1.3.9 and newer.  On older kernels the Linux implementation "
5009 "allowed the receipt of any signal, not just the one we are installing "
5010 "(effectively overriding any I<sa_mask> settings)."
5011 msgstr ""
5012 "B<SA_NODEFER> フラグは 1.3.9 以降のカーネルでは同じ名前の SVr4 のフラグと互換"
5013 "性がある。 ぞれ以前の Linux カーネルの実装では、このフラグを設定しているシグ"
5014 "ナル だけでなく、どのシグナルでも受けることを許していた (実際には I<sa_mask> "
5015 "の設定により無効にできる)。"
5016
5017 #. type: Plain text
5018 #: build/C/man2/sigaction.2:750
5019 msgid ""
5020 "B<sigaction>()  can be called with a NULL second argument to query the "
5021 "current signal handler.  It can also be used to check whether a given signal "
5022 "is valid for the current machine by calling it with NULL second and third "
5023 "arguments."
5024 msgstr ""
5025 "B<sigaction>()  の二番目の引き数に NULL を指定して呼び出すと、現在のシグナル"
5026 "ハンドラを確認する ことができる。また、二番目と三番目の引き数を NULL にて呼び"
5027 "出すことで、 指定されたシグナルが現在のマシンで使えるかどうかチェックできる。"
5028
5029 #. type: Plain text
5030 #: build/C/man2/sigaction.2:756
5031 msgid ""
5032 "It is not possible to block B<SIGKILL> or B<SIGSTOP> (by specifying them in "
5033 "I<sa_mask>).  Attempts to do so are silently ignored."
5034 msgstr ""
5035 "B<SIGKILL> や B<SIGSTOP> を (I<sa_mask> に指定して) 禁止することはできない。 "
5036 "禁止しようとしても黙って無視される。"
5037
5038 #. type: Plain text
5039 #: build/C/man2/sigaction.2:760 build/C/man2/sigpending.2:65
5040 #: build/C/man2/sigprocmask.2:139 build/C/man2/sigsuspend.2:104
5041 msgid "See B<sigsetops>(3)  for details on manipulating signal sets."
5042 msgstr "シグナル集合の操作に関する詳細は B<sigsetops>(3)  を参照のこと。"
5043
5044 #. type: Plain text
5045 #: build/C/man2/sigaction.2:765
5046 msgid ""
5047 "See B<signal>(7)  for a list of the async-signal-safe functions that can be "
5048 "safely called inside from inside a signal handler."
5049 msgstr ""
5050 "シグナルハンドラ内から安全に呼び出すことができる、 async-signal-safe "
5051 "functions (非同期シングルで安全な関数) の リストについては B<signal>(7)  を参"
5052 "照。"
5053
5054 #. type: SS
5055 #: build/C/man2/sigaction.2:765
5056 #, no-wrap
5057 msgid "Undocumented"
5058 msgstr "非公式"
5059
5060 #. type: Plain text
5061 #: build/C/man2/sigaction.2:775
5062 msgid ""
5063 "Before the introduction of B<SA_SIGINFO> it was also possible to get some "
5064 "additional information, namely by using a I<sa_handler> with second argument "
5065 "of type I<struct sigcontext>.  See the relevant kernel sources for details.  "
5066 "This use is obsolete now."
5067 msgstr ""
5068 "B<SA_SIGINFO> が導入される前は、 I<struct sigcontext> 型の二番目の引き数と一"
5069 "緒に I<sa_handler> を使用することで、 いくつかの追加の情報を入手することがで"
5070 "きた。 詳細についてはカーネルソースの関連部分を見てほしい。 現在はこの使用法"
5071 "は廃止されている。"
5072
5073 #. type: Plain text
5074 #: build/C/man2/sigaction.2:784
5075 msgid ""
5076 "In kernels up to and including 2.6.13, specifying B<SA_NODEFER> in "
5077 "I<sa_flags> prevents not only the delivered signal from being masked during "
5078 "execution of the handler, but also the signals specified in I<sa_mask>.  "
5079 "This bug was fixed in kernel 2.6.14."
5080 msgstr ""
5081 "2.6.13 以前のカーネルでは、 I<sa_flags> に B<SA_NODEFER> を指定した場合、 ハ"
5082 "ンドラが実行中に配送されたシグナル自身がマスクされなくなるだけでなく、 "
5083 "I<sa_mask> に指定されたシグナルもマスクされなくなる。 このバグは、カーネル "
5084 "2.6.14 で修正された。"
5085
5086 #. type: Plain text
5087 #: build/C/man2/sigaction.2:787
5088 msgid "See B<mprotect>(2)."
5089 msgstr "B<mprotect>(2)  参照。"
5090
5091 #. type: Plain text
5092 #: build/C/man2/sigaction.2:806
5093 msgid ""
5094 "B<kill>(1), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaltstack>(2), "
5095 "B<signal>(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), "
5096 "B<sigsuspend>(2), B<wait>(2), B<raise>(3), B<siginterrupt>(3), B<sigqueue>"
5097 "(3), B<sigsetops>(3), B<sigvec>(3), B<core>(5), B<signal>(7)"
5098 msgstr ""
5099 "B<kill>(1), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaltstack>(2),\n"
5100 "B<signal>(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2),\n"
5101 "B<sigsuspend>(2), B<wait>(2), B<raise>(3), B<siginterrupt>(3),\n"
5102 "B<sigqueue>(3), B<sigsetops>(3), B<sigvec>(3), B<core>(5),\n"
5103 "B<signal>(7)"
5104
5105 #. type: TH
5106 #: build/C/man2/sigaltstack.2:25
5107 #, no-wrap
5108 msgid "SIGALTSTACK"
5109 msgstr "SIGALTSTACK"
5110
5111 #. type: TH
5112 #: build/C/man2/sigaltstack.2:25 build/C/man2/wait.2:50
5113 #, no-wrap
5114 msgid "2010-09-26"
5115 msgstr "2010-09-26"
5116
5117 #. type: Plain text
5118 #: build/C/man2/sigaltstack.2:28
5119 msgid "sigaltstack - set and/or get signal stack context"
5120 msgstr "sigaltstack - シグナルスタックのコンテキストを設定・取得する"
5121
5122 #. type: Plain text
5123 #: build/C/man2/sigaltstack.2:32
5124 msgid "B<int sigaltstack(const stack_t *>I<ss>B<, stack_t *>I<oss>B<);>"
5125 msgstr "B<int sigaltstack(const stack_t *>I<ss>B<, stack_t *>I<oss>B<);>"
5126
5127 #. type: Plain text
5128 #: build/C/man2/sigaltstack.2:39
5129 msgid "B<sigaltstack>():"
5130 msgstr "B<sigaltstack>():"
5131
5132 #. type: Plain text
5133 #: build/C/man2/sigaltstack.2:46 build/C/man3/siginterrupt.3:51
5134 #: build/C/man2/wait.2:79
5135 msgid "|| /* Since glibc 2.12: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
5136 msgstr "|| /* glibc 2.12 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
5137
5138 #. type: Plain text
5139 #: build/C/man2/sigaltstack.2:58
5140 msgid ""
5141 "B<sigaltstack>()  allows a process to define a new alternate signal stack "
5142 "and/or retrieve the state of an existing alternate signal stack.  An "
5143 "alternate signal stack is used during the execution of a signal handler if "
5144 "the establishment of that handler (see B<sigaction>(2))  requested it."
5145 msgstr ""
5146 "B<sigaltstack>()  を使うと、 プロセスは新しい代替シグナルスタックを定義した"
5147 "り、 既存の代替シグナルスタックの状態を取得できる。 シグナルハンドラが代替シ"
5148 "グナルスタックを要求するように設定されていると (B<sigaction>(2)  参照)、ハン"
5149 "ドラの実行中はそのシグナルスタックが使われる。"
5150
5151 #. type: Plain text
5152 #: build/C/man2/sigaltstack.2:61
5153 msgid ""
5154 "The normal sequence of events for using an alternate signal stack is the "
5155 "following:"
5156 msgstr "代替シグナルスタックを使う際の一般的な手順は、以下の通りである:"
5157
5158 #. type: IP
5159 #: build/C/man2/sigaltstack.2:61 build/C/man7/signal.7:383
5160 #, no-wrap
5161 msgid "1."
5162 msgstr "1."
5163
5164 #. type: Plain text
5165 #: build/C/man2/sigaltstack.2:65
5166 msgid "Allocate an area of memory to be used for the alternate signal stack."
5167 msgstr "代替シグナルスタックで使うメモリ領域を確保する。"
5168
5169 #. type: IP
5170 #: build/C/man2/sigaltstack.2:65 build/C/man7/signal.7:387
5171 #, no-wrap
5172 msgid "2."
5173 msgstr "2."
5174
5175 #. type: Plain text
5176 #: build/C/man2/sigaltstack.2:71
5177 msgid ""
5178 "Use B<sigaltstack>()  to inform the system of the existence and location of "
5179 "the alternate signal stack."
5180 msgstr ""
5181 "B<sigaltstack>()  を使って、 代替シグナルスタックの存在と場所をシステムに知ら"
5182 "せる。"
5183
5184 #. type: IP
5185 #: build/C/man2/sigaltstack.2:71 build/C/man7/signal.7:407
5186 #, no-wrap
5187 msgid "3."
5188 msgstr "3."
5189
5190 #. type: Plain text
5191 #: build/C/man2/sigaltstack.2:78
5192 msgid ""
5193 "When establishing a signal handler using B<sigaction>(2), inform the system "
5194 "that the signal handler should be executed on the alternate signal stack by "
5195 "specifying the B<SA_ONSTACK> flag."
5196 msgstr ""
5197 "B<sigaction>(2)  を使ってシグナルハンドラを確立する際、 B<SA_ONSTACK> フラグ"
5198 "を指定することにより、 そのシグナルハンドラを代替シグナルスタック上で実行する"
5199 "ことを システムに知らせる。"
5200
5201 #. type: Plain text
5202 #: build/C/man2/sigaltstack.2:86
5203 msgid ""
5204 "The I<ss> argument is used to specify a new alternate signal stack, while "
5205 "the I<oss> argument is used to retrieve information about the currently "
5206 "established signal stack.  If we are interested in performing just one of "
5207 "these tasks then the other argument can be specified as NULL.  Each of these "
5208 "arguments is a structure of the following type:"
5209 msgstr ""
5210 "I<ss> 引き数は、新しいシグナルスタックを指定するために使う。 また I<oss> 引き"
5211 "数は、現在確立されている シグナルスタックの情報を取得するために使う。 この操"
5212 "作のうち 1 つだけを実行させるには、 使用しない引き数を NULL に指定すればよ"
5213 "い。 引き数となる構造体は、以下のような型である:"
5214
5215 #. type: Plain text
5216 #: build/C/man2/sigaltstack.2:94
5217 #, no-wrap
5218 msgid ""
5219 "typedef struct {\n"
5220 "    void  *ss_sp;     /* Base address of stack */\n"
5221 "    int    ss_flags;  /* Flags */\n"
5222 "    size_t ss_size;   /* Number of bytes in stack */\n"
5223 "} stack_t;\n"
5224 msgstr ""
5225 "typedef struct {\n"
5226 "    void  *ss_sp;     /* スタックのベースアドレス */\n"
5227 "    int    ss_flags;  /* フラグ */\n"
5228 "    size_t ss_size;   /* スタックのバイト数 */\n"
5229 "} stack_t;\n"
5230
5231 #. type: Plain text
5232 #: build/C/man2/sigaltstack.2:105
5233 msgid ""
5234 "To establish a new alternate signal stack, I<ss.ss_flags> is set to zero, "
5235 "and I<ss.ss_sp> and I<ss.ss_size> specify the starting address and size of "
5236 "the stack.  The constant B<SIGSTKSZ> is defined to be large enough to cover "
5237 "the usual size requirements for an alternate signal stack, and the constant "
5238 "B<MINSIGSTKSZ> defines the minimum size required to execute a signal handler."
5239 msgstr ""
5240 "新規の代替シグナルスタックを確立するには、 I<ss.ss_flags> を 0 に設定し、 "
5241 "I<ss.ss_sp> と I<ss.ss_size> に スタックの開始アドレスとスタックサイズを指定"
5242 "する。 定数 B<SIGSTKSZ> は、代替シグナルスタックが通常必要する サイズよりも充"
5243 "分大きく定義されている。 また定数 B<MINSIGSTKSZ> は、 シグナルハンドラの実行"
5244 "に必要な最小サイズに定義されている。"
5245
5246 #. type: Plain text
5247 #: build/C/man2/sigaltstack.2:109
5248 msgid ""
5249 "When a signal handler is invoked on the alternate stack, the kernel "
5250 "automatically aligns the address given in I<ss.ss_sp> to a suitable address "
5251 "boundary for the underlying hardware architecture."
5252 msgstr ""
5253 "代替スタックでシグナルハンドラが起動された場合には、 カーネルにより自動的に、"
5254 "I<ss.ss_sp> で指定されたアドレスは 動作しているハードウェアアーキテクチャに適"
5255 "したアドレス境界に 調整される。"
5256
5257 #. type: Plain text
5258 #: build/C/man2/sigaltstack.2:114
5259 msgid ""
5260 "To disable an existing stack, specify I<ss.ss_flags> as B<SS_DISABLE>.  In "
5261 "this case, the remaining fields in I<ss> are ignored."
5262 msgstr ""
5263 "既存のスタックを無効にするには、 I<ss.ss_flags> を B<SS_DISABLE> に指定す"
5264 "る。 この場合、I<ss> の他のフィールドは無視される。"
5265
5266 #. type: Plain text
5267 #: build/C/man2/sigaltstack.2:122
5268 msgid ""
5269 "If I<oss> is not NULL, then it is used to return information about the "
5270 "alternate signal stack which was in effect prior to the call to "
5271 "B<sigaltstack>().  The I<oss.ss_sp> and I<oss.ss_size> fields return the "
5272 "starting address and size of that stack.  The I<oss.ss_flags> may return "
5273 "either of the following values:"
5274 msgstr ""
5275 "I<oss> が NULL 以外の場合、 I<oss> に代替シグナルスタックの情報が返される。 "
5276 "これは (実質的に)  B<sigaltstack>()  の呼び出しより先に行われる。 I<oss."
5277 "ss_sp> と I<oss.ss_size> フィールドに スタックの開始アドレスとスタックサイズ"
5278 "が返される。 I<oss.ss_flags> には以下のどちらかの値が返される:"
5279
5280 #. type: TP
5281 #: build/C/man2/sigaltstack.2:122
5282 #, no-wrap
5283 msgid "B<SS_ONSTACK>"
5284 msgstr "B<SS_ONSTACK>"
5285
5286 #. type: Plain text
5287 #: build/C/man2/sigaltstack.2:128
5288 msgid ""
5289 "The process is currently executing on the alternate signal stack.  (Note "
5290 "that it is not possible to change the alternate signal stack if the process "
5291 "is currently executing on it.)"
5292 msgstr ""
5293 "プロセスが代替シグナルスタック上で実行されている (プロセスが既にそのシグナル"
5294 "スタック上で実行されている場合は、 それと同じシグナルスタックには変更できない"
5295 "点に注意すること)。"
5296
5297 #. type: TP
5298 #: build/C/man2/sigaltstack.2:128
5299 #, no-wrap
5300 msgid "B<SS_DISABLE>"
5301 msgstr "B<SS_DISABLE>"
5302
5303 #. type: Plain text
5304 #: build/C/man2/sigaltstack.2:131
5305 msgid "The alternate signal stack is currently disabled."
5306 msgstr "代替シグナルスタックが現在無効になっている。"
5307
5308 #. type: Plain text
5309 #: build/C/man2/sigaltstack.2:135
5310 msgid ""
5311 "B<sigaltstack>()  returns 0 on success, or -1 on failure with I<errno> set "
5312 "to indicate the error."
5313 msgstr ""
5314 "B<sigaltstack>()  は成功した場合 0 を返す。 失敗した場合は -1 を返して、 エ"
5315 "ラーを示す値に I<errno> を設定する。"
5316
5317 #. type: Plain text
5318 #: build/C/man2/sigaltstack.2:140
5319 msgid ""
5320 "Either I<ss> or I<oss> is not NULL and points to an area outside of the "
5321 "process's address space."
5322 msgstr ""
5323 "I<ss> または I<oss> のどちらが、NULL 以外で、 かつプロセスのアドレス空間の外"
5324 "を指している。"
5325
5326 #. type: Plain text
5327 #: build/C/man2/sigaltstack.2:145
5328 msgid ""
5329 "I<ss> is not NULL and the I<ss_flags> field contains a nonzero value other "
5330 "than B<SS_DISABLE>."
5331 msgstr ""
5332 "I<ss> が NULL 以外で、I<ss_flags> フィールドが B<SS_DISABLE> 以外の 0 でない"
5333 "値になっている。"
5334
5335 #. type: Plain text
5336 #: build/C/man2/sigaltstack.2:149
5337 msgid ""
5338 "The specified size of the new alternate signal stack (I<ss.ss_size>) was "
5339 "less than B<MINSTKSZ>."
5340 msgstr ""
5341 "新しい代替シグナルスタック (I<ss.ss_size>) に指定したサイズが B<MINSTKSZ> よ"
5342 "り小さい。"
5343
5344 #. type: Plain text
5345 #: build/C/man2/sigaltstack.2:154
5346 msgid ""
5347 "An attempt was made to change the alternate signal stack while it was active "
5348 "(i.e., the process was already executing on the current alternate signal "
5349 "stack)."
5350 msgstr ""
5351 "代替シグナルスタックが有効であるときに変更を行おうとした (つまり、プロセスが"
5352 "既に現在の代替シグナルスタック上で実行されていた)。"
5353
5354 #. type: Plain text
5355 #: build/C/man2/sigaltstack.2:156
5356 msgid "SUSv2, SVr4, POSIX.1-2001."
5357 msgstr "SUSv2, SVr4, POSIX.1-2001."
5358
5359 #. type: Plain text
5360 #: build/C/man2/sigaltstack.2:164
5361 msgid ""
5362 "The most common usage of an alternate signal stack is to handle the "
5363 "B<SIGSEGV> signal that is generated if the space available for the normal "
5364 "process stack is exhausted: in this case, a signal handler for B<SIGSEGV> "
5365 "cannot be invoked on the process stack; if we wish to handle it, we must use "
5366 "an alternate signal stack."
5367 msgstr ""
5368 "代替シグナルスタックを使用する最もよくある場面は、 B<SIGSEGV> シグナルを扱う"
5369 "ときである。 B<SIGSEGV> はプロセスの通常のスタックが利用できる空間が使い果た"
5370 "された際に 生成されるシグナルである。この場合には、 B<SIGSEGV> 用のシグナルハ"
5371 "ンドラをプロセスのスタック上では起動することができない。 そのため、このシグナ"
5372 "ルを扱おうとする場合には、 代替シグナルスタックを使用しなければならない。"
5373
5374 #. type: Plain text
5375 #: build/C/man2/sigaltstack.2:174
5376 msgid ""
5377 "Establishing an alternate signal stack is useful if a process expects that "
5378 "it may exhaust its standard stack.  This may occur, for example, because the "
5379 "stack grows so large that it encounters the upwardly growing heap, or it "
5380 "reaches a limit established by a call to B<setrlimit(RLIMIT_STACK, &rlim)>.  "
5381 "If the standard stack is exhausted, the kernel sends the process a "
5382 "B<SIGSEGV> signal.  In these circumstances the only way to catch this signal "
5383 "is on an alternate signal stack."
5384 msgstr ""
5385 "プロセスが標準のシグナルスタックを使い果たすことが予想される場合は、 代替シグ"
5386 "ナルスタックを確立すると便利である。 例えば、スタックが最上位アドレスから 下"
5387 "位アドレス方向に非常にたくさん積まれてしまうことで、 最下位アドレスから上位ア"
5388 "ドレス方向に積まれるヒープとぶつかってしまう場合や、 B<setrlimit"
5389 "(RLIMIT_STACK, &rlim)> の呼び出しで確立された 制限に達してしまった場合に、こ"
5390 "の様な事が起こる。 標準のスタックを使い果たしてしまうと、 カーネルはプロセス"
5391 "に B<SIGSEGV> シグナルを送る。 このような状況では、代替シグナルスタック上でし"
5392 "かシグナルをキャッチできない。"
5393
5394 #. type: Plain text
5395 #: build/C/man2/sigaltstack.2:180
5396 msgid ""
5397 "On most hardware architectures supported by Linux, stacks grow downward.  "
5398 "B<sigaltstack>()  automatically takes account of the direction of stack "
5399 "growth."
5400 msgstr ""
5401 "Linux がサポートする多くのハードウェアアーキテクチャでは、 スタックは下位アド"
5402 "レス方向に積まれる。 B<sigaltstack>()  はスタックが積まれる方向を自動的に決定"
5403 "する。"
5404
5405 #. type: Plain text
5406 #: build/C/man2/sigaltstack.2:189
5407 msgid ""
5408 "Functions called from a signal handler executing on an alternate signal "
5409 "stack will also use the alternate signal stack.  (This also applies to any "
5410 "handlers invoked for other signals while the process is executing on the "
5411 "alternate signal stack.)  Unlike the standard stack, the system does not "
5412 "automatically extend the alternate signal stack.  Exceeding the allocated "
5413 "size of the alternate signal stack will lead to unpredictable results."
5414 msgstr ""
5415 "代替シグナルスタック上で実行されている シグナルハンドラから呼ばれる関数も、代"
5416 "替シグナルハンドラを使う (プロセスが代替シグナルスタック上で実行されている場"
5417 "合、 他のシグナルで呼び出されるハンドラもこの代替シグナルハンドラを使う)。 標"
5418 "準のスタックとは異なり、 システムは代替シグナルスタックを自動的に拡張しな"
5419 "い。 代替シグナルスタック用に確保したサイズを越えた場合、 結果は予想できな"
5420 "い。"
5421
5422 #. type: Plain text
5423 #: build/C/man2/sigaltstack.2:197
5424 msgid ""
5425 "A successful call to B<execve>(2)  removes any existing alternate signal "
5426 "stack.  A child process created via B<fork>(2)  inherits a copy of its "
5427 "parent's alternate signal stack settings."
5428 msgstr ""
5429 "B<execve>(2)  の呼び出しが成功すると、 既存の全ての代替シグナルスタックが削除"
5430 "される。 B<fork>(2)  経由で作成された子プロセスは、親プロセスの代替シグナルス"
5431 "タックの 設定のコピーを継承する。"
5432
5433 #. type: Plain text
5434 #: build/C/man2/sigaltstack.2:206
5435 msgid ""
5436 "B<sigaltstack>()  supersedes the older B<sigstack>()  call.  For backward "
5437 "compatibility, glibc also provides B<sigstack>().  All new applications "
5438 "should be written using B<sigaltstack>()."
5439 msgstr ""
5440 "B<sigaltstack>()  は以前の B<sigstack>()  を置き換えるものである。 過去プログ"
5441 "ラムとの互換性のため、glibc では B<sigstack>()  も提供している。 新しいのアプ"
5442 "リケーションは全て B<sigaltstack>()  を使って書くべきである。"
5443
5444 #. type: SS
5445 #: build/C/man2/sigaltstack.2:206 build/C/man3/sigpause.3:59
5446 #, no-wrap
5447 msgid "History"
5448 msgstr "歴史"
5449
5450 #. type: Plain text
5451 #: build/C/man2/sigaltstack.2:213
5452 msgid ""
5453 "4.2BSD had a B<sigstack>()  system call.  It used a slightly different "
5454 "struct, and had the major disadvantage that the caller had to know the "
5455 "direction of stack growth."
5456 msgstr ""
5457 "4.2BSD には B<sigstack>()  システムコールがあった。 この関数は少し異なった構"
5458 "造体を使っており、 呼び出した側がスタックの積まれる方向を知っていなければなら"
5459 "ないという 大きな欠点があった。"
5460
5461 #. type: Plain text
5462 #: build/C/man2/sigaltstack.2:216
5463 msgid "The following code segment demonstrates the use of B<sigaltstack>():"
5464 msgstr "以下のコードで B<sigaltstack>()  の使用法の一部を示す:"
5465
5466 #. type: Plain text
5467 #: build/C/man2/sigaltstack.2:220
5468 #, no-wrap
5469 msgid "stack_t ss;\n"
5470 msgstr "stack_t ss;\n"
5471
5472 #. type: Plain text
5473 #: build/C/man2/sigaltstack.2:228
5474 #, no-wrap
5475 msgid ""
5476 "ss.ss_sp = malloc(SIGSTKSZ);\n"
5477 "if (ss.ss_sp == NULL)\n"
5478 "    /* Handle error */;\n"
5479 "ss.ss_size = SIGSTKSZ;\n"
5480 "ss.ss_flags = 0;\n"
5481 "if (sigaltstack(&ss, NULL) == -1)\n"
5482 "    /* Handle error */;\n"
5483 msgstr ""
5484 "ss.ss_sp = malloc(SIGSTKSZ);\n"
5485 "if (ss.ss_sp == NULL)\n"
5486 "    /* ハンドルエラー */;\n"
5487 "ss.ss_size = SIGSTKSZ;\n"
5488 "ss.ss_flags = 0;\n"
5489 "if (sigaltstack(&ss, NULL) == -1)\n"
5490 "    /* ハンドルエラー */;\n"
5491
5492 #. type: Plain text
5493 #: build/C/man2/sigaltstack.2:237
5494 msgid ""
5495 "B<execve>(2), B<setrlimit>(2), B<sigaction>(2), B<siglongjmp>(3), "
5496 "B<sigsetjmp>(3), B<signal>(7)"
5497 msgstr ""
5498 "B<execve>(2), B<setrlimit>(2), B<sigaction>(2), B<siglongjmp>(3), "
5499 "B<sigsetjmp>(3), B<signal>(7)"
5500
5501 #. type: TH
5502 #: build/C/man7/sigevent.7:24
5503 #, no-wrap
5504 msgid "SIGEVENT"
5505 msgstr "SIGEVENT"
5506
5507 #. type: TH
5508 #: build/C/man7/sigevent.7:24 build/C/man3/siginterrupt.3:29
5509 #, no-wrap
5510 msgid "2011-09-09"
5511 msgstr "2011-09-09"
5512
5513 #. type: Plain text
5514 #: build/C/man7/sigevent.7:27
5515 msgid "sigevent - structure for notification from asynchronous routines"
5516 msgstr ""
5517
5518 #. type: Plain text
5519 #: build/C/man7/sigevent.7:34
5520 #, no-wrap
5521 msgid ""
5522 "union sigval {          /* Data passed with notification */\n"
5523 "    int     sival_int;         /* Integer value */\n"
5524 "    void   *sival_ptr;         /* Pointer value */\n"
5525 "};\n"
5526 msgstr ""
5527 "union sigval {          /* Data passed with notification */\n"
5528 "    int     sival_int;         /* Integer value */\n"
5529 "    void   *sival_ptr;         /* Pointer value */\n"
5530 "};\n"
5531
5532 #. type: Plain text
5533 #: build/C/man7/sigevent.7:49
5534 #, no-wrap
5535 msgid ""
5536 "struct sigevent {\n"
5537 "    int          sigev_notify; /* Notification method */\n"
5538 "    int          sigev_signo;  /* Notification signal */\n"
5539 "    union sigval sigev_value;  /* Data passed with\n"
5540 "                                  notification */\n"
5541 "    void       (*sigev_notify_function) (union sigval);\n"
5542 "                     /* Function used for thread\n"
5543 "                        notification (SIGEV_THREAD) */\n"
5544 "    void        *sigev_notify_attributes;\n"
5545 "                     /* Attributes for notification thread\n"
5546 "                        (SIGEV_THREAD) */\n"
5547 "    pid_t        sigev_notify_thread_id;\n"
5548 "                     /* ID of thread to signal (SIGEV_THREAD_ID) */\n"
5549 "};\n"
5550 msgstr ""
5551 "struct sigevent {\n"
5552 "    int          sigev_notify; /* Notification method */\n"
5553 "    int          sigev_signo;  /* Notification signal */\n"
5554 "    union sigval sigev_value;  /* Data passed with\n"
5555 "                                  notification */\n"
5556 "    void       (*sigev_notify_function) (union sigval);\n"
5557 "                     /* Function used for thread\n"
5558 "                        notification (SIGEV_THREAD) */\n"
5559 "    void        *sigev_notify_attributes;\n"
5560 "                     /* Attributes for notification thread\n"
5561 "                        (SIGEV_THREAD) */\n"
5562 "    pid_t        sigev_notify_thread_id;\n"
5563 "                     /* ID of thread to signal (SIGEV_THREAD_ID) */\n"
5564 "};\n"
5565
5566 #. type: Plain text
5567 #: build/C/man7/sigevent.7:58
5568 msgid ""
5569 "The I<sigevent> structure is used by various APIs to describe the way a "
5570 "process is to be notified about an event (e.g., completion of an "
5571 "asynchronous request, expiration of a timer, or the arrival of a message)."
5572 msgstr ""
5573
5574 #. type: Plain text
5575 #: build/C/man7/sigevent.7:66
5576 msgid ""
5577 "The definition shown in the SYNOPSIS is approximate: some of the fields in "
5578 "the I<sigevent> structure may be defined as part of a union.  Programs "
5579 "should only employ those fields relevant to the value specified in "
5580 "I<sigev_notify>."
5581 msgstr ""
5582
5583 #. type: Plain text
5584 #: build/C/man7/sigevent.7:71
5585 msgid ""
5586 "The I<sigev_notify> field specifies how notification is to be performed.  "
5587 "This field can have one of the following values:"
5588 msgstr ""
5589
5590 #. type: TP
5591 #: build/C/man7/sigevent.7:71 build/C/man2/timer_create.2:105
5592 #, no-wrap
5593 msgid "B<SIGEV_NONE>"
5594 msgstr "B<SIGEV_NONE>"
5595
5596 #. type: Plain text
5597 #: build/C/man7/sigevent.7:74
5598 msgid "A \"null\" notification: don't do anything when the event occurs."
5599 msgstr ""
5600
5601 #. type: TP
5602 #: build/C/man7/sigevent.7:74 build/C/man2/timer_create.2:110
5603 #, no-wrap
5604 msgid "B<SIGEV_SIGNAL>"
5605 msgstr "B<SIGEV_SIGNAL>"
5606
5607 #. type: Plain text
5608 #: build/C/man7/sigevent.7:78
5609 msgid "Notify the process by sending the signal specified in I<sigev_signo>."
5610 msgstr ""
5611
5612 #. type: Plain text
5613 #: build/C/man7/sigevent.7:85
5614 msgid ""
5615 "If the signal is caught with a signal handler that was registered using the "
5616 "B<sigaction>(2)  B<SA_SIGINFO> flag, then the following fields are set in "
5617 "the I<siginfo_t> structure that is passed as the second argument of the "
5618 "handler:"
5619 msgstr ""
5620
5621 #. type: Plain text
5622 #: build/C/man7/sigevent.7:90
5623 msgid ""
5624 "This field is set to a value that depends on the API delivering the "
5625 "notification."
5626 msgstr ""
5627
5628 #. type: TP
5629 #: build/C/man7/sigevent.7:90 build/C/man2/wait.2:301
5630 #, no-wrap
5631 msgid "I<si_signo>"
5632 msgstr "I<si_signo>"
5633
5634 #. type: Plain text
5635 #: build/C/man7/sigevent.7:94
5636 msgid ""
5637 "This field is set to the signal number (i.e., the same value as in "
5638 "I<sigev_signo>)."
5639 msgstr ""
5640
5641 #. type: Plain text
5642 #: build/C/man7/sigevent.7:98
5643 msgid "This field is set to the value specified in I<sigev_value>."
5644 msgstr ""
5645
5646 #. type: Plain text
5647 #: build/C/man7/sigevent.7:103
5648 msgid ""
5649 "Depending on the API, other fields may also be set in the I<siginfo_t> "
5650 "structure."
5651 msgstr ""
5652
5653 #. type: Plain text
5654 #: build/C/man7/sigevent.7:106
5655 msgid ""
5656 "The same information is also available if the signal is accepted using "
5657 "B<sigwaitinfo>(2)."
5658 msgstr ""
5659
5660 #. type: TP
5661 #: build/C/man7/sigevent.7:106 build/C/man2/timer_create.2:128
5662 #, no-wrap
5663 msgid "B<SIGEV_THREAD>"
5664 msgstr "B<SIGEV_THREAD>"
5665
5666 #. type: Plain text
5667 #: build/C/man7/sigevent.7:123
5668 msgid ""
5669 "Notify the process by invoking I<sigev_notify_function> \"as if\" it were "
5670 "the start function of a new thread.  (Among the implementation possibilities "
5671 "here are that each timer notification could result in the creation of a new "
5672 "thread, or that a single thread is created to receive all notifications.)  "
5673 "The function is invoked with I<sigev_value> as its sole argument.  If "
5674 "I<sigev_notify_attributes> is not NULL, it should point to a "
5675 "I<pthread_attr_t> structure that defines attributes for the new thread (see "
5676 "B<pthread_attr_init>(3))."
5677 msgstr ""
5678
5679 #. type: TP
5680 #: build/C/man7/sigevent.7:123 build/C/man2/timer_create.2:136
5681 #, no-wrap
5682 msgid "B<SIGEV_THREAD_ID> (Linux-specific)"
5683 msgstr ""
5684
5685 #.  | SIGEV_SIGNAL vs not?
5686 #. type: Plain text
5687 #: build/C/man7/sigevent.7:128
5688 msgid "Currently used only by POSIX timers; see B<timer_create>(2)."
5689 msgstr ""
5690
5691 #. type: Plain text
5692 #: build/C/man7/sigevent.7:130 build/C/man2/sigpending.2:61
5693 #: build/C/man2/sigprocmask.2:109 build/C/man3/sigqueue.3:114
5694 #: build/C/man3/sigsetops.3:128 build/C/man2/sigsuspend.2:82
5695 #: build/C/man3/sigwait.3:79 build/C/man2/sigwaitinfo.2:128
5696 #: build/C/man2/timer_create.2:193 build/C/man2/timer_delete.2:66
5697 #: build/C/man2/timer_getoverrun.2:96 build/C/man2/timer_settime.2:205
5698 msgid "POSIX.1-2001."
5699 msgstr "POSIX.1-2001."
5700
5701 #. type: Plain text
5702 #: build/C/man7/sigevent.7:140
5703 msgid ""
5704 "B<timer_create>(2), B<aio_fsync>(3), B<aio_read>(3), B<aio_write>(3), "
5705 "B<getaddrinfo_a>(3), B<lio_listio>(3), B<mq_notify>(3), B<aio>(7), "
5706 "B<pthreads>(7)"
5707 msgstr ""
5708 "B<timer_create>(2), B<aio_fsync>(3), B<aio_read>(3), B<aio_write>(3), "
5709 "B<getaddrinfo_a>(3), B<lio_listio>(3), B<mq_notify>(3), B<aio>(7), "
5710 "B<pthreads>(7)"
5711
5712 #. type: TH
5713 #: build/C/man3/siginterrupt.3:29
5714 #, no-wrap
5715 msgid "SIGINTERRUPT"
5716 msgstr "SIGINTERRUPT"
5717
5718 #. type: Plain text
5719 #: build/C/man3/siginterrupt.3:32
5720 msgid "siginterrupt - allow signals to interrupt system calls"
5721 msgstr "siginterrupt - シグナルでシステム・コールに割り込むことを許す"
5722
5723 #. type: Plain text
5724 #: build/C/man3/siginterrupt.3:37
5725 #, no-wrap
5726 msgid "B<int siginterrupt(int >I<sig>B<, int >I<flag>B<);>\n"
5727 msgstr "B<int siginterrupt(int >I<sig>B<, int >I<flag>B<);>\n"
5728
5729 #. type: Plain text
5730 #: build/C/man3/siginterrupt.3:45
5731 msgid "B<siginterrupt>():"
5732 msgstr "B<siginterrupt>():"
5733
5734 #. type: Plain text
5735 #: build/C/man3/siginterrupt.3:62
5736 msgid ""
5737 "The B<siginterrupt>()  function changes the restart behavior when a system "
5738 "call is interrupted by the signal I<sig>.  If the I<flag> argument is false "
5739 "(0), then system calls will be restarted if interrupted by the specified "
5740 "signal I<sig>.  This is the default behavior in Linux."
5741 msgstr ""
5742 "B<siginterrupt>()  関数は、システム・コールがシグナル I<sig> によって割り込ま"
5743 "れた後、再実行の際の振る舞いを変更する。 I<flag> 引き数が偽 (0) ならば、シス"
5744 "テム・コールが指定した シグナル I<sig> によって割り込まれた後に、そのシステ"
5745 "ム・コールは 再実行される。これは Linux においてデフォルトの動作である。"
5746
5747 #. type: Plain text
5748 #: build/C/man3/siginterrupt.3:67
5749 msgid ""
5750 "If the I<flag> argument is true (1) and no data has been transferred, then a "
5751 "system call interrupted by the signal I<sig> will return -1 and I<errno> "
5752 "will be set to B<EINTR>."
5753 msgstr ""
5754 "I<flag> 引き数が真 (1) でデータの転送が全く行なわれていないならば、 シグナル "
5755 "I<sig> でシステム・コールは中断されて、-1 が返され、 I<errno> に B<EINTR> が"
5756 "設定される。"
5757
5758 #. type: Plain text
5759 #: build/C/man3/siginterrupt.3:71
5760 msgid ""
5761 "If the I<flag> argument is true (1) and data transfer has started, then the "
5762 "system call will be interrupted and will return the actual amount of data "
5763 "transferred."
5764 msgstr ""
5765 "I<flag> 引き数が真 (1) でデータの転送が開始されていれば、 システム・コールは"
5766 "中断され、それまでに実際に転送されたデータ の量が返される。"
5767
5768 #. type: Plain text
5769 #: build/C/man3/siginterrupt.3:76
5770 msgid ""
5771 "The B<siginterrupt>()  function returns 0 on success, or -1 if the signal "
5772 "number I<sig> is invalid."
5773 msgstr ""
5774 "B<siginterrupt>()  関数は成功した場合 0 を返す。 シグナル番号 I<sig> が不正な"
5775 "場合は -1 を返す。"
5776
5777 #. type: Plain text
5778 #: build/C/man3/siginterrupt.3:80
5779 msgid "The specified signal number is invalid."
5780 msgstr "指定したシグナル番号が不正である。"
5781
5782 #. type: Plain text
5783 #: build/C/man3/siginterrupt.3:89
5784 msgid ""
5785 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 marks B<siginterrupt>()  as obsolete, "
5786 "recommending the use of B<sigaction>(2)  with the B<SA_RESTART> flag instead."
5787 msgstr ""
5788 "4.3BSD, POSIX.1-2001.  POSIX.1-2008 は、 B<siginterrupt>()  を廃止予定として"
5789 "いる。 代わりに、 B<sigaction>(2)  に B<SA_RESTART> フラグを指定して使うこと"
5790 "を推奨している。"
5791
5792 #. type: Plain text
5793 #: build/C/man3/siginterrupt.3:91
5794 msgid "B<signal>(2)"
5795 msgstr "B<signal>(2)"
5796
5797 #. type: TH
5798 #: build/C/man2/signal.2:34 build/C/man7/signal.7:44
5799 #, no-wrap
5800 msgid "SIGNAL"
5801 msgstr "SIGNAL"
5802
5803 #. type: TH
5804 #: build/C/man2/signal.2:34
5805 #, no-wrap
5806 msgid "2008-07-11"
5807 msgstr "2008-07-11"
5808
5809 #. type: Plain text
5810 #: build/C/man2/signal.2:37
5811 msgid "signal - ANSI C signal handling"
5812 msgstr "signal - ANSI C シグナル操作"
5813
5814 #. type: Plain text
5815 #: build/C/man2/signal.2:43
5816 msgid "B<sighandler_t signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
5817 msgstr ""
5818 "B<sighandler_t signal(int >I<signum>B<, sighandler_t >I<sighandler>B<);>"
5819
5820 #. type: Plain text
5821 #: build/C/man2/signal.2:52
5822 msgid ""
5823 "The behavior of B<signal>()  varies across UNIX versions, and has also "
5824 "varied historically across different versions of Linux.  B<Avoid its use>: "
5825 "use B<sigaction>(2)  instead.  See I<Portability> below."
5826 msgstr ""
5827 "B<signal>()  の動作は UNIX のバージョンにより異なる。 また、歴史的に見て "
5828 "Linux のバージョンによっても異なっている。 B<このシステムコールの使用は避け、"
5829 "> 代わりに B<sigaction>(2)  を使用すること。 下記の「移植性」を参照。"
5830
5831 #. type: Plain text
5832 #: build/C/man2/signal.2:62
5833 msgid ""
5834 "B<signal>()  sets the disposition of the signal I<signum> to I<handler>, "
5835 "which is either B<SIG_IGN>, B<SIG_DFL>, or the address of a programmer-"
5836 "defined function (a \"signal handler\")."
5837 msgstr ""
5838 "B<signal>()  はシグナル I<signum> の処理方法を I<handler> に設定する。 "
5839 "I<handler> には、 B<SIG_IGN>、 B<SIG_DFL>、 プログラマが定義した関数 (「シグ"
5840 "ナル・ハンドラ」) のアドレスの いずれかを指定する。"
5841
5842 #. type: Plain text
5843 #: build/C/man2/signal.2:66
5844 msgid ""
5845 "If the signal I<signum> is delivered to the process, then one of the "
5846 "following happens:"
5847 msgstr ""
5848 "シグナル I<signum> がプロセスに配送されると、以下のいずれかが発生する。"
5849
5850 #. type: Plain text
5851 #: build/C/man2/signal.2:71
5852 msgid "If the disposition is set to B<SIG_IGN>, then the signal is ignored."
5853 msgstr "処理方法が B<SIG_IGN> に設定されている場合、そのシグナルは無視される。"
5854
5855 #. type: Plain text
5856 #: build/C/man2/signal.2:78
5857 msgid ""
5858 "If the disposition is set to B<SIG_DFL>, then the default action associated "
5859 "with the signal (see B<signal>(7))  occurs."
5860 msgstr ""
5861 "処理方法が B<SIG_DFL> に設定されている場合、シグナルに関連づけられた デフォル"
5862 "トの動作が行われる (B<signal>(7)  参照)。"
5863
5864 #. type: Plain text
5865 #: build/C/man2/signal.2:89
5866 msgid ""
5867 "If the disposition is set to a function, then first either the disposition "
5868 "is reset to B<SIG_DFL>, or the signal is blocked (see I<Portability> below), "
5869 "and then I<handler> is called with argument I<signum>.  If invocation of the "
5870 "handler caused the signal to be blocked, then the signal is unblocked upon "
5871 "return from the handler."
5872 msgstr ""
5873 "処理方法として関数が設定されている場合、 まず最初に処理方法が B<SIG_DFL> にリ"
5874 "セットされるかそのシグナルのブロックが実行された後、 I<signum> を引き数とし"
5875 "て I<handler> が呼び出される。 ハンドラが起動される際にシグナルがブロックされ"
5876 "た場合、 ハンドラが返る際にそのシグナルのブロックが解除される。"
5877
5878 #. type: Plain text
5879 #: build/C/man2/signal.2:95
5880 msgid "The signals B<SIGKILL> and B<SIGSTOP> cannot be caught or ignored."
5881 msgstr ""
5882 "シグナル B<SIGKILL> と B<SIGSTOP> は捕捉できず、無視することもできない。"
5883
5884 #. type: Plain text
5885 #: build/C/man2/signal.2:100
5886 msgid ""
5887 "B<signal>()  returns the previous value of the signal handler, or B<SIG_ERR> "
5888 "on error."
5889 msgstr ""
5890 "B<signal>()  は、今までのシグナル・ハンドラの値を返す。エラーの場合は "
5891 "B<SIG_ERR> を返す。"
5892
5893 #. type: Plain text
5894 #: build/C/man2/signal.2:105
5895 msgid "I<signum> is invalid."
5896 msgstr "I<signum> が不正である。"
5897
5898 #. type: Plain text
5899 #: build/C/man2/signal.2:111
5900 msgid "The effects of B<signal>()  in a multithreaded process are unspecified."
5901 msgstr ""
5902 "マルチスレッドプロセスにおける B<signal>()  の結果は、指定されていない。"
5903
5904 #. type: Plain text
5905 #: build/C/man2/signal.2:136
5906 msgid ""
5907 "See B<sigaction>(2)  for details on what happens when B<SIGCHLD> is set to "
5908 "B<SIG_IGN>."
5909 msgstr ""
5910 "B<SIGCHLD> の動作として B<SIG_IGN> を設定した場合の詳細な動作については、 "
5911 "B<sigaction>(2)  を参照すること。"
5912
5913 #. type: Plain text
5914 #: build/C/man2/signal.2:141
5915 msgid ""
5916 "See B<signal>(7)  for a list of the async-signal-safe functions that can be "
5917 "safely called from inside a signal handler."
5918 msgstr ""
5919 "シグナル・ハンドラ内から安全に呼び出すことができる、 async-signal-safe "
5920 "functions (非同期シングルで安全な関数) の リストについては B<signal>(7)  を参"
5921 "照。"
5922
5923 #. type: Plain text
5924 #: build/C/man2/signal.2:156
5925 msgid ""
5926 "The use of I<sighandler_t> is a GNU extension.  Various versions of libc "
5927 "predefine this type; libc4 and libc5 define I<SignalHandler>; glibc defines "
5928 "I<sig_t> and, when B<_GNU_SOURCE> is defined, also I<sighandler_t>.  Without "
5929 "use of such a type, the declaration of B<signal>()  is the somewhat harder "
5930 "to read:"
5931 msgstr ""
5932 "I<sighandler_t> の使用は GNU 拡張である。 各種バージョンの libc でこの型は定"
5933 "義済みである; libc4 と libc5 では I<SignalHandler> を定義している。 glibc で"
5934 "は I<sig_t> を定義しており、 B<_GNU_SOURCE> が定義されている場合には "
5935 "I<sighandler_t> も定義されている。 このような型を使用しないと、 B<signal>()  "
5936 "の宣言は読みにくいものとなる。"
5937
5938 #. type: Plain text
5939 #: build/C/man2/signal.2:160
5940 #, no-wrap
5941 msgid "B<void ( *>I<signal>B<(int >I<signum>B<, void (*>I<handler>B<)(int)) ) (int);>\n"
5942 msgstr "B<void ( *>I<signal>B<(int >I<signum>B<, void (*>I<handler>B<)(int)) ) (int);>\n"
5943
5944 #. type: SS
5945 #: build/C/man2/signal.2:162
5946 #, no-wrap
5947 msgid "Portability"
5948 msgstr "移植性"
5949
5950 #. type: Plain text
5951 #: build/C/man2/signal.2:174
5952 msgid ""
5953 "The only portable use of B<signal>()  is to set a signal's disposition to "
5954 "B<SIG_DFL> or B<SIG_IGN>.  The semantics when using B<signal>()  to "
5955 "establish a signal handler vary across systems (and POSIX.1 explicitly "
5956 "permits this variation); B<do not use it for this purpose.>"
5957 msgstr ""
5958 "移植性のある B<signal>()  の使い方は、シグナルの処理方法を B<SIG_DFL> か "
5959 "B<SIG_IGN> に設定する方法だけである。 シグナル・ハンドラを設定するのに "
5960 "B<signal>()  を使ったときの動作はシステムにより異なる (POSIX.1 は明示的にこの"
5961 "違いを認めている)。 B<移植性が必要なときはこのシステムコールを使用しないこ"
5962 "と。>"
5963
5964 #. type: Plain text
5965 #: build/C/man2/signal.2:180
5966 msgid ""
5967 "POSIX.1 solved the portability mess by specifying B<sigaction>(2), which "
5968 "provides explicit control of the semantics when a signal handler is invoked; "
5969 "use that interface instead of B<signal>()."
5970 msgstr ""
5971 "POSIX.1 は、 B<sigaction>(2)  を規定することで移植性に関する混乱を解決した。 "
5972 "B<sigaction>(2)  はシグナル・ハンドラが起動される際の挙動を明示的に制御でき"
5973 "る。 B<signal>()  の代わりにこのインターフェイスを使うこと。"
5974
5975 #. type: Plain text
5976 #: build/C/man2/signal.2:193
5977 msgid ""
5978 "In the original UNIX systems, when a handler that was established using "
5979 "B<signal>()  was invoked by the delivery of a signal, the disposition of the "
5980 "signal would be reset to B<SIG_DFL>, and the system did not block delivery "
5981 "of further instances of the signal.  System V also provides these semantics "
5982 "for B<signal>().  This was bad because the signal might be delivered again "
5983 "before the handler had a chance to reestablish itself.  Furthermore, rapid "
5984 "deliveries of the same signal could result in recursive invocations of the "
5985 "handler."
5986 msgstr ""
5987 "オリジナルの UNIX システムでは、 B<signal>()  を使って設定されたハンドラがシ"
5988 "グナルの配送により起動されると、 そのシグナルの処理方法は B<SIG_DFL> にリセッ"
5989 "トされ、システムは同じシグナルがさらに生成されても シグナルの配送をブロックし"
5990 "なかった。 System V でも、 B<signal>()  に対してこれらの挙動を規定している。 "
5991 "こうした挙動はまずく、ハンドラがハンドラ自身を再設定する機会が 来るより前に、"
5992 "同じシグナルがまた配送される可能性がある。 さらに、同じシグナルが立て続けに配"
5993 "送されると、同じシグナルが ハンドラを繰り返し起動されることになる。"
5994
5995 #. type: Plain text
5996 #: build/C/man2/signal.2:203
5997 msgid ""
5998 "BSD improved on this situation by changing the semantics of signal handling "
5999 "(but, unfortunately, silently changed the semantics when establishing a "
6000 "handler with B<signal>()).  On BSD, when a signal handler is invoked, the "
6001 "signal disposition is not reset, and further instances of the signal are "
6002 "blocked from being delivered while the handler is executing."
6003 msgstr ""
6004 "BSD では、シグナル処理の挙動を変更することで、この状況を改善した (しかし、残"
6005 "念なことに、 B<signal>()  を使ってハンドラを設定する際に挙動が黙って変更され"
6006 "る)。 BSD では、シグナルハンドラが起動された際、 シグナルの処理方法はリセット"
6007 "されず、 ハンドラの実行中は、同じシグナルのさらなる生成は配送がブロックされ"
6008 "る。"
6009
6010 #. type: Plain text
6011 #: build/C/man2/signal.2:205
6012 msgid "The situation on Linux is as follows:"
6013 msgstr "Linux での状況は以下の通りである。"
6014
6015 #. type: Plain text
6016 #: build/C/man2/signal.2:209
6017 msgid "The kernel's B<signal>()  system call provides System V semantics."
6018 msgstr "カーネルの B<signal>()  システムコールは System V 方式を提供している。"
6019
6020 #. type: Plain text
6021 #: build/C/man2/signal.2:225
6022 msgid ""
6023 "By default, in glibc 2 and later, the B<signal>()  wrapper function does not "
6024 "invoke the kernel system call.  Instead, it calls B<sigaction>(2)  using "
6025 "flags that supply BSD semantics.  This default behavior is provided as long "
6026 "as the B<_BSD_SOURCE> feature test macro is defined.  By default, "
6027 "B<_BSD_SOURCE> is defined; it is also implicitly defined if one defines "
6028 "B<_GNU_SOURCE>, and can of course be explicitly defined."
6029 msgstr ""
6030 "デフォルトでは、glibc 2 以降では、 B<signal>()  ラッパー関数はカーネルのシス"
6031 "テムコールを起動しない。 代わりに、ラッパー関数は BSD 方式を示すフラグを使っ"
6032 "て B<sigaction>(2)  を呼び出す。 機能検査マクロ B<_BSD_SOURCE> を定義していれ"
6033 "ば、このデフォルトの動作となる。 デフォルトでは、 B<_BSD_SOURCE> が定義され"
6034 "る。 B<_BSD_SOURCE> は B<_GNU_SOURCE> が定義された場合には暗黙のうちに定義さ"
6035 "れ、 もちろん明示的に定義することもできる。"
6036
6037 #.  System V semantics are also provided if one uses the separate
6038 #.  .BR sysv_signal (3)
6039 #.  function.
6040 #. type: Plain text
6041 #: build/C/man2/signal.2:248
6042 msgid ""
6043 "On glibc 2 and later, if the B<_BSD_SOURCE> feature test macro is not "
6044 "defined, then B<signal>()  provides System V semantics.  (The default "
6045 "implicit definition of B<_BSD_SOURCE> is not provided if one invokes B<gcc>"
6046 "(1)  in one of its standard modes (I<-std=xxx> or I<-ansi>)  or defines "
6047 "various other feature test macros such as B<_POSIX_SOURCE>, "
6048 "B<_XOPEN_SOURCE>, or B<_SVID_SOURCE>; see B<feature_test_macros>(7).)"
6049 msgstr ""
6050 "glibc 2 以降では、機能検査マクロ B<_BSD_SOURCE> が定義されていなければ、 "
6051 "B<signal>()  は System V 方式となる。 (B<gcc>(1)  が標準指定モード (I<-"
6052 "std=xxx> or I<-ansi>)  で起動された場合、もしくは B<_POSIX_SOURCE>, "
6053 "B<_XOPEN_SOURCE>, B<_SVID_SOURCE> といった他の様々な機能検査マクロが定義され"
6054 "た場合、 デフォルトの B<_BSD_SOURCE> の暗黙の定義は行われない。 "
6055 "B<feature_test_macros>(7)  を参照のこと。)"
6056
6057 #. type: Plain text
6058 #: build/C/man2/signal.2:259
6059 msgid ""
6060 "The B<signal>()  function in Linux libc4 and libc5 provide System V "
6061 "semantics.  If one on a libc5 system includes I<E<lt>bsd/signal.hE<gt>> "
6062 "instead of I<E<lt>signal.hE<gt>>, then B<signal>()  provides BSD semantics."
6063 msgstr ""
6064 "Linux の libc4 と libc5 の B<signal>()  関数は System V 方式である。 libc5 シ"
6065 "ステムにおいて I<E<lt>signal.hE<gt>> のかわりに I<E<lt>bsd/signal.hE<gt>> を"
6066 "インクルードすると、 B<signal>()  は B<__bsd_signal>()  に再定義され、 "
6067 "B<signal>()  は BSD 方式となる。"
6068
6069 #. type: Plain text
6070 #: build/C/man2/signal.2:278
6071 msgid ""
6072 "B<kill>(1), B<alarm>(2), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaction>"
6073 "(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2), "
6074 "B<bsd_signal>(3), B<raise>(3), B<siginterrupt>(3), B<sigqueue>(3), "
6075 "B<sigsetops>(3), B<sigvec>(3), B<sysv_signal>(3), B<signal>(7)"
6076 msgstr ""
6077 "B<kill>(1), B<alarm>(2), B<kill>(2), B<killpg>(2), B<pause>(2), B<sigaction>"
6078 "(2), B<signalfd>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2), "
6079 "B<bsd_signal>(3), B<raise>(3), B<siginterrupt>(3), B<sigqueue>(3), "
6080 "B<sigsetops>(3), B<sigvec>(3), B<sysv_signal>(3), B<signal>(7)"
6081
6082 #. type: Plain text
6083 #: build/C/man7/signal.7:47
6084 msgid "signal - overview of signals"
6085 msgstr "signal - シグナルの概要"
6086
6087 #. type: Plain text
6088 #: build/C/man7/signal.7:50
6089 msgid ""
6090 "Linux supports both POSIX reliable signals (hereinafter \"standard signals"
6091 "\") and POSIX real-time signals."
6092 msgstr ""
6093 "Linux は POSIX 信頼シグナル (reliable signal; 以後 \"標準シグナル\"と表記)  "
6094 "と POSIX リアルタイムシグナルの両方に対応している。"
6095
6096 #. type: SS
6097 #: build/C/man7/signal.7:50
6098 #, no-wrap
6099 msgid "Signal Dispositions"
6100 msgstr "シグナル処理方法"
6101
6102 #. type: Plain text
6103 #: build/C/man7/signal.7:55
6104 msgid ""
6105 "Each signal has a current I<disposition>, which determines how the process "
6106 "behaves when it is delivered the signal."
6107 msgstr ""
6108 "シグナルはそれぞれ現在の「処理方法 (disposition)」を保持しており、 この処理方"
6109 "法によりシグナルが配送された際にプロセスが どのような振舞いをするかが決まる。"
6110
6111 #. type: Plain text
6112 #: build/C/man7/signal.7:58
6113 msgid ""
6114 "The entries in the \"Action\" column of the tables below specify the default "
6115 "disposition for each signal, as follows:"
6116 msgstr ""
6117 "後述の表の \"動作\" の欄のエントリは各シグナルのデフォルトの 処理方法を示して"
6118 "おり、以下のような意味を持つ。"
6119
6120 #. type: IP
6121 #: build/C/man7/signal.7:58
6122 #, no-wrap
6123 msgid "Term"
6124 msgstr "Term"
6125
6126 #. type: Plain text
6127 #: build/C/man7/signal.7:60
6128 msgid "Default action is to terminate the process."
6129 msgstr "デフォルトの動作はプロセス終了。"
6130
6131 #. type: IP
6132 #: build/C/man7/signal.7:60
6133 #, no-wrap
6134 msgid "Ign"
6135 msgstr "Ign"
6136
6137 #. type: Plain text
6138 #: build/C/man7/signal.7:62
6139 msgid "Default action is to ignore the signal."
6140 msgstr "デフォルトの動作はこのシグナルの無視。"
6141
6142 #. type: IP
6143 #: build/C/man7/signal.7:62
6144 #, no-wrap
6145 msgid "Core"
6146 msgstr "Core"
6147
6148 #. type: Plain text
6149 #: build/C/man7/signal.7:65
6150 msgid ""
6151 "Default action is to terminate the process and dump core (see B<core>(5))."
6152 msgstr "デフォルトの動作はプロセス終了とコアダンプ出力 (B<core>(5)  参照)。"
6153
6154 #. type: IP
6155 #: build/C/man7/signal.7:65
6156 #, no-wrap
6157 msgid "Stop"
6158 msgstr "Stop"
6159
6160 #. type: Plain text
6161 #: build/C/man7/signal.7:67
6162 msgid "Default action is to stop the process."
6163 msgstr "デフォルトの動作はプロセスの一時停止。"
6164
6165 #. type: IP
6166 #: build/C/man7/signal.7:67
6167 #, no-wrap
6168 msgid "Cont"
6169 msgstr "Cont"
6170
6171 #. type: Plain text
6172 #: build/C/man7/signal.7:69
6173 msgid "Default action is to continue the process if it is currently stopped."
6174 msgstr "デフォルトの動作は、プロセスが停止中の場合にその実行の再開。"
6175
6176 #. type: Plain text
6177 #: build/C/man7/signal.7:91
6178 msgid ""
6179 "A process can change the disposition of a signal using B<sigaction>(2)  or "
6180 "B<signal>(2).  (The latter is less portable when establishing a signal "
6181 "handler; see B<signal>(2)  for details.)  Using these system calls, a "
6182 "process can elect one of the following behaviors to occur on delivery of the "
6183 "signal: perform the default action; ignore the signal; or catch the signal "
6184 "with a I<signal handler>, a programmer-defined function that is "
6185 "automatically invoked when the signal is delivered.  (By default, the signal "
6186 "handler is invoked on the normal process stack.  It is possible to arrange "
6187 "that the signal handler uses an alternate stack; see B<sigaltstack>(2)  for "
6188 "a discussion of how to do this and when it might be useful.)"
6189 msgstr ""
6190 "プロセスは、 B<sigaction>(2)  や B<signal>(2)  を使って、シグナルの処理方法を"
6191 "変更することができる (B<signal>(2)  の方がシグナルハンドラを設定する際の移植"
6192 "性が低い; 詳細は B<signal>(2)  を参照)。 シグナルの配送時に起こる動作として "
6193 "プロセスが選択できるのは、次のいずれか一つである。 デフォルトの動作を実行す"
6194 "る、シグナルを無視する、 I<シグナルハンドラ (signal handler)> でシグナルを捕"
6195 "捉する。シグナルハンドラとは、シグナル配送時に 自動的に起動されるプログラマ定"
6196 "義の関数である。 (デフォルトでは、シグナルハンドラは通常のプロセスのスタック"
6197 "上で起動される。 シグナルハンドラが代替スタック (alternate stack) を使用する"
6198 "ように設定する こともできる。代替スタックを使用するように設定する方法と、どの"
6199 "ような際に 代替スタックが役に立つかについての議論については B<sigaltstack>"
6200 "(2)  を参照のこと。"
6201
6202 #. type: Plain text
6203 #: build/C/man7/signal.7:95
6204 msgid ""
6205 "The signal disposition is a per-process attribute: in a multithreaded "
6206 "application, the disposition of a particular signal is the same for all "
6207 "threads."
6208 msgstr ""
6209 "シグナルの処理方法はプロセス単位の属性である。 マルチスレッドのアプリケーショ"
6210 "ンでは、あるシグナルの処理方法は 全てのスレッドで同じである。"
6211
6212 #. type: SS
6213 #: build/C/man7/signal.7:103
6214 #, no-wrap
6215 msgid "Sending a Signal"
6216 msgstr "シグナルの送信"
6217
6218 #. type: Plain text
6219 #: build/C/man7/signal.7:106
6220 msgid ""
6221 "The following system calls and library functions allow the caller to send a "
6222 "signal:"
6223 msgstr ""
6224 "以下のシステムコールとライブラリ関数を使って、 呼び出し者はシグナルを送信する"
6225 "ことができる。"
6226
6227 #. type: TP
6228 #: build/C/man7/signal.7:106
6229 #, no-wrap
6230 msgid "B<raise>(3)"
6231 msgstr "B<raise>(3)"
6232
6233 #. type: Plain text
6234 #: build/C/man7/signal.7:109
6235 msgid "Sends a signal to the calling thread."
6236 msgstr "呼び出したスレッドにシグナルを送る。"
6237
6238 #. type: Plain text
6239 #: build/C/man7/signal.7:114
6240 msgid ""
6241 "Sends a signal to a specified process, to all members of a specified process "
6242 "group, or to all processes on the system."
6243 msgstr ""
6244 "指定されたプロセスや、指定されたプロセスグループの全メンバー、 システムの全プ"
6245 "ロセスにシグナルを送る。"
6246
6247 #. type: TP
6248 #: build/C/man7/signal.7:114
6249 #, no-wrap
6250 msgid "B<killpg>(2)"
6251 msgstr "B<killpg>(2)"
6252
6253 #. type: Plain text
6254 #: build/C/man7/signal.7:117
6255 msgid "Sends a signal to all of the members of a specified process group."
6256 msgstr "指定されたプロセスグループの全メンバーにシグナルを送る。"
6257
6258 #. type: TP
6259 #: build/C/man7/signal.7:117
6260 #, no-wrap
6261 msgid "B<pthread_kill>(3)"
6262 msgstr "B<pthread_kill>(3)"
6263
6264 #. type: Plain text
6265 #: build/C/man7/signal.7:121
6266 msgid ""
6267 "Sends a signal to a specified POSIX thread in the same process as the caller."
6268 msgstr ""
6269 "呼び出し者と同じプロセス内の指定された POSIX スレッドにシグナルを送る。"
6270
6271 #. type: TP
6272 #: build/C/man7/signal.7:121
6273 #, no-wrap
6274 msgid "B<tgkill>(2)"
6275 msgstr "B<tgkill>(2)"
6276
6277 #. type: Plain text
6278 #: build/C/man7/signal.7:126
6279 msgid ""
6280 "Sends a signal to a specified thread within a specific process.  (This is "
6281 "the system call used to implement B<pthread_kill>(3).)"
6282 msgstr ""
6283 "指定されたプロセス内の指定されたスレッドにシグナルを送る (このシステムコール"
6284 "を使って B<pthread_kill>(3)  は実装されている)。"
6285
6286 #. type: Plain text
6287 #: build/C/man7/signal.7:129
6288 msgid "Sends a real-time signal with accompanying data to a specified process."
6289 msgstr "指定されたプロセスに付属データとともにリアルタイムシグナルを送る。"
6290
6291 #. type: SS
6292 #: build/C/man7/signal.7:129
6293 #, no-wrap
6294 msgid "Waiting for a Signal to be Caught"
6295 msgstr "シグナルが捕捉されるのを待つ"
6296
6297 #. type: Plain text
6298 #: build/C/man7/signal.7:133
6299 msgid ""
6300 "The following system calls suspend execution of the calling process or "
6301 "thread until a signal is caught (or an unhandled signal terminates the "
6302 "process):"
6303 msgstr ""
6304 "以下のシステムコールを使って、シグナルが捕捉されるまで 呼び出したプロセスやス"
6305 "レッドの実行を中断 (suspend) することができる (ハンドラが設定されていないシグ"
6306 "ナルによりそのプロセスが終了した 場合にも実行の停止は終了する)。"
6307
6308 #. type: TP
6309 #: build/C/man7/signal.7:133
6310 #, no-wrap
6311 msgid "B<pause>(2)"
6312 msgstr "B<pause>(2)"
6313
6314 #. type: Plain text
6315 #: build/C/man7/signal.7:136
6316 msgid "Suspends execution until any signal is caught."
6317 msgstr "何かシグナルが捕捉されるまで実行を停止する。"
6318
6319 #. type: TP
6320 #: build/C/man7/signal.7:136
6321 #, no-wrap
6322 msgid "B<sigsuspend>(2)"
6323 msgstr "B<sigsuspend>(2)"
6324
6325 #. type: Plain text
6326 #: build/C/man7/signal.7:140
6327 msgid ""
6328 "Temporarily changes the signal mask (see below) and suspends execution until "
6329 "one of the unmasked signals is caught."
6330 msgstr ""
6331 "一時的にシグナルマスク (下記参照) を変更し、 マスクされていないシグナルのいず"
6332 "れかが捕捉されるまで 実行を中断する。"
6333
6334 #. type: SS
6335 #: build/C/man7/signal.7:140
6336 #, no-wrap
6337 msgid "Synchronously Accepting a Signal"
6338 msgstr "シグナルの同期受信"
6339
6340 #. type: Plain text
6341 #: build/C/man7/signal.7:147
6342 msgid ""
6343 "Rather than asynchronously catching a signal via a signal handler, it is "
6344 "possible to synchronously accept the signal, that is, to block execution "
6345 "until the signal is delivered, at which point the kernel returns information "
6346 "about the signal to the caller.  There are two general ways to do this:"
6347 msgstr ""
6348 "シグナルハンドラ経由でシグナルを非同期 (asynchronously) で捕捉する以外にも、 "
6349 "シグナルを同期 (synchronously) して受け付けることもできる。 同期して受け付け"
6350 "るとは、シグナルが配送されるまで実行を停止 (block)  するということである。シ"
6351 "グナルを受け付けた際に、カーネルは そのシグナルに関する情報を呼び出し者に返"
6352 "す。 これを行う一般的な方法が二つある。"
6353
6354 #. type: Plain text
6355 #: build/C/man7/signal.7:155
6356 msgid ""
6357 "B<sigwaitinfo>(2), B<sigtimedwait>(2), and B<sigwait>(3)  suspend execution "
6358 "until one of the signals in a specified set is delivered.  Each of these "
6359 "calls returns information about the delivered signal."
6360 msgstr ""
6361 "B<sigwaitinfo>(2), B<sigtimedwait>(2), B<sigwait>(3)  は、指定されたシグナル"
6362 "集合のシグナルの一つが配送されるまで実行を中断する。 どのシステムコールや関数"
6363 "でも、配送されたシグナルに関する情報が返される。"
6364
6365 #. type: Plain text
6366 #: build/C/man7/signal.7:168
6367 msgid ""
6368 "B<signalfd>(2)  returns a file descriptor that can be used to read "
6369 "information about signals that are delivered to the caller.  Each B<read>"
6370 "(2)  from this file descriptor blocks until one of the signals in the set "
6371 "specified in the B<signalfd>(2)  call is delivered to the caller.  The "
6372 "buffer returned by B<read>(2)  contains a structure describing the signal."
6373 msgstr ""
6374 "B<signalfd>(2)  が返すファイルディスクリプタを使うと、呼び出し元に配送された "
6375 "シグナルに関する情報を読み出すことができる。 このファイルディスクリプタから"
6376 "の B<read>(2)  は、 B<signalfd>(2)  の呼び出し時に指定されたシグナル集合のシ"
6377 "グナルの一つが呼び出し元に 配送されるまで停止 (block) する。 B<read>(2)  が返"
6378 "すバッファにはシグナルに関する情報を格納した構造体が入っている。"
6379
6380 #. type: SS
6381 #: build/C/man7/signal.7:168
6382 #, no-wrap
6383 msgid "Signal Mask and Pending Signals"
6384 msgstr "シグナルマスクと処理待ちシグナル"
6385
6386 #. type: Plain text
6387 #: build/C/man7/signal.7:175
6388 msgid ""
6389 "A signal may be I<blocked>, which means that it will not be delivered until "
6390 "it is later unblocked.  Between the time when it is generated and when it is "
6391 "delivered a signal is said to be I<pending>."
6392 msgstr ""
6393 "シグナルは I<ブロック (block)> されることがある。ブロックされると、そのシグナ"
6394 "ルは その後ブロックを解除されるまで配送されなくなる。 シグナルが生成されてか"
6395 "ら配送されるまでの間、そのシグナルは I<処理待ち (pending)> であると呼ばれる。"
6396
6397 #. type: Plain text
6398 #: build/C/man7/signal.7:184
6399 msgid ""
6400 "Each thread in a process has an independent I<signal mask>, which indicates "
6401 "the set of signals that the thread is currently blocking.  A thread can "
6402 "manipulate its signal mask using B<pthread_sigmask>(3).  In a traditional "
6403 "single-threaded application, B<sigprocmask>(2)  can be used to manipulate "
6404 "the signal mask."
6405 msgstr ""
6406 "プロセス内の各スレッドは、それぞれ独立な I<シグナルマスク (signal mask)> を持"
6407 "つ。シグナルマスクはそのスレッドが現在ブロックしている シグナル集合を示すもの"
6408 "である。 スレッドは、 B<pthread_sigmask>(3)  を使って自分のシグナルマスクを操"
6409 "作できる。 伝統的なシングルスレッドのアプリケーションでは、 B<sigprocmask>"
6410 "(2)  を使って、シグナルマスクを操作できる。"
6411
6412 #. type: Plain text
6413 #: build/C/man7/signal.7:190 build/C/man2/sigprocmask.2:121
6414 msgid ""
6415 "A child created via B<fork>(2)  inherits a copy of its parent's signal mask; "
6416 "the signal mask is preserved across B<execve>(2)."
6417 msgstr ""
6418 "B<fork>(2)  経由で作成された子プロセスは親プロセスのシグナルマスクのコピーを"
6419 "継承する。 B<execve>(2)  の前後でシグナルマスクは保持される。"
6420
6421 #. type: Plain text
6422 #: build/C/man7/signal.7:207
6423 msgid ""
6424 "A signal may be generated (and thus pending)  for a process as a whole (e."
6425 "g., when sent using B<kill>(2))  or for a specific thread (e.g., certain "
6426 "signals, such as B<SIGSEGV> and B<SIGFPE>, generated as a consequence of "
6427 "executing a specific machine-language instruction are thread directed, as "
6428 "are signals targeted at a specific thread using B<pthread_kill>(3)).  A "
6429 "process-directed signal may be delivered to any one of the threads that does "
6430 "not currently have the signal blocked.  If more than one of the threads has "
6431 "the signal unblocked, then the kernel chooses an arbitrary thread to which "
6432 "to deliver the signal."
6433 msgstr ""
6434 "生成されるシグナル (したがって処理待ちとなるシグナル) には、 プロセス全体宛て"
6435 "と特定のスレッド宛てがある。 例えば、プロセス全体宛てのシグナルは B<kill>"
6436 "(2)  を使って送信される。 特定のマシン語の命令の実行の結果として生成される、 "
6437 "B<SIGSEGV> や B<SIGFPE> などのシグナルは、スレッド宛てとなる。 また、 "
6438 "B<pthread_kill>(3)  を使って特定のスレッド宛てに生成されたシグナルも スレッド"
6439 "宛てとなる。 プロセス宛てのシグナルは、そのシグナルをブロックしていないスレッ"
6440 "ドのうち いずれかの一つに配送することができる。そのシグナルをブロックしていな"
6441 "い スレッドが複数ある場合、シグナルを配送するスレッドはカーネルが 無作為に選"
6442 "択する。"
6443
6444 #. type: Plain text
6445 #: build/C/man7/signal.7:214
6446 msgid ""
6447 "A thread can obtain the set of signals that it currently has pending using "
6448 "B<sigpending>(2).  This set will consist of the union of the set of pending "
6449 "process-directed signals and the set of signals pending for the calling "
6450 "thread."
6451 msgstr ""
6452 "スレッドは、 B<sigpending>(2)  を使って、現在処理待ちのシグナル集合を取得する"
6453 "ことができる。 この集合は、プロセス宛ての処理待ちシグナルと 呼び出したスレッ"
6454 "ド宛てのシグナルの両方から構成される。"
6455
6456 #. type: Plain text
6457 #: build/C/man7/signal.7:220 build/C/man2/sigpending.2:76
6458 msgid ""
6459 "A child created via B<fork>(2)  initially has an empty pending signal set; "
6460 "the pending signal set is preserved across an B<execve>(2)."
6461 msgstr ""
6462 "B<fork>(2)  経由で作成された子プロセスでは、処理待ちのシグナル集合は空の集合"
6463 "で初期化される。 B<execve>(2)  の前後で、処理待ちのシグナル集合は保持される。"
6464
6465 #. type: SS
6466 #: build/C/man7/signal.7:220
6467 #, no-wrap
6468 msgid "Standard Signals"
6469 msgstr "標準シグナル"
6470
6471 #.  parisc is a law unto itself
6472 #. type: Plain text
6473 #: build/C/man7/signal.7:230
6474 msgid ""
6475 "Linux supports the standard signals listed below.  Several signal numbers "
6476 "are architecture-dependent, as indicated in the \"Value\" column.  (Where "
6477 "three values are given, the first one is usually valid for alpha and sparc, "
6478 "the middle one for ix86, ia64, ppc, s390, arm and sh, and the last one for "
6479 "mips.  A - denotes that a signal is absent on the corresponding "
6480 "architecture.)"
6481 msgstr ""
6482 "Linux は以下に示す標準シグナルに対応している。 シグナル番号の一部はアーキテク"
6483 "チャ依存であり、\"値\" 欄に示す通りである。 (3つの値が書かれているものは、 1"
6484 "つ目が alpha と sparc で通常有効な値、 真ん中が ix86, ia64, ppc, s390, arm, "
6485 "sh での値、最後が mips での値である。 - はそのアーキテクチャにおいて対応する"
6486 "シグナルがないことを示す。)"
6487
6488 #. type: Plain text
6489 #: build/C/man7/signal.7:232
6490 msgid "First the signals described in the original POSIX.1-1990 standard."
6491 msgstr "最初に、POSIX.1-1990 に定義されているシグナルを示す。"
6492
6493 #. type: tbl table
6494 #: build/C/man7/signal.7:236 build/C/man7/signal.7:272
6495 #: build/C/man7/signal.7:301
6496 #, no-wrap
6497 msgid "Signal\tValue\tAction\tComment\n"
6498 msgstr "シグナル\t値\t動作\tコメント\n"
6499
6500 #. type: tbl table
6501 #: build/C/man7/signal.7:237
6502 #, no-wrap
6503 msgid "SIGHUP\t\\01\tTerm\tHangup detected on controlling terminal\n"
6504 msgstr "SIGHUP\t\\01\tTerm\t制御端末(controlling terminal)のハングアップ検出、\n"
6505
6506 #. type: tbl table
6507 #: build/C/man7/signal.7:238
6508 #, no-wrap
6509 msgid "\t\t\tor death of controlling process\n"
6510 msgstr "\t\t\tまたは制御しているプロセスの死\n"
6511
6512 #. type: tbl table
6513 #: build/C/man7/signal.7:239
6514 #, no-wrap
6515 msgid "SIGINT\t\\02\tTerm\tInterrupt from keyboard\n"
6516 msgstr "SIGINT\t\\02\tTerm\tキーボードからの割り込み (Interrupt)\n"
6517
6518 #. type: tbl table
6519 #: build/C/man7/signal.7:240
6520 #, no-wrap
6521 msgid "SIGQUIT\t\\03\tCore\tQuit from keyboard\n"
6522 msgstr "SIGQUIT\t\\03\tCore\tキーボードによる中止 (Quit)\n"
6523
6524 #. type: tbl table
6525 #: build/C/man7/signal.7:241
6526 #, no-wrap
6527 msgid "SIGILL\t\\04\tCore\tIllegal Instruction\n"
6528 msgstr "SIGILL\t\\04\tCore\t不正な命令\n"
6529
6530 #. type: tbl table
6531 #: build/C/man7/signal.7:242
6532 #, no-wrap
6533 msgid "SIGABRT\t\\06\tCore\tAbort signal from B<abort>(3)\n"
6534 msgstr "SIGABRT\t\\06\tCore\tB<abort>(3) からの中断 (Abort) シグナル\n"
6535
6536 #. type: tbl table
6537 #: build/C/man7/signal.7:243
6538 #, no-wrap
6539 msgid "SIGFPE\t\\08\tCore\tFloating point exception\n"
6540 msgstr "SIGFPE\t\\08\tCore\t浮動小数点例外\n"
6541
6542 #. type: tbl table
6543 #: build/C/man7/signal.7:244
6544 #, no-wrap
6545 msgid "SIGKILL\t\\09\tTerm\tKill signal\n"
6546 msgstr "SIGKILL\t\\09\tTerm\tKill シグナル\n"
6547
6548 #. type: tbl table
6549 #: build/C/man7/signal.7:245
6550 #, no-wrap
6551 msgid "SIGSEGV\t11\tCore\tInvalid memory reference\n"
6552 msgstr "SIGSEGV\t11\tCore\t不正なメモリ参照\n"
6553
6554 #. type: tbl table
6555 #: build/C/man7/signal.7:246
6556 #, no-wrap
6557 msgid "SIGPIPE\t13\tTerm\tBroken pipe: write to pipe with no\n"
6558 msgstr "SIGPIPE\t13\tTerm\tパイプ破壊:\n"
6559
6560 #. type: tbl table
6561 #: build/C/man7/signal.7:247
6562 #, no-wrap
6563 msgid "\t\t\treaders\n"
6564 msgstr "\t\t\t読み手の無いパイプへの書き出し\n"
6565
6566 #. type: tbl table
6567 #: build/C/man7/signal.7:248
6568 #, no-wrap
6569 msgid "SIGALRM\t14\tTerm\tTimer signal from B<alarm>(2)\n"
6570 msgstr "SIGALRM\t14\tTerm\tB<alarm>(2) からのタイマーシグナル\n"
6571
6572 #. type: tbl table
6573 #: build/C/man7/signal.7:249
6574 #, no-wrap
6575 msgid "SIGTERM\t15\tTerm\tTermination signal\n"
6576 msgstr "SIGTERM\t15\tTerm\t終了 (termination) シグナル\n"
6577
6578 #. type: tbl table
6579 #: build/C/man7/signal.7:250
6580 #, no-wrap
6581 msgid "SIGUSR1\t30,10,16\tTerm\tUser-defined signal 1\n"
6582 msgstr "SIGUSR1\t30,10,16\tTerm\tユーザ定義シグナル 1\n"
6583
6584 #. type: tbl table
6585 #: build/C/man7/signal.7:251
6586 #, no-wrap
6587 msgid "SIGUSR2\t31,12,17\tTerm\tUser-defined signal 2\n"
6588 msgstr "SIGUSR2\t31,12,17\tTerm\tユーザ定義シグナル 2\n"
6589
6590 #. type: tbl table
6591 #: build/C/man7/signal.7:252
6592 #, no-wrap
6593 msgid "SIGCHLD\t20,17,18\tIgn\tChild stopped or terminated\n"
6594 msgstr "SIGCHLD\t20,17,18\tIgn\t子プロセスの一時停止 (stop) または終了\n"
6595
6596 #. type: tbl table
6597 #: build/C/man7/signal.7:253
6598 #, no-wrap
6599 msgid "SIGCONT\t19,18,25\tCont\tContinue if stopped\n"
6600 msgstr "SIGCONT\t19,18,25\tCont\t一時停止 (stop) からの再開\n"
6601
6602 #. type: tbl table
6603 #: build/C/man7/signal.7:254
6604 #, no-wrap
6605 msgid "SIGSTOP\t17,19,23\tStop\tStop process\n"
6606 msgstr "SIGSTOP\t17,19,23\tStop\tプロセスの一時停止 (stop)\n"
6607
6608 #. type: tbl table
6609 #: build/C/man7/signal.7:255
6610 #, no-wrap
6611 msgid "SIGTSTP\t18,20,24\tStop\tStop typed at tty\n"
6612 msgstr "SIGTSTP\t18,20,24\tStop\t端末 (tty) より入力された一時停止 (stop)\n"
6613
6614 #. type: tbl table
6615 #: build/C/man7/signal.7:256
6616 #, no-wrap
6617 msgid "SIGTTIN\t21,21,26\tStop\ttty input for background process\n"
6618 msgstr "SIGTTIN\t21,21,26\tStop\tバックグランドプロセスの tty 入力\n"
6619
6620 #. type: tbl table
6621 #: build/C/man7/signal.7:257
6622 #, no-wrap
6623 msgid "SIGTTOU\t22,22,27\tStop\ttty output for background process\n"
6624 msgstr "SIGTTOU\t22,22,27\tStop\tバックグランドプロセスの tty 出力\n"
6625
6626 #. type: Plain text
6627 #: build/C/man7/signal.7:265
6628 msgid ""
6629 "The signals B<SIGKILL> and B<SIGSTOP> cannot be caught, blocked, or ignored."
6630 msgstr "シグナル B<SIGKILL> と B<SIGSTOP> はキャッチ、ブロック、無視できない。"
6631
6632 #. type: Plain text
6633 #: build/C/man7/signal.7:268
6634 msgid ""
6635 "Next the signals not in the POSIX.1-1990 standard but described in SUSv2 and "
6636 "POSIX.1-2001."
6637 msgstr ""
6638 "次に、 POSIX.1-1990 標準にはないが、 SUSv2 と POSIX.1-2001 に記述されているシ"
6639 "グナルを示す。"
6640
6641 #. type: tbl table
6642 #: build/C/man7/signal.7:273
6643 #, no-wrap
6644 msgid "SIGBUS\t10,7,10\tCore\tBus error (bad memory access)\n"
6645 msgstr "SIGBUS\t10,7,10\tCore\tバスエラー (不正なメモリアクセス)\n"
6646
6647 #. type: tbl table
6648 #: build/C/man7/signal.7:274
6649 #, no-wrap
6650 msgid "SIGPOLL\t\tTerm\tPollable event (Sys V).\n"
6651 msgstr "SIGPOLL\t\tTerm\tポーリング可能なイベント (Sys V)。\n"
6652
6653 #. type: tbl table
6654 #: build/C/man7/signal.7:275
6655 #, no-wrap
6656 msgid "\t\t\tSynonym for B<SIGIO>\n"
6657 msgstr "\t\t\tB<SIGIO> と同義\n"
6658
6659 #. type: tbl table
6660 #: build/C/man7/signal.7:276
6661 #, no-wrap
6662 msgid "SIGPROF\t27,27,29\tTerm\tProfiling timer expired\n"
6663 msgstr "SIGPROF\t27,27,29\tTerm\tprofiling タイマの時間切れ\n"
6664
6665 #. type: tbl table
6666 #: build/C/man7/signal.7:277
6667 #, no-wrap
6668 msgid "SIGSYS\t12,31,12\tCore\tBad argument to routine (SVr4)\n"
6669 msgstr "SIGSYS\t12,31,12\tCore\tルーチンへの引き数が不正 (SVr4)\n"
6670
6671 #. type: tbl table
6672 #: build/C/man7/signal.7:278
6673 #, no-wrap
6674 msgid "SIGTRAP\t5\tCore\tTrace/breakpoint trap\n"
6675 msgstr "SIGTRAP\t5\tCore\tトレース/ブレークポイント トラップ\n"
6676
6677 #. type: tbl table
6678 #: build/C/man7/signal.7:279
6679 #, no-wrap
6680 msgid "SIGURG\t16,23,21\tIgn\tUrgent condition on socket (4.2BSD)\n"
6681 msgstr "SIGURG\t16,23,21\tIgn\tソケットの緊急事態 (urgent condition) (4.2BSD)\n"
6682
6683 #. type: tbl table
6684 #: build/C/man7/signal.7:280
6685 #, no-wrap
6686 msgid "SIGVTALRM\t26,26,28\tTerm\tVirtual alarm clock (4.2BSD)\n"
6687 msgstr "SIGVTALRM\t26,26,28\tTerm\t仮想アラームクロック (4.2BSD)\n"
6688
6689 #. type: tbl table
6690 #: build/C/man7/signal.7:281
6691 #, no-wrap
6692 msgid "SIGXCPU\t24,24,30\tCore\tCPU time limit exceeded (4.2BSD)\n"
6693 msgstr "SIGXCPU\t24,24,30\tCore\tCPU時間制限超過 (4.2BSD)\n"
6694
6695 #. type: tbl table
6696 #: build/C/man7/signal.7:282
6697 #, no-wrap
6698 msgid "SIGXFSZ\t25,25,31\tCore\tFile size limit exceeded (4.2BSD)\n"
6699 msgstr "SIGXFSZ\t25,25,31\tCore\tファイルサイズ制限の超過 (4.2BSD)\n"
6700
6701 #. type: Plain text
6702 #: build/C/man7/signal.7:295
6703 msgid ""
6704 "Up to and including Linux 2.2, the default behavior for B<SIGSYS>, "
6705 "B<SIGXCPU>, B<SIGXFSZ>, and (on architectures other than SPARC and MIPS)  "
6706 "B<SIGBUS> was to terminate the process (without a core dump).  (On some "
6707 "other UNIX systems the default action for B<SIGXCPU> and B<SIGXFSZ> is to "
6708 "terminate the process without a core dump.)  Linux 2.4 conforms to the "
6709 "POSIX.1-2001 requirements for these signals, terminating the process with a "
6710 "core dump."
6711 msgstr ""
6712 "Linux 2.2 以前では、 B<SIGSYS>, B<SIGXCPU>, B<SIGXFSZ> および SPARC と MIPS "
6713 "以外のアーキテクチャでの B<SIGBUS> のデフォルトの振る舞いは (コアダンプ出力な"
6714 "しの) プロセス終了であった。 (他の UNIX システムにも B<SIGXCPU> と "
6715 "B<SIGXFSZ> のデフォルトの動作がコアダンプなしのプロセス終了のものがある。)  "
6716 "Linux 2.4 では、POSIX.1-2001 での要求仕様に準拠して、 これらのシグナルで、プ"
6717 "ロセスを終了させ、コアダンプを出力する ようになっている。"
6718
6719 #. type: Plain text
6720 #: build/C/man7/signal.7:297
6721 msgid "Next various other signals."
6722 msgstr "次にその他の各種シグナルを示す。"
6723
6724 #. type: tbl table
6725 #: build/C/man7/signal.7:302
6726 #, no-wrap
6727 msgid "SIGIOT\t6\tCore\tIOT trap. A synonym for B<SIGABRT>\n"
6728 msgstr "SIGIOT\t6\tCore\tIOT トラップ。B<SIGABRT> と同義\n"
6729
6730 #. type: tbl table
6731 #: build/C/man7/signal.7:303
6732 #, no-wrap
6733 msgid "SIGEMT\t7,-,7\tTerm\n"
6734 msgstr "SIGEMT\t7,-,7\tTerm\n"
6735
6736 #. type: tbl table
6737 #: build/C/man7/signal.7:304
6738 #, no-wrap
6739 msgid "SIGSTKFLT\t-,16,-\tTerm\tStack fault on coprocessor (unused)\n"
6740 msgstr "SIGSTKFLT\t-,16,-\tA\t数値演算プロセッサにおけるスタックフォルト (未使用)\n"
6741
6742 #. type: tbl table
6743 #: build/C/man7/signal.7:305
6744 #, no-wrap
6745 msgid "SIGIO\t23,29,22\tTerm\tI/O now possible (4.2BSD)\n"
6746 msgstr "SIGIO\t23,29,22\tTerm\t入出力が可能になった (4.2BSD)\n"
6747
6748 #. type: tbl table
6749 #: build/C/man7/signal.7:306
6750 #, no-wrap
6751 msgid "SIGCLD\t-,-,18\tIgn\tA synonym for B<SIGCHLD>\n"
6752 msgstr "SIGCLD\t-,-,18\tIgn\tB<SIGCHLD> と同義\n"
6753
6754 #. type: tbl table
6755 #: build/C/man7/signal.7:307
6756 #, no-wrap
6757 msgid "SIGPWR\t29,30,19\tTerm\tPower failure (System V)\n"
6758 msgstr "SIGPWR\t29,30,19\tTerm\t電源喪失 (Power failure) (System V)\n"
6759
6760 #. type: tbl table
6761 #: build/C/man7/signal.7:308
6762 #, no-wrap
6763 msgid "SIGINFO\t29,-,-\t\tA synonym for B<SIGPWR>\n"
6764 msgstr "SIGINFO\t29,-,-\t \tB<SIGPWR> と同義\n"
6765
6766 #. type: tbl table
6767 #: build/C/man7/signal.7:309
6768 #, no-wrap
6769 msgid "SIGLOST\t-,-,-\tTerm\tFile lock lost\n"
6770 msgstr "SIGLOST\t-,-,-\tTerm\tファイルロックが失われた\n"
6771
6772 #. type: tbl table
6773 #: build/C/man7/signal.7:310
6774 #, no-wrap
6775 msgid "SIGWINCH\t28,28,20\tIgn\tWindow resize signal (4.3BSD, Sun)\n"
6776 msgstr "SIGWINCH\t28,28,20\tIgn\tウィンドウ リサイズ シグナル (4.3BSD, Sun)\n"
6777
6778 #. type: tbl table
6779 #: build/C/man7/signal.7:311
6780 #, no-wrap
6781 msgid "SIGUNUSED\t-,31,-\tCore\tSynonymous with B<SIGSYS>\n"
6782 msgstr "SIGUNUSED\t-,31,-\tCore\tB<SIGSYS> と同義\n"
6783
6784 #. type: Plain text
6785 #: build/C/man7/signal.7:321
6786 msgid ""
6787 "(Signal 29 is B<SIGINFO> / B<SIGPWR> on an alpha but B<SIGLOST> on a sparc.)"
6788 msgstr ""
6789 "(シグナル 29 は alpha では B<SIGINFO> / B<SIGPWR> だが、sparc では "
6790 "B<SIGLOST> である。)"
6791
6792 #. type: Plain text
6793 #: build/C/man7/signal.7:327
6794 msgid ""
6795 "B<SIGEMT> is not specified in POSIX.1-2001, but nevertheless appears on most "
6796 "other UNIX systems, where its default action is typically to terminate the "
6797 "process with a core dump."
6798 msgstr ""
6799 "B<SIGEMT> は POSIX.1-2001 に規定されていないが、 その他の多くの UNIX システム"
6800 "に存在する。 デフォルトの動作は多くの場合、コアダンプ出力を伴うプロセスの終了"
6801 "である。"
6802
6803 #. type: Plain text
6804 #: build/C/man7/signal.7:331
6805 msgid ""
6806 "B<SIGPWR> (which is not specified in POSIX.1-2001) is typically ignored by "
6807 "default on those other UNIX systems where it appears."
6808 msgstr ""
6809 "B<SIGPWR> は (POSIX.1-2001 に規定されていないが) このシグナルが存在する 他の "
6810 "UNIX システムでは多くの場合、デフォルト動作は無視である。"
6811
6812 #. type: Plain text
6813 #: build/C/man7/signal.7:335
6814 msgid ""
6815 "B<SIGIO> (which is not specified in POSIX.1-2001) is ignored by default on "
6816 "several other UNIX systems."
6817 msgstr ""
6818 "B<SIGIO> は (POSIX.1-2001 に規定されていないが) いくつかの他の UNIX システム"
6819 "では デフォルト動作は無視である。"
6820
6821 #.  parisc is the only exception: SIGSYS is 12, SIGUNUSED is 31
6822 #. type: Plain text
6823 #: build/C/man7/signal.7:342
6824 msgid ""
6825 "Where defined, B<SIGUNUSED> is synonymous with B<SIGSYS> on most "
6826 "architectures."
6827 msgstr ""
6828 "B<SIGUNUSED> が定義されている場合には、ほとんどのアーキテクチャで B<SIGSYS> "
6829 "の同義語となっている。"
6830
6831 #. type: SS
6832 #: build/C/man7/signal.7:342
6833 #, no-wrap
6834 msgid "Real-time Signals"
6835 msgstr "リアルタイムシグナル"
6836
6837 #. type: Plain text
6838 #: build/C/man7/signal.7:352
6839 msgid ""
6840 "Linux supports real-time signals as originally defined in the POSIX.1b real-"
6841 "time extensions (and now included in POSIX.1-2001).  The range of supported "
6842 "real-time signals is defined by the macros B<SIGRTMIN> and B<SIGRTMAX>.  "
6843 "POSIX.1-2001 requires that an implementation support at least "
6844 "B<_POSIX_RTSIG_MAX> (8) real-time signals."
6845 msgstr ""
6846 "Linux はリアルタイムシグナルをサポートしている。 リアルタイムシグナルは元々 "
6847 "POSIX.1b のリアルタイム拡張で定義されて いるものであり、現在では "
6848 "POSIX.1-2001 に含まれている。 対応しているリアルタイムシグナルの範囲は、マク"
6849 "ロ B<SIGRTMIN> と B<SIGRTMAX> で定義される。 POSIX.1-2001 では、少なくとも "
6850 "B<_POSIX_RTSIG_MAX> (8) 個のリアルタイムシグナルに対応した実装が要求されてい"
6851 "る。"
6852
6853 #. type: Plain text
6854 #: build/C/man7/signal.7:374
6855 msgid ""
6856 "The Linux kernel supports a range of 32 different real-time signals, "
6857 "numbered 33 to 64.  However, the glibc POSIX threads implementation "
6858 "internally uses two (for NPTL) or three (for LinuxThreads) real-time signals "
6859 "(see B<pthreads>(7)), and adjusts the value of B<SIGRTMIN> suitably (to 34 "
6860 "or 35).  Because the range of available real-time signals varies according "
6861 "to the glibc threading implementation (and this variation can occur at run "
6862 "time according to the available kernel and glibc), and indeed the range of "
6863 "real-time signals varies across UNIX systems, programs should I<never refer "
6864 "to real-time signals using hard-coded numbers>, but instead should always "
6865 "refer to real-time signals using the notation B<SIGRTMIN>+n, and include "
6866 "suitable (run-time) checks that B<SIGRTMIN>+n does not exceed B<SIGRTMAX>."
6867 msgstr ""
6868 "Linux は、32 個の異なるリアルタイムシグナルに対応しており、 その番号は 33 か"
6869 "ら 64 である。 しかしながら、glibc の POSIX スレッド実装は、 内部で 2個 "
6870 "(NPTL の場合) か 3個 (LinuxThreads の場合) の リアルタイムシグナルを使用して"
6871 "おり (B<pthreads>(7)  参照)、 B<SIGRTMIN> の値を適切に (34 か 35 に) 調整す"
6872 "る。 利用可能なリアルタイムシグナルの範囲は glibc のスレッド実装により 異なる"
6873 "し (使用するカーネルと glibc により実行時にも変化する)、 UNIX システムの種類"
6874 "によっても異なる。したがって、 プログラムでは「ハードコーディングした数字を"
6875 "使ってのリアルタイムシグナルの 参照は決してすべきではなく」、代わりに "
6876 "B<SIGRTMIN>+n の形で参照すべきである。また、 B<SIGRTMIN>+n が B<SIGRTMAX> を"
6877 "超えていないかのチェックを (実行時に) 適切に行うべきである。"
6878
6879 #. type: Plain text
6880 #: build/C/man7/signal.7:378
6881 msgid ""
6882 "Unlike standard signals, real-time signals have no predefined meanings: the "
6883 "entire set of real-time signals can be used for application-defined purposes."
6884 msgstr ""
6885 "標準シグナルと異なり、リアルタイムシグナルには 事前に定義された意味はない。 "
6886 "リアルタイムシグナルの全部をアプリケーションで定義した用途に使える。"
6887
6888 #. type: Plain text
6889 #: build/C/man7/signal.7:381
6890 msgid ""
6891 "The default action for an unhandled real-time signal is to terminate the "
6892 "receiving process."
6893 msgstr ""
6894 "ハンドリングしないリアルタイムシグナルのデフォルトの動作は 受信したプロセスの"
6895 "終了である。"
6896
6897 #. type: Plain text
6898 #: build/C/man7/signal.7:383
6899 msgid "Real-time signals are distinguished by the following:"
6900 msgstr "リアルタイムシグナルは以下の特徴がある:"
6901
6902 #. type: Plain text
6903 #: build/C/man7/signal.7:387
6904 msgid ""
6905 "Multiple instances of real-time signals can be queued.  By contrast, if "
6906 "multiple instances of a standard signal are delivered while that signal is "
6907 "currently blocked, then only one instance is queued."
6908 msgstr ""
6909 "リアルタイムシグナルは複数の実体をキューに入れることができる。 一方、標準シグ"
6910 "ナルの場合、そのシグナルがブロックされている間に 同じシグナルの複数のインスタ"
6911 "ンスが配送されても、 1 つだけがキューに入れられる。"
6912
6913 #. type: Plain text
6914 #: build/C/man7/signal.7:407
6915 msgid ""
6916 "If the signal is sent using B<sigqueue>(3), an accompanying value (either an "
6917 "integer or a pointer) can be sent with the signal.  If the receiving process "
6918 "establishes a handler for this signal using the B<SA_SIGINFO> flag to "
6919 "B<sigaction>(2)  then it can obtain this data via the I<si_value> field of "
6920 "the I<siginfo_t> structure passed as the second argument to the handler.  "
6921 "Furthermore, the I<si_pid> and I<si_uid> fields of this structure can be "
6922 "used to obtain the PID and real user ID of the process sending the signal."
6923 msgstr ""
6924 "シグナルが B<sigqueue>(3)  を用いて送信された場合、 付属データ (整数かポイン"
6925 "タ) をシグナルと共に送信できる。 受信側プロセスが B<sigaction>(2)  に "
6926 "B<SA_SIGINFO> フラグを指定してシグナルハンドラを設定した場合、 このデータは "
6927 "I<siginfo_t> 構造体の I<si_value> フィールド経由でハンドラの第 2 引き数として"
6928 "渡され、 利用することができる。 さらに、この構造体の I<si_pid> と I<si_uid> "
6929 "フィールドでシグナルを送信したプロセスの PID と実ユーザ ID を 得ることができ"
6930 "る。"
6931
6932 #. type: Plain text
6933 #: build/C/man7/signal.7:416
6934 msgid ""
6935 "Real-time signals are delivered in a guaranteed order.  Multiple real-time "
6936 "signals of the same type are delivered in the order they were sent.  If "
6937 "different real-time signals are sent to a process, they are delivered "
6938 "starting with the lowest-numbered signal.  (I.e., low-numbered signals have "
6939 "highest priority.)  By contrast, if multiple standard signals are pending "
6940 "for a process, the order in which they are delivered is unspecified."
6941 msgstr ""
6942 "リアルタイムシグナルでは配送される順序が保証される。 同じタイプのリアルタイム"
6943 "シグナルは送信された順番に到着する。 異なるリアルタイムシグナルが一つのプロセ"
6944 "スに送信された場合、 番号の小さいシグナルから先に到着する。 (つまり小さい番号"
6945 "のシグナルが高い優先順位を持つ。)  対照的に、一つのプロセスに対して複数の標準"
6946 "シグナルが処理待ちとなった場合、 これらのシグナルが配送される順序は不定であ"
6947 "る。"
6948
6949 #. type: Plain text
6950 #: build/C/man7/signal.7:421
6951 msgid ""
6952 "If both standard and real-time signals are pending for a process, POSIX "
6953 "leaves it unspecified which is delivered first.  Linux, like many other "
6954 "implementations, gives priority to standard signals in this case."
6955 msgstr ""
6956 "一つのプロセスに対して標準シグナルとリアルタイムシグナルの両方が 処理待ちの場"
6957 "合、POSIX はどちらが先に配送されるかを規定していない。 Linux では、他の多くの"
6958 "実装と同様、このような場合には 標準シグナルが優先される。"
6959
6960 #. type: Plain text
6961 #: build/C/man7/signal.7:444
6962 msgid ""
6963 "According to POSIX, an implementation should permit at least "
6964 "B<_POSIX_SIGQUEUE_MAX> (32) real-time signals to be queued to a process.  "
6965 "However, Linux does things differently.  In kernels up to and including "
6966 "2.6.7, Linux imposes a system-wide limit on the number of queued real-time "
6967 "signals for all processes.  This limit can be viewed and (with privilege) "
6968 "changed via the I</proc/sys/kernel/rtsig-max> file.  A related file, I</proc/"
6969 "sys/kernel/rtsig-nr>, can be used to find out how many real-time signals are "
6970 "currently queued.  In Linux 2.6.8, these I</proc> interfaces were replaced "
6971 "by the B<RLIMIT_SIGPENDING> resource limit, which specifies a per-user limit "
6972 "for queued signals; see B<setrlimit>(2)  for further details."
6973 msgstr ""
6974 "POSIX によれば、1 プロセス毎に最低 B<_POSIX_SIGQUEUE_MAX> (32) 個のリアルタイ"
6975 "ムシグナルをキューに入れられるべきとしている。 しかし、 Linux では違った実装"
6976 "になっている。カーネル 2.6.7 までは (2.6.7 を含む)、全プロセスでキューに入っ"
6977 "ているリアルタイムシグナル の数の合計についてシステム全体での制限がある。 こ"
6978 "の制限は I</proc/sys/kernel/rtsig-max> ファイルで見ることができ、 (権限があれ"
6979 "ば) 変更もできる。 関係するファイルとして、 I</proc/sys/kernel/rtsig-nr> を見"
6980 "ることで、いくつのリアルタイムシグナルが現在キューに入っているかを 知ることが"
6981 "できる。 Linux 2.6.8 で、これらの I</proc> 経由のインターフェースは、 "
6982 "B<RLIMIT_SIGPENDING> リソース制限に置き換えられた。 これは、キューに入るシグ"
6983 "ナル数に関してユーザ単位に 上限を指定するものである。 詳しくは B<setrlimit>"
6984 "(2)  を参照。"
6985
6986 #. type: SS
6987 #: build/C/man7/signal.7:444
6988 #, no-wrap
6989 msgid "Async-signal-safe functions"
6990 msgstr "非同期シグナルで安全な関数 (async-signal-safe functions)"
6991
6992 #. type: Plain text
6993 #: build/C/man7/signal.7:453
6994 msgid ""
6995 "A signal handler function must be very careful, since processing elsewhere "
6996 "may be interrupted at some arbitrary point in the execution of the program.  "
6997 "POSIX has the concept of \"safe function\".  If a signal interrupts the "
6998 "execution of an unsafe function, and I<handler> calls an unsafe function, "
6999 "then the behavior of the program is undefined."
7000 msgstr ""
7001 "シグナルハンドラ関数には非常に注意しなければならない。 他の場所の処理はプログ"
7002 "ラム実行の任意の箇所で中断される可能性があるためである。 POSIX には「安全な関"
7003 "数 (safe function)」という概念がある。 シグナルが安全でない関数の実行を中断"
7004 "し、かつ I<handler> が安全でない関数を呼び出した場合、プログラムの挙動は未定"
7005 "義である。"
7006
7007 #. type: Plain text
7008 #: build/C/man7/signal.7:457
7009 msgid ""
7010 "POSIX.1-2004 (also known as POSIX.1-2001 Technical Corrigendum 2)  requires "
7011 "an implementation to guarantee that the following functions can be safely "
7012 "called inside a signal handler:"
7013 msgstr ""
7014 "POSIX.1-2004 (POSIX.1-2001 Technical Corrigendum (正誤表) 2 とも言う) では、 "
7015 "シグナルハンドラ内での安全な呼び出しを保証することが必須の関数として 以下が規"
7016 "定されている。"
7017
7018 #. type: Plain text
7019 #: build/C/man7/signal.7:578
7020 #, no-wrap
7021 msgid ""
7022 "_Exit()\n"
7023 "_exit()\n"
7024 "abort()\n"
7025 "accept()\n"
7026 "access()\n"
7027 "aio_error()\n"
7028 "aio_return()\n"
7029 "aio_suspend()\n"
7030 "alarm()\n"
7031 "bind()\n"
7032 "cfgetispeed()\n"
7033 "cfgetospeed()\n"
7034 "cfsetispeed()\n"
7035 "cfsetospeed()\n"
7036 "chdir()\n"
7037 "chmod()\n"
7038 "chown()\n"
7039 "clock_gettime()\n"
7040 "close()\n"
7041 "connect()\n"
7042 "creat()\n"
7043 "dup()\n"
7044 "dup2()\n"
7045 "execle()\n"
7046 "execve()\n"
7047 "fchmod()\n"
7048 "fchown()\n"
7049 "fcntl()\n"
7050 "fdatasync()\n"
7051 "fork()\n"
7052 "fpathconf()\n"
7053 "fstat()\n"
7054 "fsync()\n"
7055 "ftruncate()\n"
7056 "getegid()\n"
7057 "geteuid()\n"
7058 "getgid()\n"
7059 "getgroups()\n"
7060 "getpeername()\n"
7061 "getpgrp()\n"
7062 "getpid()\n"
7063 "getppid()\n"
7064 "getsockname()\n"
7065 "getsockopt()\n"
7066 "getuid()\n"
7067 "kill()\n"
7068 "link()\n"
7069 "listen()\n"
7070 "lseek()\n"
7071 "lstat()\n"
7072 "mkdir()\n"
7073 "mkfifo()\n"
7074 "open()\n"
7075 "pathconf()\n"
7076 "pause()\n"
7077 "pipe()\n"
7078 "poll()\n"
7079 "posix_trace_event()\n"
7080 "pselect()\n"
7081 "raise()\n"
7082 "read()\n"
7083 "readlink()\n"
7084 "recv()\n"
7085 "recvfrom()\n"
7086 "recvmsg()\n"
7087 "rename()\n"
7088 "rmdir()\n"
7089 "select()\n"
7090 "sem_post()\n"
7091 "send()\n"
7092 "sendmsg()\n"
7093 "sendto()\n"
7094 "setgid()\n"
7095 "setpgid()\n"
7096 "setsid()\n"
7097 "setsockopt()\n"
7098 "setuid()\n"
7099 "shutdown()\n"
7100 "sigaction()\n"
7101 "sigaddset()\n"
7102 "sigdelset()\n"
7103 "sigemptyset()\n"
7104 "sigfillset()\n"
7105 "sigismember()\n"
7106 "signal()\n"
7107 "sigpause()\n"
7108 "sigpending()\n"
7109 "sigprocmask()\n"
7110 "sigqueue()\n"
7111 "sigset()\n"
7112 "sigsuspend()\n"
7113 "sleep()\n"
7114 "sockatmark()\n"
7115 "socket()\n"
7116 "socketpair()\n"
7117 "stat()\n"
7118 "symlink()\n"
7119 "sysconf()\n"
7120 "tcdrain()\n"
7121 "tcflow()\n"
7122 "tcflush()\n"
7123 "tcgetattr()\n"
7124 "tcgetpgrp()\n"
7125 "tcsendbreak()\n"
7126 "tcsetattr()\n"
7127 "tcsetpgrp()\n"
7128 "time()\n"
7129 "timer_getoverrun()\n"
7130 "timer_gettime()\n"
7131 "timer_settime()\n"
7132 "times()\n"
7133 "umask()\n"
7134 "uname()\n"
7135 "unlink()\n"
7136 "utime()\n"
7137 "wait()\n"
7138 "waitpid()\n"
7139 "write()\n"
7140 msgstr ""
7141 "_Exit()\n"
7142 "_exit()\n"
7143 "abort()\n"
7144 "accept()\n"
7145 "access()\n"
7146 "aio_error()\n"
7147 "aio_return()\n"
7148 "aio_suspend()\n"
7149 "alarm()\n"
7150 "bind()\n"
7151 "cfgetispeed()\n"
7152 "cfgetospeed()\n"
7153 "cfsetispeed()\n"
7154 "cfsetospeed()\n"
7155 "chdir()\n"
7156 "chmod()\n"
7157 "chown()\n"
7158 "clock_gettime()\n"
7159 "close()\n"
7160 "connect()\n"
7161 "creat()\n"
7162 "dup()\n"
7163 "dup2()\n"
7164 "execle()\n"
7165 "execve()\n"
7166 "fchmod()\n"
7167 "fchown()\n"
7168 "fcntl()\n"
7169 "fdatasync()\n"
7170 "fork()\n"
7171 "fpathconf()\n"
7172 "fstat()\n"
7173 "fsync()\n"
7174 "ftruncate()\n"
7175 "getegid()\n"
7176 "geteuid()\n"
7177 "getgid()\n"
7178 "getgroups()\n"
7179 "getpeername()\n"
7180 "getpgrp()\n"
7181 "getpid()\n"
7182 "getppid()\n"
7183 "getsockname()\n"
7184 "getsockopt()\n"
7185 "getuid()\n"
7186 "kill()\n"
7187 "link()\n"
7188 "listen()\n"
7189 "lseek()\n"
7190 "lstat()\n"
7191 "mkdir()\n"
7192 "mkfifo()\n"
7193 "open()\n"
7194 "pathconf()\n"
7195 "pause()\n"
7196 "pipe()\n"
7197 "poll()\n"
7198 "posix_trace_event()\n"
7199 "pselect()\n"
7200 "raise()\n"
7201 "read()\n"
7202 "readlink()\n"
7203 "recv()\n"
7204 "recvfrom()\n"
7205 "recvmsg()\n"
7206 "rename()\n"
7207 "rmdir()\n"
7208 "select()\n"
7209 "sem_post()\n"
7210 "send()\n"
7211 "sendmsg()\n"
7212 "sendto()\n"
7213 "setgid()\n"
7214 "setpgid()\n"
7215 "setsid()\n"
7216 "setsockopt()\n"
7217 "setuid()\n"
7218 "shutdown()\n"
7219 "sigaction()\n"
7220 "sigaddset()\n"
7221 "sigdelset()\n"
7222 "sigemptyset()\n"
7223 "sigfillset()\n"
7224 "sigismember()\n"
7225 "signal()\n"
7226 "sigpause()\n"
7227 "sigpending()\n"
7228 "sigprocmask()\n"
7229 "sigqueue()\n"
7230 "sigset()\n"
7231 "sigsuspend()\n"
7232 "sleep()\n"
7233 "sockatmark()\n"
7234 "socket()\n"
7235 "socketpair()\n"
7236 "stat()\n"
7237 "symlink()\n"
7238 "sysconf()\n"
7239 "tcdrain()\n"
7240 "tcflow()\n"
7241 "tcflush()\n"
7242 "tcgetattr()\n"
7243 "tcgetpgrp()\n"
7244 "tcsendbreak()\n"
7245 "tcsetattr()\n"
7246 "tcsetpgrp()\n"
7247 "time()\n"
7248 "timer_getoverrun()\n"
7249 "timer_gettime()\n"
7250 "timer_settime()\n"
7251 "times()\n"
7252 "umask()\n"
7253 "uname()\n"
7254 "unlink()\n"
7255 "utime()\n"
7256 "wait()\n"
7257 "waitpid()\n"
7258 "write()\n"
7259
7260 #. type: Plain text
7261 #: build/C/man7/signal.7:583
7262 msgid ""
7263 "POSIX.1-2008 removes fpathconf(), pathconf(), and sysconf()  from the above "
7264 "list, and adds the following functions:"
7265 msgstr ""
7266 "POSIX.1-2008 では、上記のリストのうち fpathconf(), pathconf(), sysconf()  が"
7267 "削除され、以下の関数が追加された。"
7268
7269 #. type: Plain text
7270 #: build/C/man7/signal.7:606
7271 #, no-wrap
7272 msgid ""
7273 "execl()\n"
7274 "execv()\n"
7275 "faccessat()\n"
7276 "fchmodat()\n"
7277 "fchownat()\n"
7278 "fexecve()\n"
7279 "fstatat()\n"
7280 "futimens()\n"
7281 "linkat()\n"
7282 "mkdirat()\n"
7283 "mkfifoat()\n"
7284 "mknod()\n"
7285 "mknodat()\n"
7286 "openat()\n"
7287 "readlinkat()\n"
7288 "renameat()\n"
7289 "symlinkat()\n"
7290 "unlinkat()\n"
7291 "utimensat()\n"
7292 "utimes()\n"
7293 msgstr ""
7294 "execl()\n"
7295 "execv()\n"
7296 "faccessat()\n"
7297 "fchmodat()\n"
7298 "fchownat()\n"
7299 "fexecve()\n"
7300 "fstatat()\n"
7301 "futimens()\n"
7302 "linkat()\n"
7303 "mkdirat()\n"
7304 "mkfifoat()\n"
7305 "mknod()\n"
7306 "mknodat()\n"
7307 "openat()\n"
7308 "readlinkat()\n"
7309 "renameat()\n"
7310 "symlinkat()\n"
7311 "unlinkat()\n"
7312 "utimensat()\n"
7313 "utimes()\n"
7314
7315 #. type: SS
7316 #: build/C/man7/signal.7:608
7317 #, no-wrap
7318 msgid "Interruption of System Calls and Library Functions by Signal Handlers"
7319 msgstr "シグナルハンドラによるシステムコールやライブラリ関数への割り込み"
7320
7321 #. type: Plain text
7322 #: build/C/man7/signal.7:611
7323 msgid ""
7324 "If a signal handler is invoked while a system call or library function call "
7325 "is blocked, then either:"
7326 msgstr ""
7327 "システムコールやライブラリが停止 (block) している間にシグナルハンドラが 起動"
7328 "されると、以下のどちらかとなる。"
7329
7330 #. type: Plain text
7331 #: build/C/man7/signal.7:613
7332 msgid ""
7333 "the call is automatically restarted after the signal handler returns; or"
7334 msgstr "シグナルが返った後、呼び出しは自動的に再スタートされる。"
7335
7336 #. type: Plain text
7337 #: build/C/man7/signal.7:616
7338 msgid "the call fails with the error B<EINTR>."
7339 msgstr "呼び出しはエラー B<EINTR> で失敗する。"
7340
7341 #. type: Plain text
7342 #: build/C/man7/signal.7:624
7343 msgid ""
7344 "Which of these two behaviors occurs depends on the interface and whether or "
7345 "not the signal handler was established using the B<SA_RESTART> flag (see "
7346 "B<sigaction>(2)).  The details vary across UNIX systems; below, the details "
7347 "for Linux."
7348 msgstr ""
7349 "これらの二つの挙動のうちどちらが起こるかは、インターフェイスにより依存し、 シ"
7350 "グナルハンドラが B<SA_RESTART> フラグ (B<sigaction>(2)  参照) を使って設定さ"
7351 "れていたかにも依存する。 詳細は UNIX システムによって異なる。 Linux における"
7352 "詳細を以下で説明する。"
7353
7354 #.  The following system calls use ERESTARTSYS,
7355 #.  so that they are restartable
7356 #. type: Plain text
7357 #: build/C/man7/signal.7:633
7358 msgid ""
7359 "If a blocked call to one of the following interfaces is interrupted by a "
7360 "signal handler, then the call will be automatically restarted after the "
7361 "signal handler returns if the B<SA_RESTART> flag was used; otherwise the "
7362 "call will fail with the error B<EINTR>:"
7363 msgstr ""
7364 "以下のインターフェイスのいずれかの呼び出しが停止している間に シグナルハンドラ"
7365 "により割り込まれた場合、 B<SA_RESTART> フラグが使用されていれば、シグナルハン"
7366 "ドラが返った後に その呼び出しは自動的に再スタートされることになる。 それ以外"
7367 "の場合は、その呼び出しはエラー B<EINTR> で失敗することになる。"
7368
7369 #. type: Plain text
7370 #: build/C/man7/signal.7:649
7371 msgid ""
7372 "B<read>(2), B<readv>(2), B<write>(2), B<writev>(2), and B<ioctl>(2)  calls "
7373 "on \"slow\" devices.  A \"slow\" device is one where the I/O call may block "
7374 "for an indefinite time, for example, a terminal, pipe, or socket.  (A disk "
7375 "is not a slow device according to this definition.)  If an I/O call on a "
7376 "slow device has already transferred some data by the time it is interrupted "
7377 "by a signal handler, then the call will return a success status (normally, "
7378 "the number of bytes transferred)."
7379 msgstr ""
7380 "B<read>(2), B<readv>(2), B<write>(2), B<writev>(2), B<ioctl>(2)  の「遅い "
7381 "(slow)」デバイスに対する呼び出し。 ここでいう「遅い」デバイスとは、I/O 呼び出"
7382 "しが無期限に停止 (block) する 可能性のあるデバイスのことで、例としては端末、"
7383 "パイプ、ソケットがある (この定義では、ディスクは遅いデバイスではない)。 遅い"
7384 "デバイスに対する I/O 呼び出しが、 シグナルハンドラにより割り込まれた時点まで"
7385 "に何らかのデータを すでに転送していれば、呼び出しは成功ステータス (通常は、転"
7386 "送されたバイト数) を返すことだろう。"
7387
7388 #. type: Plain text
7389 #: build/C/man7/signal.7:653
7390 msgid ""
7391 "B<open>(2), if it can block (e.g., when opening a FIFO; see B<fifo>(7))."
7392 msgstr ""
7393 "停止 (block) する可能性のある B<open>(2)  (例えば、FIFO のオープン時; B<fifo>"
7394 "(7)  参照)。"
7395
7396 #. type: Plain text
7397 #: build/C/man7/signal.7:660
7398 msgid "B<wait>(2), B<wait3>(2), B<wait4>(2), B<waitid>(2), and B<waitpid>(2)."
7399 msgstr "B<wait>(2), B<wait3>(2), B<wait4>(2), B<waitid>(2), B<waitpid>(2)."
7400
7401 #.  If a timeout (setsockopt()) is in effect on the socket, then these
7402 #.  system calls switch to using EINTR.  Consequently, they and are not
7403 #.  automatically restarted, and they show the stop/cont behavior
7404 #.  described below.  (Verified from 2.6.26 source, and by experiment; mtk)
7405 #. type: Plain text
7406 #: build/C/man7/signal.7:676
7407 msgid ""
7408 "Socket interfaces: B<accept>(2), B<connect>(2), B<recv>(2), B<recvfrom>(2), "
7409 "B<recvmsg>(2), B<send>(2), B<sendto>(2), and B<sendmsg>(2), unless a timeout "
7410 "has been set on the socket (see below)."
7411 msgstr ""
7412 "ソケットインターフェイス: B<accept>(2), B<connect>(2), B<recv>(2), "
7413 "B<recvfrom>(2), B<recvmsg>(2), B<send>(2), B<sendto>(2), B<sendmsg>(2).  但"
7414 "し、ソケットにタイムアウトが設定されていない場合 (下記参照)。"
7415
7416 #. type: Plain text
7417 #: build/C/man7/signal.7:682
7418 msgid "File locking interfaces: B<flock>(2)  and B<fcntl>(2)  B<F_SETLKW>."
7419 msgstr ""
7420 "ファイルロック用インターフェイス: B<flock>(2), B<fcntl>(2)  B<F_SETLKW>."
7421
7422 #. type: Plain text
7423 #: build/C/man7/signal.7:689
7424 msgid ""
7425 "POSIX message queue interfaces: B<mq_receive>(3), B<mq_timedreceive>(3), "
7426 "B<mq_send>(3), and B<mq_timedsend>(3)."
7427 msgstr ""
7428 "POSIX メッセージキューインターフェイス: B<mq_receive>(3), B<mq_timedreceive>"
7429 "(3), B<mq_send>(3), B<mq_timedsend>(3)."
7430
7431 #. type: Plain text
7432 #: build/C/man7/signal.7:694
7433 msgid ""
7434 "B<futex>(2)  B<FUTEX_WAIT> (since Linux 2.6.22; beforehand, always failed "
7435 "with B<EINTR>)."
7436 msgstr ""
7437 "B<futex>(2)  B<FUTEX_WAIT> (Linux 2.6.22 以降; それ以前は常に B<EINTR> で失敗"
7438 "していた)。"
7439
7440 #. type: Plain text
7441 #: build/C/man7/signal.7:701
7442 msgid ""
7443 "POSIX semaphore interfaces: B<sem_wait>(3)  and B<sem_timedwait>(3)  (since "
7444 "Linux 2.6.22; beforehand, always failed with B<EINTR>)."
7445 msgstr ""
7446 "POSIX セマフォインターフェイス: B<sem_wait>(3), B<sem_timedwait>(3)  (Linux "
7447 "2.6.22 以降; それ以前は常に B<EINTR> で失敗していた)。"
7448
7449 #.  These are the system calls that give EINTR or ERESTARTNOHAND
7450 #.  on interruption by a signal handler.
7451 #. type: Plain text
7452 #: build/C/man7/signal.7:712
7453 msgid ""
7454 "The following interfaces are never restarted after being interrupted by a "
7455 "signal handler, regardless of the use of B<SA_RESTART>; they always fail "
7456 "with the error B<EINTR> when interrupted by a signal handler:"
7457 msgstr ""
7458 "以下のインターフェイスは、 B<SA_RESTART> を使っているどうかに関わらず、シグナ"
7459 "ルハンドラにより割り込まれた後、 再スタートすることは決してない。 これらは、"
7460 "シグナルハンドラにより割り込まれると、常にエラー B<EINTR> で失敗する。"
7461
7462 #. type: Plain text
7463 #: build/C/man7/signal.7:732 build/C/man7/signal.7:806
7464 msgid ""
7465 "Socket interfaces, when a timeout has been set on the socket using "
7466 "B<setsockopt>(2): B<accept>(2), B<recv>(2), B<recvfrom>(2), and B<recvmsg>"
7467 "(2), if a receive timeout (B<SO_RCVTIMEO>)  has been set; B<connect>(2), "
7468 "B<send>(2), B<sendto>(2), and B<sendmsg>(2), if a send timeout "
7469 "(B<SO_SNDTIMEO>)  has been set."
7470 msgstr ""
7471 "B<setsockopt>(2)  を使ってタイムアウトが設定されているソケットインターフェー"
7472 "ス: B<accept>(2), B<recv>(2), B<recvfrom>(2), B<recvmsg>(2)  で受信タイムアウ"
7473 "ト (B<SO_RCVTIMEO>)  が設定されている場合と、 B<connect>(2), B<send>(2), "
7474 "B<sendto>(2), B<sendmsg>(2)  で送信タイムアウト (B<SO_SNDTIMEO>)  が設定され"
7475 "ている場合。"
7476
7477 #. type: Plain text
7478 #: build/C/man7/signal.7:739
7479 msgid ""
7480 "Interfaces used to wait for signals: B<pause>(2), B<sigsuspend>(2), "
7481 "B<sigtimedwait>(2), and B<sigwaitinfo>(2)."
7482 msgstr ""
7483 "シグナル待ちに使われるインターフェイス: B<pause>(2), B<sigsuspend>(2), "
7484 "B<sigtimedwait>(2), B<sigwaitinfo>(2)."
7485
7486 #. type: Plain text
7487 #: build/C/man7/signal.7:748
7488 msgid ""
7489 "File descriptor multiplexing interfaces: B<epoll_wait>(2), B<epoll_pwait>"
7490 "(2), B<poll>(2), B<ppoll>(2), B<select>(2), and B<pselect>(2)."
7491 msgstr ""
7492 "ファイルディスクリプタ多重インターフェイス: B<epoll_wait>(2), B<epoll_pwait>"
7493 "(2), B<poll>(2), B<ppoll>(2), B<select>(2), B<pselect>(2)."
7494
7495 #.  On some other systems, SA_RESTART does restart these system calls
7496 #. type: Plain text
7497 #: build/C/man7/signal.7:756
7498 msgid ""
7499 "System V IPC interfaces: B<msgrcv>(2), B<msgsnd>(2), B<semop>(2), and "
7500 "B<semtimedop>(2)."
7501 msgstr ""
7502 "System V IPC インターフェイス: B<msgrcv>(2), B<msgsnd>(2), B<semop>(2), "
7503 "B<semtimedop>(2)."
7504
7505 #. type: Plain text
7506 #: build/C/man7/signal.7:762
7507 msgid ""
7508 "Sleep interfaces: B<clock_nanosleep>(2), B<nanosleep>(2), and B<usleep>(3)."
7509 msgstr ""
7510 "スリープ用のインターフェイス: B<clock_nanosleep>(2), B<nanosleep>(2), "
7511 "B<usleep>(3)."
7512
7513 #. type: Plain text
7514 #: build/C/man7/signal.7:767 build/C/man7/signal.7:820
7515 msgid "B<read>(2)  from an B<inotify>(7)  file descriptor."
7516 msgstr "B<inotify>(7)  ファイルディスクリプタからの B<read>(2)."
7517
7518 #. type: Plain text
7519 #: build/C/man7/signal.7:769
7520 msgid "B<io_getevents>(2)."
7521 msgstr "B<io_getevents>(2)."
7522
7523 #. type: Plain text
7524 #: build/C/man7/signal.7:775
7525 msgid ""
7526 "The B<sleep>(3)  function is also never restarted if interrupted by a "
7527 "handler, but gives a success return: the number of seconds remaining to "
7528 "sleep."
7529 msgstr ""
7530 "B<sleep>(3)  関数も、ハンドラにより割り込まれた場合、決して再スタートされるこ"
7531 "とはない。 しかし、成功となり、残っている停止時間を返す。"
7532
7533 #. type: SS
7534 #: build/C/man7/signal.7:775
7535 #, no-wrap
7536 msgid "Interruption of System Calls and Library Functions by Stop Signals"
7537 msgstr "一時停止シグナルによるシステムコールやライブラリ関数への割り込み"
7538
7539 #. type: Plain text
7540 #: build/C/man7/signal.7:784
7541 msgid ""
7542 "On Linux, even in the absence of signal handlers, certain blocking "
7543 "interfaces can fail with the error B<EINTR> after the process is stopped by "
7544 "one of the stop signals and then resumed via B<SIGCONT>.  This behavior is "
7545 "not sanctioned by POSIX.1, and doesn't occur on other systems."
7546 msgstr ""
7547 "Linux では、シグナルハンドラが設定されていない場合でも、 いくつかのブロッキン"
7548 "グ型のインターフェイスは、 プロセスが一時停止 (stop) シグナルの一つにより停止"
7549 "され、 B<SIGCONT> により再開された後に、エラー B<EINTR> で失敗する可能性があ"
7550 "る。 この挙動は POSIX.1 で認められておらず、他のシステムでは起こらない。"
7551
7552 #. type: Plain text
7553 #: build/C/man7/signal.7:786
7554 msgid "The Linux interfaces that display this behavior are:"
7555 msgstr "この挙動を示す Linux のインターフェイスは以下の通りである。"
7556
7557 #. type: Plain text
7558 #: build/C/man7/signal.7:809
7559 msgid "B<epoll_wait>(2), B<epoll_pwait>(2)."
7560 msgstr "B<epoll_wait>(2), B<epoll_pwait>(2)."
7561
7562 #. type: Plain text
7563 #: build/C/man7/signal.7:812
7564 msgid "B<semop>(2), B<semtimedop>(2)."
7565 msgstr "B<semop>(2), B<semtimedop>(2)."
7566
7567 #. type: Plain text
7568 #: build/C/man7/signal.7:815
7569 msgid "B<sigtimedwait>(2), B<sigwaitinfo>(2)."
7570 msgstr "B<sigtimedwait>(2), B<sigwaitinfo>(2)."
7571
7572 #. type: Plain text
7573 #: build/C/man7/signal.7:826
7574 msgid ""
7575 "Linux 2.6.21 and earlier: B<futex>(2)  B<FUTEX_WAIT>, B<sem_timedwait>(3), "
7576 "B<sem_wait>(3)."
7577 msgstr ""
7578 "Linux 2.6.21 以前: B<futex>(2)  B<FUTEX_WAIT>, B<sem_timedwait>(3), "
7579 "B<sem_wait>(3)."
7580
7581 #. type: Plain text
7582 #: build/C/man7/signal.7:830
7583 msgid "Linux 2.6.8 and earlier: B<msgrcv>(2), B<msgsnd>(2)."
7584 msgstr "Linux 2.6.8 以前: B<msgrcv>(2), B<msgsnd>(2)."
7585
7586 #. type: Plain text
7587 #: build/C/man7/signal.7:833
7588 msgid "Linux 2.4 and earlier: B<nanosleep>(2)."
7589 msgstr "Linux 2.4 以前: B<nanosleep>(2)."
7590
7591 #. type: Plain text
7592 #: build/C/man7/signal.7:836
7593 msgid "POSIX.1, except as noted."
7594 msgstr "POSIX.1 (注記した内容以外)。"
7595
7596 #. type: Plain text
7597 #: build/C/man7/signal.7:845
7598 msgid ""
7599 "B<SIGIO> and B<SIGLOST> have the same value.  The latter is commented out in "
7600 "the kernel source, but the build process of some software still thinks that "
7601 "signal 29 is B<SIGLOST>."
7602 msgstr ""
7603 "B<SIGIO> と B<SIGLOST> は同じ値を持っている。 B<SIGLOST> はカーネルのソースで"
7604 "はコメントアウトされている。 しかし、ソフトウェアによってはビルドの過程でシグ"
7605 "ナル 29 を B<SIGLOST> とみなしてしまうものがある。"
7606
7607 #. type: Plain text
7608 #: build/C/man7/signal.7:878
7609 msgid ""
7610 "B<kill>(1), B<getrlimit>(2), B<kill>(2), B<killpg>(2), B<rt_sigqueueinfo>"
7611 "(2), B<setitimer>(2), B<setrlimit>(2), B<sgetmask>(2), B<sigaction>(2), "
7612 "B<sigaltstack>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
7613 "B<sigprocmask>(2), B<sigsuspend>(2), B<sigwaitinfo>(2), B<abort>(3), "
7614 "B<bsd_signal>(3), B<longjmp>(3), B<raise>(3), B<pthread_sigqueue>(3), "
7615 "B<sigqueue>(3), B<sigset>(3), B<sigsetops>(3), B<sigvec>(3), B<sigwait>(3), "
7616 "B<strsignal>(3), B<sysv_signal>(3), B<core>(5), B<proc>(5), B<pthreads>(7), "
7617 "B<sigevent>(7)"
7618 msgstr ""
7619 "B<kill>(1), B<getrlimit>(2), B<kill>(2), B<killpg>(2), B<rt_sigqueueinfo>"
7620 "(2), B<setitimer>(2), B<setrlimit>(2), B<sgetmask>(2), B<sigaction>(2), "
7621 "B<sigaltstack>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
7622 "B<sigprocmask>(2), B<sigsuspend>(2), B<sigwaitinfo>(2), B<abort>(3), "
7623 "B<bsd_signal>(3), B<longjmp>(3), B<raise>(3), B<pthread_sigqueue>(3), "
7624 "B<sigqueue>(3), B<sigset>(3), B<sigsetops>(3), B<sigvec>(3), B<sigwait>(3), "
7625 "B<strsignal>(3), B<sysv_signal>(3), B<core>(5), B<proc>(5), B<pthreads>(7), "
7626 "B<sigevent>(7)"
7627
7628 #. type: TH
7629 #: build/C/man2/signalfd.2:19
7630 #, no-wrap
7631 msgid "SIGNALFD"
7632 msgstr "SIGNALFD"
7633
7634 #. type: TH
7635 #: build/C/man2/signalfd.2:19
7636 #, no-wrap
7637 msgid "2009-01-13"
7638 msgstr "2009-01-13"
7639
7640 #. type: Plain text
7641 #: build/C/man2/signalfd.2:22
7642 msgid "signalfd - create a file descriptor for accepting signals"
7643 msgstr "signalfd - シグナル受け付け用のファイルディスクリプタを生成する"
7644
7645 #. type: Plain text
7646 #: build/C/man2/signalfd.2:24
7647 msgid "B<#include E<lt>sys/signalfd.hE<gt>>"
7648 msgstr "B<#include E<lt>sys/signalfd.hE<gt>>"
7649
7650 #. type: Plain text
7651 #: build/C/man2/signalfd.2:26
7652 msgid ""
7653 "B<int signalfd(int >I<fd>B<, const sigset_t *>I<mask>B<, int >I<flags>B<);>"
7654 msgstr ""
7655 "B<int signalfd(int >I<fd>B<, const sigset_t *>I<mask>B<, int >I<flags>B<);>"
7656
7657 #. type: Plain text
7658 #: build/C/man2/signalfd.2:37
7659 msgid ""
7660 "B<signalfd>()  creates a file descriptor that can be used to accept signals "
7661 "targeted at the caller.  This provides an alternative to the use of a signal "
7662 "handler or B<sigwaitinfo>(2), and has the advantage that the file descriptor "
7663 "may be monitored by B<select>(2), B<poll>(2), and B<epoll>(7)."
7664 msgstr ""
7665 "B<signalfd>()  は、呼び出し元宛てのシグナルを受け付けるために使用されるファイ"
7666 "ル ディスクリプタを生成する。 この方法はシグナルハンドラや B<sigwaitinfo>"
7667 "(2)  を用いる方法の代わりとなるものであり、このファイルディスクリプタを "
7668 "B<select>(2), B<poll>(2), B<epoll>(7)  で監視できるという利点がある。"
7669
7670 #. type: Plain text
7671 #: build/C/man2/signalfd.2:57
7672 msgid ""
7673 "The I<mask> argument specifies the set of signals that the caller wishes to "
7674 "accept via the file descriptor.  This argument is a signal set whose "
7675 "contents can be initialized using the macros described in B<sigsetops>(3).  "
7676 "Normally, the set of signals to be received via the file descriptor should "
7677 "be blocked using B<sigprocmask>(2), to prevent the signals being handled "
7678 "according to their default dispositions.  It is not possible to receive "
7679 "B<SIGKILL> or B<SIGSTOP> signals via a signalfd file descriptor; these "
7680 "signals are silently ignored if specified in I<mask>."
7681 msgstr ""
7682 "I<mask> 引き数には、呼び出し元がこのファイルディスクリプタ経由で受け付けたい "
7683 "シグナル集合を指定する。この引き数で指定するシグナル集合の内容は、 "
7684 "B<sigsetops>(3)  で説明されているマクロを使って初期化することができる。 通"
7685 "常、ファイルディスクリプタ経由で受信するシグナル集合は、 そのシグナルがデフォ"
7686 "ルトの配送方法に基いて処理されるのを防ぐために、 B<sigprocmask>(2)  を使って"
7687 "ブロックしておくべきである。 シグナル B<SIGKILL> と B<SIGSTOP> を signalfd "
7688 "ファイルディスクリプタ経由で受信することはできない。 これらのシグナルが "
7689 "I<mask> で指定された場合には黙って無視される。"
7690
7691 #. type: Plain text
7692 #: build/C/man2/signalfd.2:71
7693 msgid ""
7694 "If the I<fd> argument is -1, then the call creates a new file descriptor and "
7695 "associates the signal set specified in I<mask> with that descriptor.  If "
7696 "I<fd> is not -1, then it must specify a valid existing signalfd file "
7697 "descriptor, and I<mask> is used to replace the signal set associated with "
7698 "that descriptor."
7699 msgstr ""
7700 "I<fd> 引き数が -1 の場合、 B<signalfd>()  は新しいファイルディスクリプタを生"
7701 "成し、 I<mask> で指定されたシグナル集合をそのファイルディスクリプタに関連付け"
7702 "る。 I<fd> 引き数が -1 以外の場合、 I<fd> には有効な既存の signalfd ファイル"
7703 "ディスクリプタを指定しなければならず、 そのディスクリプタに関連付けられている"
7704 "シグナル集合は I<mask> を使って置き換えられる。"
7705
7706 #. type: Plain text
7707 #: build/C/man2/signalfd.2:76
7708 msgid ""
7709 "Starting with Linux 2.6.27, the following values may be bitwise ORed in "
7710 "I<flags> to change the behaviour of B<signalfd>():"
7711 msgstr ""
7712 "Linux 2.6.27 以降では、 以下の値のいくつかをビット単位の論理和 (OR) で指定す"
7713 "ることで、 B<signalfd>()  の振舞いを変更することができる。"
7714
7715 #. type: TP
7716 #: build/C/man2/signalfd.2:76
7717 #, no-wrap
7718 msgid "B<SFD_NONBLOCK>"
7719 msgstr "B<SFD_NONBLOCK>"
7720
7721 #. type: TP
7722 #: build/C/man2/signalfd.2:84
7723 #, no-wrap
7724 msgid "B<SFD_CLOEXEC>"
7725 msgstr "B<SFD_CLOEXEC>"
7726
7727 #. type: Plain text
7728 #: build/C/man2/signalfd.2:101
7729 msgid ""
7730 "B<signalfd>()  returns a file descriptor that supports the following "
7731 "operations:"
7732 msgstr ""
7733 "B<signalfd>()  が返すファイルディスクリプタは以下の操作をサポートしている。"
7734
7735 #. type: Plain text
7736 #: build/C/man2/signalfd.2:120
7737 msgid ""
7738 "If one or more of the signals specified in I<mask> is pending for the "
7739 "process, then the buffer supplied to B<read>(2)  is used to return one or "
7740 "more I<signalfd_siginfo> structures (see below) that describe the signals.  "
7741 "The B<read>(2)  returns information for as many signals as are pending and "
7742 "will fit in the supplied buffer.  The buffer must be at least I<sizeof"
7743 "(struct signalfd_siginfo)> bytes.  The return value of the B<read>(2)  is "
7744 "the total number of bytes read."
7745 msgstr ""
7746 "I<mask> に指定されているシグナルのうち一つ以上がそのプロセスに対して 処理待"
7747 "ち (pending) であれば、それらのシグナルの情報が B<read>(2)  に渡されたバッ"
7748 "ファを使って、 I<signalfd_siginfo> 構造体に格納されて返される。 B<read>(2)  "
7749 "は、バッファに格納可能な範囲でできるだけ多くの処理待ちのシグナルに ついての情"
7750 "報を返す。 バッファは最低でも I<sizeof(struct signalfd_siginfo)> バイトの大き"
7751 "さがなければならない。 B<read>(2)  の返り値は読み出されたトータルのバイト数で"
7752 "ある。"
7753
7754 #. type: Plain text
7755 #: build/C/man2/signalfd.2:128
7756 msgid ""
7757 "As a consequence of the B<read>(2), the signals are consumed, so that they "
7758 "are no longer pending for the process (i.e., will not be caught by signal "
7759 "handlers, and cannot be accepted using B<sigwaitinfo>(2))."
7760 msgstr ""
7761 "B<read>(2)  が行われた結果、シグナルは消費され、 これらのシグナルはそのプロセ"
7762 "スに対しては処理待ちではなくなる (つまり、シグナルハンドラで捕捉されることも"
7763 "なく、 B<sigwaitinfo>(2)  を使って受け取ることもできなくなる)。"
7764
7765 #. type: Plain text
7766 #: build/C/man2/signalfd.2:139
7767 msgid ""
7768 "If none of the signals in I<mask> is pending for the process, then the "
7769 "B<read>(2)  either blocks until one of the signals in I<mask> is generated "
7770 "for the process, or fails with the error B<EAGAIN> if the file descriptor "
7771 "has been made nonblocking."
7772 msgstr ""
7773 "I<mask> に指定されているシグナルがそのプロセスに対して一つも処理待ちでなけれ"
7774 "ば、 B<read>(2)  は、 I<mask> で指定されたシグナルのうちいずれか一つがそのプ"
7775 "ロセスに対して発生するまで 停止 (block) する、もしくはファイルディスクリプタ"
7776 "が非停止 (nonblocking)  に設定されている場合はエラー B<EAGAIN> で失敗する。"
7777
7778 #. type: Plain text
7779 #: build/C/man2/signalfd.2:152
7780 msgid ""
7781 "The file descriptor is readable (the B<select>(2)  I<readfds> argument; the "
7782 "B<poll>(2)  B<POLLIN> flag)  if one or more of the signals in I<mask> is "
7783 "pending for the process."
7784 msgstr ""
7785 "I<mask> に指定されたシグナルのうち一つ以上がそのプロセスに対して処理待ちであ"
7786 "れば、 ファイルディスクリプタは読み出し可能となる (B<select>(2)  の "
7787 "I<readfds> 引き数や B<poll>(2)  の B<POLLIN> フラグ)。"
7788
7789 #. type: Plain text
7790 #: build/C/man2/signalfd.2:159
7791 msgid ""
7792 "The signalfd file descriptor also supports the other file-descriptor "
7793 "multiplexing APIs: B<pselect>(2), B<ppoll>(2), and B<epoll>(7)."
7794 msgstr ""
7795 "signalfd ファイルディスクリプタは、これ以外のファイルディスクリプタ 多重 API "
7796 "である B<pselect>(2), B<ppoll>(2), B<epoll>(7)  もサポートしている。"
7797
7798 #. type: Plain text
7799 #: build/C/man2/signalfd.2:164
7800 msgid ""
7801 "When the file descriptor is no longer required it should be closed.  When "
7802 "all file descriptors associated with the same signalfd object have been "
7803 "closed, the resources for object are freed by the kernel."
7804 msgstr ""
7805 "ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきであ"
7806 "る。 同じ signalfd オブジェクトに関連付けられたファイルディスクリプタが全て "
7807 "クローズされると、そのオブジェクト用の資源がカーネルにより解放される。"
7808
7809 #. type: SS
7810 #: build/C/man2/signalfd.2:164
7811 #, no-wrap
7812 msgid "The signalfd_siginfo structure"
7813 msgstr "signalfd_siginfo 構造体"
7814
7815 #. type: Plain text
7816 #: build/C/man2/signalfd.2:170
7817 msgid ""
7818 "The format of the I<signalfd_siginfo> structure(s) returned by B<read>(2)s "
7819 "from a signalfd file descriptor is as follows:"
7820 msgstr ""
7821 "signalfd ファイルディスクリプタからの B<read>(2)  で返される "
7822 "I<signalfd_siginfo> 構造体のフォーマットは以下の通りである。"
7823
7824 #.  ssi_trapno is unused on most arches
7825 #. type: Plain text
7826 #: build/C/man2/signalfd.2:195
7827 #, no-wrap
7828 msgid ""
7829 "struct signalfd_siginfo {\n"
7830 "    uint32_t ssi_signo;   /* Signal number */\n"
7831 "    int32_t  ssi_errno;   /* Error number (unused) */\n"
7832 "    int32_t  ssi_code;    /* Signal code */\n"
7833 "    uint32_t ssi_pid;     /* PID of sender */\n"
7834 "    uint32_t ssi_uid;     /* Real UID of sender */\n"
7835 "    int32_t  ssi_fd;      /* File descriptor (SIGIO) */\n"
7836 "    uint32_t ssi_tid;     /* Kernel timer ID (POSIX timers)\n"
7837 "    uint32_t ssi_band;    /* Band event (SIGIO) */\n"
7838 "    uint32_t ssi_overrun; /* POSIX timer overrun count */\n"
7839 "    uint32_t ssi_trapno;  /* Trap number that caused signal */\n"
7840 "    int32_t  ssi_status;  /* Exit status or signal (SIGCHLD) */\n"
7841 "    int32_t  ssi_int;     /* Integer sent by sigqueue(3) */\n"
7842 "    uint64_t ssi_ptr;     /* Pointer sent by sigqueue(3) */\n"
7843 "    uint64_t ssi_utime;   /* User CPU time consumed (SIGCHLD) */\n"
7844 "    uint64_t ssi_stime;   /* System CPU time consumed (SIGCHLD) */\n"
7845 "    uint64_t ssi_addr;    /* Address that generated signal\n"
7846 "                             (for hardware-generated signals) */\n"
7847 "    uint8_t  pad[I<X>];      /* Pad size to 128 bytes (allow for\n"
7848 "                              additional fields in the future) */\n"
7849 "};\n"
7850 msgstr ""
7851 "struct signalfd_siginfo {\n"
7852 "struct signalfd_siginfo {\n"
7853 "    uint32_t ssi_signo;   /* シグナル番号 */\n"
7854 "    int32_t  ssi_errno;   /* エラー番号 (未使用) */\n"
7855 "    int32_t  ssi_code;    /* シグナルコード */\n"
7856 "    uint32_t ssi_pid;     /* 送信元の PID */\n"
7857 "    uint32_t ssi_uid;     /* 送信元の実 UID */\n"
7858 "    int32_t  ssi_fd;      /* ファイルディスクリプタ (SIGIO) */\n"
7859 "    uint32_t ssi_tid;     /* カーネルタイマ ID (POSIX タイマ)\n"
7860 "    uint32_t ssi_band;    /* Band イベント (SIGIO) */\n"
7861 "    uint32_t ssi_overrun; /* POSIX タイマのオーバーラン回数 */\n"
7862 "    uint32_t ssi_trapno;  /* シグナルの原因となったトラップ番号 */\n"
7863 "    int32_t  ssi_status;  /* 終了ステータスかシグナル (SIGCHLD) */\n"
7864 "    int32_t  ssi_int;     /* sigqueue(3) から送られた整数 */\n"
7865 "    uint64_t ssi_ptr;     /* sigqueue(3) から送られたポインタ */\n"
7866 "    uint64_t ssi_utime;   /* 消費したユーザ CPU 時間 (SIGCHLD) */\n"
7867 "    uint64_t ssi_stime;   /* 消費したシステム CPU 時間 (SIGCHLD) */\n"
7868 "    uint64_t ssi_addr;    /* シグナルを生成したアドレス\n"
7869 "                             (ハードウェアが生成したシグナルの場合) */\n"
7870 "    uint8_t  pad[I<X>];      /* pad の大きさは 128 バイト\n"
7871 "                             (将来のフィールド追加用の場所の確保) */\n"
7872 "};\n"
7873
7874 #. type: Plain text
7875 #: build/C/man2/signalfd.2:218
7876 msgid ""
7877 "Each of the fields in this structure is analogous to the similarly named "
7878 "field in the I<siginfo_t> structure.  The I<siginfo_t> structure is "
7879 "described in B<sigaction>(2).  Not all fields in the returned "
7880 "I<signalfd_siginfo> structure will be valid for a specific signal; the set "
7881 "of valid fields can be determined from the value returned in the I<ssi_code> "
7882 "field.  This field is the analog of the I<siginfo_t> I<si_code> field; see "
7883 "B<sigaction>(2)  for details."
7884 msgstr ""
7885 "I<signalfd_siginfo> 構造体の各フィールドは、 I<siginfo_t> 構造体の同じような"
7886 "名前のフィールドと同様である。 I<siginfo_t> 構造体については B<sigaction>"
7887 "(2)  に説明がある。 返された I<signalfd_siginfo> 構造体の全てのフィールドがあ"
7888 "るシグナルに対して有効なわけではない。 どのフィールドが有効かは、 "
7889 "I<ssi_code> フィールドで返される値から判定することができる。 このフィールド"
7890 "は I<siginfo_t> の I<si_code> フィールドと同様である。詳細は B<sigaction>"
7891 "(2)  を参照。"
7892
7893 #. type: SS
7894 #: build/C/man2/signalfd.2:218 build/C/man2/timerfd_create.2:268
7895 #, no-wrap
7896 msgid "fork(2) semantics"
7897 msgstr "fork(2) での扱い"
7898
7899 #. type: Plain text
7900 #: build/C/man2/signalfd.2:226
7901 msgid ""
7902 "After a B<fork>(2), the child inherits a copy of the signalfd file "
7903 "descriptor.  A B<read>(2)  from the file descriptor in the child will return "
7904 "information about signals queued to the child."
7905 msgstr ""
7906 "B<fork>(2)  が行われると、子プロセスは signalfd ファイルディスクリプタのコ"
7907 "ピーを 継承する。 子プロセスでこのファイルディスクリプタから B<read>(2)  を行"
7908 "うと、子プロセスに対するキューに入っているシグナルに関する 情報が返される。"
7909
7910 #. type: SS
7911 #: build/C/man2/signalfd.2:226 build/C/man2/timerfd_create.2:280
7912 #, no-wrap
7913 msgid "execve(2) semantics"
7914 msgstr "execve(2) での扱い"
7915
7916 #. type: Plain text
7917 #: build/C/man2/signalfd.2:238
7918 msgid ""
7919 "Just like any other file descriptor, a signalfd file descriptor remains open "
7920 "across an B<execve>(2), unless it has been marked for close-on-exec (see "
7921 "B<fcntl>(2)).  Any signals that were available for reading before the "
7922 "B<execve>(2)  remain available to the newly loaded program.  (This is "
7923 "analogous to traditional signal semantics, where a blocked signal that is "
7924 "pending remains pending across an B<execve>(2).)"
7925 msgstr ""
7926 "他のファイルディスクリプタと全く同様に、 signalfd ファイルディスクリプタも "
7927 "B<execve>(2)  の前後でオープンされたままとなる。但し、そのファイルディスクリ"
7928 "プタに close-on-exec のマーク (B<fcntl>(2)  参照) が付いている場合はクローズ"
7929 "される。 B<execve>(2)  の前に読み出し可能となっていた全てのシグナルは新しく起"
7930 "動されたプログラム でも引き続き読み出し可能である (これは伝統的なシグナルの扱"
7931 "いと同じであり、 処理待ちのブロックされたシグナルは B<execve>(2)  の前後で処"
7932 "理待ちのままとなる)。"
7933
7934 #. type: SS
7935 #: build/C/man2/signalfd.2:238
7936 #, no-wrap
7937 msgid "Thread semantics"
7938 msgstr "スレッドでの扱い"
7939
7940 #. type: Plain text
7941 #: build/C/man2/signalfd.2:248
7942 msgid ""
7943 "The semantics of signalfd file descriptors in a multithreaded program mirror "
7944 "the standard semantics for signals.  In other words, when a thread reads "
7945 "from a signalfd file descriptor, it will read the signals that are directed "
7946 "to the thread itself and the signals that are directed to the process (i.e., "
7947 "the entire thread group).  (A thread will not be able to read signals that "
7948 "are directed to other threads in the process.)"
7949 msgstr ""
7950 "マルチスレッドプログラムにおける signalfd ファイルディスクリプタの扱いは シグ"
7951 "ナルの標準的な扱いと全く同じである。 言い換えると、あるスレッドが signalfd "
7952 "ファイルディスクリプタから 読み出しを行うと、そのスレッド自身宛てのシグナルと"
7953 "プロセス (すなわち スレッドグループ全体) 宛てのシグナルが読み出される。 (ス"
7954 "レッドは同じプロセスの他のスレッド宛てのシグナルを読み出すことはできない。)"
7955
7956 #. type: Plain text
7957 #: build/C/man2/signalfd.2:262
7958 msgid ""
7959 "On success, B<signalfd>()  returns a signalfd file descriptor; this is "
7960 "either a new file descriptor (if I<fd> was -1), or I<fd> if I<fd> was a "
7961 "valid signalfd file descriptor.  On error, -1 is returned and I<errno> is "
7962 "set to indicate the error."
7963 msgstr ""
7964 "成功すると、 B<signalfd>()  は signalfd ファイルディスクリプタを返す。 返され"
7965 "るファイルディスクリプタは、 I<fd> が -1 の場合は新規のファイルディスクリプタ"
7966 "であり、 I<fd> が有効な signalfd ファイルディスクリプタだった場合は I<fd> 自"
7967 "身である。 エラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
7968
7969 #. type: TP
7970 #: build/C/man2/signalfd.2:263 build/C/man2/timerfd_create.2:337
7971 #, no-wrap
7972 msgid "B<EBADF>"
7973 msgstr "B<EBADF>"
7974
7975 #. type: Plain text
7976 #: build/C/man2/signalfd.2:268
7977 msgid "The I<fd> file descriptor is not a valid file descriptor."
7978 msgstr "ファイルディスクリプタ I<fd> が有効なファイルディスクリプタでない。"
7979
7980 #.  or, the
7981 #.  .I sizemask
7982 #.  argument is not equal to
7983 #.  .IR sizeof(sigset_t) ;
7984 #. type: Plain text
7985 #: build/C/man2/signalfd.2:276
7986 msgid "I<fd> is not a valid signalfd file descriptor."
7987 msgstr "I<fd> が有効な signalfd ファイルディスクリプタではない。"
7988
7989 #. type: Plain text
7990 #: build/C/man2/signalfd.2:283 build/C/man2/timerfd_create.2:319
7991 msgid ""
7992 "I<flags> is invalid; or, in Linux 2.6.26 or earlier, I<flags> is nonzero."
7993 msgstr ""
7994 "I<flags> が無効である。もしくは、Linux 2.6.26 以前の場合には I<flags> が 0 以"
7995 "外である。"
7996
7997 #. type: Plain text
7998 #: build/C/man2/signalfd.2:286 build/C/man2/timerfd_create.2:322
7999 msgid "The per-process limit of open file descriptors has been reached."
8000 msgstr ""
8001 "オープン済みのファイルディスクリプタの数がプロセスあたりの上限に 達していた。"
8002
8003 #. type: Plain text
8004 #: build/C/man2/signalfd.2:296
8005 msgid "There was insufficient memory to create a new signalfd file descriptor."
8006 msgstr ""
8007 "新しい signalfd ファイルディスクリプタを生成するのに十分なメモリがなかった。"
8008
8009 #.  signalfd() is in glibc 2.7, but reportedly does not build
8010 #. type: Plain text
8011 #: build/C/man2/signalfd.2:304
8012 msgid ""
8013 "B<signalfd>()  is available on Linux since kernel 2.6.22.  Working support "
8014 "is provided in glibc since version 2.8.  The B<signalfd4>()  system call "
8015 "(see NOTES) is available on Linux since kernel 2.6.27."
8016 msgstr ""
8017 "B<signalfd>()  はカーネル 2.6.22 以降の Linux で利用可能である。 正しく動作す"
8018 "る glibc 側のサポートはバージョン 2.8 以降で提供されている。 B<signalfd4>()  "
8019 "システムコール (「注意」参照) は カーネル 2.6.27 以降の Linux で利用可能であ"
8020 "る。"
8021
8022 #. type: Plain text
8023 #: build/C/man2/signalfd.2:309
8024 msgid "B<signalfd>()  and B<signalfd4>()  are Linux-specific."
8025 msgstr "B<signalfd>()  と B<signalfd4>()  は Linux 固有である。"
8026
8027 #. type: Plain text
8028 #: build/C/man2/signalfd.2:319
8029 msgid ""
8030 "The underlying Linux system call requires an additional argument, I<size_t "
8031 "sizemask>, which specifies the size of the I<mask> argument.  The glibc "
8032 "B<signalfd>()  wrapper function does not include this argument, since it "
8033 "provides the required value for the underlying system call."
8034 msgstr ""
8035 "実際の Linux のシステムコールでは I<size_t sizemask> という引き数が追加で必要"
8036 "である。この引き数で I<mask> のサイズを指定する。 glibc の B<signalfd>()  "
8037 "ラッパー関数にはこの引き数は含まれず、 ラッパー関数が必要な値を計算して内部で"
8038 "呼び出すシステムコールに提供する。"
8039
8040 #. type: Plain text
8041 #: build/C/man2/signalfd.2:333
8042 msgid ""
8043 "A process can create multiple signalfd file descriptors.  This makes it "
8044 "possible to accept different signals on different file descriptors.  (This "
8045 "may be useful if monitoring the file descriptors using B<select>(2), B<poll>"
8046 "(2), or B<epoll>(7): the arrival of different signals will make different "
8047 "descriptors ready.)  If a signal appears in the I<mask> of more than one of "
8048 "the file descriptors, then occurrences of that signal can be read (once) "
8049 "from any one of the descriptors."
8050 msgstr ""
8051 "一つのプロセスは複数の signalfd ファイルディスクリプタを生成することができ"
8052 "る。 これにより、異なるファイルディスクリプタで異なるシグナルを受け取ること"
8053 "が できる (この機能は B<select>(2), B<poll>(2), B<epoll>(7)  を使ってファイル"
8054 "ディスクリプタを監視する場合に有用かもしれない。 異なるシグナルが到着すると、"
8055 "異なるファイルディスクリプタが利用可能に なるからだ)。 一つのシグナルが二つ以"
8056 "上のファイルディスクリプタの I<mask> に含まれている場合、そのシグナルの発生は"
8057 "そのシグナルを I<mask> に含むファイルディスクリプタのうちいずれか一つから読み"
8058 "出すことができる。"
8059
8060 #. type: Plain text
8061 #: build/C/man2/signalfd.2:349
8062 msgid ""
8063 "There are two underlying Linux system calls: B<signalfd>()  and the more "
8064 "recent B<signalfd4>().  The former system call does not implement a I<flags> "
8065 "argument.  The latter system call implements the I<flags> values described "
8066 "above.  Starting with glibc 2.9, the B<signalfd>()  wrapper function will "
8067 "use B<signalfd4>()  where it is available."
8068 msgstr ""
8069 "下層にある Linux システムコールは二種類あり、 B<signalfd>()  と、もっと新し"
8070 "い B<signalfd4>()  である。 B<signalfd>()  は I<flags> 引き数を実装していな"
8071 "い。 B<signalfd4>()  では上記の値の I<flags> が実装されている。 glibc 2.9 以"
8072 "降では、 B<signalfd>()  のラッパー関数は、 B<signalfd4>()  が利用可能であれ"
8073 "ば、これを使用する。"
8074
8075 #.  The fix also was put into 2.6.24.5
8076 #. type: Plain text
8077 #: build/C/man2/signalfd.2:357
8078 msgid ""
8079 "In kernels before 2.6.25, the I<ssi_ptr> and I<ssi_int> fields are not "
8080 "filled in with the data accompanying a signal sent by B<sigqueue>(3)."
8081 msgstr ""
8082 "カーネル 2.6.25 より前では、 B<sigqueue>(3)  により送信されたシグナルと一緒に"
8083 "渡されるデータでは、フィールド I<ssi_ptr> と I<ssi_int> は設定されない。"
8084
8085 #. type: Plain text
8086 #: build/C/man2/signalfd.2:367
8087 msgid ""
8088 "The program below accepts the signals B<SIGINT> and B<SIGQUIT> via a "
8089 "signalfd file descriptor.  The program terminates after accepting a "
8090 "B<SIGQUIT> signal.  The following shell session demonstrates the use of the "
8091 "program:"
8092 msgstr ""
8093 "下記のプログラムは、シグナル B<SIGINT> と B<SIGQUIT> を signalfd ファイルディ"
8094 "スクリプタ経由で受信する。 シグナル B<SIGQUIT> 受信後にプログラムは終了す"
8095 "る。 以下に示すシェルセッションにこのプログラムの使い方を示す。"
8096
8097 #. type: Plain text
8098 #: build/C/man2/signalfd.2:378
8099 #, no-wrap
8100 msgid ""
8101 "$B< ./signalfd_demo>\n"
8102 "B<^C>                   # Control-C generates SIGINT\n"
8103 "Got SIGINT\n"
8104 "B<^C>\n"
8105 "Got SIGINT\n"
8106 "B<^\\e>                    # Control-\\e generates SIGQUIT\n"
8107 "Got SIGQUIT\n"
8108 "$\n"
8109 msgstr ""
8110 "$B< ./signalfd_demo>\n"
8111 "B<^C>                   # Control-C generates SIGINT\n"
8112 "Got SIGINT\n"
8113 "B<^C>\n"
8114 "Got SIGINT\n"
8115 "B<^\\e>                    # Control-\\e generates SIGQUIT\n"
8116 "Got SIGQUIT\n"
8117 "$\n"
8118
8119 #. type: Plain text
8120 #: build/C/man2/signalfd.2:388
8121 #, no-wrap
8122 msgid ""
8123 "#include E<lt>sys/signalfd.hE<gt>\n"
8124 "#include E<lt>signal.hE<gt>\n"
8125 "#include E<lt>unistd.hE<gt>\n"
8126 "#include E<lt>stdlib.hE<gt>\n"
8127 "#include E<lt>stdio.hE<gt>\n"
8128 msgstr ""
8129 "#include E<lt>sys/signalfd.hE<gt>\n"
8130 "#include E<lt>signal.hE<gt>\n"
8131 "#include E<lt>unistd.hE<gt>\n"
8132 "#include E<lt>stdlib.hE<gt>\n"
8133 "#include E<lt>stdio.hE<gt>\n"
8134
8135 #. type: Plain text
8136 #: build/C/man2/signalfd.2:399
8137 #, no-wrap
8138 msgid ""
8139 "int\n"
8140 "main(int argc, char *argv[])\n"
8141 "{\n"
8142 "    sigset_t mask;\n"
8143 "    int sfd;\n"
8144 "    struct signalfd_siginfo fdsi;\n"
8145 "    ssize_t s;\n"
8146 msgstr ""
8147 "int\n"
8148 "main(int argc, char *argv[])\n"
8149 "{\n"
8150 "    sigset_t mask;\n"
8151 "    int sfd;\n"
8152 "    struct signalfd_siginfo fdsi;\n"
8153 "    ssize_t s;\n"
8154
8155 #. type: Plain text
8156 #: build/C/man2/signalfd.2:403
8157 #, no-wrap
8158 msgid ""
8159 "    sigemptyset(&mask);\n"
8160 "    sigaddset(&mask, SIGINT);\n"
8161 "    sigaddset(&mask, SIGQUIT);\n"
8162 msgstr ""
8163 "    sigemptyset(&mask);\n"
8164 "    sigaddset(&mask, SIGINT);\n"
8165 "    sigaddset(&mask, SIGQUIT);\n"
8166
8167 #. type: Plain text
8168 #: build/C/man2/signalfd.2:406
8169 #, no-wrap
8170 msgid ""
8171 "    /* Block signals so that they aren\\(aqt handled\n"
8172 "       according to their default dispositions */\n"
8173 msgstr ""
8174 "    /* Block signals so that they aren\\(aqt handled\n"
8175 "       according to their default dispositions */\n"
8176
8177 #. type: Plain text
8178 #: build/C/man2/signalfd.2:409
8179 #, no-wrap
8180 msgid ""
8181 "    if (sigprocmask(SIG_BLOCK, &mask, NULL) == -1)\n"
8182 "        handle_error(\"sigprocmask\");\n"
8183 msgstr ""
8184 "    if (sigprocmask(SIG_BLOCK, &mask, NULL) == -1)\n"
8185 "        handle_error(\"sigprocmask\");\n"
8186
8187 #. type: Plain text
8188 #: build/C/man2/signalfd.2:413
8189 #, no-wrap
8190 msgid ""
8191 "    sfd = signalfd(-1, &mask, 0);\n"
8192 "    if (sfd == -1)\n"
8193 "        handle_error(\"signalfd\");\n"
8194 msgstr ""
8195 "    sfd = signalfd(-1, &mask, 0);\n"
8196 "    if (sfd == -1)\n"
8197 "        handle_error(\"signalfd\");\n"
8198
8199 #. type: Plain text
8200 #: build/C/man2/signalfd.2:418
8201 #, no-wrap
8202 msgid ""
8203 "    for (;;) {\n"
8204 "        s = read(sfd, &fdsi, sizeof(struct signalfd_siginfo));\n"
8205 "        if (s != sizeof(struct signalfd_siginfo))\n"
8206 "            handle_error(\"read\");\n"
8207 msgstr ""
8208 "    for (;;) {\n"
8209 "        s = read(sfd, &fdsi, sizeof(struct signalfd_siginfo));\n"
8210 "        if (s != sizeof(struct signalfd_siginfo))\n"
8211 "            handle_error(\"read\");\n"
8212
8213 #. type: Plain text
8214 #: build/C/man2/signalfd.2:429
8215 #, no-wrap
8216 msgid ""
8217 "        if (fdsi.ssi_signo == SIGINT) {\n"
8218 "            printf(\"Got SIGINT\\en\");\n"
8219 "        } else if (fdsi.ssi_signo == SIGQUIT) {\n"
8220 "            printf(\"Got SIGQUIT\\en\");\n"
8221 "            exit(EXIT_SUCCESS);\n"
8222 "        } else {\n"
8223 "            printf(\"Read unexpected signal\\en\");\n"
8224 "        }\n"
8225 "    }\n"
8226 "}\n"
8227 msgstr ""
8228 "        if (fdsi.ssi_signo == SIGINT) {\n"
8229 "            printf(\"Got SIGINT\\en\");\n"
8230 "        } else if (fdsi.ssi_signo == SIGQUIT) {\n"
8231 "            printf(\"Got SIGQUIT\\en\");\n"
8232 "            exit(EXIT_SUCCESS);\n"
8233 "        } else {\n"
8234 "            printf(\"Read unexpected signal\\en\");\n"
8235 "        }\n"
8236 "    }\n"
8237 "}\n"
8238
8239 #. type: Plain text
8240 #: build/C/man2/signalfd.2:443
8241 msgid ""
8242 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<sigaction>(2), "
8243 "B<sigprocmask>(2), B<sigwaitinfo>(2), B<timerfd_create>(2), B<sigsetops>(3), "
8244 "B<sigwait>(3), B<epoll>(7), B<signal>(7)"
8245 msgstr ""
8246 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<sigaction>(2), "
8247 "B<sigprocmask>(2), B<sigwaitinfo>(2), B<timerfd_create>(2), B<sigsetops>(3), "
8248 "B<sigwait>(3), B<epoll>(7), B<signal>(7)"
8249
8250 #. type: TH
8251 #: build/C/man3/sigpause.3:23
8252 #, no-wrap
8253 msgid "SIGPAUSE"
8254 msgstr "SIGPAUSE"
8255
8256 #. type: TH
8257 #: build/C/man3/sigpause.3:23
8258 #, no-wrap
8259 msgid "2010-09-12"
8260 msgstr "2010-09-12"
8261
8262 #. type: Plain text
8263 #: build/C/man3/sigpause.3:26
8264 msgid "sigpause - atomically release blocked signals and wait for interrupt"
8265 msgstr "sigpause - ブロックされたシグナルをアトミックに解放して割り込みを待つ"
8266
8267 #. type: Plain text
8268 #: build/C/man3/sigpause.3:31
8269 #, no-wrap
8270 msgid "B<int sigpause(int >I<sigmask>B<);  /* BSD */>\n"
8271 msgstr "B<int sigpause(int >I<sigmask>B<);  /* BSD */>\n"
8272
8273 #. type: Plain text
8274 #: build/C/man3/sigpause.3:33
8275 #, no-wrap
8276 msgid "B<int sigpause(int >I<sig>B<);      /* System V / UNIX 95 */>\n"
8277 msgstr "B<int sigpause(int >I<sig>B<);      /* System V / UNIX 95 */>\n"
8278
8279 #. type: Plain text
8280 #: build/C/man3/sigpause.3:39
8281 msgid "Don't use this function.  Use B<sigsuspend>(2)  instead."
8282 msgstr "この関数を使わないこと。 代わりに B<sigsuspend>(2)  を使うこと。"
8283
8284 #. type: Plain text
8285 #: build/C/man3/sigpause.3:46
8286 msgid ""
8287 "The function B<sigpause>()  is designed to wait for some signal.  It changes "
8288 "the process's signal mask (set of blocked signals), and then waits for a "
8289 "signal to arrive.  Upon arrival of a signal, the original signal mask is "
8290 "restored."
8291 msgstr ""
8292 "関数 B<sigpause>()  はシグナルを待つように設計されている。 この関数はプロセス"
8293 "のシグナルマスク (ブロックされたシグナルのセット) を変更し、 シグナルが到着す"
8294 "るのを待つ。 シグナルが到着すると、シグナルマスクは元に戻される。"
8295
8296 #. type: Plain text
8297 #: build/C/man3/sigpause.3:54
8298 msgid ""
8299 "If B<sigpause>()  returns, it was interrupted by a signal and the return "
8300 "value is -1 with I<errno> set to B<EINTR>."
8301 msgstr ""
8302 "B<sigpause>()  が返った場合、この関数はシグナルによって割り込まれている。 返"
8303 "り値は -1 で、 I<errno> は B<EINTR> に設定される。"
8304
8305 #. type: Plain text
8306 #: build/C/man3/sigpause.3:58
8307 msgid "The System V version of B<sigpause>()  is standardized in POSIX.1-2001."
8308 msgstr "System V 版の B<sigpause>()  は POSIX.1-2001 で標準化されている。"
8309
8310 #.  __xpg_sigpause: UNIX 95, spec 1170, SVID, SVr4, XPG
8311 #. type: Plain text
8312 #: build/C/man3/sigpause.3:75
8313 msgid ""
8314 "The classical BSD version of this function appeared in 4.2BSD.  It sets the "
8315 "process's signal mask to I<sigmask>.  UNIX 95 standardized the incompatible "
8316 "System V version of this function, which removes only the specified signal "
8317 "I<sig> from the process's signal mask.  The unfortunate situation with two "
8318 "incompatible functions with the same name was solved by the B<\\%sigsuspend>"
8319 "(2)  function, that takes a I<sigset_t *> argument (instead of an I<int>)."
8320 msgstr ""
8321 "この関数の古典的な BSD 版は 4.2BSD で登場した。 この関数はプロセスのシグナル"
8322 "マスクを I<sigmask> に設定する。 UNIX 95 では BSD 版と互換性のない System V "
8323 "版のこの関数が標準化された。 UNIX 95 版は、指定されたシグナル I<sig> をプロセ"
8324 "スのシグナルマスクから削除するだけである。 同じ名前で互換性のない 2 つの関数"
8325 "があるという不幸な事態は、 B<\\%sigsuspend>(2)  関数によって解消された。 この"
8326 "関数は (I<int> の代わりに)  B<sigset_t *> 引き数をとる。"
8327
8328 #. type: Plain text
8329 #: build/C/man3/sigpause.3:78
8330 msgid ""
8331 "On Linux, this routine is a system call only on the Sparc (sparc64)  "
8332 "architecture."
8333 msgstr ""
8334 "Linux では、このルーチンは Sparc (sparc64) アーキテクチャでのみ システムコー"
8335 "ルとなっている。"
8336
8337 #. type: Plain text
8338 #: build/C/man3/sigpause.3:80
8339 msgid "Libc4 and libc5 only know about the BSD version."
8340 msgstr "libc4 と libc5 には BSD 版しかない。"
8341
8342 #.  For the BSD version, one usually uses a zero
8343 #.  .I sigmask
8344 #.  to indicate that no signals are to be blocked.
8345 #. type: Plain text
8346 #: build/C/man3/sigpause.3:96
8347 msgid ""
8348 "Glibc uses the BSD version if the B<_BSD_SOURCE> feature test macro is "
8349 "defined and none of B<_POSIX_SOURCE>, B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, "
8350 "B<_GNU_SOURCE>, or B<_SVID_SOURCE> is defined.  Otherwise, the System V "
8351 "version is used."
8352 msgstr ""
8353 "機能検査マクロ B<_BSD_SOURCE> が定義され、 B<_POSIX_SOURCE>, "
8354 "B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, B<_GNU_SOURCE>, B<_SVID_SOURCE> のいず"
8355 "れも定義されていない場合、 glibc は BSD 版を使う。 それ以外の場合には、"
8356 "System V 版を使用する。"
8357
8358 #. type: Plain text
8359 #: build/C/man3/sigpause.3:104
8360 msgid ""
8361 "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<sigsuspend>(2), B<sigblock>"
8362 "(3), B<sigvec>(3), B<feature_test_macros>(7)"
8363 msgstr ""
8364 "B<kill>(2), B<sigaction>(2), B<sigprocmask>(2), B<sigsuspend>(2), B<sigblock>"
8365 "(3), B<sigvec>(3), B<feature_test_macros>(7)"
8366
8367 #. type: TH
8368 #: build/C/man2/sigpending.2:27
8369 #, no-wrap
8370 msgid "SIGPENDING"
8371 msgstr "SIGPENDING"
8372
8373 #. type: TH
8374 #: build/C/man2/sigpending.2:27
8375 #, no-wrap
8376 msgid "2008-10-04"
8377 msgstr "2008-10-04"
8378
8379 #. type: Plain text
8380 #: build/C/man2/sigpending.2:30
8381 msgid "sigpending - examine pending signals"
8382 msgstr "sigpending - 処理待ちのシグナルの検査"
8383
8384 #. type: Plain text
8385 #: build/C/man2/sigpending.2:34
8386 msgid "B<int sigpending(sigset_t *>I<set>B<);>"
8387 msgstr "B<int sigpending(sigset_t *>I<set>B<);>"
8388
8389 #. type: Plain text
8390 #: build/C/man2/sigpending.2:43
8391 msgid ""
8392 "B<sigpending>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8393 "_POSIX_SOURCE"
8394 msgstr ""
8395 "B<sigpending>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8396 "_POSIX_SOURCE"
8397
8398 #. type: Plain text
8399 #: build/C/man2/sigpending.2:51
8400 msgid ""
8401 "B<sigpending>()  returns the set of signals that are pending for delivery to "
8402 "the calling thread (i.e., the signals which have been raised while "
8403 "blocked).  The mask of pending signals is returned in I<set>."
8404 msgstr ""
8405 "B<sigpending>()  は、呼び出し元のスレッドへの配送を待っている (pending) シグ"
8406 "ナル集合 (すなわち、禁止中に発生したシグナル) を返す。 処理待ちのシグナルのマ"
8407 "スクが I<set> に格納される。"
8408
8409 #. type: Plain text
8410 #: build/C/man2/sigpending.2:54
8411 msgid "B<sigpending>()  returns 0 on success and -1 on error."
8412 msgstr "B<sigpending>()  は成功すれば 0 を返し、エラーならば -1 を返す。"
8413
8414 #. type: Plain text
8415 #: build/C/man2/sigpending.2:59
8416 msgid ""
8417 "I<set> points to memory which is not a valid part of the process address "
8418 "space."
8419 msgstr ""
8420 "I<set> が指しているメモリが、プロセスのアドレス空間の有効な部分ではない。"
8421
8422 #. type: Plain text
8423 #: build/C/man2/sigpending.2:70
8424 msgid ""
8425 "The set of signals that is pending for a thread is the union of the set of "
8426 "signals that is pending for that thread and the set of signals that is "
8427 "pending for the process as a whole; see B<signal>(7)."
8428 msgstr ""
8429 "あるスレッドに対する処理待ちのシグナルの集合は、 そのスレッド自体への処理待ち"
8430 "のシグナル集合と、プロセス全体への処理待ちの シグナル集合をあわせたものであ"
8431 "る。 B<signal>(7)  参照。"
8432
8433 #. type: Plain text
8434 #: build/C/man2/sigpending.2:82
8435 msgid ""
8436 "In versions of glibc up to and including 2.2.1, there is a bug in the "
8437 "wrapper function for B<sigpending>()  which means that information about "
8438 "pending real-time signals is not correctly returned."
8439 msgstr ""
8440 "バージョン 2.2.1 以前の glibc では、 B<sigpending>()  のラッパー関数に、処理"
8441 "待ちのリアルタイムシグナルに関する情報が 正しく返されないというバグがある。"
8442
8443 #. type: Plain text
8444 #: build/C/man2/sigpending.2:90
8445 msgid ""
8446 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), B<sigsuspend>"
8447 "(2), B<sigsetops>(3), B<signal>(7)"
8448 msgstr ""
8449 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), B<sigsuspend>"
8450 "(2), B<sigsetops>(3), B<signal>(7)"
8451
8452 #. type: TH
8453 #: build/C/man2/sigprocmask.2:27
8454 #, no-wrap
8455 msgid "SIGPROCMASK"
8456 msgstr "SIGPROCMASK"
8457
8458 #. type: TH
8459 #: build/C/man2/sigprocmask.2:27
8460 #, no-wrap
8461 msgid "2012-04-15"
8462 msgstr "2012-04-15"
8463
8464 #. type: Plain text
8465 #: build/C/man2/sigprocmask.2:30
8466 msgid "sigprocmask - examine and change blocked signals"
8467 msgstr "sigprocmask - 禁止するシグナルの確認と変更"
8468
8469 #. type: Plain text
8470 #: build/C/man2/sigprocmask.2:35
8471 msgid ""
8472 "B<int sigprocmask(int >I<how>B<, const sigset_t *>I<set>B<,> B<sigset_t "
8473 "*>I<oldset>B<);>"
8474 msgstr ""
8475 "B<int sigprocmask(int >I<how>B<, const sigset_t *>I<set>B<,> B<sigset_t "
8476 "*>I<oldset>B<);>"
8477
8478 #. type: Plain text
8479 #: build/C/man2/sigprocmask.2:44
8480 msgid ""
8481 "B<sigprocmask>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8482 "_POSIX_SOURCE"
8483 msgstr ""
8484 "B<sigprocmask>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
8485 "_POSIX_SOURCE"
8486
8487 #. type: Plain text
8488 #: build/C/man2/sigprocmask.2:53
8489 msgid ""
8490 "B<sigprocmask>()  is used to fetch and/or change the signal mask of the "
8491 "calling thread.  The signal mask is the set of signals whose delivery is "
8492 "currently blocked for the caller (see also B<signal>(7)  for more details)."
8493 msgstr ""
8494 "B<sigprocmask>()  を使うと、呼び出したスレッドのシグナルマスクの取得/変更がで"
8495 "きる。 シグナルマスクは、呼び出し元に対して現在配送が禁止されているシグナル"
8496 "の 集合のことである (詳細については B<signal>(7)  も参照のこと)。"
8497
8498 #. type: Plain text
8499 #: build/C/man2/sigprocmask.2:57
8500 msgid ""
8501 "The behavior of the call is dependent on the value of I<how>, as follows."
8502 msgstr "このコールの動作は I<how> の値によって決まる:"
8503
8504 #. type: TP
8505 #: build/C/man2/sigprocmask.2:57
8506 #, no-wrap
8507 msgid "B<SIG_BLOCK>"
8508 msgstr "B<SIG_BLOCK>"
8509
8510 #. type: Plain text
8511 #: build/C/man2/sigprocmask.2:62
8512 msgid ""
8513 "The set of blocked signals is the union of the current set and the I<set> "
8514 "argument."
8515 msgstr ""
8516 "禁止されたシグナルの集合は現在の値と I<set> 引き数を結合したものとなる。"
8517
8518 #. type: TP
8519 #: build/C/man2/sigprocmask.2:62
8520 #, no-wrap
8521 msgid "B<SIG_UNBLOCK>"
8522 msgstr "B<SIG_UNBLOCK>"
8523
8524 #. type: Plain text
8525 #: build/C/man2/sigprocmask.2:68
8526 msgid ""
8527 "The signals in I<set> are removed from the current set of blocked signals.  "
8528 "It is permissible to attempt to unblock a signal which is not blocked."
8529 msgstr ""
8530 "現在禁止されているシグナルの集合から I<set> にあるシグナルを取り除く。禁止さ"
8531 "れていないシグナルを取り除こうと することも認められている。"
8532
8533 #. type: TP
8534 #: build/C/man2/sigprocmask.2:68
8535 #, no-wrap
8536 msgid "B<SIG_SETMASK>"
8537 msgstr "B<SIG_SETMASK>"
8538
8539 #. type: Plain text
8540 #: build/C/man2/sigprocmask.2:72
8541 msgid "The set of blocked signals is set to the argument I<set>."
8542 msgstr "禁止されているシグナルの集合に I<set> 引き数を設定する。"
8543
8544 #. type: Plain text
8545 #: build/C/man2/sigprocmask.2:77
8546 msgid ""
8547 "If I<oldset> is non-NULL, the previous value of the signal mask is stored in "
8548 "I<oldset>."
8549 msgstr ""
8550 "I<oldset> が NULL でなければ、シグナルマスクの今までの値を I<oldset> に格納す"
8551 "る。"
8552
8553 #. type: Plain text
8554 #: build/C/man2/sigprocmask.2:86
8555 msgid ""
8556 "If I<set> is NULL, then the signal mask is unchanged (i.e., I<how> is "
8557 "ignored), but the current value of the signal mask is nevertheless returned "
8558 "in I<oldset> (if it is not NULL)."
8559 msgstr ""
8560 "I<set> が NULL であれば、シグナルマスクは変更されない (すなわち、 I<how> は無"
8561 "視される)。 I<set> の値にかかわらず、現在のシグナルマスクの値は I<oldset> に"
8562 "入れて返される (但し、 I<oldset> が NULL でない場合)。"
8563
8564 #. type: Plain text
8565 #: build/C/man2/sigprocmask.2:91
8566 msgid ""
8567 "The use of B<sigprocmask>()  is unspecified in a multithreaded process; see "
8568 "B<pthread_sigmask>(3)."
8569 msgstr ""
8570 "マルチスレッドのプロセスで B<sigprocmask>()  を使用した場合の動作は規定されて"
8571 "いない。 B<pthread_sigmask>(3)  を参照のこと。"
8572
8573 #. type: Plain text
8574 #: build/C/man2/sigprocmask.2:94
8575 msgid "B<sigprocmask>()  returns 0 on success and -1 on error."
8576 msgstr "B<sigprocmask>()  は成功すれば 0 を返し、エラーならば -1 を返す。"
8577
8578 #. type: Plain text
8579 #: build/C/man2/sigprocmask.2:102
8580 msgid ""
8581 "the I<set> or I<oldset> argument points outside the process's allocated "
8582 "address space."
8583 msgstr ""
8584 "引き数 I<set> か I<oldset> がプロセスに割り当てられた\n"
8585 "アドレス空間の外を指している。"
8586
8587 #. type: Plain text
8588 #: build/C/man2/sigprocmask.2:107
8589 msgid "The value specified in I<how> was invalid."
8590 msgstr "I<how> に指定された値が有効ではない。"
8591
8592 #. type: Plain text
8593 #: build/C/man2/sigprocmask.2:113
8594 msgid ""
8595 "It is not possible to block B<SIGKILL> or B<SIGSTOP>.  Attempts to do so are "
8596 "silently ignored."
8597 msgstr ""
8598 "B<SIGKILL> や B<SIGSTOP> を禁止することはできない。 禁止しようとしても黙って"
8599 "無視される。"
8600
8601 #. type: Plain text
8602 #: build/C/man2/sigprocmask.2:115
8603 msgid "Each of the threads in a process has its own signal mask."
8604 msgstr "プロセス内の各スレッドはそれぞれ専用のシグナルマスクを持つ。"
8605
8606 #. type: Plain text
8607 #: build/C/man2/sigprocmask.2:135
8608 msgid ""
8609 "If B<SIGBUS>, B<SIGFPE>, B<SIGILL>, or B<SIGSEGV> are generated while they "
8610 "are blocked, the result is undefined, unless the signal was generated by "
8611 "B<kill>(2), B<sigqueue>(3), or B<raise>(3)."
8612 msgstr ""
8613 "シグナル B<SIGBUS>, B<SIGFPE>, B<SIGILL>, B<SIGSEGV> が禁止されている間に生成"
8614 "された場合で、 そのシグナルが B<kill>(2), B<sigqueue>(3), B<raise>(3)  によっ"
8615 "て生成されたものでないときには、 その後の動作は未定義である。"
8616
8617 #. type: Plain text
8618 #: build/C/man2/sigprocmask.2:150
8619 msgid ""
8620 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigpending>(2), "
8621 "B<sigsuspend>(2), B<pthread_sigmask>(3), B<sigqueue>(3), B<sigsetops>(3), "
8622 "B<signal>(7)"
8623 msgstr ""
8624 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigpending>(2), "
8625 "B<sigsuspend>(2), B<pthread_sigmask>(3), B<sigqueue>(3), B<sigsetops>(3), "
8626 "B<signal>(7)"
8627
8628 #. type: TH
8629 #: build/C/man3/sigqueue.3:26
8630 #, no-wrap
8631 msgid "SIGQUEUE"
8632 msgstr "SIGQUEUE"
8633
8634 #. type: TH
8635 #: build/C/man3/sigqueue.3:26
8636 #, no-wrap
8637 msgid "2012-03-25"
8638 msgstr "2012-03-25"
8639
8640 #. type: Plain text
8641 #: build/C/man3/sigqueue.3:29
8642 msgid "sigqueue - queue a signal and data to a process"
8643 msgstr "sigqueue - シグナルとデータをプロセスに送る"
8644
8645 #. type: Plain text
8646 #: build/C/man3/sigqueue.3:33
8647 msgid ""
8648 "B<int sigqueue(pid_t >I<pid>B<, int >I<sig>B<, const union sigval "
8649 ">I<value>B<);>"
8650 msgstr ""
8651 "B<int sigqueue(pid_t >I<pid>B<, int >I<sig>B<, const union sigval "
8652 ">I<value>B<);>"
8653
8654 #. type: Plain text
8655 #: build/C/man3/sigqueue.3:41
8656 msgid "B<sigqueue>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
8657 msgstr "B<sigqueue>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
8658
8659 #. type: Plain text
8660 #: build/C/man3/sigqueue.3:53
8661 msgid ""
8662 "B<sigqueue>()  sends the signal specified in I<sig> to the process whose PID "
8663 "is given in I<pid>.  The permissions required to send a signal are the same "
8664 "as for B<kill>(2).  As with B<kill>(2), the null signal (0) can be used to "
8665 "check if a process with a given PID exists."
8666 msgstr ""
8667 "B<sigqueue>()  は I<sig> で指定されたシグナルを、PID が I<pid> であるプロセス"
8668 "に送る。 シグナルを送るのに必要な権限は B<kill>(2)  と同じである。 B<kill>"
8669 "(2)  と同様に、ヌル・シグナル (0) を使って 指定した PID のプロセスが存在する"
8670 "かをチェックすることができる。"
8671
8672 #. type: Plain text
8673 #: build/C/man3/sigqueue.3:58
8674 msgid ""
8675 "The I<value> argument is used to specify an accompanying item of data "
8676 "(either an integer or a pointer value) to be sent with the signal, and has "
8677 "the following type:"
8678 msgstr ""
8679 "I<value> 引き数はシグナルと一緒に送るデータの付属アイテムを指定する。 "
8680 "I<value> は (整数またはポインタの値であり) 以下のような型である。"
8681
8682 #. type: Plain text
8683 #: build/C/man3/sigqueue.3:65
8684 #, no-wrap
8685 msgid ""
8686 "union sigval {\n"
8687 "    int   sival_int;\n"
8688 "    void *sival_ptr;\n"
8689 "};\n"
8690 msgstr ""
8691 "union sigval {\n"
8692 "    int   sival_int;\n"
8693 "    void *sival_ptr;\n"
8694 "};\n"
8695
8696 #. type: Plain text
8697 #: build/C/man3/sigqueue.3:81
8698 msgid ""
8699 "If the receiving process has installed a handler for this signal using the "
8700 "B<SA_SIGINFO> flag to B<sigaction>(2), then it can obtain this data via the "
8701 "I<si_value> field of the I<siginfo_t> structure passed as the second "
8702 "argument to the handler.  Furthermore, the I<si_code> field of that "
8703 "structure will be set to B<SI_QUEUE>."
8704 msgstr ""
8705 "受取先のプロセスに、このシグナルに対するハンドラを (B<sigaction>(2)  に "
8706 "B<SA_SIGINFO> を指定して) インストールしておくと、 そのハンドラの第 2 引き数"
8707 "に渡される I<siginfo_t> 構造体の I<si_value> フィールドによって、このデータを"
8708 "取得できる。 さらに、この構造体の I<si_code> フィールドは B<SI_QUEUE> に設定"
8709 "される。"
8710
8711 #. type: Plain text
8712 #: build/C/man3/sigqueue.3:89
8713 msgid ""
8714 "On success, B<sigqueue>()  returns 0, indicating that the signal was "
8715 "successfully queued to the receiving process.  Otherwise -1 is returned and "
8716 "I<errno> is set to indicate the error."
8717 msgstr ""
8718 "成功した場合、 B<sigqueue>()  は 0 を返す。 これは受け取り側プロセスの待ち行"
8719 "列に シグナルが正しく入れられたことを示す。 失敗した場合は -1 が返され、 "
8720 "I<errno> がエラーを表す値に設定される。"
8721
8722 #. type: Plain text
8723 #: build/C/man3/sigqueue.3:100
8724 msgid "I<sig> was invalid."
8725 msgstr "I<sig> が不正である。"
8726
8727 #. type: Plain text
8728 #: build/C/man3/sigqueue.3:106
8729 msgid ""
8730 "The process does not have permission to send the signal to the receiving "
8731 "process.  For the required permissions, see B<kill>(2)."
8732 msgstr ""
8733 "このプロセスには、受け取り側プロセスにシグナルを送る権限がない。 必要な権限に"
8734 "ついては、 B<kill>(2)  を参照すること。"
8735
8736 #. type: Plain text
8737 #: build/C/man3/sigqueue.3:110
8738 msgid "No process has a PID matching I<pid>."
8739 msgstr "I<pid> にマッチする PID のプロセスがない。"
8740
8741 #. type: Plain text
8742 #: build/C/man3/sigqueue.3:112
8743 msgid "This system call first appeared in Linux 2.2."
8744 msgstr "このシステムコールは Linux 2.2 で初めて登場した。"
8745
8746 #. type: Plain text
8747 #: build/C/man3/sigqueue.3:122
8748 msgid ""
8749 "If this function results in the sending of a signal to the process that "
8750 "invoked it, and that signal was not blocked by the calling thread, and no "
8751 "other threads were willing to handle this signal (either by having it "
8752 "unblocked, or by waiting for it using B<sigwait>(3)), then at least some "
8753 "signal must be delivered to this thread before this function returns."
8754 msgstr ""
8755 "この関数を呼び出したプロセスにこの関数がシグナルを送ったときに、 シグナルが呼"
8756 "び出し側スレッドにブロックされず、 かつ (シグナルがブロックされなかった、また"
8757 "は B<sigwait>(3)  を使用するのを待っていることにより)  このシグナルを扱うス"
8758 "レッドが何もない場合は、 この関数がリターンする前に、少なくとも そのスレッド"
8759 "に対してシグナルが配送されていなければならない。"
8760
8761 #. type: Plain text
8762 #: build/C/man3/sigqueue.3:137
8763 msgid ""
8764 "On Linux, this function is implemented using the B<rt_sigqueueinfo>(2)  "
8765 "system call.  The system call differs in its third argument, which is the "
8766 "I<siginfo_t> structure that will be supplied to the receiving process's "
8767 "signal handler or returned by the receiving process's B<sigtimedwait>(2)  "
8768 "call.  Inside the glibc B<sigqueue>()  wrapper, this argument, I<uinfo>, is "
8769 "initialized as follows:"
8770 msgstr ""
8771 "Linux では、この関数は B<rt_sigqueueinfo>(2)  システムコールを使って実装され"
8772 "ている。 両者には 3 番目の引き数に違いがあり、 B<rt_sigqueueinfo>(2)  では 3 "
8773 "番目の引き数は I<siginfo_t> 構造体である。 I<siginfo_t> 構造体は、シグナルを"
8774 "受信するプロセスのシグナルハンドラに渡されたり、 シグナル受信プロセスの "
8775 "B<sigtimedwait>(2)  システムコールから返されたりする。 glibc の B<sigqueue>"
8776 "()  ラッパー関数内部では、 この引き数 I<uinfo> は以下のように初期化される。"
8777
8778 #. type: Plain text
8779 #: build/C/man3/sigqueue.3:145
8780 #, no-wrap
8781 msgid ""
8782 "uinfo.si_signo = sig;      /* argument supplied to sigqueue() */\n"
8783 "uinfo.si_code = SI_QUEUE;\n"
8784 "uinfo.si_pid = getpid();   /* Process ID of sender */\n"
8785 "uinfo.si_uid = getuid();   /* Real UID of sender */\n"
8786 "uinfo.si_value = val;      /* argument supplied to sigqueue() */\n"
8787 msgstr ""
8788 "uinfo.si_signo = sig;      /* argument supplied to sigqueue() */\n"
8789 "uinfo.si_code = SI_QUEUE;\n"
8790 "uinfo.si_pid = getpid();   /* Process ID of sender */\n"
8791 "uinfo.si_uid = getuid();   /* Real UID of sender */\n"
8792 "uinfo.si_value = val;      /* argument supplied to sigqueue() */\n"
8793
8794 #. type: Plain text
8795 #: build/C/man3/sigqueue.3:155
8796 msgid ""
8797 "B<kill>(2), B<rt_sigqueueinfo>(2), B<sigaction>(2), B<signal>(2), "
8798 "B<pthread_sigqueue>(3), B<sigwait>(3), B<signal>(7)"
8799 msgstr ""
8800 "B<kill>(2), B<rt_sigqueueinfo>(2), B<sigaction>(2), B<signal>(2), "
8801 "B<pthread_sigqueue>(3), B<sigwait>(3), B<signal>(7)"
8802
8803 #. type: TH
8804 #: build/C/man2/sigreturn.2:27
8805 #, no-wrap
8806 msgid "SIGRETURN"
8807 msgstr "SIGRETURN"
8808
8809 #. type: TH
8810 #: build/C/man2/sigreturn.2:27
8811 #, no-wrap
8812 msgid "2008-06-26"
8813 msgstr "2008-06-26"
8814
8815 #. type: Plain text
8816 #: build/C/man2/sigreturn.2:30
8817 msgid "sigreturn - return from signal handler and cleanup stack frame"
8818 msgstr "sigreturn - シグナル・ハンドラから返り、スタックを掃除する"
8819
8820 #. type: Plain text
8821 #: build/C/man2/sigreturn.2:32
8822 msgid "B<int sigreturn(unsigned long >I<__unused>B<);>"
8823 msgstr "B<int sigreturn(unsigned long >I<__unused>B<);>"
8824
8825 #. type: Plain text
8826 #: build/C/man2/sigreturn.2:40
8827 msgid ""
8828 "When the Linux kernel creates the stack frame for a signal handler, a call "
8829 "to B<sigreturn>()  is inserted into the stack frame so that upon return from "
8830 "the signal handler, B<sigreturn>()  will be called."
8831 msgstr ""
8832 "Linux カーネルは、 シグナル・ハンドラ用にスタック・フレームを作成する際、 "
8833 "B<sigreturn>()  をスタック・フレームに挿入し、シグナル・ハンドラが返るときに "
8834 "B<sigreturn>()  が呼ばれるようにする。"
8835
8836 #. type: Plain text
8837 #: build/C/man2/sigreturn.2:51
8838 msgid ""
8839 "This B<sigreturn>()  call undoes everything that was done\\(emchanging the "
8840 "process's signal mask, switching stacks (see B<sigaltstack>(2))\\(emin order "
8841 "to invoke the signal handler: it restores the process's signal mask, "
8842 "switches stacks, and restores the process's context (registers, processor "
8843 "flags), so that the process directly resumes execution at the point where it "
8844 "was interrupted by the signal."
8845 msgstr ""
8846 "B<sigreturn>()  は、シグナル・ハンドラを起動するために行ったことの全て \\(em "
8847 "プロセスのシグナルマスクの変更、スタックの切り替え (B<sigaltstack>(2)  参照) "
8848 "\\(em の取り消しを行う。 プロセスのシグナルマスクの復元、スタックの切り替"
8849 "え、 プロセスのコンテキスト (レジスタ、プロセッサ・フラグ) の復元を行い、 プ"
8850 "ロセスがシグナルにより割り込まれた場所からそのまま実行を 再開できるようにす"
8851 "る。"
8852
8853 #. type: Plain text
8854 #: build/C/man2/sigreturn.2:54
8855 msgid "B<sigreturn>()  never returns."
8856 msgstr "B<sigreturn>()  が返ることはない。"
8857
8858 #. type: SH
8859 #: build/C/man2/sigreturn.2:54
8860 #, no-wrap
8861 msgid "FILES"
8862 msgstr "ファイル"
8863
8864 #. type: Plain text
8865 #: build/C/man2/sigreturn.2:56
8866 msgid "/usr/src/linux/arch/i386/kernel/signal.c"
8867 msgstr "/usr/src/linux/arch/i386/kernel/signal.c"
8868
8869 #. type: Plain text
8870 #: build/C/man2/sigreturn.2:58
8871 msgid "/usr/src/linux/arch/alpha/kernel/entry.S"
8872 msgstr "/usr/src/linux/arch/alpha/kernel/entry.S"
8873
8874 #. type: Plain text
8875 #: build/C/man2/sigreturn.2:62
8876 msgid ""
8877 "B<sigreturn>()  is specific to Linux and should not be used in programs "
8878 "intended to be portable."
8879 msgstr ""
8880 "B<sigreturn>()  は Linux 特有であり、移植を意図したプログラムでは使用してはい"
8881 "けない。"
8882
8883 #. type: Plain text
8884 #: build/C/man2/sigreturn.2:72
8885 msgid ""
8886 "The B<sigreturn>()  call is used by the kernel to implement signal "
8887 "handlers.  It should B<never> be called directly.  Better yet, the specific "
8888 "use of the I<__unused> argument varies depending on the architecture."
8889 msgstr ""
8890 "B<sigreturn>()  コールは、シグナル・ハンドラを実装するためにカーネルにより使"
8891 "用される。 これを直接呼び出しては B<決して> いけない。さらに I<__unused> 引き"
8892 "数がどのように使われるかはそのアーキテクチャに依存して変化する。"
8893
8894 #. type: Plain text
8895 #: build/C/man2/sigreturn.2:77
8896 msgid "B<kill>(2), B<sigaltstack>(2), B<signal>(2), B<signal>(7)"
8897 msgstr "B<kill>(2), B<sigaltstack>(2), B<signal>(2), B<signal>(7)"
8898
8899 #. type: TH
8900 #: build/C/man3/sigset.3:24
8901 #, no-wrap
8902 msgid "SIGSET"
8903 msgstr "SIGSET"
8904
8905 #. type: Plain text
8906 #: build/C/man3/sigset.3:27
8907 msgid "sigset, sighold, sigrelse, sigignore - System V signal API"
8908 msgstr "sigset, sighold, sigrelse, sigignore - System V 版シグナル API"
8909
8910 #. type: Plain text
8911 #: build/C/man3/sigset.3:33
8912 msgid "B<sighandler_t sigset(int >I<sig>B<, sighandler_t >I<disp>B<);>"
8913 msgstr "B<sighandler_t sigset(int >I<sig>B<, sighandler_t >I<disp>B<);>"
8914
8915 #. type: Plain text
8916 #: build/C/man3/sigset.3:35
8917 msgid "B<int sighold(int >I<sig>B<);>"
8918 msgstr "B<int sighold(int >I<sig>B<);>"
8919
8920 #. type: Plain text
8921 #: build/C/man3/sigset.3:37
8922 msgid "B<int sigrelse(int >I<sig>B<);>"
8923 msgstr "B<int sigrelse(int >I<sig>B<);>"
8924
8925 #. type: Plain text
8926 #: build/C/man3/sigset.3:39
8927 msgid "B<int sigignore(int >I<sig>B<);>"
8928 msgstr "B<int sigignore(int >I<sig>B<);>"
8929
8930 #. type: Plain text
8931 #: build/C/man3/sigset.3:50
8932 msgid "B<sigset>(), B<sighold>(), B<sigrelse>(), B<sigignore>():"
8933 msgstr "B<sigset>(), B<sighold>(), B<sigrelse>(), B<sigignore>():"
8934
8935 #. type: Plain text
8936 #: build/C/man3/sigset.3:54
8937 msgid ""
8938 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
8939 msgstr ""
8940 "_XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ _XOPEN_SOURCE_EXTENDED"
8941
8942 #. type: Plain text
8943 #: build/C/man3/sigset.3:63
8944 msgid ""
8945 "These functions are provided in glibc as a compatibility interface for "
8946 "programs that make use of the historical System V signal API.  This API is "
8947 "obsolete: new applications should use the POSIX signal API (B<sigaction>(2), "
8948 "B<sigprocmask>(2), etc.)"
8949 msgstr ""
8950 "これらの関数は、昔ながらの System V 版シグナル API を使用しているプログラム "
8951 "に対して互換性のあるインタフェースを glibc で提供するものである。 この API は"
8952 "過去のものであり、新しいアプリケーションでは POSIX シグナル API (B<sigaction>"
8953 "(2), B<sigprocmask>(2)  など) を使用すべきである。"
8954
8955 #. type: Plain text
8956 #: build/C/man3/sigset.3:72
8957 msgid ""
8958 "The B<sigset>()  function modifies the disposition of the signal I<sig>.  "
8959 "The I<disp> argument can be the address of a signal handler function, or one "
8960 "of the following constants:"
8961 msgstr ""
8962 "関数 B<sigset>()  はシグナル I<sig> のシグナルハンドラの動作を変更する。 "
8963 "I<disp> 引き数には、シグナルハンドラ関数のアドレスか、 以下の定数のいずれか一"
8964 "つを指定できる。"
8965
8966 #. type: TP
8967 #: build/C/man3/sigset.3:72
8968 #, no-wrap
8969 msgid "B<SIG_DFL>"
8970 msgstr "B<SIG_DFL>"
8971
8972 #. type: Plain text
8973 #: build/C/man3/sigset.3:77
8974 msgid "Reset the disposition of I<sig> to the default."
8975 msgstr "I<sig> の動作をデフォルトにリセットする。"
8976
8977 #. type: TP
8978 #: build/C/man3/sigset.3:77
8979 #, no-wrap
8980 msgid "B<SIG_IGN>"
8981 msgstr "B<SIG_IGN>"
8982
8983 #. type: Plain text
8984 #: build/C/man3/sigset.3:81
8985 msgid "Ignore I<sig>."
8986 msgstr "I<sig> を無視する。"
8987
8988 #. type: TP
8989 #: build/C/man3/sigset.3:81
8990 #, no-wrap
8991 msgid "B<SIG_HOLD>"
8992 msgstr "B<SIG_HOLD>"
8993
8994 #. type: Plain text
8995 #: build/C/man3/sigset.3:88
8996 msgid ""
8997 "Add I<sig> to the process's signal mask, but leave the disposition of I<sig> "
8998 "unchanged."
8999 msgstr ""
9000 "そのプロセスのシグナルマスクに I<sig> を追加するが、 I<sig> の動作は変更しな"
9001 "い。"
9002
9003 #. type: Plain text
9004 #: build/C/man3/sigset.3:94
9005 msgid ""
9006 "If I<disp> specifies the address of a signal handler, then I<sig> is added "
9007 "to the process's signal mask during execution of the handler."
9008 msgstr ""
9009 "I<disp> にシグナルハンドラのアドレスが指定された場合、 シグナルハンドラの実行"
9010 "中は、そのプロセスのシグナルマスクに I<sig> が追加される。"
9011
9012 #. type: Plain text
9013 #: build/C/man3/sigset.3:102
9014 msgid ""
9015 "If I<disp> was specified as a value other than B<SIG_HOLD>, then I<sig> is "
9016 "removed from the process's signal mask."
9017 msgstr ""
9018 "I<disp> に B<SIG_HOLD> 以外の値が指定された場合、 そのプロセスのシグナルマス"
9019 "クから I<sig> が削除される。"
9020
9021 #. type: Plain text
9022 #: build/C/man3/sigset.3:108 build/C/man3/sigvec.3:85
9023 msgid "The dispositions for B<SIGKILL> and B<SIGSTOP> cannot be changed."
9024 msgstr "シグナル B<SIGKILL> と B<SIGSTOP> に対する動作は変更できない。"
9025
9026 #. type: Plain text
9027 #: build/C/man3/sigset.3:114
9028 msgid ""
9029 "The B<sighold>()  function adds I<sig> to the calling process's signal mask."
9030 msgstr ""
9031 "関数 B<sighold>()  は、呼び出し元プロセスのシグナルマスクに I<sig> を追加す"
9032 "る。"
9033
9034 #. type: Plain text
9035 #: build/C/man3/sigset.3:120
9036 msgid ""
9037 "The B<sigrelse>()  function removes I<sig> from the calling process's signal "
9038 "mask."
9039 msgstr ""
9040 "関数 B<sigrelse>()  は、呼び出し元プロセスのシグナルマスクから I<sig> を削除"
9041 "する。"
9042
9043 #. type: Plain text
9044 #: build/C/man3/sigset.3:127
9045 msgid ""
9046 "The B<sigignore>()  function sets the disposition of I<sig> to B<SIG_IGN>."
9047 msgstr "関数 B<sigignore>()  は、 I<sig> の動作を B<SIG_IGN> に設定する。"
9048
9049 #. type: Plain text
9050 #: build/C/man3/sigset.3:143
9051 msgid ""
9052 "On success, B<sigset>()  returns B<SIG_HOLD> if I<sig> was blocked before "
9053 "the call, or the signal's previous disposition if it was not blocked before "
9054 "the call.  On error, B<sigset>()  returns -1, with I<errno> set to indicate "
9055 "the error.  (But see BUGS below.)"
9056 msgstr ""
9057 "B<sigset>()  は成功すると、 呼び出し前に I<sig> がブロックされていた場合には "
9058 "B<SIG_HOLD> を返し、 ブロックされていなかった場合には 変更前のそのシグナルの"
9059 "動作を返す。 エラーの場合、 B<sigset>()  は -1 を返し、 I<errno> にエラーを示"
9060 "す値をセットする。 但し、以下の「バグ」の節も参照のこと。"
9061
9062 #. type: Plain text
9063 #: build/C/man3/sigset.3:152
9064 msgid ""
9065 "The B<sighold>(), B<sigrelse>(), and B<sigignore>()  functions return 0 on "
9066 "success; on error, these functions return -1 and set I<errno> to indicate "
9067 "the error."
9068 msgstr ""
9069 "関数 B<sighold>(), B<sigrelse>(), B<sigignore>()  は成功すると 0 を返す。エ"
9070 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値をセットする。"
9071
9072 #. type: Plain text
9073 #: build/C/man3/sigset.3:159
9074 msgid ""
9075 "For B<sigset>()  see the ERRORS under B<sigaction>(2)  and B<sigprocmask>(2)."
9076 msgstr ""
9077 "B<sigset>()  に関しては、 B<sigaction>(2)  と B<sigprocmask>(2)  の「エラー」"
9078 "の節を参照。"
9079
9080 #. type: Plain text
9081 #: build/C/man3/sigset.3:166
9082 msgid ""
9083 "For B<sighold>()  and B<sigrelse>()  see the ERRORS under B<sigprocmask>(2)."
9084 msgstr ""
9085 "B<sighold>()  と B<sigrelse>()  に関しては、 B<sigprocmask>(2)  の「エラー」"
9086 "の節を参照。"
9087
9088 #. type: Plain text
9089 #: build/C/man3/sigset.3:171
9090 msgid "For B<sigignore>(), see the errors under B<sigaction>(2)."
9091 msgstr "B<sigignore>()  に関しては、 B<sigaction>(2)  の「エラー」の節を参照。"
9092
9093 #. type: Plain text
9094 #: build/C/man3/sigset.3:188
9095 msgid ""
9096 "SVr4, POSIX.1-2001.  These functions are obsolete: do not use them in new "
9097 "programs.  POSIX.1-2008 marks B<sighold>(), B<sigignore>(), B<sigpause>(), "
9098 "B<sigrelse>(), and B<sigset>()  as obsolete, recommending the use of "
9099 "B<sigaction>(2), B<sigprocmask>(2), B<pthread_sigmask>(3), and B<sigsuspend>"
9100 "(2)  instead."
9101 msgstr ""
9102 "SVr4, POSIX.1-2001.  これらの関数は廃止予定である。新しいプログラムでは使用し"
9103 "ないこと。 POSIX.1-2008 は、 B<sighold>(), B<sigignore>(), B<sigpause>(), "
9104 "B<sigrelse>(), B<sigset>()  を廃止予定としている。 代わりに、 B<sigaction>"
9105 "(2), B<sigprocmask>(2), B<pthread_sigmask>(3), B<sigsuspend>(2)  の使用が推奨"
9106 "されている。"
9107
9108 #. type: Plain text
9109 #: build/C/man3/sigset.3:190
9110 msgid "These functions appeared in glibc version 2.1."
9111 msgstr "これらの関数は glibc 2.1 で登場した。"
9112
9113 #. type: Plain text
9114 #: build/C/man3/sigset.3:196
9115 msgid ""
9116 "The I<sighandler_t> type is a GNU extension; it is only used on this page to "
9117 "make the B<sigset>()  prototype more easily readable."
9118 msgstr ""
9119 "I<sighandler_t> 型は GNU による拡張であり、この man page で B<sigset>()  のプ"
9120 "ロトタイプをより読みやすくするために使われているだけである。"
9121
9122 #. type: Plain text
9123 #: build/C/man3/sigset.3:204
9124 msgid ""
9125 "The B<sigset>()  function provides reliable signal handling semantics (as "
9126 "when calling B<sigaction>(2)  with I<sa_mask> equal to 0)."
9127 msgstr ""
9128 "関数 B<sigset>()  は信頼性のあるシグナル処理機構を提供する (I<sa_mask> を 0 "
9129 "で B<sigaction>(2)  を呼び出したときと同様)。"
9130
9131 #. type: Plain text
9132 #: build/C/man3/sigset.3:222
9133 msgid ""
9134 "On System V, the B<signal>()  function provides unreliable semantics (as "
9135 "when calling B<sigaction>(2)  with I<sa_mask> equal to I<SA_RESETHAND | "
9136 "SA_NODEFER>).  On BSD, B<signal>()  provides reliable semantics.  "
9137 "POSIX.1-2001 leaves these aspects of B<signal>()  unspecified.  See B<signal>"
9138 "(2)  for further details."
9139 msgstr ""
9140 "System V では、関数 B<signal>()  が提供する処理機構は信頼性のないものである "
9141 "(I<sa_mask> を I<SA_RESETHAND | SA_NODEFER> として B<sigaction>(2)  を呼び出"
9142 "したときと同様)。 BSD では、 B<signal>()  は信頼性のある処理機構を提供する。 "
9143 "POSIX.1-2001 では、 B<signal>()  のこの点は規定しないままとなっている。 さら"
9144 "なる詳細については B<signal>(2)  を参照。"
9145
9146 #. type: Plain text
9147 #: build/C/man3/sigset.3:230 build/C/man3/sigvec.3:250
9148 msgid ""
9149 "In order to wait for a signal, BSD and System V both provided a function "
9150 "named B<sigpause>(3), but this function has a different argument on the two "
9151 "systems.  See B<sigpause>(3)  for details."
9152 msgstr ""
9153 "BSD と System V のどちらのシステムでも シグナルを待つために、 B<sigpause>"
9154 "(3)  という名前の関数が提供されているが、 この関数の引き数は両方のシステムで"
9155 "異なる。 詳細は B<sigpause>(3)  を参照。"
9156
9157 #. type: Plain text
9158 #: build/C/man3/sigset.3:239
9159 msgid ""
9160 "In versions of glibc before 2.2, B<sigset>()  did not unblock I<sig> if "
9161 "I<disp> was specified as a value other than B<SIG_HOLD>."
9162 msgstr ""
9163 "2.2 より前のバージョンの glibc では、 I<disp> に B<SIG_HOLD> 以外の値が指定さ"
9164 "れた場合、 I<sig> のブロック解除を行っていなかった。"
9165
9166 #.  See http://sourceware.org/bugzilla/show_bug.cgi?id=1951
9167 #. type: Plain text
9168 #: build/C/man3/sigset.3:264
9169 msgid ""
9170 "In versions of glibc before 2.5, B<sigset>()  does not correctly return the "
9171 "previous disposition of the signal in two cases.  First, if I<disp> is "
9172 "specified as B<SIG_HOLD>, then a successful B<sigset>()  always returns "
9173 "B<SIG_HOLD>.  Instead, it should return the previous disposition of the "
9174 "signal (unless the signal was blocked, in which case B<SIG_HOLD> should be "
9175 "returned).  Second, if the signal is currently blocked, then the return "
9176 "value of a successful B<sigset>()  should be B<SIG_HOLD>.  Instead, the "
9177 "previous disposition of the signal is returned.  These problems have been "
9178 "fixed since glibc 2.5."
9179 msgstr ""
9180 "2.3.5 以前の全てのバージョンの glibc では、 B<sigset>()  が変更前のシグナルの"
9181 "動作を正しく返さない場合が 2つある。 一つめは、 I<disp> に B<SIG_HOLD> が指定"
9182 "されると、成功した場合 B<sigset>()  は常に B<SIG_HOLD> を返すことである。 正"
9183 "しくは、(シグナルがブロックされていなかった場合には)  変更前のシグナルの動作"
9184 "を返すべきである (シグナルがブロックされていた場合には、 B<SIG_HOLD> が返され"
9185 "る)。 もう一つは、シグナルが現在ブロックされている場合には、 成功した場合の "
9186 "B<sigset>()  の返り値は B<SIG_HOLD> になるべきであるが、実際には 変更前のシグ"
9187 "ナルの動作が返されることである。 これらの問題は glibc 2.5 以降で修正されてい"
9188 "る。"
9189
9190 #. type: Plain text
9191 #: build/C/man3/sigset.3:274
9192 msgid ""
9193 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9194 "B<raise>(3), B<sigpause>(3), B<sigvec>(3), B<signal>(7)"
9195 msgstr ""
9196 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9197 "B<raise>(3), B<sigpause>(3), B<sigvec>(3), B<signal>(7)"
9198
9199 #. type: TH
9200 #: build/C/man3/sigsetops.3:29
9201 #, no-wrap
9202 msgid "SIGSETOPS"
9203 msgstr "SIGSETOPS"
9204
9205 #. type: TH
9206 #: build/C/man3/sigsetops.3:29
9207 #, no-wrap
9208 msgid "2008-09-01"
9209 msgstr "2008-09-01"
9210
9211 #. type: Plain text
9212 #: build/C/man3/sigsetops.3:33
9213 msgid ""
9214 "sigemptyset, sigfillset, sigaddset, sigdelset, sigismember - POSIX signal "
9215 "set operations."
9216 msgstr ""
9217 "sigemptyset, sigfillset, sigaddset, sigdelset, sigismember - POSIX シグナル集"
9218 "合の操作"
9219
9220 #. type: Plain text
9221 #: build/C/man3/sigsetops.3:37
9222 msgid "B<int sigemptyset(sigset_t *>I<set>B<);>"
9223 msgstr "B<int sigemptyset(sigset_t *>I<set>B<);>"
9224
9225 #. type: Plain text
9226 #: build/C/man3/sigsetops.3:39
9227 msgid "B<int sigfillset(sigset_t *>I<set>B<);>"
9228 msgstr "B<int sigfillset(sigset_t *>I<set>B<);>"
9229
9230 #. type: Plain text
9231 #: build/C/man3/sigsetops.3:41
9232 msgid "B<int sigaddset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9233 msgstr "B<int sigaddset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9234
9235 #. type: Plain text
9236 #: build/C/man3/sigsetops.3:43
9237 msgid "B<int sigdelset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9238 msgstr "B<int sigdelset(sigset_t *>I<set>B<, int >I<signum>B<);>"
9239
9240 #. type: Plain text
9241 #: build/C/man3/sigsetops.3:45
9242 msgid "B<int sigismember(const sigset_t *>I<set>B<, int >I<signum>B<);>"
9243 msgstr "B<int sigismember(const sigset_t *>I<set>B<, int >I<signum>B<);>"
9244
9245 #. type: Plain text
9246 #: build/C/man3/sigsetops.3:57
9247 msgid ""
9248 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), B<sigdelset>(), "
9249 "B<sigismember>():"
9250 msgstr ""
9251 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), B<sigdelset>(), "
9252 "B<sigismember>():"
9253
9254 #. type: Plain text
9255 #: build/C/man3/sigsetops.3:59
9256 msgid "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
9257 msgstr "_POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
9258
9259 #. type: Plain text
9260 #: build/C/man3/sigsetops.3:63
9261 msgid "These functions allow the manipulation of POSIX signal sets."
9262 msgstr "これらの関数は POSIX シグナル集合(signal set)を操作するため使用する。"
9263
9264 #. type: Plain text
9265 #: build/C/man3/sigsetops.3:68
9266 msgid ""
9267 "B<sigemptyset>()  initializes the signal set given by I<set> to empty, with "
9268 "all signals excluded from the set."
9269 msgstr ""
9270 "B<sigemptyset>()  は I<set> で与えられたシグナル集合を空に初期化し、シグナル"
9271 "が一つも 含まれていない状態にする。"
9272
9273 #. type: Plain text
9274 #: build/C/man3/sigsetops.3:73
9275 msgid "B<sigfillset>()  initializes I<set> to full, including all signals."
9276 msgstr ""
9277 "B<sigfillset>()  は I<set> で与えられたシグナル集合が全てのシグナルを含むよう"
9278 "にする。"
9279
9280 #. type: Plain text
9281 #: build/C/man3/sigsetops.3:81
9282 msgid ""
9283 "B<sigaddset>()  and B<sigdelset>()  add and delete respectively signal "
9284 "I<signum> from I<set>."
9285 msgstr ""
9286 "B<sigaddset>()  と B<sigdelset>()  は I<set> に I<signum> シグナルをそれぞれ"
9287 "加えたり、削除したりする。"
9288
9289 #. type: Plain text
9290 #: build/C/man3/sigsetops.3:87
9291 msgid "B<sigismember>()  tests whether I<signum> is a member of I<set>."
9292 msgstr ""
9293 "B<sigismember>()  は I<signum> が I<set> に含まれているかどうかをテストする。"
9294
9295 #. type: Plain text
9296 #: build/C/man3/sigsetops.3:105
9297 msgid ""
9298 "Objects of type I<sigset_t> must be initialized by a call to either "
9299 "B<sigemptyset>()  or B<sigfillset>()  before being passed to the functions "
9300 "B<sigaddset>(), B<sigdelset>()  and B<sigismember>()  or the additional "
9301 "glibc functions described below (B<sigisemptyset>(), B<sigandset>(), and "
9302 "B<sigorset>()).  The results are undefined if this is not done."
9303 msgstr ""
9304 "I<sigset_t> 型のオブジェクトは、関数 B<sigaddset>(), B<sigdelset>(), "
9305 "B<sigismember>()  や後述の glibc の追加関数 (B<sigisemptyset>(), B<sigandset>"
9306 "(), B<sigorset>())  に渡す前に、 B<sigemptyset>()  か B<sigfillset>()  を呼び"
9307 "出して初期化しなければならない。 初期化しなかった場合の結果は未定義である。"
9308
9309 #. type: Plain text
9310 #: build/C/man3/sigsetops.3:112
9311 msgid ""
9312 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), and B<sigdelset>()  "
9313 "return 0 on success and -1 on error."
9314 msgstr ""
9315 "B<sigemptyset>(), B<sigfillset>(), B<sigaddset>(), B<sigdelset>()  は成功すれ"
9316 "ば 0 を、エラーの場合は -1 を返す。"
9317
9318 #. type: Plain text
9319 #: build/C/man3/sigsetops.3:121
9320 msgid ""
9321 "B<sigismember>()  returns 1 if I<signum> is a member of I<set>, 0 if "
9322 "I<signum> is not a member, and -1 on error."
9323 msgstr ""
9324 "B<sigismember>()  は I<signum> が I<set> に含まれていれば 1 を返し、含まれて"
9325 "いなければ 0 を返す。 エラーの場合は -1 を返す。"
9326
9327 #. type: Plain text
9328 #: build/C/man3/sigsetops.3:126
9329 msgid "I<sig> is not a valid signal."
9330 msgstr "I<sig> が有効なシグナルではない。"
9331
9332 #. type: SS
9333 #: build/C/man3/sigsetops.3:129
9334 #, no-wrap
9335 msgid "Glibc Notes"
9336 msgstr "glibc での注意"
9337
9338 #. type: Plain text
9339 #: build/C/man3/sigsetops.3:135
9340 msgid ""
9341 "If the B<_GNU_SOURCE> feature test macro is defined, then I<E<lt>signal."
9342 "hE<gt>> exposes three other functions for manipulating signal sets."
9343 msgstr ""
9344 "B<_GNU_SOURCE> 機能検査マクロが定義されていると、 I<E<lt>signal.hE<gt>> でシ"
9345 "グナル集合を操作する 3つの関数が追加で公開される。"
9346
9347 #. type: TP
9348 #: build/C/man3/sigsetops.3:135
9349 #, no-wrap
9350 msgid "B<int sigisemptyset(sigset_t *>I<set>B<);>"
9351 msgstr "B<int sigisemptyset(sigset_t *>I<set>B<);>"
9352
9353 #. type: Plain text
9354 #: build/C/man3/sigsetops.3:140
9355 msgid "returns 1 if I<set> contains no signals, and 0 otherwise."
9356 msgstr ""
9357 "I<set> にシグナルが一つも含まれていなければ 1 を返し、 それ以外は 0 を返す。"
9358
9359 #. type: TP
9360 #: build/C/man3/sigsetops.3:140
9361 #, no-wrap
9362 msgid "B<int sigorset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9363 msgstr "B<int sigorset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9364
9365 #. type: Plain text
9366 #: build/C/man3/sigsetops.3:149
9367 msgid "places the union of the sets I<left> and I<right> in I<dest>."
9368 msgstr "シグナル集合 I<left> と I<left> の和集合を I<dest> に書き込む。"
9369
9370 #. type: TP
9371 #: build/C/man3/sigsetops.3:149
9372 #, no-wrap
9373 msgid "B<int sigandset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9374 msgstr "B<int sigandset(sigset_t *>I<dest>B<, sigset_t *>I<left>B<, sigset_t *>I<right>B<);>"
9375
9376 #. type: Plain text
9377 #: build/C/man3/sigsetops.3:158
9378 msgid "places the intersection of the sets I<left> and I<right> in I<dest>."
9379 msgstr "シグナル集合 I<left> と I<left> の積集合を I<dest> に書き込む。"
9380
9381 #. type: Plain text
9382 #: build/C/man3/sigsetops.3:163
9383 msgid ""
9384 "B<sigorset>()  and B<sigandset>()  return 0 on success, and -1 on failure."
9385 msgstr ""
9386 "B<sigorset>()  と B<sigandset>()  は成功すると 0 を、失敗すると -1 を返す。"
9387
9388 #. type: Plain text
9389 #: build/C/man3/sigsetops.3:166
9390 msgid ""
9391 "These functions are nonstandard (a few other systems provide similar "
9392 "functions) and their use should be avoided in portable applications."
9393 msgstr ""
9394 "これらの関数は非標準であり、(他にも同様の関数を提供しているシステムも いくつ"
9395 "かはあるが) 移植性を考慮したアプリケーションでは使用を避けるべき である。"
9396
9397 #. type: Plain text
9398 #: build/C/man3/sigsetops.3:171
9399 msgid "B<sigaction>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2)"
9400 msgstr "B<sigaction>(2), B<sigpending>(2), B<sigprocmask>(2), B<sigsuspend>(2)"
9401
9402 #. type: TH
9403 #: build/C/man2/sigsuspend.2:27
9404 #, no-wrap
9405 msgid "SIGSUSPEND"
9406 msgstr "SIGSUSPEND"
9407
9408 #. type: TH
9409 #: build/C/man2/sigsuspend.2:27
9410 #, no-wrap
9411 msgid "2008-08-29"
9412 msgstr "2008-08-29"
9413
9414 #. type: Plain text
9415 #: build/C/man2/sigsuspend.2:30
9416 msgid "sigsuspend - wait for a signal"
9417 msgstr "sigsuspend - シグナルを待つ"
9418
9419 #. type: Plain text
9420 #: build/C/man2/sigsuspend.2:34
9421 msgid "B<int sigsuspend(const sigset_t *>I<mask>B<);>"
9422 msgstr "B<int sigsuspend(const sigset_t *>I<mask>B<);>"
9423
9424 #. type: Plain text
9425 #: build/C/man2/sigsuspend.2:43
9426 msgid ""
9427 "B<sigsuspend>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
9428 "_POSIX_SOURCE"
9429 msgstr ""
9430 "B<sigsuspend>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || "
9431 "_POSIX_SOURCE"
9432
9433 #. type: Plain text
9434 #: build/C/man2/sigsuspend.2:51
9435 msgid ""
9436 "B<sigsuspend>()  temporarily replaces the signal mask of the calling process "
9437 "with the mask given by I<mask> and then suspends the process until delivery "
9438 "of a signal whose action is to invoke a signal handler or to terminate a "
9439 "process."
9440 msgstr ""
9441 "B<sigsuspend>()  は、呼び出し元プロセスのシグナルマスクを I<mask> で指定され"
9442 "たマスクに一時的に置き換え、 シグナルハンドラの起動もしくはプロセスの終了がア"
9443 "クションとして 設定されたシグナルが配送されるまで、そのプロセスを停止する。"
9444
9445 #. type: Plain text
9446 #: build/C/man2/sigsuspend.2:60
9447 msgid ""
9448 "If the signal terminates the process, then B<sigsuspend>()  does not "
9449 "return.  If the signal is caught, then B<sigsuspend>()  returns after the "
9450 "signal handler returns, and the signal mask is restored to the state before "
9451 "the call to B<sigsuspend>()."
9452 msgstr ""
9453 "シグナルがプロセスを終了させるものの場合、 B<sigsuspend>()  は返らない。シグ"
9454 "ナルが捕捉された場合、 シグナルハンドラの処理が終わった後に B<sigsuspend>()  "
9455 "は返り、シグナルマスクは B<sigsuspend>()  が呼び出される前の状態に復元され"
9456 "る。"
9457
9458 #. type: Plain text
9459 #: build/C/man2/sigsuspend.2:68
9460 msgid ""
9461 "It is not possible to block B<SIGKILL> or B<SIGSTOP>; specifying these "
9462 "signals in I<mask>, has no effect on the process's signal mask."
9463 msgstr ""
9464 "B<SIGKILL> と B<SIGSTOP> を禁止 (block) することはできない; これらのシグナル"
9465 "を I<mask> に指定しても、プロセスのシグナルマスクは影響を受けない。"
9466
9467 #. type: Plain text
9468 #: build/C/man2/sigsuspend.2:72
9469 msgid "B<sigsuspend>()  always returns -1, normally with the error B<EINTR>."
9470 msgstr "B<sigsuspend>()  は常に -1 を返し、通常は B<EINTR> エラーが発生する。"
9471
9472 #. type: Plain text
9473 #: build/C/man2/sigsuspend.2:77
9474 msgid ""
9475 "I<mask> points to memory which is not a valid part of the process address "
9476 "space."
9477 msgstr ""
9478 "I<mask> が指しているメモリが、プロセスのアドレス空間の有効な部分ではない。"
9479
9480 #. type: Plain text
9481 #: build/C/man2/sigsuspend.2:80
9482 msgid "The call was interrupted by a signal."
9483 msgstr "システムコールはシグナルにより割り込まれた。"
9484
9485 #. type: Plain text
9486 #: build/C/man2/sigsuspend.2:100
9487 msgid ""
9488 "Normally, B<sigsuspend>()  is used in conjunction with B<sigprocmask>(2)  in "
9489 "order to prevent delivery of a signal during the execution of a critical "
9490 "code section.  The caller first blocks the signals with B<sigprocmask>(2).  "
9491 "When the critical code has completed, the caller then waits for the signals "
9492 "by calling B<sigsuspend>()  with the signal mask that was returned by "
9493 "B<sigprocmask>(2)  (in the I<oldset> argument)."
9494 msgstr ""
9495 "B<sigsuspend>()  は、通常、クリティカル・コード・セクション (critical code "
9496 "section) の 実行中にシグナルが配送されるのを防止するために、 B<sigprocmask>"
9497 "(2)  と組み合わせて使用される。 まず最初に、呼び出し元は B<sigprocmask>(2)  "
9498 "を使ってシグナルを禁止する。 クリティカル・コードが完了すると、呼び出し元は "
9499 "B<sigprocmask>(2)  が (I<oldset> 引き数で) 返すシグナルマスクを指定して "
9500 "B<sigsuspend>()  を呼び出すことで、クリティカル・コード実行中に発生した シグ"
9501 "ナルを待つことができる。"
9502
9503 #. type: Plain text
9504 #: build/C/man2/sigsuspend.2:114
9505 msgid ""
9506 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9507 "B<sigwaitinfo>(2), B<sigsetops>(3), B<sigwait>(3), B<signal>(7)"
9508 msgstr ""
9509 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9510 "B<sigwaitinfo>(2), B<sigsetops>(3), B<sigwait>(3), B<signal>(7)"
9511
9512 #. type: TH
9513 #: build/C/man3/sigvec.3:24
9514 #, no-wrap
9515 msgid "SIGVEC"
9516 msgstr "SIGVEC"
9517
9518 #. type: Plain text
9519 #: build/C/man3/sigvec.3:27
9520 msgid "sigvec, sigblock, sigsetmask, siggetmask, sigmask - BSD signal API"
9521 msgstr "sigvec, sigblock, sigsetmask, siggetmask, sigmask - BSD 版シグナル API"
9522
9523 #. type: Plain text
9524 #: build/C/man3/sigvec.3:31
9525 msgid ""
9526 "B<int sigvec(int >I<sig>B<, struct sigvec *>I<vec>B<, struct sigvec "
9527 "*>I<ovec>B<);>"
9528 msgstr ""
9529 "B<int sigvec(int >I<sig>B<, struct sigvec *>I<vec>B<, struct sigvec "
9530 "*>I<ovec>B<);>"
9531
9532 #. type: Plain text
9533 #: build/C/man3/sigvec.3:33
9534 msgid "B<int sigmask(int >I<signum>B<);>"
9535 msgstr "B<int sigmask(int >I<signum>B<);>"
9536
9537 #. type: Plain text
9538 #: build/C/man3/sigvec.3:35
9539 msgid "B<int sigblock(int >I<mask>B<);>"
9540 msgstr "B<int sigblock(int >I<mask>B<);>"
9541
9542 #. type: Plain text
9543 #: build/C/man3/sigvec.3:37
9544 msgid "B<int sigsetmask(int >I<mask>B<);>"
9545 msgstr "B<int sigsetmask(int >I<mask>B<);>"
9546
9547 #. type: Plain text
9548 #: build/C/man3/sigvec.3:39
9549 msgid "B<int siggetmask(void);>"
9550 msgstr "B<int siggetmask(void);>"
9551
9552 #. type: Plain text
9553 #: build/C/man3/sigvec.3:47
9554 msgid "All functions shown above: _BSD_SOURCE"
9555 msgstr "上記の全ての関数: _BSD_SOURCE"
9556
9557 #. type: Plain text
9558 #: build/C/man3/sigvec.3:54
9559 msgid ""
9560 "These functions are provided in glibc as a compatibility interface for "
9561 "programs that make use of the historical BSD signal API.  This API is "
9562 "obsolete: new applications should use the POSIX signal API (B<sigaction>(2), "
9563 "B<sigprocmask>(2), etc.)"
9564 msgstr ""
9565 "これらの関数は、昔ながらの BSD 版シグナル API を使用しているプログラム に対し"
9566 "て互換性のあるインタフェースを glibc で提供するものである。 この API は過去の"
9567 "ものであり、新しいアプリケーションでは POSIX シグナル API (B<sigaction>(2), "
9568 "B<sigprocmask>(2)  など) を使用すべきである。"
9569
9570 #. type: Plain text
9571 #: build/C/man3/sigvec.3:79
9572 msgid ""
9573 "The B<sigvec>()  function sets and/or gets the disposition of the signal "
9574 "I<sig> (like the POSIX B<sigaction>(2)).  If I<vec> is not NULL, it points "
9575 "to a I<sigvec> structure that defines the new disposition for I<sig>.  If "
9576 "I<ovec> is not NULL, it points to a I<sigvec> structure that is used to "
9577 "return the previous disposition of I<sig>.  To obtain the current "
9578 "disposition of I<sig> without changing it, specify NULL for I<vec>, and a "
9579 "non-NULL pointer for I<ovec>."
9580 msgstr ""
9581 "関数 B<sigvec>()  は、(POSIX の B<sigaction>(2)  と同様に) シグナル I<sig> の"
9582 "動作の設定・取得を行う。 I<vec> は、NULL 以外の場合、 I<sig> の新しい動作を定"
9583 "義した I<sigvec> 構造体へのポインタである。 I<ovec> は、NULL 以外の場合、 "
9584 "I<sig> の変更前の動作を返すために使用される I<sigvec> 構造体へのポインタであ"
9585 "る。 I<sig> の動作を変更せずに現在の動作を取得するためには、 I<vec> に NULL "
9586 "を指定し、 I<ovec> に NULL でないポインタを指定すればよい。"
9587
9588 #. type: Plain text
9589 #: build/C/man3/sigvec.3:89
9590 msgid "The I<sigvec> structure has the following form:"
9591 msgstr "I<sigvec> 構造体は以下の通りである:"
9592
9593 #. type: Plain text
9594 #: build/C/man3/sigvec.3:97
9595 #, no-wrap
9596 msgid ""
9597 "struct sigvec {\n"
9598 "    void (*sv_handler)();  /* Signal disposition */\n"
9599 "    int    sv_mask;        /* Signals to be blocked in handler */\n"
9600 "    int    sv_flags;       /* Flags */\n"
9601 "};\n"
9602 msgstr ""
9603 "struct sigvec {\n"
9604 "    void (*sv_handler)();  /* Signal disposition */\n"
9605 "    int    sv_mask;        /* Signals to be blocked in handler */\n"
9606 "    int    sv_flags;       /* Flags */\n"
9607 "};\n"
9608
9609 #. type: Plain text
9610 #: build/C/man3/sigvec.3:108
9611 msgid ""
9612 "The I<sv_handler> field specifies the disposition of the signal, and is "
9613 "either: the address of a signal handler function; or B<SIG_DFL> meaning the "
9614 "default disposition applies for the signal; or B<SIG_IGN> meaning that the "
9615 "signal is ignored."
9616 msgstr ""
9617 "I<sv_handler> フィールドはシグナルの動作を指定するもので、 シグナルハンドラ関"
9618 "数のアドレスか、 B<SIG_DFL> と B<SIG_IGN> のいずれかを指定できる。 "
9619 "B<SIG_DFL> はシグナルに適用されるデフォルトの動作を意味し、 B<SIG_IGN> はシグ"
9620 "ナルを無視することを意味する。"
9621
9622 #. type: Plain text
9623 #: build/C/man3/sigvec.3:122
9624 msgid ""
9625 "If I<sv_handler> specifies the address of a signal handler, then I<sv_mask> "
9626 "specifies a mask of signals that are to be blocked while the handler is "
9627 "executing.  In addition, the signal for which the handler is invoked is also "
9628 "blocked by default.  Attempts to block B<SIGKILL> or B<SIGSTOP> are silently "
9629 "ignored."
9630 msgstr ""
9631 "I<sv_handler> にシグナルハンドラのアドレスを指定した場合、 I<sv_mask> はハン"
9632 "ドラが実行中にブロックされるべきシグナルのマスクを指定する。 また、ハンドラを"
9633 "起動したシグナル自身はデフォルトでブロックされる。 B<SIGKILL> か B<SIGSTOP> "
9634 "をブロックしようとした場合には、黙って無視される。"
9635
9636 #. type: Plain text
9637 #: build/C/man3/sigvec.3:129
9638 msgid ""
9639 "If I<sv_handler> specifies the address of a signal handler, then the "
9640 "I<sv_flags> field specifies flags controlling what happens when the handler "
9641 "is called.  This field may contain zero or more of the following flags:"
9642 msgstr ""
9643 "I<sv_handler> にシグナルハンドラのアドレスを指定した場合、 I<sv_flags> フィー"
9644 "ルドはハンドラが呼ばれた際の挙動を制御するフラグを指定する。 このフィールドに"
9645 "は、0 か、以下のフラグを 1個以上指定できる:"
9646
9647 #. type: TP
9648 #: build/C/man3/sigvec.3:129
9649 #, no-wrap
9650 msgid "B<SV_INTERRUPT>"
9651 msgstr "B<SV_INTERRUPT>"
9652
9653 #. type: Plain text
9654 #: build/C/man3/sigvec.3:137
9655 msgid ""
9656 "If the signal handler interrupts a blocking system call, then upon return "
9657 "from the handler the system call will not be restarted: instead it will fail "
9658 "with the error B<EINTR>.  If this flag is not specified, then system calls "
9659 "are restarted by default."
9660 msgstr ""
9661 "シグナルハンドラが停止中のシステムコールを中断した場合、 ハンドラから復帰して"
9662 "も、システムコールは再開されず、 エラー B<EINTR> で失敗する。 このフラグを指"
9663 "定しなかった場合、システムコールは デフォルトで再開される。"
9664
9665 #. type: TP
9666 #: build/C/man3/sigvec.3:137
9667 #, no-wrap
9668 msgid "B<SV_RESETHAND>"
9669 msgstr "B<SV_RESETHAND>"
9670
9671 #. type: Plain text
9672 #: build/C/man3/sigvec.3:146
9673 msgid ""
9674 "Reset the disposition of the signal to the default before calling the signal "
9675 "handler.  If this flag is not specified, then the handler remains "
9676 "established until explicitly removed by a later call to B<sigvec>()  or "
9677 "until the process performs an B<execve>(2)."
9678 msgstr ""
9679 "シグナルハンドラを呼び出す前にシグナルの動作を デフォルトにリセットする。 こ"
9680 "のフラグを指定しなかった場合、もう一度 B<sigvec>()  を呼び出して明示的に削除"
9681 "されるか、プロセスが B<execve>(2)  を実行するまで、ハンドラは設定されたままと"
9682 "なる。"
9683
9684 #. type: TP
9685 #: build/C/man3/sigvec.3:146
9686 #, no-wrap
9687 msgid "B<SV_ONSTACK>"
9688 msgstr "B<SV_ONSTACK>"
9689
9690 #. type: Plain text
9691 #: build/C/man3/sigvec.3:153
9692 msgid ""
9693 "Handle the signal on the alternate signal stack (historically established "
9694 "under BSD using the obsolete B<sigstack>()  function; the POSIX replacement "
9695 "is B<sigaltstack>(2))."
9696 msgstr ""
9697 "代替シグナルスタック上でシグナルハンドラを実行する (歴史的に、BSD では代替シ"
9698 "グナルスタックは廃止された関数 B<sigstack>()  を使って設定する。POSIX では、"
9699 "代わりに B<sigaltstack>(2)  を使用する)。"
9700
9701 #. type: Plain text
9702 #: build/C/man3/sigvec.3:163
9703 msgid ""
9704 "The B<sigmask>()  function constructs and returns a \"signal mask\" for "
9705 "I<signum>.  For example, we can initialize the I<vec.sv_mask> field given to "
9706 "B<sigvec>()  using code such as the following:"
9707 msgstr ""
9708 "関数 B<sigmask>()  は I<signum> に対する「シグナルマスク」を構成して返す。 例"
9709 "えば、以下のようなコードを使うと、 B<sigvec>()  に渡す I<vec.sv_mask> を初期"
9710 "化できる。"
9711
9712 #. type: Plain text
9713 #: build/C/man3/sigvec.3:168
9714 #, no-wrap
9715 msgid ""
9716 "    vec.sv_mask = sigmask(SIGQUIT) | sigpause(SIGABRT);\n"
9717 "                /* Block SIGQUIT and SIGABRT during\n"
9718 "                   handler execution */\n"
9719 msgstr ""
9720 "    vec.sv_mask = sigmask(SIGQUIT) | sigpause(SIGABRT);\n"
9721 "                /* Block SIGQUIT and SIGABRT during\n"
9722 "                   handler execution */\n"
9723
9724 #. type: Plain text
9725 #: build/C/man3/sigvec.3:183
9726 msgid ""
9727 "The B<sigblock>()  function adds the signals in I<mask> to the process's "
9728 "signal mask (like POSIX I<sigprocmask(SIG_BLOCK)>), and returns the "
9729 "process's previous signal mask.  Attempts to block B<SIGKILL> or B<SIGSTOP> "
9730 "are silently ignored."
9731 msgstr ""
9732 "B<sigblock>()  関数は、 I<mask> にあるシグナルをプロセスのシグナルマスクに追"
9733 "加し (POSIX の I<sigprocmask(SIG_BLOCK)> と同様)、変更前のプロセスのシグナル"
9734 "マスクを返す。 B<SIGKILL> や B<SIGSTOP> をブロックしようとした場合には、黙っ"
9735 "て無視される。"
9736
9737 #. type: Plain text
9738 #: build/C/man3/sigvec.3:191
9739 msgid ""
9740 "The B<sigsetmask>()  function sets the process's signal mask to the value "
9741 "given in I<mask> (like POSIX I<sigprocmask(SIG_SETMASK)>), and returns the "
9742 "process's previous signal mask."
9743 msgstr ""
9744 "B<sigsetmask>()  関数はプロセスのシグナルマスクを I<mask> で指定された値に設"
9745 "定し (POSIX の I<sigprocmask(SIG_SETMASK)> と同様)、変更前のプロセスのシグナ"
9746 "ルマスクを返す。"
9747
9748 #. type: Plain text
9749 #: build/C/man3/sigvec.3:197
9750 msgid ""
9751 "The B<siggetmask>()  function returns the process's current signal mask.  "
9752 "This call is equivalent to I<sigblock(0)>."
9753 msgstr ""
9754 "B<siggetmask>()  関数はプロセスの現在のシグナルマスクを返す。この関数は "
9755 "I<sigblock(0)> と等価である。"
9756
9757 #. type: Plain text
9758 #: build/C/man3/sigvec.3:203
9759 msgid ""
9760 "The B<sigvec>()  function returns 0 on success; on error, it returns -1 and "
9761 "sets I<errno> to indicate the error."
9762 msgstr ""
9763 "B<sigvec>()  関数は成功すると 0 を返す。エラーの場合、-1 を返し、 I<errno> に"
9764 "エラーを示す値をセットする。"
9765
9766 #. type: Plain text
9767 #: build/C/man3/sigvec.3:209
9768 msgid ""
9769 "The B<sigblock>()  and B<sigsetmask>()  functions return the previous signal "
9770 "mask."
9771 msgstr "B<sigblock>()  と B<sigsetmask>()  は変更前のシグナルマスクを返す。"
9772
9773 #. type: Plain text
9774 #: build/C/man3/sigvec.3:214
9775 msgid "The B<sigmask>()  function returns the signal mask for I<signum>."
9776 msgstr "B<sigmask>()  関数は I<signum> のシグナルマスクを返す。"
9777
9778 #. type: Plain text
9779 #: build/C/man3/sigvec.3:219
9780 msgid "See the ERRORS under B<sigaction>(2)  and B<sigprocmask>(2)."
9781 msgstr "B<sigaction>(2)  と B<sigprocmask>(2)  の「エラー」の節を参照。"
9782
9783 #. type: Plain text
9784 #: build/C/man3/sigvec.3:225
9785 msgid ""
9786 "All of these functions were in 4.3BSD, except B<siggetmask>(), whose origin "
9787 "is unclear.  These functions are obsolete: do not use them in new programs."
9788 msgstr ""
9789 "これらの関数のうち B<siggetmask>()  以外の全ては 4.3BSD にあった。 "
9790 "B<siggetmask>()  の出自ははっきりしない。 これらの関数は廃止予定であり、新し"
9791 "いプログラムでは使用しないこと。"
9792
9793 #. type: Plain text
9794 #: build/C/man3/sigvec.3:242
9795 msgid ""
9796 "On 4.3BSD, the B<signal>()  function provided reliable semantics (as when "
9797 "calling B<sigvec>()  with I<vec.sv_mask> equal to 0).  On System V, B<signal>"
9798 "()  provides unreliable semantics.  POSIX.1-2001 leaves these aspects of "
9799 "B<signal>()  unspecified.  See B<signal>(2)  for further details."
9800 msgstr ""
9801 "4.3BSD では、信頼性のあるシグナル処理機構を提供する (I<vec.sv_mask> を 0 で "
9802 "B<sigvec>()  を呼び出したときと同様)。 System V が提供する処理機構は信頼性の"
9803 "ないものである。 POSIX.1-2001 では、 B<signal>()  のこの点は規定しないままと"
9804 "なっている。 さらなる詳細については B<signal>(2)  を参照。"
9805
9806 #. type: Plain text
9807 #: build/C/man3/sigvec.3:260
9808 msgid ""
9809 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9810 "B<raise>(3), B<sigpause>(3), B<sigset>(3), B<signal>(7)"
9811 msgstr ""
9812 "B<kill>(2), B<pause>(2), B<sigaction>(2), B<signal>(2), B<sigprocmask>(2), "
9813 "B<raise>(3), B<sigpause>(3), B<sigset>(3), B<signal>(7)"
9814
9815 #. type: TH
9816 #: build/C/man3/sigwait.3:24
9817 #, no-wrap
9818 msgid "SIGWAIT"
9819 msgstr "SIGWAIT"
9820
9821 #. type: TH
9822 #: build/C/man3/sigwait.3:24
9823 #, no-wrap
9824 msgid "2010-09-10"
9825 msgstr "2010-09-10"
9826
9827 #. type: Plain text
9828 #: build/C/man3/sigwait.3:27
9829 msgid "sigwait - wait for a signal"
9830 msgstr "sigwait - シグナルを待つ"
9831
9832 #. type: Plain text
9833 #: build/C/man3/sigwait.3:32
9834 #, no-wrap
9835 msgid "B< int sigwait(const sigset_t *>I<set>B<, int *>I<sig>B<);>\n"
9836 msgstr "B< int sigwait(const sigset_t *>I<set>B<, int *>I<sig>B<);>\n"
9837
9838 #. type: Plain text
9839 #: build/C/man3/sigwait.3:42
9840 msgid ""
9841 "B<sigwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
9842 msgstr ""
9843 "B<sigwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 1 || _XOPEN_SOURCE || _POSIX_SOURCE"
9844
9845 #. type: Plain text
9846 #: build/C/man3/sigwait.3:53
9847 msgid ""
9848 "The B<sigwait>()  function suspends execution of the calling thread until "
9849 "the delivery of one of the signals specified in the signal set I<set>.  The "
9850 "function accepts the signal (removes it from the pending list of signals), "
9851 "and returns the signal number in I<sig>."
9852 msgstr ""
9853 "B<sigwait>()  関数は、シグナル集合 I<set> で指定されたシグナルの一つが配送さ"
9854 "れるまで、 呼び出したスレッドの実行を中断する。 この関数はそのシグナルを受け"
9855 "取り (つまり、処理待ちのシグナルのリスト からそのシグナルを削除し)、そのシグ"
9856 "ナル番号を I<sig> に格納して返す。"
9857
9858 #. type: Plain text
9859 #: build/C/man3/sigwait.3:59
9860 msgid ""
9861 "The operation of B<sigwait>()  is the same as B<sigwaitinfo>(2), except that:"
9862 msgstr ""
9863 "B<sigwait>()  の動作は B<sigwaitinfo>(2)  と同じだが、以下の点が異なる。"
9864
9865 #. type: Plain text
9866 #: build/C/man3/sigwait.3:64
9867 msgid ""
9868 "B<sigwait>()  only returns the signal number, rather than a I<siginfo_t> "
9869 "structure describing the signal."
9870 msgstr ""
9871 "B<sigwait>()  は、シグナルの内容を表す I<siginfo_t> 構造体を返すのではなく、"
9872 "単にシグナル番号を返す。"
9873
9874 #. type: Plain text
9875 #: build/C/man3/sigwait.3:66
9876 msgid "The return values of the two functions are different."
9877 msgstr "返り値が B<sigwaitinfo>(2)  とは異なる。"
9878
9879 #. type: Plain text
9880 #: build/C/man3/sigwait.3:71
9881 msgid ""
9882 "On success, B<sigwait>()  returns 0.  On error, it returns a positive error "
9883 "number (listed in ERRORS)."
9884 msgstr ""
9885 "成功すると、 B<sigwait>()  は 0 を返す。 エラーの場合、(「エラー」の節のリス"
9886 "トにある) 正のエラー番号を返す。"
9887
9888 #.  Does not occur for glibc.
9889 #. type: Plain text
9890 #: build/C/man3/sigwait.3:77
9891 msgid "I<set> contains an invalid signal number."
9892 msgstr "I<set> に無効なシグナル番号が入っている。"
9893
9894 #. type: Plain text
9895 #: build/C/man3/sigwait.3:83
9896 msgid "B<sigwait>()  is implemented using B<sigtimedwait>(2)."
9897 msgstr "B<sigwait>()  は B<sigtimedwait>(2)  を使って実装されている。"
9898
9899 #. type: Plain text
9900 #: build/C/man3/sigwait.3:86
9901 msgid "See B<pthread_sigmask>(3)."
9902 msgstr "B<pthread_sigmask>(3)  を参照。"
9903
9904 #. type: Plain text
9905 #: build/C/man3/sigwait.3:94
9906 msgid ""
9907 "B<sigaction>(2), B<signalfd>(2), B<sigpending>(2), B<sigsuspend>(2), "
9908 "B<sigwaitinfo>(2), B<sigsetops>(3), B<signal>(7)"
9909 msgstr ""
9910 "B<sigaction>(2), B<signalfd>(2), B<sigpending>(2), B<sigsuspend>(2), "
9911 "B<sigwaitinfo>(2), B<sigsetops>(3), B<signal>(7)"
9912
9913 #. type: TH
9914 #: build/C/man2/sigwaitinfo.2:23
9915 #, no-wrap
9916 msgid "SIGWAITINFO"
9917 msgstr "SIGWAITINFO"
9918
9919 #. type: TH
9920 #: build/C/man2/sigwaitinfo.2:23
9921 #, no-wrap
9922 msgid "2011-10-03"
9923 msgstr "2011-10-03"
9924
9925 #. type: Plain text
9926 #: build/C/man2/sigwaitinfo.2:26
9927 msgid "sigwaitinfo, sigtimedwait - synchronously wait for queued signals"
9928 msgstr "sigwaitinfo, sigtimedwait - キューに入れられたシグナルを同期して待つ"
9929
9930 #. type: Plain text
9931 #: build/C/man2/sigwaitinfo.2:31
9932 #, no-wrap
9933 msgid "B<int sigwaitinfo(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<);>\n"
9934 msgstr "B<int sigwaitinfo(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<);>\n"
9935
9936 #. type: Plain text
9937 #: build/C/man2/sigwaitinfo.2:34
9938 #, no-wrap
9939 msgid ""
9940 "B<int sigtimedwait(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<, >\n"
9941 "B<                 const struct timespec *>I<timeout>B<);>\n"
9942 msgstr ""
9943 "B<int sigtimedwait(const sigset_t *>I<set>B<, siginfo_t *>I<info>B<, >\n"
9944 "B<                 const struct timespec *>I<timeout>B<);>\n"
9945
9946 #. type: Plain text
9947 #: build/C/man2/sigwaitinfo.2:44
9948 msgid "B<sigwaitinfo>(), B<sigtimedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
9949 msgstr ""
9950 "B<sigwaitinfo>(), B<sigtimedwait>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
9951
9952 #. type: Plain text
9953 #: build/C/man2/sigwaitinfo.2:54
9954 msgid ""
9955 "B<sigwaitinfo>()  suspends execution of the calling thread until one of the "
9956 "signals in I<set> is delivered.  (If one of the signals in I<set> is already "
9957 "pending for the calling thread, B<sigwaitinfo>()  will return immediately "
9958 "with information about that signal.)"
9959 msgstr ""
9960 "B<sigwaitinfo>()  は I<set> のうちのどれかのシグナルが配送されるまで、 呼び出"
9961 "しスレッドの実行を一時停止する (呼び出しスレッドに対して I<set> のうちのどれ"
9962 "かのシグナルが既に待機中 (pending) である場合、 B<sigwaitinfo>()  はそのシグ"
9963 "ナルの情報を返してすぐに戻る)。"
9964
9965 #. type: Plain text
9966 #: build/C/man2/sigwaitinfo.2:66
9967 msgid ""
9968 "B<sigwaitinfo>()  removes the delivered signal from the set of pending "
9969 "signals and returns the signal number as its function result.  If the "
9970 "I<info> argument is not NULL, then it returns a structure of type "
9971 "I<siginfo_t> (see B<sigaction>(2))  containing information about the signal."
9972 msgstr ""
9973 "B<sigwaitinfo>()  は配送されたシグナルを待機中のシグナルの集合から削除し、 関"
9974 "数の結果としてシグナル番号を返す。 I<info> 引き数が NULL でない場合、配送され"
9975 "たシグナルの情報が入った I<siginfo_t> 型 (B<sigaction>(2)  を参照) の構造体を"
9976 "返す。"
9977
9978 #. type: Plain text
9979 #: build/C/man2/sigwaitinfo.2:72
9980 msgid ""
9981 "Signals returned via B<sigwaitinfo>()  are delivered in the usual order; see "
9982 "B<signal>(7)  for further details."
9983 msgstr ""
9984 "B<sigwaitinfo>()  で返されるシグナルは、通常の順番で配送される。 詳細は "
9985 "B<signal>(7)  を参照すること。"
9986
9987 #. type: Plain text
9988 #: build/C/man2/sigwaitinfo.2:81
9989 msgid ""
9990 "B<sigtimedwait>()  operates in exactly the same way as B<sigwaitinfo>()  "
9991 "except that it has an additional argument, I<timeout>, which enables an "
9992 "upper bound to be placed on the time for which the thread is suspended.  "
9993 "This argument is of the following type:"
9994 msgstr ""
9995 "B<sigtimedwait>()  は、 B<sigwaitinfo>()  と次の点を除いて全く同じように動作"
9996 "する。 この関数にはもう 1 つの引き数 I<timeout> があり、スレッドが一時停止す"
9997 "る時間の上限を定めることができる。 この引き数の型は以下のとおりである:"
9998
9999 #. type: Plain text
10000 #: build/C/man2/sigwaitinfo.2:88
10001 #, no-wrap
10002 msgid ""
10003 "struct timespec {\n"
10004 "    long    tv_sec;         /* seconds */\n"
10005 "    long    tv_nsec;        /* nanoseconds */\n"
10006 "}\n"
10007 msgstr ""
10008 "struct timespec {\n"
10009 "    long    tv_sec;         /* 秒 */\n"
10010 "    long    tv_nsec;        /* ナノ秒 */\n"
10011 "}\n"
10012
10013 #. type: Plain text
10014 #: build/C/man2/sigwaitinfo.2:98
10015 msgid ""
10016 "If both fields of this structure are specified as 0, a poll is performed: "
10017 "B<sigtimedwait>()  returns immediately, either with information about a "
10018 "signal that was pending for the caller, or with an error if none of the "
10019 "signals in I<set> was pending."
10020 msgstr ""
10021 "この構造体の 2 つのフィールドがともに 0 の場合、ポーリングが行われる: "
10022 "B<sigtimedwait>()  は、呼び出し側プロセスに対して 待機しているシグナルの情報"
10023 "を返して戻るか、 I<set> のうちのどのシグナルも待機していない場合はエラーを返"
10024 "して戻る。"
10025
10026 #. type: Plain text
10027 #: build/C/man2/sigwaitinfo.2:107
10028 msgid ""
10029 "On success, both B<sigwaitinfo>()  and B<sigtimedwait>()  return a signal "
10030 "number (i.e., a value greater than zero).  On failure both calls return -1, "
10031 "with I<errno> set to indicate the error."
10032 msgstr ""
10033 "成功した場合、 B<sigwaitinfo>()  と B<sigtimedwait>()  はシグナル番号 (すなわ"
10034 "ち 0 より大きい数) を返す。 失敗した場合、2 つの関数は -1 を返し、 I<errno> "
10035 "はエラーを表す値に設定される。"
10036
10037 #. type: Plain text
10038 #: build/C/man2/sigwaitinfo.2:116
10039 msgid ""
10040 "No signal in I<set> was delivered within the I<timeout> period specified to "
10041 "B<sigtimedwait>()."
10042 msgstr ""
10043 "I<set> のうちのどのシグナルも B<sigtimedwait>()  に指定された I<timeout> の期"
10044 "間内に配送されなかった。"
10045
10046 #. type: Plain text
10047 #: build/C/man2/sigwaitinfo.2:122
10048 msgid ""
10049 "The wait was interrupted by a signal handler; see B<signal>(7).  (This "
10050 "handler was for a signal other than one of those in I<set>.)"
10051 msgstr ""
10052 "シグナル待ちがシグナルハンドラによって中断 (interrupt) された (このハンドラ"
10053 "は I<set> にあるシグナル以外のものである)。 B<signal>(7)  参照。"
10054
10055 #. type: Plain text
10056 #: build/C/man2/sigwaitinfo.2:126
10057 msgid "I<timeout> was invalid."
10058 msgstr "I<timeout> が不正である。"
10059
10060 #. type: Plain text
10061 #: build/C/man2/sigwaitinfo.2:145
10062 msgid ""
10063 "In normal usage, the calling program blocks the signals in I<set> via a "
10064 "prior call to B<sigprocmask>(2)  (so that the default disposition for these "
10065 "signals does not occur if they are delivered between successive calls to "
10066 "B<sigwaitinfo>()  or B<sigtimedwait>())  and does not establish handlers for "
10067 "these signals.  In a multithreaded program, the signal should be blocked in "
10068 "all threads to prevent the signal being delivered to a thread other than the "
10069 "one calling B<sigwaitinfo>()  or B<sigtimedwait>())."
10070 msgstr ""
10071 "通常の使用法では、呼び出し側プロセスはこれらの関数より先に B<sigprocmask>"
10072 "(2)  の呼び出すことにより I<set> に含まれるシグナルをブロックし (そのためにこ"
10073 "れらのシグナルがこの後に続く B<sigwaitinfo>()  や B<sigtimedwait>()  の呼び出"
10074 "しの間に配送された場合には、 デフォルトの配置は行われず)、 これらのシグナルに"
10075 "対するハンドラは設定しない。 マルチスレッドプログラムでは、 B<sigwaitinfo>"
10076 "()  や B<sigtimedwait>()  を呼び出したスレッド以外のスレッドにそのシグナルが"
10077 "配送されないように、 全てのスレッドで該当シグナルをブロックすべきである。"
10078
10079 #. type: Plain text
10080 #: build/C/man2/sigwaitinfo.2:150
10081 msgid ""
10082 "The set of signals that is pending for a given thread is the union of the "
10083 "set of signals that is pending specifically for that thread and the set of "
10084 "signals that is pending for the process as a whole (see B<signal>(7))."
10085 msgstr ""
10086 "指定されたスレッドに対する処理待ちのシグナルの集合は、 そのスレッド自体宛ての"
10087 "処理待ちのシグナル集合と、プロセス全体宛ての 処理待ちのシグナル集合をあわせた"
10088 "ものである (B<signal>(7)  参照)。"
10089
10090 #. type: Plain text
10091 #: build/C/man2/sigwaitinfo.2:156
10092 msgid "Attempts to wait for B<SIGKILL> and B<SIGSTOP> are silently ignored."
10093 msgstr "B<SIGKILL> と B<SIGSTOP> を待とうとした場合、黙って無視される。"
10094
10095 #. type: Plain text
10096 #: build/C/man2/sigwaitinfo.2:165
10097 msgid ""
10098 "If multiple threads of a process are blocked waiting for the same signal(s) "
10099 "in B<sigwaitinfo>()  or B<sigtimedwait>(), then exactly one of the threads "
10100 "will actually receive the signal if it is delivered to the process as a "
10101 "whole; which of the threads receives the signal is indeterminate."
10102 msgstr ""
10103 "一つのプロセス内の複数のスレッドが B<sigwaitinfo>()  や B<sigtimedwait>()  で"
10104 "同じシグナルを待って停止した場合、 プロセス全体宛てのシグナルが配送されると、"
10105 "複数のスレッドのうち一つだけが 実際にそのシグナルを受信することになる。 どの"
10106 "スレッドがシグナルを受信するかは決まっていない。"
10107
10108 #. type: Plain text
10109 #: build/C/man2/sigwaitinfo.2:174
10110 msgid ""
10111 "POSIX leaves the meaning of a NULL value for the I<timeout> argument of "
10112 "B<sigtimedwait>()  unspecified, permitting the possibility that this has the "
10113 "same meaning as a call to B<sigwaitinfo>(), and indeed this is what is done "
10114 "on Linux."
10115 msgstr ""
10116 "POSIX では B<sigtimedwait>()  の引き数 I<timeout> の値を NULL にした場合の意"
10117 "味を未定義としている。 B<sigwaitinfo>()  を呼び出したのと同じ意味としてもよい"
10118 "ことになっており、 実際 Linux ではこのように動作する。"
10119
10120 #. type: Plain text
10121 #: build/C/man2/sigwaitinfo.2:179
10122 msgid ""
10123 "On Linux, B<sigwaitinfo>()  is a library function implemented on top of "
10124 "B<sigtimedwait>()."
10125 msgstr ""
10126 "Linux では、 B<sigwaitinfo>()  は B<sigtimedwait>()  を用いて実装されたライブ"
10127 "ラリ関数である。"
10128
10129 #. type: Plain text
10130 #: build/C/man2/sigwaitinfo.2:191
10131 msgid ""
10132 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
10133 "B<sigprocmask>(2), B<sigqueue>(3), B<sigsetops>(3), B<sigwait>(3), B<signal>"
10134 "(7), B<time>(7)"
10135 msgstr ""
10136 "B<kill>(2), B<sigaction>(2), B<signal>(2), B<signalfd>(2), B<sigpending>(2), "
10137 "B<sigprocmask>(2), B<sigqueue>(3), B<sigsetops>(3), B<sigwait>(3), B<signal>"
10138 "(7), B<time>(7)"
10139
10140 #. type: TH
10141 #: build/C/man3/sysv_signal.3:23
10142 #, no-wrap
10143 msgid "SYSV_SIGNAL"
10144 msgstr "SYSV_SIGNAL"
10145
10146 #. type: TH
10147 #: build/C/man3/sysv_signal.3:23
10148 #, no-wrap
10149 msgid "2007-05-04"
10150 msgstr "2007-05-04"
10151
10152 #. type: Plain text
10153 #: build/C/man3/sysv_signal.3:26
10154 msgid "sysv_signal - signal handling with System V semantics"
10155 msgstr "sysv_signal - System V 方式のシグナル処理"
10156
10157 #. type: Plain text
10158 #: build/C/man3/sysv_signal.3:28
10159 msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */"
10160 msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */"
10161
10162 #. type: Plain text
10163 #: build/C/man3/sysv_signal.3:34
10164 msgid ""
10165 "B<sighandler_t sysv_signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
10166 msgstr ""
10167 "B<sighandler_t sysv_signal(int >I<signum>B<, sighandler_t >I<handler>B<);>"
10168
10169 #. type: Plain text
10170 #: build/C/man3/sysv_signal.3:39
10171 msgid ""
10172 "The B<sysv_signal>()  function takes the same arguments, and performs the "
10173 "same task, as B<signal>(2)."
10174 msgstr ""
10175 "B<sysv_signal>()  関数は B<signal>(2)  と同じ引き数をとり、同じ処理を実行す"
10176 "る。"
10177
10178 #. type: Plain text
10179 #: build/C/man3/sysv_signal.3:49
10180 msgid ""
10181 "However B<sysv_signal>()  provides the System V unreliable signal semantics, "
10182 "that is: a) the disposition of the signal is reset to the default when the "
10183 "handler is invoked; b) delivery of further instances of the signal is not "
10184 "blocked while the signal handler is executing; and c) if the handler "
10185 "interrupts (certain) blocking system calls, then the system call is not "
10186 "automatically restarted."
10187 msgstr ""
10188 "しかしながら、 B<sysv_signal>()  は System V の信頼性に欠けるシグナル処理方式"
10189 "を提供している。 信頼性に欠けるシグナル処理方式は以下の特徴を持つ。 a) ハンド"
10190 "ラが起動されると、シグナルの処理方法 (disposition) が デフォルトにリセットさ"
10191 "れる、 b) シグナルハンドラの実行中は、それ以降に発生した同じシグナルの配送が "
10192 "ブロックされない、 c) ハンドラが停止中の (blocking している) システムコールを"
10193 "中断した場合、 自動的に再開されないシステムコールがある。"
10194
10195 #. type: Plain text
10196 #: build/C/man3/sysv_signal.3:55
10197 msgid ""
10198 "The B<sysv_signal>()  function returns the previous value of the signal "
10199 "handler, or B<SIG_ERR> on error."
10200 msgstr ""
10201 "B<sysv_signal>()  関数はシグナルハンドラの直前の値を返す。 エラーの場合、 "
10202 "B<SIG_ERR> を返す。"
10203
10204 #. type: Plain text
10205 #: build/C/man3/sysv_signal.3:60
10206 msgid "This function is nonstandard."
10207 msgstr "この関数は非標準である。"
10208
10209 #. type: Plain text
10210 #: build/C/man3/sysv_signal.3:66
10211 msgid ""
10212 "Use of B<sysv_signal>()  should be avoided; use B<sigaction>(2)  instead."
10213 msgstr ""
10214 "B<sysv_signal>()  の使用は避けるべきである。代わりに B<sigaction>(2)  を使う"
10215 "こと。"
10216
10217 #. type: Plain text
10218 #: build/C/man3/sysv_signal.3:77
10219 msgid ""
10220 "On older Linux systems, B<sysv_signal>()  and B<signal>(2)  were "
10221 "equivalent.  But on newer systems, B<signal>(2)  provides reliable signal "
10222 "semantics; see B<signal>(2)  for details."
10223 msgstr ""
10224 "以前の Linux システムでは、 B<sysv_signal>()  と B<signal>(2)  は等価であっ"
10225 "た。しかし、新しめのシステムでは、 B<signal>(2)  は信頼性のあるシグナル処理方"
10226 "式を提供している。 詳細は B<signal>(2)  を参照。"
10227
10228 #. type: Plain text
10229 #: build/C/man3/sysv_signal.3:90
10230 msgid "B<sigaction>(2), B<signal>(2), B<bsd_signal>(3), B<signal>(7)"
10231 msgstr "B<sigaction>(2), B<signal>(2), B<bsd_signal>(3), B<signal>(7)"
10232
10233 #. type: TH
10234 #: build/C/man2/timer_create.2:29
10235 #, no-wrap
10236 msgid "TIMER_CREATE"
10237 msgstr "TIMER_CREATE"
10238
10239 #. type: TH
10240 #: build/C/man2/timer_create.2:29
10241 #, no-wrap
10242 msgid "2010-09-27"
10243 msgstr "2010-09-27"
10244
10245 #. type: Plain text
10246 #: build/C/man2/timer_create.2:32
10247 msgid "timer_create - create a POSIX per-process timer"
10248 msgstr ""
10249
10250 #. type: Plain text
10251 #: build/C/man2/timer_create.2:36
10252 #, no-wrap
10253 msgid ""
10254 "B<#include E<lt>signal.hE<gt>>\n"
10255 "B<#include E<lt>time.hE<gt>>\n"
10256 msgstr ""
10257 "B<#include E<lt>signal.hE<gt>>\n"
10258 "B<#include E<lt>time.hE<gt>>\n"
10259
10260 #. type: Plain text
10261 #: build/C/man2/timer_create.2:39
10262 #, no-wrap
10263 msgid ""
10264 "B<int timer_create(clockid_t >I<clockid>B<, struct sigevent *>I<sevp>B<,>\n"
10265 "B<                 timer_t *>I<timerid>B<);>\n"
10266 msgstr ""
10267 "B<int timer_create(clockid_t >I<clockid>B<, struct sigevent *>I<sevp>B<,>\n"
10268 "B<                 timer_t *>I<timerid>B<);>\n"
10269
10270 #. type: Plain text
10271 #: build/C/man2/timer_create.2:42 build/C/man2/timer_delete.2:34
10272 #: build/C/man2/timer_getoverrun.2:34 build/C/man2/timer_settime.2:38
10273 msgid "Link with I<-lrt>."
10274 msgstr ""
10275
10276 #. type: Plain text
10277 #: build/C/man2/timer_create.2:50
10278 msgid "B<timer_create>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10279 msgstr "B<timer_create>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10280
10281 #. type: Plain text
10282 #: build/C/man2/timer_create.2:58
10283 msgid ""
10284 "B<timer_create>()  creates a new per-process interval timer.  The ID of the "
10285 "new timer is returned in the buffer pointed to by I<timerid>, which must be "
10286 "a non-NULL pointer.  This ID is unique within the process, until the timer "
10287 "is deleted.  The new timer is initially disarmed."
10288 msgstr ""
10289
10290 #. type: Plain text
10291 #: build/C/man2/timer_create.2:63
10292 msgid ""
10293 "The I<clockid> argument specifies the clock that the new timer uses to "
10294 "measure time.  It can be specified as one of the following values:"
10295 msgstr ""
10296
10297 #. type: TP
10298 #: build/C/man2/timer_create.2:63
10299 #, no-wrap
10300 msgid "B<CLOCK_REALTIME>"
10301 msgstr "B<CLOCK_REALTIME>"
10302
10303 #. type: Plain text
10304 #: build/C/man2/timer_create.2:66
10305 msgid "A settable system-wide real-time clock."
10306 msgstr ""
10307
10308 #. type: TP
10309 #: build/C/man2/timer_create.2:66
10310 #, no-wrap
10311 msgid "B<CLOCK_MONOTONIC>"
10312 msgstr "B<CLOCK_MONOTONIC>"
10313
10314 #.  Note: the CLOCK_MONOTONIC_RAW clock added for clock_gettime()
10315 #.  in 2.6.28 is not supported for POSIX timers -- mtk, Feb 2009
10316 #. type: Plain text
10317 #: build/C/man2/timer_create.2:73
10318 msgid ""
10319 "A nonsettable monotonically increasing clock that measures time from some "
10320 "unspecified point in the past that does not change after system startup."
10321 msgstr ""
10322
10323 #. type: TP
10324 #: build/C/man2/timer_create.2:73
10325 #, no-wrap
10326 msgid "B<CLOCK_PROCESS_CPUTIME_ID> (since Linux 2.6.12)"
10327 msgstr ""
10328
10329 #. type: Plain text
10330 #: build/C/man2/timer_create.2:77
10331 msgid ""
10332 "A clock that measures (user and system) CPU time consumed by (all of the "
10333 "threads in) the calling process."
10334 msgstr ""
10335
10336 #. type: TP
10337 #: build/C/man2/timer_create.2:77
10338 #, no-wrap
10339 msgid "B<CLOCK_THREAD_CPUTIME_ID> (since Linux 2.6.12)"
10340 msgstr ""
10341
10342 #.  The CLOCK_MONOTONIC_RAW that was added in 2.6.28 can't be used
10343 #.  to create a timer -- mtk, Feb 2009
10344 #. type: Plain text
10345 #: build/C/man2/timer_create.2:83
10346 msgid ""
10347 "A clock that measures (user and system) CPU time consumed by the calling "
10348 "thread."
10349 msgstr ""
10350
10351 #. type: Plain text
10352 #: build/C/man2/timer_create.2:92
10353 msgid ""
10354 "As well as the above values, I<clockid> can be specified as the I<clockid> "
10355 "returned by a call to B<clock_getcpuclockid>(3)  or B<pthread_getcpuclockid>"
10356 "(3)."
10357 msgstr ""
10358
10359 #. type: Plain text
10360 #: build/C/man2/timer_create.2:101
10361 msgid ""
10362 "The I<sevp> argument points to a I<sigevent> structure that specifies how "
10363 "the caller should be notified when the timer expires.  For the definition "
10364 "and general details of this structure, see B<sigevent>(7)."
10365 msgstr ""
10366
10367 #. type: Plain text
10368 #: build/C/man2/timer_create.2:105
10369 msgid "The I<sevp.sigev_notify> field can have the following values:"
10370 msgstr ""
10371
10372 #. type: Plain text
10373 #: build/C/man2/timer_create.2:110
10374 msgid ""
10375 "Don't asynchronously notify when the timer expires.  Progress of the timer "
10376 "can be monitored using B<timer_gettime>(2)."
10377 msgstr ""
10378
10379 #. type: Plain text
10380 #: build/C/man2/timer_create.2:128
10381 msgid ""
10382 "Upon timer expiration, generate the signal I<sigev_signo> for the process.  "
10383 "See B<sigevent>(7)  for general details.  The I<si_code> field of the "
10384 "I<siginfo_t> structure will be set to B<SI_TIMER>.  At any point in time, at "
10385 "most one signal is queued to the process for a given timer; see "
10386 "B<timer_getoverrun>(2)  for more details."
10387 msgstr ""
10388
10389 #. type: Plain text
10390 #: build/C/man2/timer_create.2:136
10391 msgid ""
10392 "Upon timer expiration, invoke I<sigev_notify_function> as if it were the "
10393 "start function of a new thread.  See B<sigevent>(7)  for details."
10394 msgstr ""
10395
10396 #. type: Plain text
10397 #: build/C/man2/timer_create.2:150
10398 msgid ""
10399 "As for B<SIGEV_SIGNAL>, but the signal is targeted at the thread whose ID is "
10400 "given in I<sigev_notify_thread_id>, which must be a thread in the same "
10401 "process as the caller.  The I<sigev_notify_thread_id> field specifies a "
10402 "kernel thread ID, that is, the value returned by B<clone>(2)  or B<gettid>"
10403 "(2).  This flag is only intended for use by threading libraries."
10404 msgstr ""
10405
10406 #. type: Plain text
10407 #: build/C/man2/timer_create.2:165
10408 msgid ""
10409 "Specifying I<sevp> as NULL is equivalent to specifying a pointer to a "
10410 "I<sigevent> structure in which I<sigev_notify> is B<SIGEV_SIGNAL>, "
10411 "I<sigev_signo> is B<SIGALRM>, and I<sigev_value.sival_int> is the timer ID."
10412 msgstr ""
10413
10414 #. type: Plain text
10415 #: build/C/man2/timer_create.2:173
10416 msgid ""
10417 "On success, B<timer_create>()  returns 0, and the ID of the new timer is "
10418 "placed in I<*timerid>.  On failure, -1 is returned, and I<errno> is set to "
10419 "indicate the error."
10420 msgstr ""
10421
10422 #. type: Plain text
10423 #: build/C/man2/timer_create.2:177
10424 msgid "Temporary error during kernel allocation of timer structures."
10425 msgstr ""
10426
10427 #. type: Plain text
10428 #: build/C/man2/timer_create.2:185
10429 msgid ""
10430 "Clock ID, I<sigev_notify>, I<sigev_signo>, or I<sigev_notify_thread_id> is "
10431 "invalid."
10432 msgstr ""
10433
10434 #.  glibc layer: malloc()
10435 #. type: Plain text
10436 #: build/C/man2/timer_create.2:189
10437 msgid "Could not allocate memory."
10438 msgstr ""
10439
10440 #. type: Plain text
10441 #: build/C/man2/timer_create.2:191 build/C/man2/timer_delete.2:64
10442 #: build/C/man2/timer_getoverrun.2:94
10443 msgid "This system call is available since Linux 2.6."
10444 msgstr ""
10445
10446 #. type: Plain text
10447 #: build/C/man2/timer_create.2:196
10448 msgid "A program may create multiple interval timers using B<timer_create>()."
10449 msgstr ""
10450
10451 #. type: Plain text
10452 #: build/C/man2/timer_create.2:201
10453 msgid ""
10454 "Timers are not inherited by the child of a B<fork>(2), and are disarmed and "
10455 "deleted during an B<execve>(2)."
10456 msgstr ""
10457
10458 #. type: Plain text
10459 #: build/C/man2/timer_create.2:209
10460 msgid ""
10461 "The kernel preallocates a \"queued real-time signal\" for each timer created "
10462 "using B<timer_create>().  Consequently, the number of timers is limited by "
10463 "the B<RLIMIT_SIGPENDING> resource limit (see B<setrlimit>(2))."
10464 msgstr ""
10465
10466 #. type: Plain text
10467 #: build/C/man2/timer_create.2:214
10468 msgid ""
10469 "The timers created by B<timer_create>()  are commonly known as \"POSIX "
10470 "(interval) timers\".  The POSIX timers API consists of the following "
10471 "interfaces:"
10472 msgstr ""
10473
10474 #. type: Plain text
10475 #: build/C/man2/timer_create.2:217
10476 msgid "B<timer_create>(): Create a timer."
10477 msgstr ""
10478
10479 #. type: Plain text
10480 #: build/C/man2/timer_create.2:220
10481 msgid "B<timer_settime>(2): Arm (start) or disarm (stop) a timer."
10482 msgstr ""
10483
10484 #. type: Plain text
10485 #: build/C/man2/timer_create.2:224
10486 msgid ""
10487 "B<timer_gettime>(2): Fetch the time remaining until the next expiration of a "
10488 "timer, along with the interval setting of the timer."
10489 msgstr ""
10490
10491 #. type: Plain text
10492 #: build/C/man2/timer_create.2:227
10493 msgid ""
10494 "B<timer_getoverrun>(2): Return the overrun count for the last timer "
10495 "expiration."
10496 msgstr ""
10497
10498 #. type: Plain text
10499 #: build/C/man2/timer_create.2:230
10500 msgid "B<timer_delete>(2): Disarm and delete a timer."
10501 msgstr ""
10502
10503 #. type: Plain text
10504 #: build/C/man2/timer_create.2:233
10505 msgid ""
10506 "Part of the implementation of the POSIX timers API is provided by glibc.  In "
10507 "particular:"
10508 msgstr ""
10509
10510 #. type: Plain text
10511 #: build/C/man2/timer_create.2:237
10512 msgid ""
10513 "The functionality for B<SIGEV_THREAD> is implemented within glibc, rather "
10514 "than the kernel."
10515 msgstr ""
10516
10517 #.  See the glibc source file kernel-posix-timers.h for the structure
10518 #.  that glibc uses to map userspace timer IDs to kernel timer IDs
10519 #.  The kernel-level timer ID is exposed via siginfo.si_tid.
10520 #. type: Plain text
10521 #: build/C/man2/timer_create.2:243
10522 msgid ""
10523 "The timer IDs presented at user level are maintained by glibc, which maps "
10524 "these IDs to the timer IDs employed by the kernel."
10525 msgstr ""
10526
10527 #. type: Plain text
10528 #: build/C/man2/timer_create.2:251
10529 msgid ""
10530 "The POSIX timers system calls first appeared in Linux 2.6.  Prior to this, "
10531 "glibc provided an incomplete userspace implementation (B<CLOCK_REALTIME> "
10532 "timers only) using POSIX threads, and current glibc falls back to this "
10533 "implementation on systems running pre-2.6 Linux kernels."
10534 msgstr ""
10535
10536 #. type: Plain text
10537 #: build/C/man2/timer_create.2:263
10538 msgid ""
10539 "The program below takes two arguments: a sleep period in seconds, and a "
10540 "timer frequency in nanoseconds.  The program establishes a handler for the "
10541 "signal it uses for the timer, blocks that signal, creates and arms a timer "
10542 "that expires with the given frequency, sleeps for the specified number of "
10543 "seconds, and then unblocks the timer signal.  Assuming that the timer "
10544 "expired at least once while the program slept, the signal handler will be "
10545 "invoked, and the handler displays some information about the timer "
10546 "notification.  The program terminates after one invocation of the signal "
10547 "handler."
10548 msgstr ""
10549
10550 #. type: Plain text
10551 #: build/C/man2/timer_create.2:268
10552 msgid ""
10553 "In the following example run, the program sleeps for 1 second, after "
10554 "creating a timer that has a frequency of 100 nanoseconds.  By the time the "
10555 "signal is unblocked and delivered, there have been around ten million "
10556 "overruns."
10557 msgstr ""
10558
10559 #. type: Plain text
10560 #: build/C/man2/timer_create.2:280
10561 #, no-wrap
10562 msgid ""
10563 "$ B<./a.out 1 100>\n"
10564 "Establishing handler for signal 34\n"
10565 "Blocking signal 34\n"
10566 "timer ID is 0x804c008\n"
10567 "Sleeping for 1 seconds\n"
10568 "Unblocking signal 34\n"
10569 "Caught signal 34\n"
10570 "    sival_ptr = 0xbfb174f4;     *sival_ptr = 0x804c008\n"
10571 "    overrun count = 10004886\n"
10572 msgstr ""
10573
10574 #. type: SS
10575 #: build/C/man2/timer_create.2:282
10576 #, no-wrap
10577 msgid "Program Source"
10578 msgstr ""
10579
10580 #. type: Plain text
10581 #: build/C/man2/timer_create.2:290
10582 #, no-wrap
10583 msgid ""
10584 "#include E<lt>stdlib.hE<gt>\n"
10585 "#include E<lt>unistd.hE<gt>\n"
10586 "#include E<lt>stdio.hE<gt>\n"
10587 "#include E<lt>signal.hE<gt>\n"
10588 "#include E<lt>time.hE<gt>\n"
10589 msgstr ""
10590 "#include E<lt>stdlib.hE<gt>\n"
10591 "#include E<lt>unistd.hE<gt>\n"
10592 "#include E<lt>stdio.hE<gt>\n"
10593 "#include E<lt>signal.hE<gt>\n"
10594 "#include E<lt>time.hE<gt>\n"
10595
10596 #. type: Plain text
10597 #: build/C/man2/timer_create.2:293
10598 #, no-wrap
10599 msgid ""
10600 "#define CLOCKID CLOCK_REALTIME\n"
10601 "#define SIG SIGRTMIN\n"
10602 msgstr ""
10603 "#define CLOCKID CLOCK_REALTIME\n"
10604 "#define SIG SIGRTMIN\n"
10605
10606 #. type: Plain text
10607 #: build/C/man2/timer_create.2:296
10608 #, no-wrap
10609 msgid ""
10610 "#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
10611 "                        } while (0)\n"
10612 msgstr ""
10613 "#define errExit(msg)    do { perror(msg); exit(EXIT_FAILURE); \\e\n"
10614 "                        } while (0)\n"
10615
10616 #. type: Plain text
10617 #: build/C/man2/timer_create.2:302
10618 #, no-wrap
10619 msgid ""
10620 "static void\n"
10621 "print_siginfo(siginfo_t *si)\n"
10622 "{\n"
10623 "    timer_t *tidp;\n"
10624 "    int or;\n"
10625 msgstr ""
10626 "static void\n"
10627 "print_siginfo(siginfo_t *si)\n"
10628 "{\n"
10629 "    timer_t *tidp;\n"
10630 "    int or;\n"
10631
10632 #. type: Plain text
10633 #: build/C/man2/timer_create.2:304
10634 #, no-wrap
10635 msgid "    tidp = si-E<gt>si_value.sival_ptr;\n"
10636 msgstr "    tidp = si-E<gt>si_value.sival_ptr;\n"
10637
10638 #. type: Plain text
10639 #: build/C/man2/timer_create.2:307
10640 #, no-wrap
10641 msgid ""
10642 "    printf(\"    sival_ptr = %p; \", si-E<gt>si_value.sival_ptr);\n"
10643 "    printf(\"    *sival_ptr = 0x%lx\\en\", (long) *tidp);\n"
10644 msgstr ""
10645 "    printf(\"    sival_ptr = %p; \", si-E<gt>si_value.sival_ptr);\n"
10646 "    printf(\"    *sival_ptr = 0x%lx\\en\", (long) *tidp);\n"
10647
10648 #. type: Plain text
10649 #: build/C/man2/timer_create.2:314
10650 #, no-wrap
10651 msgid ""
10652 "    or = timer_getoverrun(*tidp);\n"
10653 "    if (or == -1)\n"
10654 "        errExit(\"timer_getoverrun\");\n"
10655 "    else\n"
10656 "        printf(\"    overrun count = %d\\en\", or);\n"
10657 "}\n"
10658 msgstr ""
10659 "    or = timer_getoverrun(*tidp);\n"
10660 "    if (or == -1)\n"
10661 "        errExit(\"timer_getoverrun\");\n"
10662 "    else\n"
10663 "        printf(\"    overrun count = %d\\en\", or);\n"
10664 "}\n"
10665
10666 #. type: Plain text
10667 #: build/C/man2/timer_create.2:321
10668 #, no-wrap
10669 msgid ""
10670 "static void\n"
10671 "handler(int sig, siginfo_t *si, void *uc)\n"
10672 "{\n"
10673 "    /* Note: calling printf() from a signal handler is not\n"
10674 "       strictly correct, since printf() is not async-signal-safe;\n"
10675 "       see signal(7) */\n"
10676 msgstr ""
10677 "static void\n"
10678 "handler(int sig, siginfo_t *si, void *uc)\n"
10679 "{\n"
10680 "    /* Note: calling printf() from a signal handler is not\n"
10681 "       strictly correct, since printf() is not async-signal-safe;\n"
10682 "       see signal(7) */\n"
10683
10684 #. type: Plain text
10685 #: build/C/man2/timer_create.2:326
10686 #, no-wrap
10687 msgid ""
10688 "    printf(\"Caught signal %d\\en\", sig);\n"
10689 "    print_siginfo(si);\n"
10690 "    signal(sig, SIG_IGN);\n"
10691 "}\n"
10692 msgstr ""
10693 "    printf(\"Caught signal %d\\en\", sig);\n"
10694 "    print_siginfo(si);\n"
10695 "    signal(sig, SIG_IGN);\n"
10696 "}\n"
10697
10698 #. type: Plain text
10699 #: build/C/man2/timer_create.2:336
10700 #, no-wrap
10701 msgid ""
10702 "int\n"
10703 "main(int argc, char *argv[])\n"
10704 "{\n"
10705 "    timer_t timerid;\n"
10706 "    struct sigevent sev;\n"
10707 "    struct itimerspec its;\n"
10708 "    long long freq_nanosecs;\n"
10709 "    sigset_t mask;\n"
10710 "    struct sigaction sa;\n"
10711 msgstr ""
10712 "int\n"
10713 "main(int argc, char *argv[])\n"
10714 "{\n"
10715 "    timer_t timerid;\n"
10716 "    struct sigevent sev;\n"
10717 "    struct itimerspec its;\n"
10718 "    long long freq_nanosecs;\n"
10719 "    sigset_t mask;\n"
10720 "    struct sigaction sa;\n"
10721
10722 #. type: Plain text
10723 #: build/C/man2/timer_create.2:342
10724 #, no-wrap
10725 msgid ""
10726 "    if (argc != 3) {\n"
10727 "        fprintf(stderr, \"Usage: %s E<lt>sleep-secsE<gt> E<lt>freq-nanosecsE<gt>\\en\",\n"
10728 "                argv[0]);\n"
10729 "        exit(EXIT_FAILURE);\n"
10730 "    }\n"
10731 msgstr ""
10732 "    if (argc != 3) {\n"
10733 "        fprintf(stderr, \"Usage: %s E<lt>sleep-secsE<gt> E<lt>freq-nanosecsE<gt>\\en\",\n"
10734 "                argv[0]);\n"
10735 "        exit(EXIT_FAILURE);\n"
10736 "    }\n"
10737
10738 #. type: Plain text
10739 #: build/C/man2/timer_create.2:344
10740 #, no-wrap
10741 msgid "    /* Establish handler for timer signal */\n"
10742 msgstr "    /* Establish handler for timer signal */\n"
10743
10744 #. type: Plain text
10745 #: build/C/man2/timer_create.2:351
10746 #, no-wrap
10747 msgid ""
10748 "    printf(\"Establishing handler for signal %d\\en\", SIG);\n"
10749 "    sa.sa_flags = SA_SIGINFO;\n"
10750 "    sa.sa_sigaction = handler;\n"
10751 "    sigemptyset(&sa.sa_mask);\n"
10752 "    if (sigaction(SIG, &sa, NULL) == -1)\n"
10753 "        errExit(\"sigaction\");\n"
10754 msgstr ""
10755 "    printf(\"Establishing handler for signal %d\\en\", SIG);\n"
10756 "    sa.sa_flags = SA_SIGINFO;\n"
10757 "    sa.sa_sigaction = handler;\n"
10758 "    sigemptyset(&sa.sa_mask);\n"
10759 "    if (sigaction(SIG, &sa, NULL) == -1)\n"
10760 "        errExit(\"sigaction\");\n"
10761
10762 #. type: Plain text
10763 #: build/C/man2/timer_create.2:353
10764 #, no-wrap
10765 msgid "    /* Block timer signal temporarily */\n"
10766 msgstr "    /* Block timer signal temporarily */\n"
10767
10768 #. type: Plain text
10769 #: build/C/man2/timer_create.2:359
10770 #, no-wrap
10771 msgid ""
10772 "    printf(\"Blocking signal %d\\en\", SIG);\n"
10773 "    sigemptyset(&mask);\n"
10774 "    sigaddset(&mask, SIG);\n"
10775 "    if (sigprocmask(SIG_SETMASK, &mask, NULL) == -1)\n"
10776 "        errExit(\"sigprocmask\");\n"
10777 msgstr ""
10778 "    printf(\"Blocking signal %d\\en\", SIG);\n"
10779 "    sigemptyset(&mask);\n"
10780 "    sigaddset(&mask, SIG);\n"
10781 "    if (sigprocmask(SIG_SETMASK, &mask, NULL) == -1)\n"
10782 "        errExit(\"sigprocmask\");\n"
10783
10784 #. type: Plain text
10785 #: build/C/man2/timer_create.2:361
10786 #, no-wrap
10787 msgid "    /* Create the timer */\n"
10788 msgstr "    /* Create the timer */\n"
10789
10790 #. type: Plain text
10791 #: build/C/man2/timer_create.2:367
10792 #, no-wrap
10793 msgid ""
10794 "    sev.sigev_notify = SIGEV_SIGNAL;\n"
10795 "    sev.sigev_signo = SIG;\n"
10796 "    sev.sigev_value.sival_ptr = &timerid;\n"
10797 "    if (timer_create(CLOCKID, &sev, &timerid) == -1)\n"
10798 "        errExit(\"timer_create\");\n"
10799 msgstr ""
10800 "    sev.sigev_notify = SIGEV_SIGNAL;\n"
10801 "    sev.sigev_signo = SIG;\n"
10802 "    sev.sigev_value.sival_ptr = &timerid;\n"
10803 "    if (timer_create(CLOCKID, &sev, &timerid) == -1)\n"
10804 "        errExit(\"timer_create\");\n"
10805
10806 #. type: Plain text
10807 #: build/C/man2/timer_create.2:369
10808 #, no-wrap
10809 msgid "    printf(\"timer ID is 0x%lx\\en\", (long) timerid);\n"
10810 msgstr "    printf(\"timer ID is 0x%lx\\en\", (long) timerid);\n"
10811
10812 #. type: Plain text
10813 #: build/C/man2/timer_create.2:371
10814 #, no-wrap
10815 msgid "    /* Start the timer */\n"
10816 msgstr "    /* Start the timer */\n"
10817
10818 #. type: Plain text
10819 #: build/C/man2/timer_create.2:377
10820 #, no-wrap
10821 msgid ""
10822 "    freq_nanosecs = atoll(argv[2]);\n"
10823 "    its.it_value.tv_sec = freq_nanosecs / 1000000000;\n"
10824 "    its.it_value.tv_nsec = freq_nanosecs % 1000000000;\n"
10825 "    its.it_interval.tv_sec = its.it_value.tv_sec;\n"
10826 "    its.it_interval.tv_nsec = its.it_value.tv_nsec;\n"
10827 msgstr ""
10828 "    freq_nanosecs = atoll(argv[2]);\n"
10829 "    its.it_value.tv_sec = freq_nanosecs / 1000000000;\n"
10830 "    its.it_value.tv_nsec = freq_nanosecs % 1000000000;\n"
10831 "    its.it_interval.tv_sec = its.it_value.tv_sec;\n"
10832 "    its.it_interval.tv_nsec = its.it_value.tv_nsec;\n"
10833
10834 #. type: Plain text
10835 #: build/C/man2/timer_create.2:380
10836 #, no-wrap
10837 msgid ""
10838 "    if (timer_settime(timerid, 0, &its, NULL) == -1)\n"
10839 "         errExit(\"timer_settime\");\n"
10840 msgstr ""
10841 "    if (timer_settime(timerid, 0, &its, NULL) == -1)\n"
10842 "         errExit(\"timer_settime\");\n"
10843
10844 #. type: Plain text
10845 #: build/C/man2/timer_create.2:383
10846 #, no-wrap
10847 msgid ""
10848 "    /* Sleep for a while; meanwhile, the timer may expire\n"
10849 "       multiple times */\n"
10850 msgstr ""
10851 "    /* Sleep for a while; meanwhile, the timer may expire\n"
10852 "       multiple times */\n"
10853
10854 #. type: Plain text
10855 #: build/C/man2/timer_create.2:386
10856 #, no-wrap
10857 msgid ""
10858 "    printf(\"Sleeping for %d seconds\\en\", atoi(argv[1]));\n"
10859 "    sleep(atoi(argv[1]));\n"
10860 msgstr ""
10861 "    printf(\"Sleeping for %d seconds\\en\", atoi(argv[1]));\n"
10862 "    sleep(atoi(argv[1]));\n"
10863
10864 #. type: Plain text
10865 #: build/C/man2/timer_create.2:389
10866 #, no-wrap
10867 msgid ""
10868 "    /* Unlock the timer signal, so that timer notification\n"
10869 "       can be delivered */\n"
10870 msgstr ""
10871 "    /* Unlock the timer signal, so that timer notification\n"
10872 "       can be delivered */\n"
10873
10874 #. type: Plain text
10875 #: build/C/man2/timer_create.2:393
10876 #, no-wrap
10877 msgid ""
10878 "    printf(\"Unblocking signal %d\\en\", SIG);\n"
10879 "    if (sigprocmask(SIG_UNBLOCK, &mask, NULL) == -1)\n"
10880 "        errExit(\"sigprocmask\");\n"
10881 msgstr ""
10882 "    printf(\"Unblocking signal %d\\en\", SIG);\n"
10883 "    if (sigprocmask(SIG_UNBLOCK, &mask, NULL) == -1)\n"
10884 "        errExit(\"sigprocmask\");\n"
10885
10886 #. type: Plain text
10887 #: build/C/man2/timer_create.2:396 build/C/man2/timerfd_create.2:533
10888 #, no-wrap
10889 msgid ""
10890 "    exit(EXIT_SUCCESS);\n"
10891 "}\n"
10892 msgstr ""
10893 "    exit(EXIT_SUCCESS);\n"
10894 "}\n"
10895
10896 #. type: Plain text
10897 #: build/C/man2/timer_create.2:410
10898 msgid ""
10899 "B<clock_gettime>(2), B<setitimer>(2), B<timer_delete>(2), B<timer_getoverrun>"
10900 "(2), B<timer_settime>(2), B<timerfd_create>(2), B<clock_getcpuclockid>(3), "
10901 "B<pthread_getcpuclockid>(3), B<pthreads>(7), B<sigevent>(7), B<signal>(7), "
10902 "B<time>(7)"
10903 msgstr ""
10904 "B<clock_gettime>(2), B<setitimer>(2), B<timer_delete>(2), B<timer_getoverrun>"
10905 "(2), B<timer_settime>(2), B<timerfd_create>(2), B<clock_getcpuclockid>(3), "
10906 "B<pthread_getcpuclockid>(3), B<pthreads>(7), B<sigevent>(7), B<signal>(7), "
10907 "B<time>(7)"
10908
10909 #. type: TH
10910 #: build/C/man2/timer_delete.2:23
10911 #, no-wrap
10912 msgid "TIMER_DELETE"
10913 msgstr "TIMER_DELETE"
10914
10915 #. type: TH
10916 #: build/C/man2/timer_delete.2:23 build/C/man2/timer_getoverrun.2:23
10917 #: build/C/man2/timer_settime.2:23
10918 #, no-wrap
10919 msgid "2009-02-20"
10920 msgstr "2009-02-20"
10921
10922 #. type: Plain text
10923 #: build/C/man2/timer_delete.2:26
10924 msgid "timer_delete - delete a POSIX per-process timer"
10925 msgstr ""
10926
10927 #. type: Plain text
10928 #: build/C/man2/timer_delete.2:29 build/C/man2/timer_getoverrun.2:29
10929 #: build/C/man2/timer_settime.2:30
10930 #, no-wrap
10931 msgid "B<#include E<lt>time.hE<gt>>\n"
10932 msgstr "B<#include E<lt>time.hE<gt>>\n"
10933
10934 #. type: Plain text
10935 #: build/C/man2/timer_delete.2:31
10936 #, no-wrap
10937 msgid "B<int timer_delete(timer_t >I<timerid>B<);>\n"
10938 msgstr "B<int timer_delete(timer_t >I<timerid>B<);>\n"
10939
10940 #. type: Plain text
10941 #: build/C/man2/timer_delete.2:42
10942 msgid "B<timer_delete>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10943 msgstr "B<timer_delete>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10944
10945 #. type: Plain text
10946 #: build/C/man2/timer_delete.2:50
10947 msgid ""
10948 "B<timer_delete>()  deletes the timer whose ID is given in I<timerid>.  If "
10949 "the timer was armed at the time of this call, it is disarmed before being "
10950 "deleted.  The treatment of any pending signal generated by the deleted timer "
10951 "is unspecified."
10952 msgstr ""
10953
10954 #. type: Plain text
10955 #: build/C/man2/timer_delete.2:57
10956 msgid ""
10957 "On success, B<timer_delete>()  returns 0.  On failure, -1 is returned, and "
10958 "I<errno> is set to indicate the error."
10959 msgstr ""
10960
10961 #. type: Plain text
10962 #: build/C/man2/timer_delete.2:62 build/C/man2/timer_getoverrun.2:92
10963 msgid "I<timerid> is not a valid timer ID."
10964 msgstr ""
10965
10966 #. type: Plain text
10967 #: build/C/man2/timer_delete.2:72
10968 msgid ""
10969 "B<clock_gettime>(2), B<timer_create>(2), B<timer_getoverrun>(2), "
10970 "B<timer_settime>(2), B<time>(7)"
10971 msgstr ""
10972 "B<clock_gettime>(2), B<timer_create>(2), B<timer_getoverrun>(2), "
10973 "B<timer_settime>(2), B<time>(7)"
10974
10975 #. type: TH
10976 #: build/C/man2/timer_getoverrun.2:23
10977 #, no-wrap
10978 msgid "TIMER_GETOVERRUN"
10979 msgstr "TIMER_GETOVERRUN"
10980
10981 #. type: Plain text
10982 #: build/C/man2/timer_getoverrun.2:26
10983 msgid "timer_getoverrun - get overrun count for a POSIX per-process timer"
10984 msgstr ""
10985
10986 #. type: Plain text
10987 #: build/C/man2/timer_getoverrun.2:31
10988 #, no-wrap
10989 msgid "B<int timer_getoverrun(timer_t >I<timerid>B<);>\n"
10990 msgstr "B<int timer_getoverrun(timer_t >I<timerid>B<);>\n"
10991
10992 #. type: Plain text
10993 #: build/C/man2/timer_getoverrun.2:42
10994 msgid "B<timer_getoverrun>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10995 msgstr "B<timer_getoverrun>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
10996
10997 #. type: Plain text
10998 #: build/C/man2/timer_getoverrun.2:53
10999 msgid ""
11000 "B<timer_getoverrun>()  returns the \"overrun count\" for the timer referred "
11001 "to by I<timerid>.  An application can use the overrun count to accurately "
11002 "calculate the number of timer expirations that would have occurred over a "
11003 "given time interval.  Timer overruns can occur both when receiving "
11004 "expiration notifications via signals (B<SIGEV_SIGNAL>), and via threads "
11005 "(B<SIGEV_THREAD>)."
11006 msgstr ""
11007
11008 #. type: Plain text
11009 #: build/C/man2/timer_getoverrun.2:73
11010 msgid ""
11011 "When expiration notifications are delivered via a signal, overruns can occur "
11012 "as follows.  Regardless of whether or not a real-time signal is used for "
11013 "timer notifications, the system queues at most one signal per timer.  (This "
11014 "is the behavior specified by POSIX.1-2001.  The alternative, queuing one "
11015 "signal for each timer expiration, could easily result in overflowing the "
11016 "allowed limits for queued signals on the system.)  Because of system "
11017 "scheduling delays, or because the signal may be temporarily blocked, there "
11018 "can be a delay between the time when the notification signal is generated "
11019 "and the time when it is delivered (e.g., caught by a signal handler) or "
11020 "accepted (e.g., using B<sigwaitinfo>(2)).  In this interval, further timer "
11021 "expirations may occur.  The timer overrun count is the number of additional "
11022 "timer expirations that occurred between the time when the signal was "
11023 "generated and when it was delivered or accepted."
11024 msgstr ""
11025
11026 #. type: Plain text
11027 #: build/C/man2/timer_getoverrun.2:79
11028 msgid ""
11029 "Timer overruns can also occur when expiration notifications are delivered "
11030 "via invocation of a thread, since there may be an arbitrary delay between an "
11031 "expiration of the timer and the invocation of the notification thread, and "
11032 "in that delay interval, additional timer expirations may occur"
11033 msgstr ""
11034
11035 #. type: Plain text
11036 #: build/C/man2/timer_getoverrun.2:87
11037 msgid ""
11038 "On success, B<timer_getoverrun>()  returns the overrun count of the "
11039 "specified timer; this count may be 0 if no overruns have occurred.  On "
11040 "failure, -1 is returned, and I<errno> is set to indicate the error."
11041 msgstr ""
11042
11043 #. type: Plain text
11044 #: build/C/man2/timer_getoverrun.2:108
11045 msgid ""
11046 "When timer notifications are delivered via signals (B<SIGEV_SIGNAL>), on "
11047 "Linux it is also possible to obtain the overrun count via the I<si_overrun> "
11048 "field of the I<siginfo_t> structure (see B<sigaction>(2)).  This allows an "
11049 "application to avoid the overhead of making a system call to obtain the "
11050 "overrun count, but is a nonportable extension to POSIX.1-2001."
11051 msgstr ""
11052
11053 #.  FIXME . Austin bug filed, 11 Feb 09
11054 #. type: Plain text
11055 #: build/C/man2/timer_getoverrun.2:112
11056 msgid ""
11057 "POSIX.1-2001 only discusses timer overruns in the context of timer "
11058 "notifications using signals."
11059 msgstr ""
11060
11061 #.  Bug filed: http://bugzilla.kernel.org/show_bug.cgi?id=12665
11062 #.  http://thread.gmane.org/gmane.linux.kernel/113276/
11063 #. type: Plain text
11064 #: build/C/man2/timer_getoverrun.2:125
11065 msgid ""
11066 "POSIX.1-2001 specifies that if the timer overrun count is equal to or "
11067 "greater than an implementation-defined maximum, B<DELAYTIMER_MAX>, then "
11068 "B<timer_getoverrun>()  should return B<DELAYTIMER_MAX>.  However, Linux does "
11069 "not implement this feature: instead, if the timer overrun value exceeds the "
11070 "maximum representable integer, the counter cycles, starting once more from "
11071 "low values."
11072 msgstr ""
11073
11074 #. type: Plain text
11075 #: build/C/man2/timer_getoverrun.2:128 build/C/man2/timer_settime.2:208
11076 msgid "See B<timer_create>(2)."
11077 msgstr ""
11078
11079 #. type: Plain text
11080 #: build/C/man2/timer_getoverrun.2:138
11081 msgid ""
11082 "B<clock_gettime>(2), B<sigaction>(2), B<signalfd>(2), B<sigwaitinfo>(2), "
11083 "B<timer_create>(2), B<timer_delete>(2), B<timer_settime>(2), B<signal>(7), "
11084 "B<time>(7)"
11085 msgstr ""
11086 "B<clock_gettime>(2), B<sigaction>(2), B<signalfd>(2), B<sigwaitinfo>(2), "
11087 "B<timer_create>(2), B<timer_delete>(2), B<timer_settime>(2), B<signal>(7), "
11088 "B<time>(7)"
11089
11090 #. type: TH
11091 #: build/C/man2/timer_settime.2:23
11092 #, no-wrap
11093 msgid "TIMER_SETTIME"
11094 msgstr "TIMER_SETTIME"
11095
11096 #. type: Plain text
11097 #: build/C/man2/timer_settime.2:27
11098 msgid ""
11099 "timer_settime, timer_gettime - arm/disarm and fetch state of POSIX per-"
11100 "process timer"
11101 msgstr ""
11102
11103 #. type: Plain text
11104 #: build/C/man2/timer_settime.2:35
11105 #, no-wrap
11106 msgid ""
11107 "B<int timer_settime(timer_t >I<timerid>B<, int >I<flags>B<,>\n"
11108 "B<                  const struct itimerspec *>I<new_value>B<,>\n"
11109 "B<                  struct itimerspec * >I<old_value>B<);>\n"
11110 "B<int timer_gettime(timer_t >I<timerid>B<, struct itimerspec *>I<curr_value>B<);>\n"
11111 msgstr ""
11112 "B<int timer_settime(timer_t >I<timerid>B<, int >I<flags>B<,>\n"
11113 "B<                  const struct itimerspec *>I<new_value>B<,>\n"
11114 "B<                  struct itimerspec * >I<old_value>B<);>\n"
11115 "B<int timer_gettime(timer_t >I<timerid>B<, struct itimerspec *>I<curr_value>B<);>\n"
11116
11117 #. type: Plain text
11118 #: build/C/man2/timer_settime.2:47
11119 msgid ""
11120 "B<timer_settime>(), B<timer_gettime>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
11121 msgstr ""
11122 "B<timer_settime>(), B<timer_gettime>(): _POSIX_C_SOURCE\\ E<gt>=\\ 199309L"
11123
11124 #. type: Plain text
11125 #: build/C/man2/timer_settime.2:60
11126 msgid ""
11127 "B<timer_settime>()  arms or disarms the timer identified by I<timerid>.  The "
11128 "I<new_value> argument is an I<itimerspec> structure that specifies the new "
11129 "initial value and the new interval for the timer.  The I<itimerspec> "
11130 "structure is defined as follows:"
11131 msgstr ""
11132
11133 #. type: Plain text
11134 #: build/C/man2/timer_settime.2:67 build/C/man2/timerfd_create.2:127
11135 #, no-wrap
11136 msgid ""
11137 "struct timespec {\n"
11138 "    time_t tv_sec;                /* Seconds */\n"
11139 "    long   tv_nsec;               /* Nanoseconds */\n"
11140 "};\n"
11141 msgstr ""
11142 "struct timespec {\n"
11143 "    time_t tv_sec;                /* Seconds */\n"
11144 "    long   tv_nsec;               /* Nanoseconds */\n"
11145 "};\n"
11146
11147 #. type: Plain text
11148 #: build/C/man2/timer_settime.2:72
11149 #, no-wrap
11150 msgid ""
11151 "struct itimerspec {\n"
11152 "    struct timespec it_interval;  /* Timer interval */\n"
11153 "    struct timespec it_value;     /* Initial expiration */\n"
11154 "};\n"
11155 msgstr ""
11156 "struct itimerspec {\n"
11157 "    struct timespec it_interval;  /* Timer interval */\n"
11158 "    struct timespec it_value;     /* Initial expiration */\n"
11159 "};\n"
11160
11161 #. type: Plain text
11162 #: build/C/man2/timer_settime.2:84
11163 msgid ""
11164 "Each of the substructures of the I<itimerspec> structure is a I<timespec> "
11165 "structure that allows a time value to be specified in seconds and "
11166 "nanoseconds.  These time values are measured according to the clock that was "
11167 "specified when the timer was created by B<timer_create>(2)"
11168 msgstr ""
11169
11170 #. type: Plain text
11171 #: build/C/man2/timer_settime.2:98
11172 msgid ""
11173 "If I<new_value-E<gt>it_value> specifies a nonzero value (i.e., either "
11174 "subfield is nonzero), then B<timer_settime>()  arms (starts) the timer, "
11175 "setting it to initially expire at the given time.  (If the timer was already "
11176 "armed, then the previous settings are overwritten.)  If I<new_value-"
11177 "E<gt>it_value> specifies a zero value (i.e., both subfields are zero), then "
11178 "the timer is disarmed."
11179 msgstr ""
11180
11181 #. type: Plain text
11182 #: build/C/man2/timer_settime.2:110
11183 msgid ""
11184 "The I<new_value-E<gt>it_interval> field specifies the period of the timer, "
11185 "in seconds and nanoseconds.  If this field is nonzero, then each time that "
11186 "an armed timer expires, the timer is reloaded from the value specified in "
11187 "I<new_value-E<gt>it_interval>.  If I<new_value-E<gt>it_interval> specifies a "
11188 "zero value then the timer expires just once, at the time specified by "
11189 "I<it_value>."
11190 msgstr ""
11191
11192 #.  By experiment: the overrun count is set correctly, for CLOCK_REALTIME.
11193 #. type: Plain text
11194 #: build/C/man2/timer_settime.2:131
11195 msgid ""
11196 "By default, the initial expiration time specified in I<new_value-"
11197 "E<gt>it_value> is interpreted relative to the current time on the timer's "
11198 "clock at the time of the call.  This can be modified by specifying "
11199 "B<TIMER_ABSTIME> in I<flags>, in which case I<new_value-E<gt>it_value> is "
11200 "interpreted as an absolute value as measured on the timer's clock; that is, "
11201 "the timer will expire when the clock value reaches the value specified by "
11202 "I<new_value-E<gt>it_value>.  If the specified absolute time has already "
11203 "passed, then the timer expires immediately, and the overrun count (see "
11204 "B<timer_getoverrun>(2))  will be set correctly."
11205 msgstr ""
11206
11207 #.  Similar remarks might apply with respect to process and thread CPU time
11208 #.  clocks, but these clocks are not currently (2.6.28) settable on Linux.
11209 #. type: Plain text
11210 #: build/C/man2/timer_settime.2:141
11211 msgid ""
11212 "If the value of the B<CLOCK_REALTIME> clock is adjusted while an absolute "
11213 "timer based on that clock is armed, then the expiration of the timer will be "
11214 "appropriately adjusted.  Adjustments to the B<CLOCK_REALTIME> clock have no "
11215 "effect on relative timers based on that clock."
11216 msgstr ""
11217
11218 #. type: Plain text
11219 #: build/C/man2/timer_settime.2:149
11220 msgid ""
11221 "If I<old_value> is not NULL, then it returns the previous interval of the "
11222 "timer (in I<old_value-E<gt>it_interval>)  and the amount of time until the "
11223 "timer would previously have next expired (in I<old_value-E<gt>it_value>)."
11224 msgstr ""
11225
11226 #. type: Plain text
11227 #: build/C/man2/timer_settime.2:169
11228 msgid ""
11229 "B<timer_gettime>()  returns the time until next expiration, and the "
11230 "interval, for the timer specified by I<timerid>, in the buffer pointed to by "
11231 "I<curr_value>.  The time remaining until the next timer expiration is "
11232 "returned in I<curr_value-E<gt>it_value>; this is always a relative value, "
11233 "regardless of whether the B<TIMER_ABSTIME> flag was used when arming the "
11234 "timer.  If the value returned in I<curr_value-E<gt>it_value> is zero, then "
11235 "the timer is currently disarmed.  The timer interval is returned in "
11236 "I<curr_value-E<gt>it_interval>.  If the value returned in I<curr_value-"
11237 "E<gt>it_interval> is zero, then this is a \"one-shot\" timer."
11238 msgstr ""
11239
11240 #. type: Plain text
11241 #: build/C/man2/timer_settime.2:178
11242 msgid ""
11243 "On success, B<timer_settime>()  and B<timer_gettime>()  return 0.  On error, "
11244 "-1 is returned, and I<errno> is set to indicate the error."
11245 msgstr ""
11246
11247 #. type: Plain text
11248 #: build/C/man2/timer_settime.2:180
11249 msgid "These functions may fail with the following errors:"
11250 msgstr ""
11251
11252 #. type: Plain text
11253 #: build/C/man2/timer_settime.2:187
11254 msgid "I<new_value>, I<old_value>, or I<curr_value> is not a valid pointer."
11255 msgstr ""
11256
11257 #.  FIXME . eventually: invalid value in flags
11258 #. type: Plain text
11259 #: build/C/man2/timer_settime.2:192
11260 msgid "I<timerid> is invalid."
11261 msgstr ""
11262
11263 #. type: Plain text
11264 #: build/C/man2/timer_settime.2:195
11265 msgid "B<timer_settime>()  may fail with the following errors:"
11266 msgstr ""
11267
11268 #. type: Plain text
11269 #: build/C/man2/timer_settime.2:201
11270 msgid ""
11271 "I<new_value.it_value> is negative; or I<new_value.it_value.tv_nsec> is "
11272 "negative or greater than 999,999,999."
11273 msgstr ""
11274
11275 #. type: Plain text
11276 #: build/C/man2/timer_settime.2:203
11277 msgid "These system calls are available since Linux 2.6."
11278 msgstr ""
11279
11280 #. type: Plain text
11281 #: build/C/man2/timer_settime.2:212
11282 msgid "B<timer_create>(2), B<timer_getoverrun>(2), B<time>(7)"
11283 msgstr "B<timer_create>(2), B<timer_getoverrun>(2), B<time>(7)"
11284
11285 #. type: TH
11286 #: build/C/man2/timerfd_create.2:20
11287 #, no-wrap
11288 msgid "TIMERFD_CREATE"
11289 msgstr "TIMERFD_CREATE"
11290
11291 #. type: TH
11292 #: build/C/man2/timerfd_create.2:20
11293 #, no-wrap
11294 msgid "2011-09-14"
11295 msgstr "2011-09-14"
11296
11297 #. type: Plain text
11298 #: build/C/man2/timerfd_create.2:24
11299 msgid ""
11300 "timerfd_create, timerfd_settime, timerfd_gettime - timers that notify via "
11301 "file descriptors"
11302 msgstr ""
11303 "timerfd_create, timerfd_settime, timerfd_gettime - ファイルディスクリプタ経由"
11304 "で通知するタイマー"
11305
11306 #. type: Plain text
11307 #: build/C/man2/timerfd_create.2:27
11308 #, no-wrap
11309 msgid "B<#include E<lt>sys/timerfd.hE<gt>>\n"
11310 msgstr "B<#include E<lt>sys/timerfd.hE<gt>>\n"
11311
11312 #. type: Plain text
11313 #: build/C/man2/timerfd_create.2:29
11314 #, no-wrap
11315 msgid "B<int timerfd_create(int >I<clockid>B<, int >I<flags>B<);>\n"
11316 msgstr "B<int timerfd_create(int >I<clockid>B<, int >I<flags>B<);>\n"
11317
11318 #. type: Plain text
11319 #: build/C/man2/timerfd_create.2:33
11320 #, no-wrap
11321 msgid ""
11322 "B<int timerfd_settime(int >I<fd>B<, int >I<flags>B<,>\n"
11323 "B<                    const struct itimerspec *>I<new_value>B<,>\n"
11324 "B<                    struct itimerspec *>I<old_value>B<);>\n"
11325 msgstr ""
11326 "B<int timerfd_settime(int >I<fd>B<, int >I<flags>B<,>\n"
11327 "B<                    const struct itimerspec *>I<new_value>B<,>\n"
11328 "B<                    struct itimerspec *>I<old_value>B<);>\n"
11329
11330 #. type: Plain text
11331 #: build/C/man2/timerfd_create.2:35
11332 #, no-wrap
11333 msgid "B<int timerfd_gettime(int >I<fd>B<, struct itimerspec *>I<curr_value>B<);>\n"
11334 msgstr "B<int timerfd_gettime(int >I<fd>B<, struct itimerspec *>I<curr_value>B<);>\n"
11335
11336 #. type: Plain text
11337 #: build/C/man2/timerfd_create.2:48
11338 msgid ""
11339 "These system calls create and operate on a timer that delivers timer "
11340 "expiration notifications via a file descriptor.  They provide an alternative "
11341 "to the use of B<setitimer>(2)  or B<timer_create>(2), with the advantage "
11342 "that the file descriptor may be monitored by B<select>(2), B<poll>(2), and "
11343 "B<epoll>(7)."
11344 msgstr ""
11345 "これらのシステムコールは、満了通知をファイルディスクリプタ経由で配送する タイ"
11346 "マーの生成と操作を行う。 これらは、 B<setitimer>(2)  や B<timer_create>(2)  "
11347 "を用いる方法の代わりとなるものであり、このファイルディスクリプタを B<select>"
11348 "(2), B<poll>(2), B<epoll>(7)  で監視できるという利点がある。"
11349
11350 #. type: Plain text
11351 #: build/C/man2/timerfd_create.2:60
11352 msgid ""
11353 "The use of these three system calls is analogous to the use of "
11354 "B<timer_create>(2), B<timer_settime>(2), and B<timer_gettime>(2).  (There is "
11355 "no analog of B<timer_getoverrun>(2), since that functionality is provided by "
11356 "B<read>(2), as described below.)"
11357 msgstr ""
11358 "これらのシステムコールを使うのは、それぞれ B<timer_create>(2), "
11359 "B<timer_settime>(2), B<timer_gettime>(2)  を使うのと同様である "
11360 "(B<timer_getoverrun>(2)  に対応するものはなく、以下で説明するように この機能"
11361 "は B<read>(2)  により提供される)。"
11362
11363 #. type: SS
11364 #: build/C/man2/timerfd_create.2:60
11365 #, no-wrap
11366 msgid "timerfd_create()"
11367 msgstr "timerfd_create()"
11368
11369 #. type: Plain text
11370 #: build/C/man2/timerfd_create.2:79
11371 msgid ""
11372 "B<timerfd_create>()  creates a new timer object, and returns a file "
11373 "descriptor that refers to that timer.  The I<clockid> argument specifies the "
11374 "clock that is used to mark the progress of the timer, and must be either "
11375 "B<CLOCK_REALTIME> or B<CLOCK_MONOTONIC>.  B<CLOCK_REALTIME> is a settable "
11376 "system-wide clock.  B<CLOCK_MONOTONIC> is a nonsettable clock that is not "
11377 "affected by discontinuous changes in the system clock (e.g., manual changes "
11378 "to system time).  The current value of each of these clocks can be retrieved "
11379 "using B<clock_gettime>(2)."
11380 msgstr ""
11381 "B<timerfd_create>()  は新規のタイマーオブジェクトを生成し、そのタイマーを参照"
11382 "するファイル ディスクリプタを返す。 I<clockid> 引き数は、タイマーの進捗を管理"
11383 "するためのクロックを指定するもので、 B<CLOCK_REALTIME> か B<CLOCK_MONOTONIC> "
11384 "のいずれかでなければならない。 B<CLOCK_REALTIME> はシステム全体で使用されるク"
11385 "ロックで、このクロックは変更可能である。 B<CLOCK_MONOTONIC> は変更されること"
11386 "のないクロックで、(システム時刻の手動での変更などの)  システムクロックの不連"
11387 "続な変化の影響を受けない。 これらのクロックの現在の値は B<clock_gettime>(2)  "
11388 "を使って取得できる。"
11389
11390 #. type: Plain text
11391 #: build/C/man2/timerfd_create.2:84
11392 msgid ""
11393 "Starting with Linux 2.6.27, the following values may be bitwise ORed in "
11394 "I<flags> to change the behavior of B<timerfd_create>():"
11395 msgstr ""
11396 "Linux 2.6.27 以降では、 以下の値のいくつかをビット単位の論理和 (OR) で指定す"
11397 "ることで、 B<timerfd_create>()  の振舞いを変更することができる。"
11398
11399 #. type: TP
11400 #: build/C/man2/timerfd_create.2:84
11401 #, no-wrap
11402 msgid "B<TFD_NONBLOCK>"
11403 msgstr "B<TFD_NONBLOCK>"
11404
11405 #. type: TP
11406 #: build/C/man2/timerfd_create.2:92
11407 #, no-wrap
11408 msgid "B<TFD_CLOEXEC>"
11409 msgstr "B<TFD_CLOEXEC>"
11410
11411 #. type: Plain text
11412 #: build/C/man2/timerfd_create.2:106
11413 msgid ""
11414 "In Linux versions up to and including 2.6.26, I<flags> must be specified as "
11415 "zero."
11416 msgstr ""
11417 "バージョン 2.6.26 以前の Linux では、 I<flags> 引き数は未使用であり、0 を指定"
11418 "しなければならない。"
11419
11420 #. type: SS
11421 #: build/C/man2/timerfd_create.2:106
11422 #, no-wrap
11423 msgid "timerfd_settime()"
11424 msgstr "timerfd_settime()"
11425
11426 #. type: Plain text
11427 #: build/C/man2/timerfd_create.2:111
11428 msgid ""
11429 "B<timerfd_settime>()  arms (starts) or disarms (stops)  the timer referred "
11430 "to by the file descriptor I<fd>."
11431 msgstr ""
11432 "B<timerfd_settime>()  は、ファイルディスクリプタ I<fd> により参照されるタイ"
11433 "マーを開始したり停止したりする。"
11434
11435 #. type: Plain text
11436 #: build/C/man2/timerfd_create.2:120
11437 msgid ""
11438 "The I<new_value> argument specifies the initial expiration and interval for "
11439 "the timer.  The I<itimer> structure used for this argument contains two "
11440 "fields, each of which is in turn a structure of type I<timespec>:"
11441 msgstr ""
11442 "I<new_value> 引き数は、タイマーの満了時間 (expiration) の初期値と間隔 "
11443 "(interval) を 指定する。この引き数で使用されている I<itimerspec> 構造体には "
11444 "2 つのフィールドがあり、各フィールドは I<timespec> 型の構造体である。"
11445
11446 #. type: Plain text
11447 #: build/C/man2/timerfd_create.2:132
11448 #, no-wrap
11449 msgid ""
11450 "struct itimerspec {\n"
11451 "    struct timespec it_interval;  /* Interval for periodic timer */\n"
11452 "    struct timespec it_value;     /* Initial expiration */\n"
11453 "};\n"
11454 msgstr ""
11455 "struct itimerspec {\n"
11456 "    struct timespec it_interval;  /* Interval for periodic timer */\n"
11457 "    struct timespec it_value;     /* Initial expiration */\n"
11458 "};\n"
11459
11460 #. type: Plain text
11461 #: build/C/man2/timerfd_create.2:144
11462 msgid ""
11463 "I<new_value.it_value> specifies the initial expiration of the timer, in "
11464 "seconds and nanoseconds.  Setting either field of I<new_value.it_value> to a "
11465 "nonzero value arms the timer.  Setting both fields of I<new_value.it_value> "
11466 "to zero disarms the timer."
11467 msgstr ""
11468 "I<new_value.it_value> はタイマーの満了時間の初期値を、秒とナノ秒で指定する。 "
11469 "I<new_value.it_value> のフィールドのうち少なくとも一方に 0 以外の値を設定する"
11470 "と、 タイマーが開始される。 両方のフィールドに 0 を設定すると、タイマーが停止"
11471 "する。"
11472
11473 #. type: Plain text
11474 #: build/C/man2/timerfd_create.2:153
11475 msgid ""
11476 "Setting one or both fields of I<new_value.it_interval> to nonzero values "
11477 "specifies the period, in seconds and nanoseconds, for repeated timer "
11478 "expirations after the initial expiration.  If both fields of I<new_value."
11479 "it_interval> are zero, the timer expires just once, at the time specified by "
11480 "I<new_value.it_value>."
11481 msgstr ""
11482 "I<new_value.it_interval> はタイマーの一回目の満了後に繰り返しタイマーの満了間"
11483 "隔を、秒とナノ秒で指定する。 I<new_value.it_interval> のフィールドのうち少な"
11484 "くとも一方に 0 以外の値を設定すると、 繰り返しタイマーが有効になる。 両方の"
11485 "フィールドに 0 を設定した場合、タイマーは I<new_value.it_value> で指定された"
11486 "時間後に、一回だけ満了して停止する。"
11487
11488 #. type: Plain text
11489 #: build/C/man2/timerfd_create.2:169
11490 msgid ""
11491 "The I<flags> argument is either 0, to start a relative timer (I<new_value."
11492 "it_value> specifies a time relative to the current value of the clock "
11493 "specified by I<clockid>), or B<TFD_TIMER_ABSTIME>, to start an absolute "
11494 "timer (I<new_value.it_value> specifies an absolute time for the clock "
11495 "specified by I<clockid>; that is, the timer will expire when the value of "
11496 "that clock reaches the value specified in I<new_value.it_value>)."
11497 msgstr ""
11498 "I<flags> 引き数には 0 か B<TFD_TIMER_ABSTIME> を指定する。 0 は相対時刻\n"
11499 "タイマーを意味し、 I<new_value.it_value> では I<clockid> で指定された\n"
11500 "クロックの現在の値からの相対的な時刻を指定する。 B<TFD_TIMER_ABSTIME>\n"
11501 "は絶対時刻タイマーを意味し、 I<new_value.it_interval> では I<clockid>\n"
11502 "で指定されたクロックの絶対時刻を指定する。\n"
11503 "つまり、クロックの値が I<new_value.it_interval> で指定された時刻に\n"
11504 "達したら、タイマーが満了する。"
11505
11506 #. type: Plain text
11507 #: build/C/man2/timerfd_create.2:180
11508 msgid ""
11509 "If the I<old_value> argument is not NULL, then the I<itimerspec> structure "
11510 "that it points to is used to return the setting of the timer that was "
11511 "current at the time of the call; see the description of B<timerfd_gettime>"
11512 "()  following."
11513 msgstr ""
11514 "I<old_value> 引き数が NULL でない場合、 I<old_value> 引き数が指す\n"
11515 "I<itimerspec> 構造体は、 B<timerfd_settime>() を呼び出した時点での\n"
11516 "タイマーの設定を返すのに使用される。\n"
11517 "下記の B<timerfd_gettime>() の説明を参照。"
11518
11519 #. type: SS
11520 #: build/C/man2/timerfd_create.2:180
11521 #, no-wrap
11522 msgid "timerfd_gettime()"
11523 msgstr "timerfd_gettime()"
11524
11525 #. type: Plain text
11526 #: build/C/man2/timerfd_create.2:189
11527 msgid ""
11528 "B<timerfd_gettime>()  returns, in I<curr_value>, an I<itimerspec> structure "
11529 "that contains the current setting of the timer referred to by the file "
11530 "descriptor I<fd>."
11531 msgstr ""
11532 "B<timerfd_gettime>()  は、ファイルディスクリプタ I<fd> で参照されるタイマーの"
11533 "現在の設定が入った I<itimerspec> 構造体を、 I<curr_value> に格納して返す。"
11534
11535 #. type: Plain text
11536 #: build/C/man2/timerfd_create.2:199
11537 msgid ""
11538 "The I<it_value> field returns the amount of time until the timer will next "
11539 "expire.  If both fields of this structure are zero, then the timer is "
11540 "currently disarmed.  This field always contains a relative value, regardless "
11541 "of whether the B<TFD_TIMER_ABSTIME> flag was specified when setting the "
11542 "timer."
11543 msgstr ""
11544 "I<it_value> フィールドは、タイマーが次に満了するまでの残り時間を返す。 この構"
11545 "造体の両方のフィールドが 0 であれば、タイマーは現在停止している。 タイマー設"
11546 "定時に B<TFD_TIMER_ABSTIME> フラグが指定されたかに関わらず、このフィールドは"
11547 "常に相対値が格納される。"
11548
11549 #. type: Plain text
11550 #: build/C/man2/timerfd_create.2:206
11551 msgid ""
11552 "The I<it_interval> field returns the interval of the timer.  If both fields "
11553 "of this structure are zero, then the timer is set to expire just once, at "
11554 "the time specified by I<curr_value.it_value>."
11555 msgstr ""
11556 "I<it_interval> フィールドは、タイマーの間隔を返す。 この構造体の両方のフィー"
11557 "ルドが 0 であれば、タイマーは I<new_value.it_value> で指定された時間後に一回"
11558 "だけ満了して停止するように設定されている。"
11559
11560 #. type: SS
11561 #: build/C/man2/timerfd_create.2:206
11562 #, no-wrap
11563 msgid "Operating on a timer file descriptor"
11564 msgstr "タイマー・ファイルディスクリプタに対する操作"
11565
11566 #. type: Plain text
11567 #: build/C/man2/timerfd_create.2:210
11568 msgid ""
11569 "The file descriptor returned by B<timerfd_create>()  supports the following "
11570 "operations:"
11571 msgstr ""
11572 "B<timerfd_create>()  が返すファイルディスクリプタは以下の操作をサポートしてい"
11573 "る。"
11574
11575 #. type: Plain text
11576 #: build/C/man2/timerfd_create.2:224
11577 msgid ""
11578 "If the timer has already expired one or more times since its settings were "
11579 "last modified using B<timerfd_settime>(), or since the last successful "
11580 "B<read>(2), then the buffer given to B<read>(2)  returns an unsigned 8-byte "
11581 "integer (I<uint64_t>)  containing the number of expirations that have "
11582 "occurred.  (The returned value is in host byte order, i.e., the native byte "
11583 "order for integers on the host machine.)"
11584 msgstr ""
11585 "B<timerfd_settime>()  を使ってタイマーの設定が最後変更されて以降、または "
11586 "B<read>(2)  の呼び出しに最後に成功して以降に、タイマーの満了が一回以上発生し"
11587 "ていれば、 B<read>(2)  に渡されたバッファに、タイマー満了回数を示す 8 バイト"
11588 "の unsigned 型の整数 (I<uint64_t>)  が返される (返される値はホストバイトオー"
11589 "ダ、つまりそのホストマシンにおける 整数の通常のバイトオーダである)。"
11590
11591 #. type: Plain text
11592 #: build/C/man2/timerfd_create.2:237
11593 msgid ""
11594 "If no timer expirations have occurred at the time of the B<read>(2), then "
11595 "the call either blocks until the next timer expiration, or fails with the "
11596 "error B<EAGAIN> if the file descriptor has been made nonblocking (via the "
11597 "use of the B<fcntl>(2)  B<F_SETFL> operation to set the B<O_NONBLOCK> flag)."
11598 msgstr ""
11599 "B<read>(2)  を行った時点でタイマーの満了が発生していなければ、 B<read>(2)  は"
11600 "停止 (block) する、もしくはファイルディスクリプタが 非停止 (nonblocking) に設"
11601 "定されている場合はエラー B<EAGAIN> で失敗する (非停止モードにするには、 "
11602 "B<fcntl>(2)  の B<F_SETFL> 命令で B<O_NONBLOCK> フラグをセットする)。"
11603
11604 #. type: Plain text
11605 #: build/C/man2/timerfd_create.2:243
11606 msgid ""
11607 "A B<read>(2)  will fail with the error B<EINVAL> if the size of the supplied "
11608 "buffer is less than 8 bytes."
11609 msgstr ""
11610 "渡されたバッファの大きさが 8 バイト未満の場合、 B<read>(2)  はエラー "
11611 "B<EINVAL> で失敗する。"
11612
11613 #. type: Plain text
11614 #: build/C/man2/timerfd_create.2:254
11615 msgid ""
11616 "The file descriptor is readable (the B<select>(2)  I<readfds> argument; the "
11617 "B<poll>(2)  B<POLLIN> flag)  if one or more timer expirations have occurred."
11618 msgstr ""
11619 "一つ以上のタイマー満了が発生していれば、 ファイルディスクリプタは読み出し可能"
11620 "となる (B<select>(2)  の I<readfds> 引き数や B<poll>(2)  の B<POLLIN> フラ"
11621 "グ)。"
11622
11623 #. type: Plain text
11624 #: build/C/man2/timerfd_create.2:261
11625 msgid ""
11626 "The file descriptor also supports the other file-descriptor multiplexing "
11627 "APIs: B<pselect>(2), B<ppoll>(2), and B<epoll>(7)."
11628 msgstr ""
11629 "このファイルディスクリプタは、他のファイルディスクリプタ多重 API である "
11630 "B<pselect>(2), B<ppoll>(2), B<epoll>(7)  もサポートしている。"
11631
11632 #. type: Plain text
11633 #: build/C/man2/timerfd_create.2:268
11634 msgid ""
11635 "When the file descriptor is no longer required it should be closed.  When "
11636 "all file descriptors associated with the same timer object have been closed, "
11637 "the timer is disarmed and its resources are freed by the kernel."
11638 msgstr ""
11639 "ファイルディスクリプタがそれ以降は必要なくなった際には、クローズすべきであ"
11640 "る。 同じ timer オブジェクトに関連付けられたファイルディスクリプタが全て ク"
11641 "ローズされると、そのタイマーは解除され、 そのオブジェクト用の資源がカーネルに"
11642 "より解放される。"
11643
11644 #. type: Plain text
11645 #: build/C/man2/timerfd_create.2:280
11646 msgid ""
11647 "After a B<fork>(2), the child inherits a copy of the file descriptor created "
11648 "by B<timerfd_create>().  The file descriptor refers to the same underlying "
11649 "timer object as the corresponding file descriptor in the parent, and B<read>"
11650 "(2)s in the child will return information about expirations of the timer."
11651 msgstr ""
11652 "B<fork>(2)  が行われると、子プロセスは B<timerfd_create>()  により生成された"
11653 "ファイルディスクリプタのコピーを 継承する。そのファイルディスクリプタは、親プ"
11654 "ロセスの対応する ファイルディスクリプタと同じタイマーオブジェクトを参照してお"
11655 "り、 子プロセスの B<read>(2)  でも同じタイマーの満了に関する情報が返される。"
11656
11657 #. type: Plain text
11658 #: build/C/man2/timerfd_create.2:286
11659 msgid ""
11660 "A file descriptor created by B<timerfd_create>()  is preserved across "
11661 "B<execve>(2), and continues to generate timer expirations if the timer was "
11662 "armed."
11663 msgstr ""
11664 "B<execve>(2)  の前後で B<timerfd_create>()  により生成されたファイルディスク"
11665 "リプタは保持され、 タイマーが開始されていた場合にはタイマーの満了が発生し続け"
11666 "る。"
11667
11668 #. type: Plain text
11669 #: build/C/man2/timerfd_create.2:293
11670 msgid ""
11671 "On success, B<timerfd_create>()  returns a new file descriptor.  On error, "
11672 "-1 is returned and I<errno> is set to indicate the error."
11673 msgstr ""
11674 "成功すると、 B<timerfd_create>()  は新しいファイルディスクリプタを返す。 エ"
11675 "ラーの場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
11676
11677 #. type: Plain text
11678 #: build/C/man2/timerfd_create.2:301
11679 msgid ""
11680 "B<timerfd_settime>()  and B<timerfd_gettime>()  return 0 on success; on "
11681 "error they return -1, and set I<errno> to indicate the error."
11682 msgstr ""
11683 "B<timerfd_settime>()  と B<timerfd_gettime>()  は成功すると 0 を返す。 エラー"
11684 "の場合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
11685
11686 #. type: Plain text
11687 #: build/C/man2/timerfd_create.2:304
11688 msgid "B<timerfd_create>()  can fail with the following errors:"
11689 msgstr "B<timerfd_create>()  は以下のエラーで失敗する可能性がある。"
11690
11691 #. type: Plain text
11692 #: build/C/man2/timerfd_create.2:312
11693 msgid ""
11694 "The I<clockid> argument is neither B<CLOCK_MONOTONIC> nor B<CLOCK_REALTIME>;"
11695 msgstr ""
11696 "I<clockid> 引き数が B<CLOCK_MONOTONIC> でも B<CLOCK_REALTIME> でもない。"
11697
11698 #. type: Plain text
11699 #: build/C/man2/timerfd_create.2:332
11700 msgid "There was insufficient kernel memory to create the timer."
11701 msgstr "タイマーを作成するのに十分なカーネルメモリがなかった。"
11702
11703 #. type: Plain text
11704 #: build/C/man2/timerfd_create.2:337
11705 msgid ""
11706 "B<timerfd_settime>()  and B<timerfd_gettime>()  can fail with the following "
11707 "errors:"
11708 msgstr ""
11709 "B<timerfd_settime>()  と B<timerfd_gettime>()  は以下のエラーで失敗する可能性"
11710 "がある。"
11711
11712 #. type: Plain text
11713 #: build/C/man2/timerfd_create.2:341
11714 msgid "I<fd> is not a valid file descriptor."
11715 msgstr "I<fd> が有効なファイルディスクリプタでない。"
11716
11717 #. type: Plain text
11718 #: build/C/man2/timerfd_create.2:352
11719 msgid "I<fd> is not a valid timerfd file descriptor."
11720 msgstr "I<fd> が有効な timerfd ファイルディスクリプタでない。"
11721
11722 #. type: Plain text
11723 #: build/C/man2/timerfd_create.2:355
11724 msgid "B<timerfd_settime>()  can also fail with the following errors:"
11725 msgstr "B<timerfd_settime>()  は以下のエラーで失敗することもある。"
11726
11727 #. type: Plain text
11728 #: build/C/man2/timerfd_create.2:361
11729 msgid ""
11730 "I<new_value> is not properly initialized (one of the I<tv_nsec> falls "
11731 "outside the range zero to 999,999,999)."
11732 msgstr ""
11733 "I<new_value> が適切に初期化されていない (I<tv_nsec> の一つが 0 から "
11734 "999,999,999 までの範囲に入っていない)。"
11735
11736 #.  This case only checked since 2.6.29, and 2.2.2[78].some-stable-version.
11737 #.  In older kernel versions, no check was made for invalid flags.
11738 #. type: Plain text
11739 #: build/C/man2/timerfd_create.2:367
11740 msgid "I<flags> is invalid."
11741 msgstr "I<flags> が無効である。"
11742
11743 #. type: Plain text
11744 #: build/C/man2/timerfd_create.2:370
11745 msgid ""
11746 "These system calls are available on Linux since kernel 2.6.25.  Library "
11747 "support is provided by glibc since version 2.8."
11748 msgstr ""
11749 "これらのシステムコールはカーネル 2.6.25 以降の Linux で利用可能である。 ライ"
11750 "ブラリ側のサポートはバージョン 2.8 以降の glibc で提供されている。"
11751
11752 #. type: Plain text
11753 #: build/C/man2/timerfd_create.2:381
11754 msgid ""
11755 "The following program creates a timer and then monitors its progress.  The "
11756 "program accepts up to three command-line arguments.  The first argument "
11757 "specifies the number of seconds for the initial expiration of the timer.  "
11758 "The second argument specifies the interval for the timer, in seconds.  The "
11759 "third argument specifies the number of times the program should allow the "
11760 "timer to expire before terminating.  The second and third command-line "
11761 "arguments are optional."
11762 msgstr ""
11763 "以下のプログラムは、タイマーを作成し、その進捗をモニターするものである。 この"
11764 "プログラムは最大で 3 個のコマンドライン引き数を取り、 第一引き数ではタイマー"
11765 "の満了時間の初期値 (秒数単位) を、 第二引き数ではタイマーの間隔 (秒数単位) "
11766 "を、 第三引き数ではタイマーが何回満了したらプログラムが終了するかを指定す"
11767 "る。 第二引き数と第三引き数は省略可能である。"
11768
11769 #. type: Plain text
11770 #: build/C/man2/timerfd_create.2:383 build/C/man2/wait.2:541
11771 msgid "The following shell session demonstrates the use of the program:"
11772 msgstr "以下のシェルのセッションはこのプログラムの使用例を示したものである。"
11773
11774 #. type: Plain text
11775 #: build/C/man2/timerfd_create.2:398
11776 #, no-wrap
11777 msgid ""
11778 "$B< a.out 3 1 100>\n"
11779 "0.000: timer started\n"
11780 "3.000: read: 1; total=1\n"
11781 "4.000: read: 1; total=2\n"
11782 "B<^Z >                 # type control-Z to suspend the program\n"
11783 "[1]+  Stopped                 ./timerfd3_demo 3 1 100\n"
11784 "$ B<fg>                # Resume execution after a few seconds\n"
11785 "a.out 3 1 100\n"
11786 "9.660: read: 5; total=7\n"
11787 "10.000: read: 1; total=8\n"
11788 "11.000: read: 1; total=9\n"
11789 "B<^C >                 # type control-C to suspend the program\n"
11790 msgstr ""
11791 "$B< a.out 3 1 100>\n"
11792 "0.000: timer started\n"
11793 "3.000: read: 1; total=1\n"
11794 "4.000: read: 1; total=2\n"
11795 "B<^Z >                 # type control-Z to suspend the program\n"
11796 "[1]+  Stopped                 ./timerfd3_demo 3 1 100\n"
11797 "$ B<fg>                # Resume execution after a few seconds\n"
11798 "a.out 3 1 100\n"
11799 "9.660: read: 5; total=7\n"
11800 "10.000: read: 1; total=8\n"
11801 "11.000: read: 1; total=9\n"
11802 "B<^C >                 # type control-C to suspend the program\n"
11803
11804 #.  The commented out code here is what we currently need until
11805 #.  the required stuff is in glibc
11806 #. /* Link with -lrt */
11807 #. #define _GNU_SOURCE
11808 #. #include <sys/syscall.h>
11809 #. #include <unistd.h>
11810 #. #include <time.h>
11811 #. #if defined(__i386__)
11812 #. #define __NR_timerfd_create 322
11813 #. #define __NR_timerfd_settime 325
11814 #. #define __NR_timerfd_gettime 326
11815 #. #endif
11816 #. static int
11817 #. timerfd_create(int clockid, int flags)
11818 #. {
11819 #.     return syscall(__NR_timerfd_create, clockid, flags);
11820 #. }
11821 #. static int
11822 #. timerfd_settime(int fd, int flags, struct itimerspec *new_value,
11823 #.         struct itimerspec *curr_value)
11824 #. {
11825 #.     return syscall(__NR_timerfd_settime, fd, flags, new_value,
11826 #.                    curr_value);
11827 #. }
11828 #. static int
11829 #. timerfd_gettime(int fd, struct itimerspec *curr_value)
11830 #. {
11831 #.     return syscall(__NR_timerfd_gettime, fd, curr_value);
11832 #. }
11833 #. #define TFD_TIMER_ABSTIME (1 << 0)
11834 #. ////////////////////////////////////////////////////////////
11835 #. type: Plain text
11836 #: build/C/man2/timerfd_create.2:447
11837 #, no-wrap
11838 msgid ""
11839 "#include E<lt>sys/timerfd.hE<gt>\n"
11840 "#include E<lt>time.hE<gt>\n"
11841 "#include E<lt>unistd.hE<gt>\n"
11842 "#include E<lt>stdlib.hE<gt>\n"
11843 "#include E<lt>stdio.hE<gt>\n"
11844 "#include E<lt>stdint.hE<gt>        /* Definition of uint64_t */\n"
11845 msgstr ""
11846 "#include E<lt>sys/timerfd.hE<gt>\n"
11847 "#include E<lt>time.hE<gt>\n"
11848 "#include E<lt>unistd.hE<gt>\n"
11849 "#include E<lt>stdlib.hE<gt>\n"
11850 "#include E<lt>stdio.hE<gt>\n"
11851 "#include E<lt>stdint.hE<gt>        /* Definition of uint64_t */\n"
11852
11853 #. type: Plain text
11854 #: build/C/man2/timerfd_create.2:450
11855 #, no-wrap
11856 msgid ""
11857 "#define handle_error(msg) \\e\n"
11858 "        do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
11859 msgstr ""
11860 "#define handle_error(msg) \\e\n"
11861 "        do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
11862
11863 #. type: Plain text
11864 #: build/C/man2/timerfd_create.2:458
11865 #, no-wrap
11866 msgid ""
11867 "static void\n"
11868 "print_elapsed_time(void)\n"
11869 "{\n"
11870 "    static struct timespec start;\n"
11871 "    struct timespec curr;\n"
11872 "    static int first_call = 1;\n"
11873 "    int secs, nsecs;\n"
11874 msgstr ""
11875 "static void\n"
11876 "print_elapsed_time(void)\n"
11877 "{\n"
11878 "    static struct timespec start;\n"
11879 "    struct timespec curr;\n"
11880 "    static int first_call = 1;\n"
11881 "    int secs, nsecs;\n"
11882
11883 #. type: Plain text
11884 #: build/C/man2/timerfd_create.2:464
11885 #, no-wrap
11886 msgid ""
11887 "    if (first_call) {\n"
11888 "        first_call = 0;\n"
11889 "        if (clock_gettime(CLOCK_MONOTONIC, &start) == -1)\n"
11890 "            handle_error(\"clock_gettime\");\n"
11891 "    }\n"
11892 msgstr ""
11893 "    if (first_call) {\n"
11894 "        first_call = 0;\n"
11895 "        if (clock_gettime(CLOCK_MONOTONIC, &start) == -1)\n"
11896 "            handle_error(\"clock_gettime\");\n"
11897 "    }\n"
11898
11899 #. type: Plain text
11900 #: build/C/man2/timerfd_create.2:467
11901 #, no-wrap
11902 msgid ""
11903 "    if (clock_gettime(CLOCK_MONOTONIC, &curr) == -1)\n"
11904 "        handle_error(\"clock_gettime\");\n"
11905 msgstr ""
11906 "    if (clock_gettime(CLOCK_MONOTONIC, &curr) == -1)\n"
11907 "        handle_error(\"clock_gettime\");\n"
11908
11909 #. type: Plain text
11910 #: build/C/man2/timerfd_create.2:476
11911 #, no-wrap
11912 msgid ""
11913 "    secs = curr.tv_sec - start.tv_sec;\n"
11914 "    nsecs = curr.tv_nsec - start.tv_nsec;\n"
11915 "    if (nsecs E<lt> 0) {\n"
11916 "        secs--;\n"
11917 "        nsecs += 1000000000;\n"
11918 "    }\n"
11919 "    printf(\"%d.%03d: \", secs, (nsecs + 500000) / 1000000);\n"
11920 "}\n"
11921 msgstr ""
11922 "    secs = curr.tv_sec - start.tv_sec;\n"
11923 "    nsecs = curr.tv_nsec - start.tv_nsec;\n"
11924 "    if (nsecs E<lt> 0) {\n"
11925 "        secs--;\n"
11926 "        nsecs += 1000000000;\n"
11927 "    }\n"
11928 "    printf(\"%d.%03d: \", secs, (nsecs + 500000) / 1000000);\n"
11929 "}\n"
11930
11931 #. type: Plain text
11932 #: build/C/man2/timerfd_create.2:485
11933 #, no-wrap
11934 msgid ""
11935 "int\n"
11936 "main(int argc, char *argv[])\n"
11937 "{\n"
11938 "    struct itimerspec new_value;\n"
11939 "    int max_exp, fd;\n"
11940 "    struct timespec now;\n"
11941 "    uint64_t exp, tot_exp;\n"
11942 "    ssize_t s;\n"
11943 msgstr ""
11944 "int\n"
11945 "main(int argc, char *argv[])\n"
11946 "{\n"
11947 "    struct itimerspec new_value;\n"
11948 "    int max_exp, fd;\n"
11949 "    struct timespec now;\n"
11950 "    uint64_t exp, tot_exp;\n"
11951 "    ssize_t s;\n"
11952
11953 #. type: Plain text
11954 #: build/C/man2/timerfd_create.2:491
11955 #, no-wrap
11956 msgid ""
11957 "    if ((argc != 2) && (argc != 4)) {\n"
11958 "        fprintf(stderr, \"%s init-secs [interval-secs max-exp]\\en\",\n"
11959 "                argv[0]);\n"
11960 "        exit(EXIT_FAILURE);\n"
11961 "    }\n"
11962 msgstr ""
11963 "    if ((argc != 2) && (argc != 4)) {\n"
11964 "        fprintf(stderr, \"%s init-secs [interval-secs max-exp]\\en\",\n"
11965 "                argv[0]);\n"
11966 "        exit(EXIT_FAILURE);\n"
11967 "    }\n"
11968
11969 #. type: Plain text
11970 #: build/C/man2/timerfd_create.2:494
11971 #, no-wrap
11972 msgid ""
11973 "    if (clock_gettime(CLOCK_REALTIME, &now) == -1)\n"
11974 "        handle_error(\"clock_gettime\");\n"
11975 msgstr ""
11976 "    if (clock_gettime(CLOCK_REALTIME, &now) == -1)\n"
11977 "        handle_error(\"clock_gettime\");\n"
11978
11979 #. type: Plain text
11980 #: build/C/man2/timerfd_create.2:497
11981 #, no-wrap
11982 msgid ""
11983 "    /* Create a CLOCK_REALTIME absolute timer with initial\n"
11984 "       expiration and interval as specified in command line */\n"
11985 msgstr ""
11986 "    /* Create a CLOCK_REALTIME absolute timer with initial\n"
11987 "       expiration and interval as specified in command line */\n"
11988
11989 #. type: Plain text
11990 #: build/C/man2/timerfd_create.2:508
11991 #, no-wrap
11992 msgid ""
11993 "    new_value.it_value.tv_sec = now.tv_sec + atoi(argv[1]);\n"
11994 "    new_value.it_value.tv_nsec = now.tv_nsec;\n"
11995 "    if (argc == 2) {\n"
11996 "        new_value.it_interval.tv_sec = 0;\n"
11997 "        max_exp = 1;\n"
11998 "    } else {\n"
11999 "        new_value.it_interval.tv_sec = atoi(argv[2]);\n"
12000 "        max_exp = atoi(argv[3]);\n"
12001 "    }\n"
12002 "    new_value.it_interval.tv_nsec = 0;\n"
12003 msgstr ""
12004 "    new_value.it_value.tv_sec = now.tv_sec + atoi(argv[1]);\n"
12005 "    new_value.it_value.tv_nsec = now.tv_nsec;\n"
12006 "    if (argc == 2) {\n"
12007 "        new_value.it_interval.tv_sec = 0;\n"
12008 "        max_exp = 1;\n"
12009 "    } else {\n"
12010 "        new_value.it_interval.tv_sec = atoi(argv[2]);\n"
12011 "        max_exp = atoi(argv[3]);\n"
12012 "    }\n"
12013 "    new_value.it_interval.tv_nsec = 0;\n"
12014
12015 #. type: Plain text
12016 #: build/C/man2/timerfd_create.2:512
12017 #, no-wrap
12018 msgid ""
12019 "    fd = timerfd_create(CLOCK_REALTIME, 0);\n"
12020 "    if (fd == -1)\n"
12021 "        handle_error(\"timerfd_create\");\n"
12022 msgstr ""
12023 "    fd = timerfd_create(CLOCK_REALTIME, 0);\n"
12024 "    if (fd == -1)\n"
12025 "        handle_error(\"timerfd_create\");\n"
12026
12027 #. type: Plain text
12028 #: build/C/man2/timerfd_create.2:515
12029 #, no-wrap
12030 msgid ""
12031 "    if (timerfd_settime(fd, TFD_TIMER_ABSTIME, &new_value, NULL) == -1)\n"
12032 "        handle_error(\"timerfd_settime\");\n"
12033 msgstr ""
12034 "    if (timerfd_settime(fd, TFD_TIMER_ABSTIME, &new_value, NULL) == -1)\n"
12035 "        handle_error(\"timerfd_settime\");\n"
12036
12037 #. type: Plain text
12038 #: build/C/man2/timerfd_create.2:518
12039 #, no-wrap
12040 msgid ""
12041 "    print_elapsed_time();\n"
12042 "    printf(\"timer started\\en\");\n"
12043 msgstr ""
12044 "    print_elapsed_time();\n"
12045 "    printf(\"timer started\\en\");\n"
12046
12047 #. type: Plain text
12048 #: build/C/man2/timerfd_create.2:523
12049 #, no-wrap
12050 msgid ""
12051 "    for (tot_exp = 0; tot_exp E<lt> max_exp;) {\n"
12052 "        s = read(fd, &exp, sizeof(uint64_t));\n"
12053 "        if (s != sizeof(uint64_t))\n"
12054 "            handle_error(\"read\");\n"
12055 msgstr ""
12056 "    for (tot_exp = 0; tot_exp E<lt> max_exp;) {\n"
12057 "        s = read(fd, &exp, sizeof(uint64_t));\n"
12058 "        if (s != sizeof(uint64_t))\n"
12059 "            handle_error(\"read\");\n"
12060
12061 #. type: Plain text
12062 #: build/C/man2/timerfd_create.2:530
12063 #, no-wrap
12064 msgid ""
12065 "        tot_exp += exp;\n"
12066 "        print_elapsed_time();\n"
12067 "        printf(\"read: %llu; total=%llu\\en\",\n"
12068 "                (unsigned long long) exp,\n"
12069 "                (unsigned long long) tot_exp);\n"
12070 "    }\n"
12071 msgstr ""
12072 "        tot_exp += exp;\n"
12073 "        print_elapsed_time();\n"
12074 "        printf(\"read: %llu; total=%llu\\en\",\n"
12075 "                (unsigned long long) exp,\n"
12076 "                (unsigned long long) tot_exp);\n"
12077 "    }\n"
12078
12079 #.  2.6.29
12080 #. type: Plain text
12081 #: build/C/man2/timerfd_create.2:540
12082 msgid ""
12083 "Currently, B<timerfd_create>()  supports fewer types of clock IDs than "
12084 "B<timer_create>(2)."
12085 msgstr ""
12086 "現在のところ、 B<timerfd_create>()  が対応している clockid の種類は "
12087 "B<timer_create>(2)  よりも少ない。"
12088
12089 #. type: Plain text
12090 #: build/C/man2/timerfd_create.2:552
12091 msgid ""
12092 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<setitimer>(2), "
12093 "B<signalfd>(2), B<timer_create>(2), B<timer_gettime>(2), B<timer_settime>"
12094 "(2), B<epoll>(7), B<time>(7)"
12095 msgstr ""
12096 "B<eventfd>(2), B<poll>(2), B<read>(2), B<select>(2), B<setitimer>(2), "
12097 "B<signalfd>(2), B<timer_create>(2), B<timer_gettime>(2), B<timer_settime>"
12098 "(2), B<epoll>(7), B<time>(7)"
12099
12100 #. type: TH
12101 #: build/C/man2/tkill.2:29
12102 #, no-wrap
12103 msgid "TKILL"
12104 msgstr "TKILL"
12105
12106 #. type: Plain text
12107 #: build/C/man2/tkill.2:32
12108 msgid "tkill, tgkill - send a signal to a thread"
12109 msgstr "tkill, tgkill - スレッドにシグナルを送る"
12110
12111 #. type: Plain text
12112 #: build/C/man2/tkill.2:35
12113 #, no-wrap
12114 msgid "B<int tkill(int >I<tid>B<, int >I<sig>B<);>\n"
12115 msgstr "B<int tkill(int >I<tid>B<, int >I<sig>B<);>\n"
12116
12117 #. type: Plain text
12118 #: build/C/man2/tkill.2:37
12119 #, no-wrap
12120 msgid "B<int tgkill(int >I<tgid>B<, int >I<tid>B<, int >I<sig>B<);>\n"
12121 msgstr "B<int tgkill(int >I<tgid>B<, int >I<tid>B<, int >I<sig>B<);>\n"
12122
12123 #. type: Plain text
12124 #: build/C/man2/tkill.2:51
12125 msgid ""
12126 "B<tgkill>()  sends the signal I<sig> to the thread with the thread ID I<tid> "
12127 "in the thread group I<tgid>.  (By contrast, B<kill>(2)  can only be used to "
12128 "send a signal to a process (i.e., thread group)  as a whole, and the signal "
12129 "will be delivered to an arbitrary thread within that process.)"
12130 msgstr ""
12131 "B<tgkill>()  はスレッド・グループ I<tgid> に属するスレッド ID が I<tid> のス"
12132 "レッドにシグナル I<sig> を送る。 (これに対し、 B<kill>(2)  は一つのプロセス "
12133 "(すなわち、スレッド・グループ) にまとめてシグナルを 送るのにだけ利用できる。 "
12134 "B<kill>(2)  で送信されたシグナルはプロセス内の任意のスレッドに配送される。)"
12135
12136 #. type: Plain text
12137 #: build/C/man2/tkill.2:59
12138 msgid ""
12139 "B<tkill>()  is an obsolete predecessor to B<tgkill>().  It only allows the "
12140 "target thread ID to be specified, which may result in the wrong thread being "
12141 "signaled if a thread terminates and its thread ID is recycled.  Avoid using "
12142 "this system call."
12143 msgstr ""
12144 "B<tkill>()  はもう使われなくなった B<tgkill>()  の先祖である。 B<tkill>()  で"
12145 "はシグナルの送り先のスレッド ID しか指定できない。 そのため、スレッドが終了し"
12146 "て、そのスレッド ID が再利用される場合に、 意図しないスレッドにシグナルが送ら"
12147 "れる可能性がある。 このシステムコールの使用は避けること。"
12148
12149 #. type: Plain text
12150 #: build/C/man2/tkill.2:66
12151 msgid ""
12152 "If I<tgid> is specified as -1, B<tgkill>()  is equivalent to B<tkill>()."
12153 msgstr ""
12154 "I<tgid> に -1 が指定された場合、 B<tgkill>()  は B<tkill>()  と等価である。"
12155
12156 #. type: Plain text
12157 #: build/C/man2/tkill.2:69
12158 msgid ""
12159 "These are the raw system call interfaces, meant for internal thread library "
12160 "use."
12161 msgstr ""
12162 "これらはシステムコールへの直接のインターフェースであり、 スレッド・ライブラリ"
12163 "内部での使用を意図したものである。"
12164
12165 #. type: Plain text
12166 #: build/C/man2/tkill.2:77
12167 msgid "An invalid thread ID, thread group ID, or signal was specified."
12168 msgstr "指定されたスレッド ID、スレッドグループ ID、シグナルが不正であった。"
12169
12170 #. type: Plain text
12171 #: build/C/man2/tkill.2:82
12172 msgid "Permission denied.  For the required permissions, see B<kill>(2)."
12173 msgstr ""
12174 "許可がなかった。どのような許可が必要かについては、 B<kill>(2)  を参照のこと。"
12175
12176 #. type: Plain text
12177 #: build/C/man2/tkill.2:85
12178 msgid "No process with the specified thread ID (and thread group ID) exists."
12179 msgstr ""
12180 "指定されたスレッドID (とスレッド・グループID) を持つプロセスが存在しない。"
12181
12182 #. type: Plain text
12183 #: build/C/man2/tkill.2:90
12184 msgid ""
12185 "B<tkill>()  is supported since Linux 2.4.19 / 2.5.4.  B<tgkill>()  was added "
12186 "in Linux 2.5.75."
12187 msgstr ""
12188 "B<tkill>()  は Linux 2.4.19 / 2.5.4 以降でサポートされ、 B<tgkill>()  は "
12189 "Linux 2.5.75 で追加された。"
12190
12191 #. type: Plain text
12192 #: build/C/man2/tkill.2:96
12193 msgid ""
12194 "B<tkill>()  and B<tgkill>()  are Linux-specific and should not be used in "
12195 "programs that are intended to be portable."
12196 msgstr ""
12197 "B<tkill>()  と B<tgkill>()  は Linux 固有であり、 移植を想定したプログラムで"
12198 "は使用すべきではない。"
12199
12200 #. type: Plain text
12201 #: build/C/man2/tkill.2:102
12202 msgid ""
12203 "See the description of B<CLONE_THREAD> in B<clone>(2)  for an explanation of "
12204 "thread groups."
12205 msgstr ""
12206 "スレッド・グループの説明については B<clone>(2)  の B<CLONE_THREAD> の説明を参"
12207 "照のこと。"
12208
12209 #. type: Plain text
12210 #: build/C/man2/tkill.2:105
12211 msgid ""
12212 "Glibc does not provide wrappers for these system calls; call them using "
12213 "B<syscall>(2)."
12214 msgstr ""
12215 "glibc はこれらのシステムコールに対するラッパー関数を提供していない。 "
12216 "B<syscall>(2)  を使って呼び出すこと。"
12217
12218 #. type: Plain text
12219 #: build/C/man2/tkill.2:110
12220 msgid "B<clone>(2), B<gettid>(2), B<kill>(2), B<rt_sigqueueinfo>(2)"
12221 msgstr "B<clone>(2), B<gettid>(2), B<kill>(2), B<rt_sigqueueinfo>(2)"
12222
12223 #. type: TH
12224 #: build/C/man2/wait.2:50
12225 #, no-wrap
12226 msgid "WAIT"
12227 msgstr "WAIT"
12228
12229 #. type: Plain text
12230 #: build/C/man2/wait.2:53
12231 msgid "wait, waitpid, waitid - wait for process to change state"
12232 msgstr "wait, waitpid, waitid - プロセスの状態変化を待つ"
12233
12234 #. type: Plain text
12235 #: build/C/man2/wait.2:55
12236 msgid "B<#include E<lt>sys/types.hE<gt>>"
12237 msgstr "B<#include E<lt>sys/types.hE<gt>>"
12238
12239 #. type: Plain text
12240 #: build/C/man2/wait.2:57
12241 msgid "B<#include E<lt>sys/wait.hE<gt>>"
12242 msgstr "B<#include E<lt>sys/wait.hE<gt>>"
12243
12244 #. type: Plain text
12245 #: build/C/man2/wait.2:59
12246 msgid "B<pid_t wait(int *>I<status>B<);>"
12247 msgstr "B<pid_t wait(int *>I<status>B<);>"
12248
12249 #. type: Plain text
12250 #: build/C/man2/wait.2:61
12251 msgid ""
12252 "B<pid_t waitpid(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<);>"
12253 msgstr ""
12254 "B<pid_t waitpid(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<);>"
12255
12256 #. type: Plain text
12257 #: build/C/man2/wait.2:64
12258 msgid ""
12259 "B<int waitid(idtype_t >I<idtype>B<, id_t >I<id>B<, siginfo_t *>I<infop>B<, "
12260 "int >I<options>B<);>"
12261 msgstr ""
12262 "B<int waitid(idtype_t >I<idtype>B<, id_t >I<id>B<, siginfo_t *>I<infop>B<, "
12263 "int >I<options>B<);>"
12264
12265 #. type: Plain text
12266 #: build/C/man2/wait.2:73
12267 msgid "B<waitid>():"
12268 msgstr "B<waitid>():"
12269
12270 #. type: Plain text
12271 #: build/C/man2/wait.2:77
12272 msgid ""
12273 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
12274 "_XOPEN_SOURCE_EXTENDED"
12275 msgstr ""
12276 "_SVID_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
12277 "_XOPEN_SOURCE_EXTENDED"
12278
12279 #. type: Plain text
12280 #: build/C/man2/wait.2:92
12281 msgid ""
12282 "All of these system calls are used to wait for state changes in a child of "
12283 "the calling process, and obtain information about the child whose state has "
12284 "changed.  A state change is considered to be: the child terminated; the "
12285 "child was stopped by a signal; or the child was resumed by a signal.  In the "
12286 "case of a terminated child, performing a wait allows the system to release "
12287 "the resources associated with the child; if a wait is not performed, then "
12288 "the terminated child remains in a \"zombie\" state (see NOTES below)."
12289 msgstr ""
12290 "これらのシステムコールはいずれも、呼び出し元プロセスの子プロセスの 状態変化を"
12291 "待ち、状態が変化したその子プロセスの情報を取得するのに 使用される。 状態変化"
12292 "とは以下のいずれかである: 子プロセスの終了、シグナルによる子プロセスの停止、 "
12293 "シグナルによる子プロセスの再開。 子プロセスが終了した場合は、wait を実行する"
12294 "ことで、 システムがその子プロセスに関連するリソースを解放できるようになる。 "
12295 "wait が実行されなかった場合には、終了した子プロセスは 「ゾンビ」状態で残り続"
12296 "ける (下記の注意の章を参照のこと)。"
12297
12298 #. type: Plain text
12299 #: build/C/man2/wait.2:104
12300 msgid ""
12301 "If a child has already changed state, then these calls return immediately.  "
12302 "Otherwise they block until either a child changes state or a signal handler "
12303 "interrupts the call (assuming that system calls are not automatically "
12304 "restarted using the B<SA_RESTART> flag of B<sigaction>(2)).  In the "
12305 "remainder of this page, a child whose state has changed and which has not "
12306 "yet been waited upon by one of these system calls is termed I<waitable>."
12307 msgstr ""
12308 "子プロセスの状態変化がすでに発生していた場合、これらのコールは すぐに復帰す"
12309 "る。それ以外の場合は、子プロセスの状態変化が起こるか、 シグナルハンドラにより"
12310 "システムコールが中断されるまで、 停止 (block) する (後者は、 B<sigaction>"
12311 "(2)  の B<SA_RESTART> フラグによりシステムコールが自動的に再スタートするよう"
12312 "になっていない 場合の動作である)。 以下の説明では、状態変化が起こったがこれら"
12313 "のシステムコールのいずれかに よって待たれていない子プロセスを I<waitable> (待"
12314 "ち可能) と呼ぶ。"
12315
12316 #. type: SS
12317 #: build/C/man2/wait.2:104
12318 #, no-wrap
12319 msgid "wait() and waitpid()"
12320 msgstr "wait() と waitpid()"
12321
12322 #. type: Plain text
12323 #: build/C/man2/wait.2:112
12324 msgid ""
12325 "The B<wait>()  system call suspends execution of the calling process until "
12326 "one of its children terminates.  The call I<wait(&status)> is equivalent to:"
12327 msgstr ""
12328 "B<wait>()  システムコールは、子プロセスのいずれかが終了するまで 呼び出し元の"
12329 "プロセスの実行を一時停止する。 呼び出し I<wait(&status)> は以下と等価である:"
12330
12331 #. type: Plain text
12332 #: build/C/man2/wait.2:115
12333 #, no-wrap
12334 msgid "    waitpid(-1, &status, 0);\n"
12335 msgstr "    waitpid(-1, &status, 0);\n"
12336
12337 #. type: Plain text
12338 #: build/C/man2/wait.2:129
12339 msgid ""
12340 "The B<waitpid>()  system call suspends execution of the calling process "
12341 "until a child specified by I<pid> argument has changed state.  By default, "
12342 "B<waitpid>()  waits only for terminated children, but this behavior is "
12343 "modifiable via the I<options> argument, as described below."
12344 msgstr ""
12345 "B<waitpid>()  システムコールは、 I<pid> 引き数で指定した子プロセスの状態変化"
12346 "が起こるまで、 呼び出し元のプロセスの実行を一時停止する。デフォルトでは、 "
12347 "B<waitpid>()  は子プロセスの終了だけを待つが、この動作は I<options> 引き数に"
12348 "より変更可能である。"
12349
12350 #. type: Plain text
12351 #: build/C/man2/wait.2:133
12352 msgid "The value of I<pid> can be:"
12353 msgstr "I<pid> に指定できる値は以下の通り:"
12354
12355 #. type: IP
12356 #: build/C/man2/wait.2:133
12357 #, no-wrap
12358 msgid "E<lt> -1"
12359 msgstr "E<lt> -1"
12360
12361 #. type: Plain text
12362 #: build/C/man2/wait.2:137
12363 msgid ""
12364 "meaning wait for any child process whose process group ID is equal to the "
12365 "absolute value of I<pid>."
12366 msgstr ""
12367 "プロセスグループID が I<pid> の絶対値に等しい子プロセスのいずれかが終了するま"
12368 "でを待つ。"
12369
12370 #. type: IP
12371 #: build/C/man2/wait.2:137
12372 #, no-wrap
12373 msgid "-1"
12374 msgstr "-1"
12375
12376 #. type: Plain text
12377 #: build/C/man2/wait.2:139
12378 msgid "meaning wait for any child process."
12379 msgstr "子プロセスのどれかが終了するまで待つ。"
12380
12381 #. type: IP
12382 #: build/C/man2/wait.2:139
12383 #, no-wrap
12384 msgid "0"
12385 msgstr "0"
12386
12387 #. type: Plain text
12388 #: build/C/man2/wait.2:142
12389 msgid ""
12390 "meaning wait for any child process whose process group ID is equal to that "
12391 "of the calling process."
12392 msgstr ""
12393 "プロセスグループID が呼び出したプロセスのものと等しい 子プロセスを待つ。"
12394
12395 #. type: IP
12396 #: build/C/man2/wait.2:142
12397 #, no-wrap
12398 msgid "E<gt> 0"
12399 msgstr "E<gt> 0"
12400
12401 #. type: Plain text
12402 #: build/C/man2/wait.2:146
12403 msgid ""
12404 "meaning wait for the child whose process ID is equal to the value of I<pid>."
12405 msgstr "プロセスID が I<pid> に等しい子プロセスを待つ。"
12406
12407 #. type: Plain text
12408 #: build/C/man2/wait.2:150
12409 msgid ""
12410 "The value of I<options> is an OR of zero or more of the following constants:"
12411 msgstr "I<options> の値は次の定数の 0 個以上の論理和である:"
12412
12413 #. type: TP
12414 #: build/C/man2/wait.2:150 build/C/man2/wait.2:279
12415 #, no-wrap
12416 msgid "B<WNOHANG>"
12417 msgstr "B<WNOHANG>"
12418
12419 #. type: Plain text
12420 #: build/C/man2/wait.2:153
12421 msgid "return immediately if no child has exited."
12422 msgstr "状態変化が起こった子プロセスがない場合にすぐに復帰する。"
12423
12424 #. type: TP
12425 #: build/C/man2/wait.2:153
12426 #, no-wrap
12427 msgid "B<WUNTRACED>"
12428 msgstr "B<WUNTRACED>"
12429
12430 #. type: Plain text
12431 #: build/C/man2/wait.2:162
12432 msgid ""
12433 "also return if a child has stopped (but not traced via B<ptrace>(2)).  "
12434 "Status for I<traced> children which have stopped is provided even if this "
12435 "option is not specified."
12436 msgstr ""
12437 "子プロセスが停止した場合にも復帰する (子プロセスが B<ptrace>(2)  でトレースさ"
12438 "れている場合は除く)。 このオプションが指定されていない場合でも、停止したプロ"
12439 "セスが 「トレース (traced)」されていれば、子プロセスの状態が報告される。"
12440
12441 #. type: TP
12442 #: build/C/man2/wait.2:162
12443 #, no-wrap
12444 msgid "B<WCONTINUED> (since Linux 2.6.10)"
12445 msgstr "B<WCONTINUED> (Linux 2.6.10 以降)"
12446
12447 #. type: Plain text
12448 #: build/C/man2/wait.2:166
12449 msgid ""
12450 "also return if a stopped child has been resumed by delivery of B<SIGCONT>."
12451 msgstr "停止した子プロセスが B<SIGCONT> の配送により再開した場合にも復帰する。"
12452
12453 #. type: Plain text
12454 #: build/C/man2/wait.2:168
12455 msgid "(For Linux-only options, see below.)"
12456 msgstr "(Linux 専用オプションについては後述する)"
12457
12458 #. type: Plain text
12459 #: build/C/man2/wait.2:182
12460 msgid ""
12461 "If I<status> is not NULL, B<wait>()  and B<waitpid>()  store status "
12462 "information in the I<int> to which it points.  This integer can be inspected "
12463 "with the following macros (which take the integer itself as an argument, not "
12464 "a pointer to it, as is done in B<wait>()  and B<waitpid>()!):"
12465 msgstr ""
12466 "I<status> が NULL でなければ、 B<wait>()  や B<waitpid>()  は I<status> で指"
12467 "す I<int> に状態情報を格納する。 この整数は以下のマクロを使って検査できる。 "
12468 "(これらのマクロの引き数には、 B<wait>()  や B<waitpid>()  が書き込んだ整数そ"
12469 "のものを指定する。ポインタではない!)"
12470
12471 #. type: TP
12472 #: build/C/man2/wait.2:182
12473 #, no-wrap
12474 msgid "B<WIFEXITED(>I<status>B<)>"
12475 msgstr "B<WIFEXITED(>I<status>B<)>"
12476
12477 #. type: Plain text
12478 #: build/C/man2/wait.2:190
12479 msgid ""
12480 "returns true if the child terminated normally, that is, by calling B<exit>"
12481 "(3)  or B<_exit>(2), or by returning from main()."
12482 msgstr ""
12483 "子プロセスが正常に終了した場合に真を返す。 「正常に」とは、 B<exit>(3)  か "
12484 "B<_exit>(2)  が呼び出された場合、もしくは main() から復帰した場合である。"
12485
12486 #. type: TP
12487 #: build/C/man2/wait.2:190
12488 #, no-wrap
12489 msgid "B<WEXITSTATUS(>I<status>B<)>"
12490 msgstr "B<WEXITSTATUS(>I<status>B<)>"
12491
12492 #. type: Plain text
12493 #: build/C/man2/wait.2:203
12494 msgid ""
12495 "returns the exit status of the child.  This consists of the least "
12496 "significant 8 bits of the I<status> argument that the child specified in a "
12497 "call to B<exit>(3)  or B<_exit>(2)  or as the argument for a return "
12498 "statement in main().  This macro should only be employed if B<WIFEXITED> "
12499 "returned true."
12500 msgstr ""
12501 "子プロセスの終了ステータスを返す。 終了ステータスは I<status> 引き数の下位 8"
12502 "ビットで構成されており、 B<exit>(3)  や B<_exit>(2)  の呼び出し時に渡された"
12503 "値、もしくは main() の return 文の 引き数として指定された値である。 このマク"
12504 "ロを使用するのは B<WIFEXITED> が真を返した場合だけにすべきである。"
12505
12506 #. type: TP
12507 #: build/C/man2/wait.2:203
12508 #, no-wrap
12509 msgid "B<WIFSIGNALED(>I<status>B<)>"
12510 msgstr "B<WIFSIGNALED(>I<status>B<)>"
12511
12512 #. type: Plain text
12513 #: build/C/man2/wait.2:206
12514 msgid "returns true if the child process was terminated by a signal."
12515 msgstr "子プロセスがシグナルにより終了した場合に真を返す。"
12516
12517 #. type: TP
12518 #: build/C/man2/wait.2:206
12519 #, no-wrap
12520 msgid "B<WTERMSIG(>I<status>B<)>"
12521 msgstr "B<WTERMSIG(>I<status>B<)>"
12522
12523 #. type: Plain text
12524 #: build/C/man2/wait.2:213
12525 msgid ""
12526 "returns the number of the signal that caused the child process to "
12527 "terminate.  This macro should only be employed if B<WIFSIGNALED> returned "
12528 "true."
12529 msgstr ""
12530 "子プロセス終了の原因となったシグナルの番号を返す。 このマクロを使用するのは "
12531 "B<WIFSIGNALED> が真を返した場合だけにすべきである。"
12532
12533 #. type: TP
12534 #: build/C/man2/wait.2:213
12535 #, no-wrap
12536 msgid "B<WCOREDUMP(>I<status>B<)>"
12537 msgstr "B<WCOREDUMP(>I<status>B<)>"
12538
12539 #. type: Plain text
12540 #: build/C/man2/wait.2:222
12541 msgid ""
12542 "returns true if the child produced a core dump.  This macro should only be "
12543 "employed if B<WIFSIGNALED> returned true.  This macro is not specified in "
12544 "POSIX.1-2001 and is not available on some UNIX implementations (e.g., AIX, "
12545 "SunOS).  Only use this enclosed in #ifdef WCOREDUMP ... #endif."
12546 msgstr ""
12547 "子プロセスがコアダンプを生成した場合に真を返す。 このマクロを使用するのは "
12548 "B<WIFSIGNALED> が真を返した場合だけにすべきである。 このマクロは "
12549 "POSIX.1-2001 では規定されておらず、 (AIX, SunOS などの) いくつかの UNIX の実"
12550 "装では利用できない。 必ず #ifdef WCOREDUMP ... #endif で括って使用すること。"
12551
12552 #. type: TP
12553 #: build/C/man2/wait.2:222
12554 #, no-wrap
12555 msgid "B<WIFSTOPPED(>I<status>B<)>"
12556 msgstr "B<WIFSTOPPED(>I<status>B<)>"
12557
12558 #. type: Plain text
12559 #: build/C/man2/wait.2:229
12560 msgid ""
12561 "returns true if the child process was stopped by delivery of a signal; this "
12562 "is only possible if the call was done using B<WUNTRACED> or when the child "
12563 "is being traced (see B<ptrace>(2))."
12564 msgstr ""
12565 "子プロセスがシグナルの配送により停止した場合に真を返す。 これが真になるのは、"
12566 "システムコールが B<WUNTRACED> を指定して呼び出された場合か、子プロセスがト"
12567 "レースされている場合 (B<ptrace>(2)  参照) だけである。"
12568
12569 #. type: TP
12570 #: build/C/man2/wait.2:229
12571 #, no-wrap
12572 msgid "B<WSTOPSIG(>I<status>B<)>"
12573 msgstr "B<WSTOPSIG(>I<status>B<)>"
12574
12575 #. type: Plain text
12576 #: build/C/man2/wait.2:235
12577 msgid ""
12578 "returns the number of the signal which caused the child to stop.  This macro "
12579 "should only be employed if B<WIFSTOPPED> returned true."
12580 msgstr ""
12581 "子プロセスを停止させたシグナルの番号を返す。 このマクロを使用するのは "
12582 "B<WIFSTOPPED> が 0 以外を返した場合だけにすべきである。"
12583
12584 #. type: TP
12585 #: build/C/man2/wait.2:235
12586 #, no-wrap
12587 msgid "B<WIFCONTINUED(>I<status>B<)>"
12588 msgstr "B<WIFCONTINUED(>I<status>B<)>"
12589
12590 #. type: Plain text
12591 #: build/C/man2/wait.2:240
12592 msgid ""
12593 "(since Linux 2.6.10)  returns true if the child process was resumed by "
12594 "delivery of B<SIGCONT>."
12595 msgstr ""
12596 "(Linux 2.6.10 以降)  子プロセスが B<SIGCONT> の配送により再開した場合に真を返"
12597 "す。"
12598
12599 #. type: SS
12600 #: build/C/man2/wait.2:240
12601 #, no-wrap
12602 msgid "waitid()"
12603 msgstr "waitid()"
12604
12605 #. type: Plain text
12606 #: build/C/man2/wait.2:245
12607 msgid ""
12608 "The B<waitid>()  system call (available since Linux 2.6.9) provides more "
12609 "precise control over which child state changes to wait for."
12610 msgstr ""
12611 "B<waitid>()  システムコール (Linux 2.6.9 以降で利用可能) を使うと、 子プロセ"
12612 "スのどの状態変化を待つかについてより細かな制御ができる。"
12613
12614 #. type: Plain text
12615 #: build/C/man2/wait.2:251
12616 msgid ""
12617 "The I<idtype> and I<id> arguments select the child(ren) to wait for, as "
12618 "follows:"
12619 msgstr "引き数 I<idtype> と I<id> でどの子プロセスを待つかを選択する:"
12620
12621 #. type: IP
12622 #: build/C/man2/wait.2:251
12623 #, no-wrap
12624 msgid "I<idtype> == B<P_PID>"
12625 msgstr "I<idtype> == B<P_PID>"
12626
12627 #. type: Plain text
12628 #: build/C/man2/wait.2:254
12629 msgid "Wait for the child whose process ID matches I<id>."
12630 msgstr "プロセスID が I<id> と一致する子プロセスを待つ。"
12631
12632 #. type: IP
12633 #: build/C/man2/wait.2:254
12634 #, no-wrap
12635 msgid "I<idtype> == B<P_PGID>"
12636 msgstr "I<idtype> == B<P_PGID>"
12637
12638 #. type: Plain text
12639 #: build/C/man2/wait.2:257
12640 msgid "Wait for any child whose process group ID matches I<id>."
12641 msgstr "プロセスグループID が I<id> と一致する子プロセスを待つ。"
12642
12643 #. type: IP
12644 #: build/C/man2/wait.2:257
12645 #, no-wrap
12646 msgid "I<idtype> == B<P_ALL>"
12647 msgstr "I<idtype> == B<P_ALL>"
12648
12649 #. type: Plain text
12650 #: build/C/man2/wait.2:261
12651 msgid "Wait for any child; I<id> is ignored."
12652 msgstr "子プロセス全部を対象に待つ。 I<id> は無視される。"
12653
12654 #. type: Plain text
12655 #: build/C/man2/wait.2:265
12656 msgid ""
12657 "The child state changes to wait for are specified by ORing one or more of "
12658 "the following flags in I<options>:"
12659 msgstr ""
12660 "子プロセスのどの状態変化を待つかは以下のフラグで指定する (I<options> には 1個"
12661 "以上のフラグの論理和をとって指定する):"
12662
12663 #. type: TP
12664 #: build/C/man2/wait.2:265
12665 #, no-wrap
12666 msgid "B<WEXITED>"
12667 msgstr "B<WEXITED>"
12668
12669 #. type: Plain text
12670 #: build/C/man2/wait.2:268
12671 msgid "Wait for children that have terminated."
12672 msgstr "子プロセスの終了を待つ。"
12673
12674 #. type: TP
12675 #: build/C/man2/wait.2:268
12676 #, no-wrap
12677 msgid "B<WSTOPPED>"
12678 msgstr "B<WSTOPPED>"
12679
12680 #. type: Plain text
12681 #: build/C/man2/wait.2:271
12682 msgid "Wait for children that have been stopped by delivery of a signal."
12683 msgstr "子プロセスがシグナルの配送により停止するのを待つ。"
12684
12685 #. type: TP
12686 #: build/C/man2/wait.2:271
12687 #, no-wrap
12688 msgid "B<WCONTINUED>"
12689 msgstr "B<WCONTINUED>"
12690
12691 #. type: Plain text
12692 #: build/C/man2/wait.2:276
12693 msgid ""
12694 "Wait for (previously stopped) children that have been resumed by delivery of "
12695 "B<SIGCONT>."
12696 msgstr "(停止していた) 子プロセスが B<SIGCONT> が配送されて再開するのを待つ。"
12697
12698 #. type: Plain text
12699 #: build/C/man2/wait.2:279
12700 msgid "The following flags may additionally be ORed in I<options>:"
12701 msgstr "さらに以下のフラグを論理和の形で I<options> に指定できる:"
12702
12703 #. type: Plain text
12704 #: build/C/man2/wait.2:283
12705 msgid "As for B<waitpid>()."
12706 msgstr "B<waitpid>()  と同様。"
12707
12708 #. type: TP
12709 #: build/C/man2/wait.2:283
12710 #, no-wrap
12711 msgid "B<WNOWAIT>"
12712 msgstr "B<WNOWAIT>"
12713
12714 #. type: Plain text
12715 #: build/C/man2/wait.2:287
12716 msgid ""
12717 "Leave the child in a waitable state; a later wait call can be used to again "
12718 "retrieve the child status information."
12719 msgstr ""
12720 "waitable 状態のプロセスをそのままにする。この後で wait コールを 使って、同じ"
12721 "子プロセスの状態情報をもう一度取得することができる。"
12722
12723 #. type: Plain text
12724 #: build/C/man2/wait.2:294
12725 msgid ""
12726 "Upon successful return, B<waitid>()  fills in the following fields of the "
12727 "I<siginfo_t> structure pointed to by I<infop>:"
12728 msgstr ""
12729 "成功した場合には、 B<waitid>()  は I<infop> が指す I<siginfo_t> 構造体の以下"
12730 "のフィールドを設定する:"
12731
12732 #. type: Plain text
12733 #: build/C/man2/wait.2:297
12734 msgid "The process ID of the child."
12735 msgstr "子プロセスのプロセスID。"
12736
12737 #. type: Plain text
12738 #: build/C/man2/wait.2:301
12739 msgid ""
12740 "The real user ID of the child.  (This field is not set on most other "
12741 "implementations.)"
12742 msgstr ""
12743 "子プロセスの実ユーザID (このフィールドは他のほとんどの実装では設定されない)。"
12744
12745 #. type: Plain text
12746 #: build/C/man2/wait.2:305
12747 msgid "Always set to B<SIGCHLD>."
12748 msgstr "常に B<SIGCHLD> が設定される。"
12749
12750 #. type: TP
12751 #: build/C/man2/wait.2:305
12752 #, no-wrap
12753 msgid "I<si_status>"
12754 msgstr "I<si_status>"
12755
12756 #. type: Plain text
12757 #: build/C/man2/wait.2:315
12758 msgid ""
12759 "Either the exit status of the child, as given to B<_exit>(2)  (or B<exit>"
12760 "(3)), or the signal that caused the child to terminate, stop, or continue.  "
12761 "The I<si_code> field can be used to determine how to interpret this field."
12762 msgstr ""
12763 "B<_exit>(2)  (か B<exit>(3))  に指定された子プロセスの終了ステータス、もしく"
12764 "は 子プロセスの終了、停止、再開の原因となったシグナルが設定される。 この"
12765 "フィールドをどう解釈するかは、 I<si_code> フィールドを参照して決めることがで"
12766 "きる。"
12767
12768 #. type: Plain text
12769 #: build/C/man2/wait.2:332
12770 msgid ""
12771 "Set to one of: B<CLD_EXITED> (child called B<_exit>(2)); B<CLD_KILLED> "
12772 "(child killed by signal); B<CLD_DUMPED> (child killed by signal, and dumped "
12773 "core); B<CLD_STOPPED> (child stopped by signal); B<CLD_TRAPPED> (traced "
12774 "child has trapped); or B<CLD_CONTINUED> (child continued by B<SIGCONT>)."
12775 msgstr ""
12776 "以下のいずれかが設定される: B<CLD_EXITED> (子プロセスが B<_exit>(2)  を呼び出"
12777 "した); B<CLD_KILLED> (シグナルにより子プロセスが kill された); B<CLD_DUMPED> "
12778 "(シグナルにより子プロセスが kill され、コア・ダンプが行われた); "
12779 "B<CLD_STOPPED> (シグナルにより子プロセスが停止した); B<CLD_TRAPPED> (トレース"
12780 "されていた子プロセスがトラップを受信した); B<CLD_CONTINUED> (B<SIGCONT> によ"
12781 "り子プロセスが再開された)。"
12782
12783 #.  POSIX.1-2001 leaves this possibility unspecified; most
12784 #.  implementations (including Linux) zero out the structure
12785 #.  in this case, but at least one implementation (AIX 5.1)
12786 #.  does not -- MTK Nov 04
12787 #. type: Plain text
12788 #: build/C/man2/wait.2:354
12789 msgid ""
12790 "If B<WNOHANG> was specified in I<options> and there were no children in a "
12791 "waitable state, then B<waitid>()  returns 0 immediately and the state of the "
12792 "I<siginfo_t> structure pointed to by I<infop> is unspecified.  To "
12793 "distinguish this case from that where a child was in a waitable state, zero "
12794 "out the I<si_pid> field before the call and check for a nonzero value in "
12795 "this field after the call returns."
12796 msgstr ""
12797 "B<WNOHANG> が I<options> に指定されていて、 waitable 状態の子プロセスがなかっ"
12798 "た場合には、 B<waitid>()  はすぐに 0 を返す。このとき、 I<infop> が指す "
12799 "I<siginfo_t> 構造体の内容は不定である。 この場合を waitable 状態の子プロセス"
12800 "があった場合と区別するには、 B<waitid>()  を呼び出す前に I<si_pid> を 0 にし"
12801 "ておき、コールが復帰した後でこのフィールドが 0 以外の値かどうか をチェックす"
12802 "ればよい。"
12803
12804 #. type: Plain text
12805 #: build/C/man2/wait.2:358
12806 msgid ""
12807 "B<wait>(): on success, returns the process ID of the terminated child; on "
12808 "error, -1 is returned."
12809 msgstr ""
12810 "B<wait>(): 成功すると、終了した子プロセスのプロセスID を返す。 エラーの場合 "
12811 "-1 を返す。"
12812
12813 #. type: Plain text
12814 #: build/C/man2/wait.2:367
12815 msgid ""
12816 "B<waitpid>(): on success, returns the process ID of the child whose state "
12817 "has changed; if B<WNOHANG> was specified and one or more child(ren) "
12818 "specified by I<pid> exist, but have not yet changed state, then 0 is "
12819 "returned.  On error, -1 is returned."
12820 msgstr ""
12821 "B<waitpid>(): 成功すると、状態が変化した子プロセスのプロセスID を返す。 "
12822 "B<WNOHANG> が指定されていて、 I<pid> で指示された子プロセスが一つ以上存在する"
12823 "が、どの子プロセスでも 状態変化が起こっていなかった場合は、 0 を返す。 エラー"
12824 "の場合 -1 を返す。"
12825
12826 #.  FIXME: As reported by Vegard Nossum, if infop is NULL, then waitid()
12827 #.  returns the PID of the child.  Either this is a bug, or it is intended
12828 #.  behavior that needs to be documented.  See my Jan 2009 LKML mail
12829 #.  "waitid() return value strangeness when infop is NULL".
12830 #. type: Plain text
12831 #: build/C/man2/wait.2:383
12832 msgid ""
12833 "B<waitid>(): returns 0 on success or if B<WNOHANG> was specified and no child"
12834 "(ren) specified by I<id> has yet changed state; on error, -1 is returned.  "
12835 "Each of these calls sets I<errno> to an appropriate value in the case of an "
12836 "error."
12837 msgstr ""
12838 "B<waitid>(): 成功すると 0 を返す。 B<WNOHANG> が指定されていて、 I<pid> で指"
12839 "示された子プロセスで状態変化が起こっていなかった場合にも 0 を返す。 エラーの"
12840 "場合 -1 を返す。 エラーの場合、これらのシステムコールはいずれも I<errno> に適"
12841 "切な値を設定する。"
12842
12843 #. type: TP
12844 #: build/C/man2/wait.2:384 build/C/man2/wait.2:389
12845 #, no-wrap
12846 msgid "B<ECHILD>"
12847 msgstr "B<ECHILD>"
12848
12849 #. type: Plain text
12850 #: build/C/man2/wait.2:389
12851 msgid ""
12852 "(for B<wait>())  The calling process does not have any unwaited-for children."
12853 msgstr ""
12854 "(B<wait>()  の場合)  呼び出し元プロセスには、wait を行っていない子プロセスは"
12855 "ない。"
12856
12857 #. type: Plain text
12858 #: build/C/man2/wait.2:409
12859 msgid ""
12860 "(for B<waitpid>()  or B<waitid>())  The process specified by I<pid> "
12861 "(B<waitpid>())  or I<idtype> and I<id> (B<waitid>())  does not exist or is "
12862 "not a child of the calling process.  (This can happen for one's own child if "
12863 "the action for B<SIGCHLD> is set to B<SIG_IGN>.  See also the I<Linux Notes> "
12864 "section about threads.)"
12865 msgstr ""
12866 "(B<waitpid>()  か B<waitid>()  の場合)  I<pid> (B<waitpid>())  か I<idtype> "
12867 "と I<id> (B<waitid>())  で指定したプロセスが存在しないか、呼び出し元プロセス"
12868 "の子プロセスでない (B<SIGCHLD> の動作に B<SIG_IGN> を設定した場合には、自分自"
12869 "身の子プロセスでも起こりうる。 スレッドに関しては「Linux での注意」の節も参照"
12870 "すること)。"
12871
12872 #. type: Plain text
12873 #: build/C/man2/wait.2:416
12874 msgid ""
12875 "B<WNOHANG> was not set and an unblocked signal or a B<SIGCHLD> was caught; "
12876 "see B<signal>(7)."
12877 msgstr ""
12878 "B<WNOHANG> が設定されておらず、禁止 (block) されていないシグナルや "
12879 "B<SIGCHLD> を受信した。 B<signal>(7)  参照。"
12880
12881 #. type: Plain text
12882 #: build/C/man2/wait.2:421
12883 msgid "The I<options> argument was invalid."
12884 msgstr "I<options> 引き数が不正である。"
12885
12886 #. type: Plain text
12887 #: build/C/man2/wait.2:436
12888 msgid ""
12889 "A child that terminates, but has not been waited for becomes a \"zombie\".  "
12890 "The kernel maintains a minimal set of information about the zombie process "
12891 "(PID, termination status, resource usage information)  in order to allow the "
12892 "parent to later perform a wait to obtain information about the child.  As "
12893 "long as a zombie is not removed from the system via a wait, it will consume "
12894 "a slot in the kernel process table, and if this table fills, it will not be "
12895 "possible to create further processes.  If a parent process terminates, then "
12896 "its \"zombie\" children (if any)  are adopted by B<init>(8), which "
12897 "automatically performs a wait to remove the zombies."
12898 msgstr ""
12899 "終了したが、wait されていない子プロセスは「ゾンビ」になる。 後で親プロセスが "
12900 "wait を実行して子プロセスについての情報を取得できるように、 カーネルはゾンビ"
12901 "プロセスについて最小限の情報 (PID、終了ステータス、 リソース使用状況) を保持"
12902 "する。 ゾンビプロセスは、 wait によってシステムから削除されない限り、 カーネ"
12903 "ルのプロセステーブルの 1 エントリを消費する。このプロセステーブルが 一杯にな"
12904 "ると、新たにプロセスを作ることができなくなる。 親プロセスが終了すると、その親"
12905 "プロセスの「ゾンビ」の 子プロセスは (もしあれば)  B<init>(8)  の養子となる。 "
12906 "B<init>(8)  は wait を自動的に実行し、ゾンビを削除する。"
12907
12908 #. type: Plain text
12909 #: build/C/man2/wait.2:477
12910 msgid ""
12911 "POSIX.1-2001 specifies that if the disposition of B<SIGCHLD> is set to "
12912 "B<SIG_IGN> or the B<SA_NOCLDWAIT> flag is set for B<SIGCHLD> (see "
12913 "B<sigaction>(2)), then children that terminate do not become zombies and a "
12914 "call to B<wait>()  or B<waitpid>()  will block until all children have "
12915 "terminated, and then fail with I<errno> set to B<ECHILD>.  (The original "
12916 "POSIX standard left the behavior of setting B<SIGCHLD> to B<SIG_IGN> "
12917 "unspecified.  Note that even though the default disposition of B<SIGCHLD> is "
12918 "\"ignore\", explicitly setting the disposition to B<SIG_IGN> results in "
12919 "different treatment of zombie process children.)  Linux 2.6 conforms to this "
12920 "specification.  However, Linux 2.4 (and earlier) does not: if a B<wait>()  "
12921 "or B<waitpid>()  call is made while B<SIGCHLD> is being ignored, the call "
12922 "behaves just as though B<SIGCHLD> were not being ignored, that is, the call "
12923 "blocks until the next child terminates and then returns the process ID and "
12924 "status of that child."
12925 msgstr ""
12926 "POSIX.1-2001 では以下のように規定されている。 B<SIGCHLD> の動作が B<SIG_IGN> "
12927 "に設定されたか、 B<SIGCHLD> に対して B<SA_NOCLDWAIT> フラグが設定された場合 "
12928 "(B<sigaction>(2)  参照)、終了した子プロセスはゾンビにはならず、 B<wait>()  "
12929 "や B<waitpid>()  の呼び出しは全ての子プロセスが終了するまで停止し、 子プロセ"
12930 "スが全部終了した後 I<errno> に B<ECHILD> を設定して失敗する。 (もともとの "
12931 "POSIX 標準は B<SIGCHLD> に B<SIG_IGN> を設定した場合の振る舞いを未規定のまま"
12932 "にしている。 B<SIGCHLD> のデフォルトの動作が「無視」であるにもかかわらず、 "
12933 "B<SIGCHLD> の動作として B<SIG_IGN> を明示的に設定した場合にはゾンビプロセスの"
12934 "子プロセスの扱いが 異なる点に注意すること。)  Linux 2.6 はこの仕様に準拠して"
12935 "いる。 しかし、Linux 2.4 (とそれ以前のバージョン) はそうではない: B<SIGCHLD> "
12936 "が無視される状態で B<wait>()  または B<waitpid>()  が呼び出された場合、 "
12937 "B<SIGCHLD> が無視されていないかのように振る舞う。 つまり、呼び出しによって次"
12938 "の子プロセスの終了までブロックされ、 終了した子プロセスの PID と状態が返され"
12939 "る。"
12940
12941 #. type: Plain text
12942 #: build/C/man2/wait.2:493
12943 msgid ""
12944 "In the Linux kernel, a kernel-scheduled thread is not a distinct construct "
12945 "from a process.  Instead, a thread is simply a process that is created using "
12946 "the Linux-unique B<clone>(2)  system call; other routines such as the "
12947 "portable B<pthread_create>(3)  call are implemented using B<clone>(2).  "
12948 "Before Linux 2.4, a thread was just a special case of a process, and as a "
12949 "consequence one thread could not wait on the children of another thread, "
12950 "even when the latter belongs to the same thread group.  However, POSIX "
12951 "prescribes such functionality, and since Linux 2.4 a thread can, and by "
12952 "default will, wait on children of other threads in the same thread group."
12953 msgstr ""
12954 "Linux カーネルでは、カーネルによってスケジュールされるスレッドは プロセスと明"
12955 "確に区別できる構成要素ではない。スレッドは Linux 固有の B<clone>(2)  システム"
12956 "コールを使用して生成されるプロセスに過ぎない。 移植性のある B<pthread_create>"
12957 "(3)  コールのような他のルーチンは B<clone>(2)  を使用して実装されている; これ"
12958 "らでは B<waitid>()  を使うことはできない。 Linux 2.4 より前では、スレッドは単"
12959 "に特殊なプロセスであったので、 例え同じスレッドグループであっても、 あるス"
12960 "レッドが別のスレッドの子プロセスが終了するのを待つことは出来なかった。 しか"
12961 "し、POSIX ではこのような機能を規定しており、 Linux 2.4 以降では、あるスレッド"
12962 "が同じスレッドグループの他のスレッドの 子プロセスが終了するのを待つことができ"
12963 "るようになった。 そして将来はこれがデフォルトの動作になるであろう。"
12964
12965 #. type: Plain text
12966 #: build/C/man2/wait.2:500
12967 msgid ""
12968 "The following Linux-specific I<options> are for use with children created "
12969 "using B<clone>(2); they cannot be used with B<waitid>():"
12970 msgstr ""
12971 "B<clone>(2)  を用いて作られた子プロセスには、以下の Linux 固有の I<options> "
12972 "が使用できる。"
12973
12974 #. type: TP
12975 #: build/C/man2/wait.2:500
12976 #, no-wrap
12977 msgid "B<__WCLONE>"
12978 msgstr "B<__WCLONE>"
12979
12980 #.  since 0.99pl10
12981 #. type: Plain text
12982 #: build/C/man2/wait.2:511
12983 msgid ""
12984 "Wait for \"clone\" children only.  If omitted then wait for \"non-clone\" "
12985 "children only.  (A \"clone\" child is one which delivers no signal, or a "
12986 "signal other than B<SIGCHLD> to its parent upon termination.)  This option "
12987 "is ignored if B<__WALL> is also specified."
12988 msgstr ""
12989 "\"clone\" な子プロセスだけを待つ。 指定されなかった場合は非 \"clone\" な子プ"
12990 "ロセスだけを待つ (\"clone\" な子プロセスは、終了時に親プロセスへ全くシグナル"
12991 "を送らないか、 B<SIGCHLD> 以外のシグナルを送る)。 このオプションは B<__WALL> "
12992 "も指定された場合は無視される。"
12993
12994 #. type: TP
12995 #: build/C/man2/wait.2:511
12996 #, no-wrap
12997 msgid "B<__WALL> (since Linux 2.4)"
12998 msgstr "B<__WALL> (Linux 2.4 以降)"
12999
13000 #.  since patch-2.3.48
13001 #. type: Plain text
13002 #: build/C/man2/wait.2:516
13003 msgid "Wait for all children, regardless of type (\"clone\" or \"non-clone\")."
13004 msgstr "\"clone\" であるかないかに関わらず、 全ての子プロセスを待つ。"
13005
13006 #. type: TP
13007 #: build/C/man2/wait.2:516
13008 #, no-wrap
13009 msgid "B<__WNOTHREAD> (since Linux 2.4)"
13010 msgstr "B<__WNOTHREAD> (Linux 2.4 以降)"
13011
13012 #.  since patch-2.4.0-test8
13013 #. type: Plain text
13014 #: build/C/man2/wait.2:522
13015 msgid ""
13016 "Do not wait for children of other threads in the same thread group.  This "
13017 "was the default before Linux 2.4."
13018 msgstr ""
13019 "同じスレッドグループの他のスレッドの子プロセスは待たない。 Linux 2.4 より前で"
13020 "はデフォルトであった。"
13021
13022 #.  fork.2 refers to this example program.
13023 #. type: Plain text
13024 #: build/C/man2/wait.2:539
13025 msgid ""
13026 "The following program demonstrates the use of B<fork>(2)  and B<waitpid>().  "
13027 "The program creates a child process.  If no command-line argument is "
13028 "supplied to the program, then the child suspends its execution using B<pause>"
13029 "(2), to allow the user to send signals to the child.  Otherwise, if a "
13030 "command-line argument is supplied, then the child exits immediately, using "
13031 "the integer supplied on the command line as the exit status.  The parent "
13032 "process executes a loop that monitors the child using B<waitpid>(), and uses "
13033 "the W*() macros described above to analyze the wait status value."
13034 msgstr ""
13035 "以下のプログラムは、 B<fork>(2)  と B<waitpid>()  の使用方法の例を示してい"
13036 "る。 このプログラムでは子プロセスを生成する。 コマンドライン引き数が指定され"
13037 "なかったときは、 子プロセスは B<pause>(2)  を使ってその実行を一時停止し、ユー"
13038 "ザがその子プロセスに シグナルを送信できるようにする。 コマンドライン引き数が"
13039 "指定された場合は、 子プロセスは直ちに終了し、 コマンドラインで指定された整数"
13040 "を終了ステータスとして使用する。 親プロセスは、 B<waitpid>()  を使って子プロ"
13041 "セスを監視し、 wait のステータス値を上記の W*() マクロを使って解析するという "
13042 "ループを実行する。"
13043
13044 #. type: Plain text
13045 #: build/C/man2/wait.2:555
13046 #, no-wrap
13047 msgid ""
13048 "$B< ./a.out &>\n"
13049 "Child PID is 32360\n"
13050 "[1] 32359\n"
13051 "$B< kill -STOP 32360>\n"
13052 "stopped by signal 19\n"
13053 "$B< kill -CONT 32360>\n"
13054 "continued\n"
13055 "$B< kill -TERM 32360>\n"
13056 "killed by signal 15\n"
13057 "[1]+  Done                    ./a.out\n"
13058 "$\n"
13059 msgstr ""
13060 "$B< ./a.out &>\n"
13061 "Child PID is 32360\n"
13062 "[1] 32359\n"
13063 "$B< kill -STOP 32360>\n"
13064 "stopped by signal 19\n"
13065 "$B< kill -CONT 32360>\n"
13066 "continued\n"
13067 "$B< kill -TERM 32360>\n"
13068 "killed by signal 15\n"
13069 "[1]+  Done                    ./a.out\n"
13070 "$\n"
13071
13072 #. type: Plain text
13073 #: build/C/man2/wait.2:564
13074 #, no-wrap
13075 msgid ""
13076 "#include E<lt>sys/wait.hE<gt>\n"
13077 "#include E<lt>stdlib.hE<gt>\n"
13078 "#include E<lt>unistd.hE<gt>\n"
13079 "#include E<lt>stdio.hE<gt>\n"
13080 msgstr ""
13081 "#include E<lt>sys/wait.hE<gt>\n"
13082 "#include E<lt>stdlib.hE<gt>\n"
13083 "#include E<lt>unistd.hE<gt>\n"
13084 "#include E<lt>stdio.hE<gt>\n"
13085
13086 #. type: Plain text
13087 #: build/C/man2/wait.2:570
13088 #, no-wrap
13089 msgid ""
13090 "int\n"
13091 "main(int argc, char *argv[])\n"
13092 "{\n"
13093 "    pid_t cpid, w;\n"
13094 "    int status;\n"
13095 msgstr ""
13096 "int\n"
13097 "main(int argc, char *argv[])\n"
13098 "{\n"
13099 "    pid_t cpid, w;\n"
13100 "    int status;\n"
13101
13102 #. type: Plain text
13103 #: build/C/man2/wait.2:576
13104 #, no-wrap
13105 msgid ""
13106 "    cpid = fork();\n"
13107 "    if (cpid == -1) {\n"
13108 "        perror(\"fork\");\n"
13109 "        exit(EXIT_FAILURE);\n"
13110 "    }\n"
13111 msgstr ""
13112 "    cpid = fork();\n"
13113 "    if (cpid == -1) {\n"
13114 "        perror(\"fork\");\n"
13115 "        exit(EXIT_FAILURE);\n"
13116 "    }\n"
13117
13118 #. type: Plain text
13119 #: build/C/man2/wait.2:582
13120 #, no-wrap
13121 msgid ""
13122 "    if (cpid == 0) {            /* Code executed by child */\n"
13123 "        printf(\"Child PID is %ld\\en\", (long) getpid());\n"
13124 "        if (argc == 1)\n"
13125 "            pause();                    /* Wait for signals */\n"
13126 "        _exit(atoi(argv[1]));\n"
13127 msgstr ""
13128 "    if (cpid == 0) {            /* Code executed by child */\n"
13129 "        printf(\"Child PID is %ld\\en\", (long) getpid());\n"
13130 "        if (argc == 1)\n"
13131 "            pause();                    /* Wait for signals */\n"
13132 "        _exit(atoi(argv[1]));\n"
13133
13134 #. type: Plain text
13135 #: build/C/man2/wait.2:590
13136 #, no-wrap
13137 msgid ""
13138 "    } else {                    /* Code executed by parent */\n"
13139 "        do {\n"
13140 "            w = waitpid(cpid, &status, WUNTRACED | WCONTINUED);\n"
13141 "            if (w == -1) {\n"
13142 "                perror(\"waitpid\");\n"
13143 "                exit(EXIT_FAILURE);\n"
13144 "            }\n"
13145 msgstr ""
13146 "    } else {                    /* Code executed by parent */\n"
13147 "        do {\n"
13148 "            w = waitpid(cpid, &status, WUNTRACED | WCONTINUED);\n"
13149 "            if (w == -1) {\n"
13150 "                perror(\"waitpid\");\n"
13151 "                exit(EXIT_FAILURE);\n"
13152 "            }\n"
13153
13154 #. type: Plain text
13155 #: build/C/man2/wait.2:604
13156 #, no-wrap
13157 msgid ""
13158 "            if (WIFEXITED(status)) {\n"
13159 "                printf(\"exited, status=%d\\en\", WEXITSTATUS(status));\n"
13160 "            } else if (WIFSIGNALED(status)) {\n"
13161 "                printf(\"killed by signal %d\\en\", WTERMSIG(status));\n"
13162 "            } else if (WIFSTOPPED(status)) {\n"
13163 "                printf(\"stopped by signal %d\\en\", WSTOPSIG(status));\n"
13164 "            } else if (WIFCONTINUED(status)) {\n"
13165 "                printf(\"continued\\en\");\n"
13166 "            }\n"
13167 "        } while (!WIFEXITED(status) && !WIFSIGNALED(status));\n"
13168 "        exit(EXIT_SUCCESS);\n"
13169 "    }\n"
13170 "}\n"
13171 msgstr ""
13172 "            if (WIFEXITED(status)) {\n"
13173 "                printf(\"exited, status=%d\\en\", WEXITSTATUS(status));\n"
13174 "            } else if (WIFSIGNALED(status)) {\n"
13175 "                printf(\"killed by signal %d\\en\", WTERMSIG(status));\n"
13176 "            } else if (WIFSTOPPED(status)) {\n"
13177 "                printf(\"stopped by signal %d\\en\", WSTOPSIG(status));\n"
13178 "            } else if (WIFCONTINUED(status)) {\n"
13179 "                printf(\"continued\\en\");\n"
13180 "            }\n"
13181 "        } while (!WIFEXITED(status) && !WIFSIGNALED(status));\n"
13182 "        exit(EXIT_SUCCESS);\n"
13183 "    }\n"
13184 "}\n"
13185
13186 #. type: Plain text
13187 #: build/C/man2/wait.2:617
13188 msgid ""
13189 "B<_exit>(2), B<clone>(2), B<fork>(2), B<kill>(2), B<ptrace>(2), B<sigaction>"
13190 "(2), B<signal>(2), B<wait4>(2), B<pthread_create>(3), B<credentials>(7), "
13191 "B<signal>(7)"
13192 msgstr ""
13193 "B<_exit>(2), B<clone>(2), B<fork>(2), B<kill>(2), B<ptrace>(2), B<sigaction>"
13194 "(2), B<signal>(2), B<wait4>(2), B<pthread_create>(3), B<credentials>(7), "
13195 "B<signal>(7)"
13196
13197 #. type: TH
13198 #: build/C/man2/wait4.2:34
13199 #, no-wrap
13200 msgid "WAIT4"
13201 msgstr "WAIT4"
13202
13203 #. type: Plain text
13204 #: build/C/man2/wait4.2:37
13205 msgid "wait3, wait4 - wait for process to change state, BSD style"
13206 msgstr "wait3, wait4 - BSD スタイルでプロセスの状態変化を待つ"
13207
13208 #. type: Plain text
13209 #: build/C/man2/wait4.2:43
13210 #, no-wrap
13211 msgid ""
13212 "B<#include E<lt>sys/types.hE<gt>>\n"
13213 "B<#include E<lt>sys/time.hE<gt>>\n"
13214 "B<#include E<lt>sys/resource.hE<gt>>\n"
13215 "B<#include E<lt>sys/wait.hE<gt>>\n"
13216 msgstr ""
13217 "B<#include E<lt>sys/types.hE<gt>>\n"
13218 "B<#include E<lt>sys/time.hE<gt>>\n"
13219 "B<#include E<lt>sys/resource.hE<gt>>\n"
13220 "B<#include E<lt>sys/wait.hE<gt>>\n"
13221
13222 #. type: Plain text
13223 #: build/C/man2/wait4.2:46
13224 #, no-wrap
13225 msgid ""
13226 "B<pid_t wait3(int *>I<status>B<, int >I<options>B<,>\n"
13227 "B<            struct rusage *>I<rusage>B<);>\n"
13228 msgstr ""
13229 "B<pid_t wait3(int *>I<status>B<, int >I<options>B<,>\n"
13230 "B<            struct rusage *>I<rusage>B<);>\n"
13231
13232 #. type: Plain text
13233 #: build/C/man2/wait4.2:49
13234 #, no-wrap
13235 msgid ""
13236 "B<pid_t wait4(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<,>\n"
13237 "B<            struct rusage *>I<rusage>B<);>\n"
13238 msgstr ""
13239 "B<pid_t wait4(pid_t >I<pid>B<, int *>I<status>B<, int >I<options>B<,>\n"
13240 "B<            struct rusage *>I<rusage>B<);>\n"
13241
13242 #. type: Plain text
13243 #: build/C/man2/wait4.2:58
13244 msgid "B<wait3>():"
13245 msgstr "B<wait3>():"
13246
13247 #. type: Plain text
13248 #: build/C/man2/wait4.2:64
13249 msgid "B<wait4>():"
13250 msgstr "B<wait4>():"
13251
13252 #. type: Plain text
13253 #: build/C/man2/wait4.2:66
13254 msgid "_BSD_SOURCE"
13255 msgstr "_BSD_SOURCE"
13256
13257 #. type: Plain text
13258 #: build/C/man2/wait4.2:78
13259 msgid ""
13260 "The B<wait3>()  and B<wait4>()  system calls are similar to B<waitpid>(2), "
13261 "but additionally return resource usage information about the child in the "
13262 "structure pointed to by I<rusage>."
13263 msgstr ""
13264 "システムコール B<wait3>()  と B<wait4>()  は B<waitpid>(2)  と同様の動作をす"
13265 "る。それに加え、子プロセスのリソース使用状況の情報を I<rusage> が指す構造体に"
13266 "入れて返す。"
13267
13268 #. type: Plain text
13269 #: build/C/man2/wait4.2:84
13270 msgid ""
13271 "Other than the use of the I<rusage> argument, the following B<wait3>()  call:"
13272 msgstr "I<rusage> を使用する点を除けば、次の B<wait3>()  の呼び出し"
13273
13274 #. type: Plain text
13275 #: build/C/man2/wait4.2:87
13276 #, no-wrap
13277 msgid "    wait3(status, options, rusage);\n"
13278 msgstr "    wait3(status, options, rusage);\n"
13279
13280 #. type: Plain text
13281 #: build/C/man2/wait4.2:90 build/C/man2/wait4.2:104
13282 msgid "is equivalent to:"
13283 msgstr "は以下と等価である。"
13284
13285 #. type: Plain text
13286 #: build/C/man2/wait4.2:93
13287 #, no-wrap
13288 msgid "    waitpid(-1, status, options);\n"
13289 msgstr "    waitpid(-1, status, options);\n"
13290
13291 #. type: Plain text
13292 #: build/C/man2/wait4.2:98
13293 msgid "Similarly, the following B<wait4>()  call:"
13294 msgstr "同様に、次の B<wait4>()  の呼び出し"
13295
13296 #. type: Plain text
13297 #: build/C/man2/wait4.2:101
13298 #, no-wrap
13299 msgid "    wait4(pid, status, options, rusage);\n"
13300 msgstr "    wait4(pid, status, options, rusage);\n"
13301
13302 #. type: Plain text
13303 #: build/C/man2/wait4.2:107
13304 #, no-wrap
13305 msgid "    waitpid(pid, status, options);\n"
13306 msgstr "    waitpid(pid, status, options);\n"
13307
13308 #. type: Plain text
13309 #: build/C/man2/wait4.2:117
13310 msgid ""
13311 "In other words, B<wait3>()  waits of any child, while B<wait4>()  can be "
13312 "used to select a specific child, or children, on which to wait.  See B<wait>"
13313 "(2)  for further details."
13314 msgstr ""
13315 "言い換えると、 B<wait3>()  は全ての子プロセスを対象に待つが、 B<wait4>()  で"
13316 "は特定の子プロセス (複数可) を選んで待つことができる。"
13317
13318 #. type: Plain text
13319 #: build/C/man2/wait4.2:127
13320 msgid ""
13321 "If I<rusage> is not NULL, the I<struct rusage> to which it points will be "
13322 "filled with accounting information about the child.  See B<getrusage>(2)  "
13323 "for details."
13324 msgstr ""
13325 "I<rusage> が NULL でない場合、 I<rusage> が指す I<rusage 構造体> には子プロセ"
13326 "スのアカウント情報が格納される。 詳しくは B<getrusage>(2)  を参照のこと。"
13327
13328 #. type: Plain text
13329 #: build/C/man2/wait4.2:130 build/C/man2/wait4.2:133
13330 msgid "As for B<waitpid>(2)."
13331 msgstr "B<waitpid>(2)  と同様。"
13332
13333 #. type: Plain text
13334 #: build/C/man2/wait4.2:135
13335 msgid "4.3BSD."
13336 msgstr "4.3BSD."
13337
13338 #. type: Plain text
13339 #: build/C/man2/wait4.2:147
13340 msgid ""
13341 "Including I<E<lt>sys/time.hE<gt>> is not required these days, but increases "
13342 "portability.  (Indeed, I<E<lt>sys/resource.hE<gt>> defines the I<rusage> "
13343 "structure with fields of type I<struct timeval> defined in I<E<lt>sys/time."
13344 "hE<gt>>.)"
13345 msgstr ""
13346 "現在では I<E<lt>sys/time.hE<gt>> をインクルードする必要はないが、インクルード"
13347 "しておくと 移植性を高めることができる (実際には I<E<lt>sys/resource.hE<gt>> "
13348 "で I<rusage> 構造体が定義されているが、そのフィールドで使用されている "
13349 "I<struct timeval> 型は I<E<lt>sys/time.hE<gt>> で定義されている)。"
13350
13351 #. type: Plain text
13352 #: build/C/man2/wait4.2:153
13353 msgid ""
13354 "On Linux, B<wait3>()  is a library function implemented on top of the "
13355 "B<wait4>()  system call."
13356 msgstr ""
13357 "Linux では、 B<wait3>()  はライブラリ関数であり、 B<wait4>()  システムコール"
13358 "を使って実装されている。"
13359
13360 #. type: Plain text
13361 #: build/C/man2/wait4.2:160
13362 msgid ""
13363 "B<fork>(2), B<getrusage>(2), B<sigaction>(2), B<signal>(2), B<wait>(2), "
13364 "B<signal>(7)"
13365 msgstr ""
13366 "B<fork>(2), B<getrusage>(2), B<sigaction>(2), B<signal>(2), B<wait>(2), "
13367 "B<signal>(7)"
13368
13369 #~ msgid "B<kill>(2)  or B<raise>(3)"
13370 #~ msgstr "B<kill>(2)  または B<raise>(3)"
13371
13372 #~ msgid "queued SIGIO"
13373 #~ msgstr "キューイングされた SIGIO"
13374
13375 #~ msgid "EXAMPLES"
13376 #~ msgstr "例"
13377
13378 #~ msgid "POSIX.1b signals and B<SIGCHLD> fill in I<si_pid> and I<si_uid>."
13379 #~ msgstr ""
13380 #~ "POSIX.1b シグナルと B<SIGCHLD> は I<si_pid> と I<si_uid> を設定する。"
13381
13382 #~ msgid ""
13383 #~ "I<si_int> and I<si_ptr> are specified by the sender of the POSIX.1b "
13384 #~ "signal.  See B<sigqueue>(2)  for more details."
13385 #~ msgstr ""
13386 #~ "I<si_int> と I<si_ptr> は POSIX.1b シグナルの送信者によって指定される。 詳"
13387 #~ "細は B<sigqueue>(2)  を参照のこと。"
13388
13389 #~ msgid ""
13390 #~ "B<SIGILL>, B<SIGFPE>, B<SIGSEGV>, and B<SIGBUS> fill in I<si_addr> with "
13391 #~ "the address of the fault.  B<SIGPOLL> fills in I<si_band> and I<si_fd>."
13392 #~ msgstr ""
13393 #~ "B<SIGILL>, B<SIGFPE>, B<SIGSEGV>, B<SIGBUS> は I<si_addr> にエラーが発生し"
13394 #~ "たアドレスを設定する。 SIGPOLL は I<si_band> と I<si_fd> を設定する。"