File: nanosleep.2

package info (click to toggle)
manpages-ja 0.5.0.0.20100315-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 21,156 kB
  • ctags: 1
  • sloc: sh: 13,935; perl: 157; makefile: 114
file content (239 lines) | stat: -rw-r--r-- 6,918 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" Copyright (C) Markus Kuhn, 1996
.\" and Copyright (C) Linux Foundation, 2008, written by Michael Kerrisk
.\"     <mtk.manpages@gmail.com>
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
.\" USA.
.\"
.\" 1996-04-10  Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>
.\"             First version written
.\" Modified, 2004-10-24, aeb
.\" 2008-06-24, mtk
.\"     Minor rewrites of some parts.
.\"     NOTES: describe case where clock_nanosleep() can be preferable.
.\"     NOTES: describe CLOCK_REALTIME versus CLOCK_NANOSLEEP
.\"     Replace crufty discussion of HZ with a pointer to time(7).
.\"
.\" Japanese Version Copyright (c) 1997 HANATAKA Shinya
.\"         all rights reserved.
.\" Translated, 1997-02-23, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
.\" Updated 1999-02-27, HANATAKA Shinya <hanataka@abyss.rim.or.jp>
.\" Updated 2003-09-15, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
.\" Updated 2005-02-10, Akihiro MOTOKI
.\" Updated 2006-07-23, Akihiro MOTOKI, LDP v2.36
.\" Updated 2006-08-13, Akihiro MOTOKI, LDP v2.39
.\" Updated 2008-08-08, Akihiro MOTOKI, LDP v3.05
.\"
.\"WORD:	puase			
.\"WORD:	sleep			
.\"WORD:	signal			ʥ
.\"WORD:	NULL			NULL
.\"WORD:	block			ػ(block)
.\"WORD:	kernel			ͥ
.\"WORD:	real-time		ꥢ롦
.\"WORD:	schedule		塼
.\"WORD:	busy wait		ӥ
.\"
.TH NANOSLEEP 2 2009-01-19 "Linux" "Linux Programmer's Manual"
.SH ̾
nanosleep \- ٤ʥ꡼
.SH 
.B #include <time.h>
.sp
.BI "int nanosleep(const struct timespec *" req ", struct timespec *" rem );
.sp
.in -4n
glibc εǽޥ׷
.RB ( feature_test_macros (7)
):
.in
.sp
.BR nanosleep ():
_POSIX_C_SOURCE\ >=\ 199309L
.SH 
.BR nanosleep ()
ϡʤȤ
.I *req
ǻꤵ줿֤δ֡ץμ¹Ԥٱ䤵롣
.BR nanosleep ()
ϡƤӽФåɤμ¹Ԥ
ʤȤ
.I *req
ǻꤵ줿֤δ֡⤷ϸƤӽФåɤǥϥɥεư
äȤʤ륷ʥ롢ޤϥץλ륷ʥ
Ԥޤǰߤ롣

ƤӽФʥϥɥˤޤ줿硢
.BR nanosleep
 \-1 ֤
.I errno

.B EINTR
.I rem
 NULL Ǥʤ
Ĥλ֤
.I rem
ؤ¤Τ˳Ǽ롣
.I *rem
ͤȤȡ
.BR nanosleep ()
⤦ٸƤӽФơꤷ֤ߤ
λ뤳ȤǤ (âաפ򻲾ȤΤ)

ʥùߤλֳִ֤ꤹΤ
.I timespec
¤ΤѤ롣ι¤ΤϼΤ褦Ƥ롣
.sp
.in +4n
.nf
    time_t tv_sec;        /*  */
    long   tv_nsec;       /* ʥ */
};
.fi
.in
.PP
ʥäΥեɤͤ 0  999999999 ϰϤˤʤФʤʤ

.BR sleep  (3)

.BR usleep (3)
٤
.BR nanosleep ()
ˤϰʲΤ褦:
ߴ֤λ˴ؤƹ⤤ʬǽ󶡤Ƥ롣
ʥȸߤ˱ƶڤܤȤʤ
POSIX.1 Ū˵ꤵƤ롣
ʥϥɥˤäƳޤ줿ݤˡߤƳΤ
ñˤǤ롣
.SH ֤
׵ᤵ줿֤ߤ硢
.BR nanosleep ()
 0 ֤ƤӽФʥϥɥˤޤ줿ꡢ
顼ȯϡ\-1 ֤
.I errno
˥顼Ƥ򼨤ͤꤹ롣
.SH 顼
.TP
.B EFAULT
桼֤ξΥԡ꤬ä
.TP
.B EINTR
ػ (block) Ƥʤʥ뤬åɤơ
ߤǤ줿
åɤñ
.BR nanosleep ()
ƤӸƤӽФߤ³뤳ȤǤ褦ˡ
Ĥ߻֤ \fI*rem\fP ˳Ǽ롣
.TP
.B EINVAL
.I tv_nsec
եɤͤ 0  999999999 ޤǤϰϤˤʤä
.I tv_sec
Ǥä
.SH 
POSIX.1-2001.
.SH 
.I req
ǻꤵ줿֤ǻѤ륯åγ٤ܿˤʤäƤʤ
硢֤ϰֶᤤܿڤ夲롣
ޤߤλ塢CPU ƤӽФΥåɤƤӼ¹ԤǤ褦
ʤޤǤˤٱ䤬롣

ʥˤ߸˷֤Ƴ줿硢
.BR nanosleep ()
ߤŪʴ֤Ǥ뤳ȤȤʤ뤳Ȥ롣
ϡƤӽФγߤƳޤǤδ֤λ֤
ߤǽŪ˴λݤ˻֤ˤ줬ȯ뤫Ǥ롣
ϡл郎Ǥ
.BR clock_nanosleep (2)
ȤȤDzǤ롣

POSIX.1 ϡ
.BR nanosleep ()

.B CLOCK_REALTIME
Фƻ¬٤ȵꤷƤ롣
ʤ顢Linux 
.B CLOCK_MONOTONIC
åѤƻ¬Ƥ롣
.\" See also http://thread.gmane.org/gmane.linux.kernel/696854/
.\" Subject: nanosleep() uses CLOCK_MONOTONIC, should be CLOCK_REALTIME?
.\" Date: 2008-06-22 07:35:41 GMT
ΤȤϤ餯ˤʤʤ
ʤʤ顢POSIX.1 
.BR clock_settime ()
λͤˤϡ
.B CLOCK_REALTIME
Ϣ³Ѳ
.BR nanosleep ()
˱ƶ٤ǤϤʤȽ񤫤Ƥ뤫Ǥ롣
.RS
.PP
.BR clock_settime ()
ͳ
.B CLOCK_REALTIME
åͤꤷƤ⡢
.BR nanosleep ()
ؿʤɤ
.B CLOCK_REALTIME
˴ŤӥˤŪʴ֤¹Ԥߤ륹åɤˤϱƶϤʤ
̤Ȥơåͤ夫˴ؤ餺׵ᤵ줿Ūʻ֤
в᤹λ뤳Ȥˤʤ롣
.RE
.SS ư
(㤨С֤פʰ̣ĥϡɥ椹ʤ)
ΤߤɬפȤ륢ץꥱб뤿ˡ
.BR nanosleep ()
ϡޥ٤ΥӥȤѤ뤳Ȥǡ
2\ ms ʲߤԤȤǤ
âεǽѤˤϡƤӽФΥåɤ
.B SCHED_FIFO

.B SCHED_RR
Ȥäꥢ륿ࡦݥꥷθǥ塼󥰤Ƥ
ɬפä
̤ʳĥϥͥ 2.5.39 Ǻ줿äơ
ߤ 2.4 ΥͥˤϤεǽ¸ߤ뤬
2.6ΥͥˤϤʤ
.SH Х
Linux 2.4 Ǥϡ
.BR nanosleep ()

.RB ( SIGTSTP
ʤɤ) ʥˤߤ줿硢
.BR nanosleep ()
θƤӽФ
.B SIGCONT
ʥˤ륹åɤκƳ
.B EINTR
顼ǼԤ롣
ƥॳ뤬θǺƥȤ줿硢
åɤ߾֤ˤ֤˷вᤷ֤
ߴ֤Ȥƥȡ֤ʤס
.SH Ϣ
.BR clock_nanosleep (2),
.BR sched_setscheduler (2),
.BR sleep (3),
.BR timer_create (2),
.BR usleep (3),
.BR time (7)