OSDN Git Service

f4f971c5747c42c643084b21f541dff5d2d9b710
[linuxjm/LDP_man-pages.git] / release / man7 / pthreads.7
1 '\" t
2 .\" Copyright (c) 2005 by Michael Kerrisk <mtk.manpages@gmail.com>
3 .\"
4 .\" Permission is granted to make and distribute verbatim copies of this
5 .\" manual provided the copyright notice and this permission notice are
6 .\" preserved on all copies.
7 .\"
8 .\" Permission is granted to copy and distribute modified versions of this
9 .\" manual under the conditions for verbatim copying, provided that the
10 .\" entire resulting derived work is distributed under the terms of a
11 .\" permission notice identical to this one.
12 .\"
13 .\" Since the Linux kernel and libraries are constantly changing, this
14 .\" manual page may be incorrect or out-of-date.  The author(s) assume no
15 .\" responsibility for errors or omissions, or for damages resulting from
16 .\" the use of the information contained herein.  The author(s) may not
17 .\" have taken the same level of care in the production of this manual,
18 .\" which is licensed free of charge, as they might when working
19 .\" professionally.
20 .\"
21 .\" Formatted or processed versions of this manual, if unaccompanied by
22 .\" the source, must acknowledge the copyright and authors of this work.
23 .\"
24 .\" Japanese Version Copyright (c) 2005 Akihiro MOTOKI all rights reserved.
25 .\" Translated 2005-09-06, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
26 .\" Updated 2006-04-15, Akihiro MOTOKI, LDP v2.29
27 .\" Updated 2007-01-05, Akihiro MOTOKI, LDP v2.43
28 .\" Updated 2008-08-08, Akihiro MOTOKI, LDP v3.05
29 .\" Updated 2008-11-05, Akihiro MOTOKI, LDP v3.12
30 .\" Updated 2008-11-09, Akihiro MOTOKI, LDP v3.13
31 .\" Updated 2008-12-26, Akihiro MOTOKI, LDP v3.14
32 .\"
33 .\"WORD:        manager thread          ´ÉÍý¥¹¥ì¥Ã¥É
34 .\"WORD:        thread group            ¥¹¥ì¥Ã¥É¡¦¥°¥ë¡¼¥×
35 .\"WORD:        real-time signal        ¥ê¥¢¥ë¥¿¥¤¥à¥·¥°¥Ê¥ë
36 .\"WORD:        non-conformant          É¸½àÈó½àµò¤Î
37 .\"WORD:        alternate signal stack  ÂåÂØ¥·¥°¥Ê¥ë¥¹¥¿¥Ã¥¯
38 .\"
39 .TH PTHREADS 7  2008-11-18 "Linux" "Linux Programmer's Manual"
40 .SH Ì¾Á°
41 pthreads \- POSIX ¥¹¥ì¥Ã¥É
42 .SH ÀâÌÀ
43 POSIX.1 ¤Ï¡¢°ìÈ̤ˠPOSIX ¥¹¥ì¥Ã¥É¤ä Pthreads ¤È¤·¤ÆÃΤé¤ì¤ë
44 ¥¹¥ì¥Ã¥É¡¦¥×¥í¥°¥é¥ß¥ó¥°¤Î¥¤¥ó¥¿¥Õ¥§¡¼¥¹·² (´Ø¿ô¡¢¥Ø¥Ã¥À¥Õ¥¡¥¤¥ë)
45 ¤òµ¬Äꤷ¤Æ¤¤¤ë¡£°ì¤Ä¤Î¥×¥í¥»¥¹¤ÏÊ£¿ô¤Î¥¹¥ì¥Ã¥É¤ò»ý¤Ä¤³¤È¤¬¤Ç¤­¡¢
46 Á´¤Æ¤Î¥¹¥ì¥Ã¥É¤ÏƱ¤¸¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ë¡£
47 ¤³¤ì¤é¤Î¥¹¥ì¥Ã¥É¤ÏƱ¤¸Âç°è¥á¥â¥ê (¥Ç¡¼¥¿¤È¥Ò¡¼¥×Îΰè) ¤ò¶¦Í­¤¹¤ë¤¬¡¢
48 ³Æ¥¹¥ì¥Ã¥É¤Ï¼«Ê¬ÀìÍѤΥ¹¥¿¥Ã¥¯ (¼«Æ°ÊÑ¿ô) ¤ò»ý¤Ä¡£
49
50 POSIX.1 ¤Ï¥¹¥ì¥Ã¥É´Ö¤Ç¤É¤Î¤è¤¦¤Ê°À­¤ò¶¦Í­¤¹¤ë¤«¤Ë¤Ä¤¤¤Æ¤âÄê¤á¤Æ¤¤¤ë
51 (¤Ä¤Þ¤ê¡¢¤³¤ì¤é¤Î°À­¤Ï¥¹¥ì¥Ã¥Éñ°Ì¤Ç¤Ï¤Ê¤¯¥×¥í¥»¥¹Á´ÂΤǶ¦Ä̤Ǥ¢¤ë):
52 .IP \- 3
53 ¥×¥í¥»¥¹ ID
54 .IP \- 3
55 ¿Æ¥×¥í¥»¥¹ ID
56 .IP \- 3
57 ¥×¥í¥»¥¹¥°¥ë¡¼¥× ID ¤È¥»¥Ã¥·¥ç¥ó ID
58 .IP \- 3
59 À©¸æüËö
60 .IP \- 3
61 ¥æ¡¼¥¶ ID ¤È¥°¥ë¡¼¥× ID
62 .IP \- 3
63 ¥ª¡¼¥×¥ó¤¹¤ë¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿
64 .IP \- 3
65 ¥ì¥³¡¼¥É¤Î¥í¥Ã¥¯
66 .RB ( fcntl (3)
67 »²¾È)
68 .IP \- 3
69 ¥·¥°¥Ê¥ë¤ÎÇÛÃÖ
70 .IP \- 3
71 ¥Õ¥¡¥¤¥ë¥â¡¼¥ÉºîÀ®¥Þ¥¹¥¯
72 .RB ( umask (2))
73 .IP \- 3
74 ¥«¥ì¥ó¥È¡¦¥Ç¥£¥ì¥¯¥È¥ê
75 .RB ( chdir (2))
76 ¤È¥ë¡¼¥È¡¦¥Ç¥£¥ì¥¯¥È¥ê
77 .RB ( chroot (2))
78 .IP \- 3
79 ¥¤¥ó¥¿¡¼¥Ð¥ë¡¦¥¿¥¤¥Þ
80 .RB ( setitimer (2))
81 ¤È POSIX ¥¿¥¤¥Þ
82 .RB ( timer_create (2))
83 .IP \- 3
84 nice ÃÍ
85 .RB ( setpriority (2))
86 .IP \- 3
87 ¥ê¥½¡¼¥¹À©¸Â
88 .RB ( setrlimit (2))
89 .IP \- 3
90 CPU »þ´Ö
91 .RB ( times (2))
92 ¤È¥ê¥½¡¼¥¹
93 .RB ( getrusage (2))
94 ¤Î¾ÃÈñ¾õ¶·¤Î·×¬
95 .PP
96 ¥¹¥¿¥Ã¥¯¤Ë¤Ä¤¤¤Æ¤â¡¢POSIX.1 ¤Ï¤É¤Î¤è¤¦¤Ê°À­¤¬
97 ¸Ä¡¹¤Î¥¹¥ì¥Ã¥É¤ÇÆÈΩ¤Ë´ÉÍý¤µ¤ì¤ë¤«¤òµ¬Äꤷ¤Æ¤¤¤ë:
98 .IP \- 3
99 ¥¹¥ì¥Ã¥É ID
100 .RB ( pthread_t
101 ¥Ç¡¼¥¿·¿)
102 .IP \- 3
103 ¥·¥°¥Ê¥ë¥Þ¥¹¥¯
104 .RB ( pthread_sigmask (3))
105 .IP \- 3
106 .I errno
107 ÊÑ¿ô
108 .IP \- 3
109 ÂåÂØ¥·¥°¥Ê¥ë¥¹¥¿¥Ã¥¯
110 .RB ( sigaltstack (2))
111 .IP \- 3
112 ¥ê¥¢¥ë¥¿¥¤¥à¡¦¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¤Î¥Ý¥ê¥·¡¼¤ÈÍ¥ÀèÅÙ
113 .RB ( sched_setscheduler (2)
114 ¤È
115 .BR sched_setparam (2))
116 .PP
117 °Ê²¼¤Î Linux ÆÃÍ­¤Îµ¡Ç½¤â¥¹¥ì¥Ã¥Éñ°Ì¤Ç¤¢¤ë:
118 .IP \- 3
119 ¥±¡¼¥Ñ¥Ó¥ê¥Æ¥£
120 .RB ( capabilities (7)
121 »²¾È)
122 .IP \- 3
123 CPU affinity (¿ÆÏÂÅÙ)
124 .RB ( sched_setaffinity (2))
125 .SS "pthreads ´Ø¿ô¤ÎÊÖ¤êÃÍ"
126 ¤Û¤È¤ó¤É¤Î pthreads ´Ø¿ô¤ÏÀ®¸ù¤¹¤ë¤È 0 ¤òÊÖ¤·¡¢
127 ¼ºÇÔ¤·¤¿¾ì¹ç¥¨¥é¡¼ÈÖ¹æ¤òÊÖ¤¹¡£
128 pthreads ´Ø¿ô¤Ï
129 .I errno
130 ¤ò¥»¥Ã¥È¤·¤Ê¤¤ÅÀ¤ËÃí°Õ¤¹¤ë¤³¤È¡£
131 POSIX.1-2001 ¤Ç¤Ï¡¢
132 ¥¨¥é¡¼¤òÊÖ¤¹²ÄǽÀ­¤Î¤¢¤ë pthreads ´Ø¿ô¤¬¥¨¥é¡¼
133 .B EINTR
134 ¤Ç¼ºÇÔ¤¹¤ë¤³¤È¤Ï·è¤·¤Æ¤Ê¤¤¤Èµ¬Äꤷ¤Æ¤¤¤ë¡£
135 .SS "¥¹¥ì¥Ã¥É ID"
136 ¤¢¤ë¥×¥í¥»¥¹Æâ¤Î³Æ¥¹¥ì¥Ã¥É¤Ï
137 .RI ( pthread_t
138 ·¿¤Î) °ì°Õ¤Ê¥¹¥ì¥Ã¥É¼±Ê̻Ҥò»ý¤Ä¡£
139 ¤³¤Î¼±Ê̻Ҥϡ¢
140 .BR pthread_create (3)
141 ¤Î¸Æ¤Ó½Ð¤·¸µ¤ËÊÖ¤µ¤ì¤ë¡£¤Þ¤¿¡¢¥¹¥ì¥Ã¥É¤Ï¼«¿È¤Î¥¹¥ì¥Ã¥É¼±Ê̻Ҥò
142 .BR pthread_self (3)
143 ¤ò»È¤Ã¤Æ¼èÆÀ¤Ç¤­¤ë¡£
144 ¥¹¥ì¥Ã¥É ID ¤Î°ì°ÕÀ­¤¬Êݾڤµ¤ì¤ë¤Î¤Ï¡¢°ì¤Ä¤Î¥×¥í¥»¥¹Æâ¤Ë¤ª¤¤¤Æ¤Î¤ß¤Ç¤¢¤ë¡£
145 ½ªÎ»¤·¤¿¥¹¥ì¥Ã¥É¤¬ join ¤µ¤ì¤¿¸å¤Ç¤Ï¡¢¥¹¥ì¥Ã¥É ID ¤ÏºÆÍøÍѤµ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¡£
146 ¥¹¥ì¥Ã¥É ID ¤ò°ú¤­¿ô¤Ë¼è¤ëÁ´¤Æ¤Î¥¹¥ì¥Ã¥É´Ø¿ô¤Ë¤ª¤¤¤Æ¡¢
147 ¤½¤Î ID ¤Ï¸Æ¤Ó½Ð¤·¸µ¤ÈƱ¤¸¥×¥í¥»¥¹Æâ¤Î°ì¤Ä¤Î¥¹¥ì¥Ã¥É¤ò»²¾È¤¹¤ë¡£
148 .SS "¥¹¥ì¥Ã¥É¥»¡¼¥Õ¤Ê´Ø¿ô"
149 ¥¹¥ì¥Ã¥É¥»¡¼¥Õ¤Ê´Ø¿ô¤Ï¡¢Ê£¿ô¤Î¥¹¥ì¥Ã¥É¤«¤éƱ»þ¤Ë¸Æ¤Ó½Ð¤·¤Æ¤â°ÂÁ´¤Ê
150 (¤¹¤Ê¤ï¤Á¡¢Æ±»þ¤Ë¸Æ¤Ó½Ð¤µ¤ì¤¿¤«¤Ë´Ø¤ï¤é¤º¡¢Æ±¤¸·ë²Ì¤òÊÖ¤¹) ´Ø¿ô¤Î¤³¤È¤Ç¤¢¤ë¡£
151
152 POSIX.1-2001 ¤È POSIX.1-2008¤Ç¤Ï¡¢°ìÉô¤ÎÎã³°¤ò½ü¤­¡¢
153 ɸ½à¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ëÁ´¤Æ¤Î´Ø¿ô¤¬¥¹¥ì¥Ã¥É¥»¡¼¥Õ¤Ç¤¢¤ë¤³¤È¤òÍ׵ᤷ¤Æ¤¤¤ë¡£
154 °Ê²¼¤Î´Ø¿ô¤¬Îã³°¤Ç¤¢¤ë¡£
155 .in +4n
156 .nf
157
158 asctime()
159 basename()
160 catgets()
161 crypt()
162 ctermid() (NULL ¤Ç¤Ê¤¤°ú¤­¿ô¤òÅϤµ¤ì¤¿¾ì¹ç)
163 ctime()
164 dbm_clearerr()
165 dbm_close()
166 dbm_delete()
167 dbm_error()
168 dbm_fetch()
169 dbm_firstkey()
170 dbm_nextkey()
171 dbm_open()
172 dbm_store()
173 dirname()
174 dlerror()
175 drand48()
176 ecvt() [POSIX.1-2001 ¤Î¤ß (POSIX.1-2008 ¤Çºï½ü¤µ¤ì¤¿)]
177 encrypt()
178 endgrent()
179 endpwent()
180 endutxent()
181 fcvt() [POSIX.1-2001 ¤Î¤ß (POSIX.1-2008 ¤Çºï½ü¤µ¤ì¤¿)]
182 ftw()
183 gcvt() [POSIX.1-2001 ¤Î¤ß (POSIX.1-2008 ¤Çºï½ü¤µ¤ì¤¿)]
184 getc_unlocked()
185 getchar_unlocked()
186 getdate()
187 getenv()
188 getgrent()
189 getgrgid()
190 getgrnam()
191 gethostbyaddr() [POSIX.1-2001 ¤Î¤ß (POSIX.1-2008 ¤Çºï½ü¤µ¤ì¤¿)]
192 gethostbyname() [POSIX.1-2001 ¤Î¤ß (POSIX.1-2008 ¤Çºï½ü¤µ¤ì¤¿)]
193 gethostent()
194 getlogin()
195 getnetbyaddr()
196 getnetbyname()
197 getnetent()
198 getopt()
199 getprotobyname()
200 getprotobynumber()
201 getprotoent()
202 getpwent()
203 getpwnam()
204 getpwuid()
205 getservbyname()
206 getservbyport()
207 getservent()
208 getutxent()
209 getutxid()
210 getutxline()
211 gmtime()
212 hcreate()
213 hdestroy()
214 hsearch()
215 inet_ntoa()
216 l64a()
217 lgamma()
218 lgammaf()
219 lgammal()
220 localeconv()
221 localtime()
222 lrand48()
223 mrand48()
224 nftw()
225 nl_langinfo()
226 ptsname()
227 putc_unlocked()
228 putchar_unlocked()
229 putenv()
230 pututxline()
231 rand()
232 readdir()
233 setenv()
234 setgrent()
235 setkey()
236 setpwent()
237 setutxent()
238 strerror()
239 strsignal() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
240 strtok()
241 system() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
242 tmpnam() (NULL ¤Ç¤Ê¤¤°ú¤­¿ô¤òÅϤµ¤ì¤¿¾ì¹ç)
243 ttyname()
244 unsetenv()
245 wcrtomb() (ºÇ¸å¤Î°ú¤­¿ô¤¬ NULL ¤Î¾ì¹ç)
246 wcsrtombs() (ºÇ¸å¤Î°ú¤­¿ô¤¬ NULL ¤Î¾ì¹ç)
247 wcstombs()
248 wctomb()
249 .fi
250 .in
251 .SS ¼è¤ê¾Ã¤·¥Ý¥¤¥ó¥È (cancellation points)
252 POSIX.1 ¤Îµ¬Äê¤Ç¤Ï¡¢ÆÃÄê¤Î´Ø¿ô¤Ï¼è¤ê¾Ã¤·¥Ý¥¤¥ó¥È¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤º¡¢
253 ¾¤ÎÆÃÄê¤Î´Ø¿ô¤Ï¼è¤ê¾Ã¤·¥Ý¥¤¥ó¥È¤Ç¤¢¤Ã¤Æ¤â¤è¤¤¤È¤µ¤ì¤Æ¤¤¤ë¡£
254 ¤¢¤ë¥¹¥ì¥Ã¥É¤¬¼è¤ê¾Ã¤·²Äǽ¤Ç¡¢¤½¤Î¼è¤ê¾Ã¤·¼ïÊÌ (cancelability type)
255 ¤¬±ä´ü (deferred) ¤Ç¡¢¤½¤Î¥¹¥ì¥Ã¥É¤ËÂФ¹¤ë¼è¤ê¾Ã¤·Í׵᤬½èÍýÂÔ¤Á¤Î¾ì¹ç¡¢
256 ¼è¤ê¾Ã¤·¥Ý¥¤¥ó¥È¤Ç¤¢¤ë´Ø¿ô¤ò¸Æ¤Ó½Ð¤·¤¿»þÅÀ¤Ç¡¢¤½¤Î¥¹¥ì¥Ã¥É¤Î¥­¥ã¥ó¥»¥ë¤¬
257 ¹Ô¤ï¤ì¤ë¡£
258
259 POSIX.1-2001 ¤È POSIX.1-2008 ¤ÎξÊý¡¢¤â¤·¤¯¤Ï¤¤¤º¤ì¤«°ìÊý¤Ç¤Ï¡¢
260 °Ê²¼¤Î´Ø¿ô¤Ï¡¢¼è¤ê¾Ã¤·¥Ý¥¤¥ó¥È (cancellation points) ¤Ç
261 ¤¢¤ë¤³¤È¤¬É¬¿Ü¤È¤Ê¤Ã¤Æ¤¤¤ë¡£
262
263 .\" FIXME
264 .\" Document the list of all functions that are cancellation points in glibc
265 .in +4n
266 .nf
267 accept()
268 aio_suspend()
269 clock_nanosleep()
270 close()
271 connect()
272 creat()
273 fcntl() F_SETLKW
274 fdatasync()
275 fsync()
276 getmsg()
277 getpmsg()
278 lockf() F_LOCK
279 mq_receive()
280 mq_send()
281 mq_timedreceive()
282 mq_timedsend()
283 msgrcv()
284 msgsnd()
285 msync()
286 nanosleep()
287 open()
288 openat() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
289 pause()
290 poll()
291 pread()
292 pselect()
293 pthread_cond_timedwait()
294 pthread_cond_wait()
295 pthread_join()
296 pthread_testcancel()
297 putmsg()
298 putpmsg()
299 pwrite()
300 read()
301 readv()
302 recv()
303 recvfrom()
304 recvmsg()
305 select()
306 sem_timedwait()
307 sem_wait()
308 send()
309 sendmsg()
310 sendto()
311 sigpause() [POSIX.1-2001 only (moves to "may" list in POSIX.1-2008)]
312 sigsuspend()
313 sigtimedwait()
314 sigwait()
315 sigwaitinfo()
316 sleep()
317 system()
318 tcdrain()
319 usleep() [POSIX.1-2001 ¤Î¤ß (POSIX.1-2008 ¤Çºï½ü¤µ¤ì¤¿)]
320 wait()
321 waitid()
322 waitpid()
323 write()
324 writev()
325 .fi
326 .in
327
328 POSIX.1-2001 ¤È POSIX.1-2008 ¤ÎξÊý¡¢¤â¤·¤¯¤Ï¤¤¤º¤ì¤«°ìÊý¤Ç¤Ï¡¢
329 °Ê²¼¤Î´Ø¿ô¤Ï¡¢¼è¤ê¾Ã¤·¥Ý¥¤¥ó¥È (cancellation points) ¤Ç
330 ¤¢¤Ã¤Æ¤â¤è¤¤¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£
331
332 .in +4n
333 .nf
334 access()
335 asctime()
336 asctime_r()
337 catclose()
338 catgets()
339 catopen()
340 chmod() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
341 chown() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
342 closedir()
343 closelog()
344 ctermid()
345 ctime()
346 ctime_r()
347 dbm_close()
348 dbm_delete()
349 dbm_fetch()
350 dbm_nextkey()
351 dbm_open()
352 dbm_store()
353 dlclose()
354 dlopen()
355 dprintf() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
356 endgrent()
357 endhostent()
358 endnetent()
359 endprotoent()
360 endpwent()
361 endservent()
362 endutxent()
363 faccessat() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
364 fchmod() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
365 fchmodat() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
366 fchown() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
367 fchownat() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
368 fclose()
369 fcntl() (cmd °ú¤­¿ô¤¬²¿¤Ç¤¢¤Ã¤Æ¤â)
370 fflush()
371 fgetc()
372 fgetpos()
373 fgets()
374 fgetwc()
375 fgetws()
376 fmtmsg()
377 fopen()
378 fpathconf()
379 fprintf()
380 fputc()
381 fputs()
382 fputwc()
383 fputws()
384 fread()
385 freopen()
386 fscanf()
387 fseek()
388 fseeko()
389 fsetpos()
390 fstat()
391 fstatat() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
392 ftell()
393 ftello()
394 ftw()
395 futimens() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
396 fwprintf()
397 fwrite()
398 fwscanf()
399 getaddrinfo()
400 getc()
401 getc_unlocked()
402 getchar()
403 getchar_unlocked()
404 getcwd()
405 getdate()
406 getdelim() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
407 getgrent()
408 getgrgid()
409 getgrgid_r()
410 getgrnam()
411 getgrnam_r()
412 gethostbyaddr() [SUSv3 ¤Î¤ß (¤³¤Î´Ø¿ô¤Ï POSIX.1-2008 ¤Çºï½ü¤µ¤ì¤Æ¤¤¤ë)]
413 gethostbyname() [SUSv3 ¤Î¤ß (¤³¤Î´Ø¿ô¤Ï POSIX.1-2008 ¤Çºï½ü¤µ¤ì¤Æ¤¤¤ë)]
414 gethostent()
415 gethostid()
416 gethostname()
417 getline() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
418 getlogin()
419 getlogin_r()
420 getnameinfo()
421 getnetbyaddr()
422 getnetbyname()
423 getnetent()
424 getopt() (opterr ¤¬ 0 °Ê³°¤Î¾ì¹ç)
425 getprotobyname()
426 getprotobynumber()
427 getprotoent()
428 getpwent()
429 getpwnam()
430 getpwnam_r()
431 getpwuid()
432 getpwuid_r()
433 gets()
434 getservbyname()
435 getservbyport()
436 getservent()
437 getutxent()
438 getutxid()
439 getutxline()
440 getwc()
441 getwchar()
442 getwd() [SUSv3 ¤Î¤ß (¤³¤Î´Ø¿ô¤Ï POSIX.1-2008 ¤Çºï½ü¤µ¤ì¤Æ¤¤¤ë)]
443 glob()
444 iconv_close()
445 iconv_open()
446 ioctl()
447 link()
448 linkat() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
449 lio_listio() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
450 localtime()
451 localtime_r()
452 lockf() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
453 lseek()
454 lstat()
455 mkdir() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
456 mkdirat() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
457 mkdtemp() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
458 mkfifo() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
459 mkfifoat() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
460 mknod() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
461 mknodat() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
462 mkstemp()
463 mktime()
464 nftw()
465 opendir()
466 openlog()
467 pathconf()
468 pclose()
469 perror()
470 popen()
471 posix_fadvise()
472 posix_fallocate()
473 posix_madvise()
474 posix_openpt()
475 posix_spawn()
476 posix_spawnp()
477 posix_trace_clear()
478 posix_trace_close()
479 posix_trace_create()
480 posix_trace_create_withlog()
481 posix_trace_eventtypelist_getnext_id()
482 posix_trace_eventtypelist_rewind()
483 posix_trace_flush()
484 posix_trace_get_attr()
485 posix_trace_get_filter()
486 posix_trace_get_status()
487 posix_trace_getnext_event()
488 posix_trace_open()
489 posix_trace_rewind()
490 posix_trace_set_filter()
491 posix_trace_shutdown()
492 posix_trace_timedgetnext_event()
493 posix_typed_mem_open()
494 printf()
495 psiginfo() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
496 psignal() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
497 pthread_rwlock_rdlock()
498 pthread_rwlock_timedrdlock()
499 pthread_rwlock_timedwrlock()
500 pthread_rwlock_wrlock()
501 putc()
502 putc_unlocked()
503 putchar()
504 putchar_unlocked()
505 puts()
506 pututxline()
507 putwc()
508 putwchar()
509 readdir()
510 readdir_r()
511 readlink() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
512 readlinkat() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
513 remove()
514 rename()
515 renameat() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
516 rewind()
517 rewinddir()
518 scandir() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
519 scanf()
520 seekdir()
521 semop()
522 setgrent()
523 sethostent()
524 setnetent()
525 setprotoent()
526 setpwent()
527 setservent()
528 setutxent()
529 sigpause() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
530 stat()
531 strerror()
532 strerror_r()
533 strftime()
534 symlink()
535 symlinkat() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
536 sync()
537 syslog()
538 tmpfile()
539 tmpnam()
540 ttyname()
541 ttyname_r()
542 tzset()
543 ungetc()
544 ungetwc()
545 unlink()
546 unlinkat() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
547 utime() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
548 utimensat() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
549 utimes() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
550 vdprintf() [POSIX.1-2008 ¤ÇÄɲ䵤줿]
551 vfprintf()
552 vfwprintf()
553 vprintf()
554 vwprintf()
555 wcsftime()
556 wordexp()
557 wprintf()
558 wscanf()
559 .fi
560 .in
561
562 ¼ÂÁõ»þ¤Ë¡¢É¸½àµ¬³Ê¤Çµ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤¤½¤Î¾¤Î´Ø¿ô¤ò¼è¤ê¾Ã¤·¥Ý¥¤¥ó¥È
563 ¤È¤¹¤ë¤³¤È¤âǧ¤á¤é¤ì¤Æ¤¤¤ë¡£
564 Æäˡ¢Ää»ß (block) ¤¹¤ë²ÄǽÀ­¤¬¤¢¤ëÈóɸ½à¤Î´Ø¿ô¤ò¼è¤ê¾Ã¤·¥Ý¥¤¥ó¥È¤È
565 ¤¹¤ë¼ÂÁõ¤Ï¤¢¤êÆÀ¤ë¤³¤È¤À¤í¤¦
566 (¥Õ¥¡¥¤¥ë¤ò°·¤¦²ÄǽÀ­¤Î¤¢¤ë¤Û¤È¤ó¤É¤Î´Ø¿ô¤¬¤³¤ì¤Ë´Þ¤Þ¤ì¤ë)¡£
567 .\" So, scanning "cancellation point" comments in the glibc 2.8 header
568 .\" files, it looks as though at least the following nonstandard
569 .\" functions are cancellation points:
570 .\" endnetgrent
571 .\" endspent
572 .\" epoll_pwait
573 .\" epoll_wait
574 .\" fcloseall
575 .\" fdopendir
576 .\" fflush_unlocked
577 .\" fgetc_unlocked
578 .\" fgetgrent
579 .\" fgetgrent_r
580 .\" fgetpwent
581 .\" fgetpwent_r
582 .\" fgets_unlocked
583 .\" fgetspent
584 .\" fgetspent_r
585 .\" fgetwc_unlocked
586 .\" fgetws_unlocked
587 .\" fputc_unlocked
588 .\" fputs_unlocked
589 .\" fputwc_unlocked
590 .\" fputws_unlocked
591 .\" fread_unlocked
592 .\" fwrite_unlocked
593 .\" gai_suspend
594 .\" getaddrinfo_a
595 .\" getdate_r
596 .\" getgrent_r
597 .\" getgrouplist
598 .\" gethostbyaddr_r
599 .\" gethostbyname2
600 .\" gethostbyname2_r
601 .\" gethostbyname_r
602 .\" gethostent_r
603 .\" getnetbyaddr_r
604 .\" getnetbyname_r
605 .\" getnetent_r
606 .\" getnetgrent
607 .\" getnetgrent_r
608 .\" getprotobyname_r
609 .\" getprotobynumber_r
610 .\" getprotoent_r
611 .\" getpw
612 .\" getpwent_r
613 .\" getservbyname_r
614 .\" getservbyport_r
615 .\" getservent_r
616 .\" getspent
617 .\" getspent_r
618 .\" getspnam
619 .\" getspnam_r
620 .\" getutmp
621 .\" getutmpx
622 .\" getw
623 .\" getwc_unlocked
624 .\" getwchar_unlocked
625 .\" initgroups
626 .\" innetgr
627 .\" mkostemp
628 .\" mkostemp64
629 .\" mkstemp64
630 .\" ppoll
631 .\" pthread_timedjoin_np
632 .\" putgrent
633 .\" putpwent
634 .\" putspent
635 .\" putw
636 .\" putwc_unlocked
637 .\" putwchar_unlocked
638 .\" rcmd
639 .\" rcmd_af
640 .\" rexec
641 .\" rexec_af
642 .\" rresvport
643 .\" rresvport_af
644 .\" ruserok
645 .\" ruserok_af
646 .\" setnetgrent
647 .\" setspent
648 .\" sgetspent
649 .\" sgetspent_r
650 .\" updwtmpx
651 .\" utmpxname
652 .\" vfscanf
653 .\" vfwscanf
654 .\" vscanf
655 .\" vsyslog
656 .\" vwscanf
657 .SS "Linux ¤Ç¤Î¥³¥ó¥Ñ¥¤¥ë"
658 Linux ¤Ç¤Ï¡¢Pthreads API ¤òÍѤ¤¤¿¥×¥í¥°¥é¥à¤Ï
659 .I "cc \-pthread"
660 ¤Ç¥³¥ó¥Ñ¥¤¥ë¤¹¤Ù¤­¤Ç¤¢¤ë¡£
661 .SS "POSIX ¥¹¥ì¥Ã¥É¤Î Linux ¤Ç¤Î¼ÂÁõ"
662 ¤³¤ì¤Þ¤Ç¡¢2¤Ä¤Î¥¹¥ì¥Ã¥É¤Î¼ÂÁõ¤¬ Linux ¤Î GNU C ¥é¥¤¥Ö¥é¥ê¤Ë¤è¤ê
663 Ä󶡤µ¤ì¤Æ¤­¤¿¡£
664 .TP
665 .B LinuxThreads
666 ºÇ½é¤Î Pthreads ¤Î¼ÂÁõ¡£
667 glibc 2.4 °Ê¹ß¤Ï¡¢¤³¤Î¼ÂÁõ¤Ï¤â¤Ï¤ä¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
668 .TP
669 .BR NPTL " (Native POSIX Threads Library)"
670 ¿·¤·¤¤ Pthreads ¤Î¼ÂÁõ¡£LinuxThreads ¤ÈÈæ¤Ù¤ë¤È¡¢
671 NPTL ¤Ï POSIX.1 ¤ÎÍ×µá»ÅÍͤؤνàµò¤ÎÅٹ礤¤¬¹â¤¯¡¢
672 ¿¿ô¤Î¥¹¥ì¥Ã¥É¤òºîÀ®¤·¤¿ºÝ¤ÎÀ­Ç½¤â¹â¤¤¡£
673 NPTL ¤Ï glibc 2.3.2 °Ê¹ß¤ÇÍøÍѲÄǽ¤Ç¤¢¤ë¡£
674 NPTL ¤òÍøÍѤ¹¤ë¤Ë¤Ï Linux 2.6 ¥«¡¼¥Í¥ë¤Ë¼ÂÁõ¤µ¤ì¤Æ¤¤¤ëµ¡Ç½¤¬É¬ÍפǤ¢¤ë¡£
675 .PP
676 ¤É¤Á¤é¤Î¼ÂÁõ¤â¤¤¤ï¤æ¤ë 1:1 ¼ÂÁõ¡¢¤¹¤Ê¤ï¤Á¸Ä¡¹¤Î¥¹¥ì¥Ã¥É¤¬
677 ¥«¡¼¥Í¥ë¤Î¥¹¥±¥¸¥å¡¼¥ê¥ó¥°¼ÂÂΤ˥ޥåԥ󥰤µ¤ì¤ë¡£
678 ¤É¤Á¤é¤Î¥¹¥ì¥Ã¥É¤Î¼ÂÁõ¤â Linux ¤Î
679 .BR clone (2)
680 ¥·¥¹¥Æ¥à¥³¡¼¥ë¤òÍøÍѤ·¤Æ¤¤¤ë¡£
681 NPTL ¤Ç¤Ï¡¢¥¹¥ì¥Ã¥ÉƱ´ü¤Î´ðËܵ¡¹½ (mutex ¤ä ¥¹¥ì¥Ã¥É¤Î join Åù) ¤Ï
682 Linux ¤Î
683 .BR futex (2)
684 ¥·¥¹¥Æ¥à¥³¡¼¥ë¤ò»È¤Ã¤Æ¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¡£
685 .SS LinuxThreads
686 ¤³¤Î¼ÂÁõ¤ÎÂ礭¤ÊÆÃħ¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë:
687 .IP \- 3
688 ¥á¥¤¥ó¥¹¥ì¥Ã¥É (ºÇ½é¤Î¥¹¥ì¥Ã¥É) ¤È¥×¥í¥°¥é¥à¤¬
689 .BR pthread_create (3)
690 ¤ò»È¤Ã¤ÆºîÀ®¤·¤¿¥¹¥ì¥Ã¥É¤Ë²Ã¤¨¡¢
691 ¤³¤Î¼ÂÁõ¤Ç¤Ï¡Ö´ÉÍý (manager)¡×¥¹¥ì¥Ã¥É¤¬ºîÀ®¤µ¤ì¤ë¡£
692 ´ÉÍý¥¹¥ì¥Ã¥É¤Ï¥¹¥ì¥Ã¥É¤ÎºîÀ®¤È½ªÎ»¤ò¼è¤ê°·¤¦
693 (¤³¤Î¥¹¥ì¥Ã¥É¤¬¤¦¤Ã¤«¤ê kill ¤µ¤ì¤ë¤È¡¢ÌäÂ꤬µ¯¤³¤ë¤³¤È¤¬¤¢¤ë)¡£
694 .IP \- 3
695 ¤³¤Î¼ÂÁõ¤Ç¤ÏÆâÉô¤Ç¥·¥°¥Ê¥ë¤ò»ÈÍѤ·¤Æ¤¤¤ë¡£
696 Linux 2.2 °Ê¹ß¤Ç¤Ï¡¢¥ê¥¢¥ë¥¿¥¤¥à¥·¥°¥Ê¥ë¤Î¤¦¤ÁºÇ½é¤Î 3¤Ä¤¬»È¤ï¤ì¤ë
697 .RB ( signal (7)
698 »²¾È)¡£
699 ¤½¤ì°ÊÁ°¤Î¥«¡¼¥Í¥ë¤Ç¤Ï
700 .B SIGUSR1
701 ¤È
702 .B SIGUSR2
703 ¤¬»È¤ï¤ì¤ë¡£
704 ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï¡¢¥¹¥ì¥Ã¥É¼ÂÁõ¤ÇÍøÍѤµ¤ì¤Æ¤¤¤ë¥·¥°¥Ê¥ë¤ò
705 ¤É¤ì¤â»È¤ï¤Ê¤¤¤è¤¦¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
706 .IP \- 3
707 ¥¹¥ì¥Ã¥É´Ö¤Ç¥×¥í¥»¥¹ ID ¤ò¶¦Í­¤·¤Ê¤¤
708 (¼ÂºÝ¤Ë¤Ï LinuxThreads ¤Î¥¹¥ì¥Ã¥É¤ÏÄ̾ï¤è¤ê¤Ï¾ðÊó¤ò¶¦Í­¤¹¤ë¥×¥í¥»¥¹¤È¤·¤Æ
709 ¼ÂÁõ¤µ¤ì¤Æ¤¤¤ë¤¬¡¢°ì¤Ä¤Î¶¦ÄÌ¤Î¥×¥í¥»¥¹ ID ¤ò¶¦Í­¤·¤Æ¤Ï¤¤¤Ê¤¤)¡£
710 (´ÉÍý¥¹¥ì¥Ã¥É¤ò´Þ¤à) LinuxThreads ¥¹¥ì¥Ã¥É¤Ï
711 .BR ps (1)
712 ¤ò»È¤¦¤ÈÊÌ¤Î¥×¥í¥»¥¹¤Î¤è¤¦¤Ë¸«¤¨¤ë¡£
713 .PP
714 LinuxThreads ¤Î¼ÂÁõ¤Ç¤Ï POSIX.1 »ÅÍͤ«¤é°ï椷¤Æ¤¤¤ëÅÀ¤¬
715 ¤¤¤¯¤Ä¤«¤¢¤ë¡£°Ê²¼¤Ë¼¨¤¹¤è¤¦¤ÊÅÀ¤¬¤¢¤ë:
716 .IP \- 3
717 .BR getpid (2)
718 ¤ò¸Æ¤Ó½Ð¤·¤¿¤È¤­¤Ë¡¢¥¹¥ì¥Ã¥ÉËè¤Ë°Û¤Ê¤ëÃͤ¬ÊÖ¤µ¤ì¤ë¡£
719 .IP \- 3
720 ¥á¥¤¥ó¥¹¥ì¥Ã¥É°Ê³°¤Î¥¹¥ì¥Ã¥É¤Ç
721 .BR getppid (2)
722 ¤ò¸Æ¤Ó½Ð¤¹¤È¡¢´ÉÍý¥¹¥ì¥Ã¥É¤Î¥×¥í¥»¥¹ ID ¤¬ÊÖ¤µ¤ì¤ë¡£
723 ËÜÅö¤Ï¡¢¤³¤ì¤é¤Î¥¹¥ì¥Ã¥É¤Ç
724 .BR getppid (2)
725 ¤ò¸Æ¤ó¤À¾ì¹ç¤Ë¤Ï¥á¥¤¥ó¥¹¥ì¥Ã¥É¤Ç¤Î
726 .BR getppid (2)
727 ¤ÈƱ¤¸Ãͤ¬ÊÖ¤ë¤Ù¤­¤Ç¤¢¤ë¡£
728 .IP \- 3
729 ¤¢¤ë¥¹¥ì¥Ã¥É¤¬
730 .BR fork (2)
731 ¤ò»È¤Ã¤Æ¿·¤·¤¤»Ò¥×¥í¥»¥¹¤òºîÀ®¤·¤¿¾ì¹ç¡¢
732 ¤É¤Î¥¹¥ì¥Ã¥É¤Ç¤â¤³¤Î»Ò¥×¥í¥»¥¹¤ò
733 .BR wait (2)
734 ¤Ç¤­¤ë¤Ù¤­¤Ç¤¢¤ë¡£¤·¤«¤·¤Ê¤¬¤é¡¢¤³¤Î¼ÂÁõ¤Ç¤Ï»Ò¥×¥í¥»¥¹¤òºîÀ®¤·¤¿
735 ¥¹¥ì¥Ã¥É¤À¤±¤¬¤³¤Î»Ò¥×¥í¥»¥¹¤ò
736 .BR wait (2)
737 ¤Ç¤­¤ë¡£
738 .IP \- 3
739 ¤¢¤ë¥¹¥ì¥Ã¥É¤¬
740 .BR execve (2)
741 ¤ò¸Æ¤Ó½Ð¤·¤¿¾ì¹ç¡¢Â¾¤Î¥¹¥ì¥Ã¥É¤ÏÁ´¤Æ½ªÎ»¤µ¤ì¤ë (POSIX.1 ¤Î»ÅÍÍÄ̤ê)¡£
742 ¤·¤«¤·¤Ê¤¬¤é¡¢¿·¤·¤¤¥×¥í¥»¥¹¤Ï
743 .BR execve (2)
744 ¤ò¸Æ¤ó¤À¥¹¥ì¥Ã¥É¤ÈƱ¤¸ PID ¤ò»ý¤Ä¡£Àµ¤·¤¯¤Ï
745 ¥á¥¤¥ó¥¹¥ì¥Ã¥É¤ÈƱ¤¸ PID ¤ò»ý¤Ä¤Ù¤­¤Ç¤¢¤ë¡£
746 .IP \- 3
747 ¥¹¥ì¥Ã¥É´Ö¤Ç¥æ¡¼¥¶ ID ¤È¥°¥ë¡¼¥× ID ¤¬¶¦Í­¤µ¤ì¤Ê¤¤
748 ¤³¤Î¤³¤È¤Ï¡¢set-user-ID ¥×¥í¥°¥é¥à¤ÇÌÌÅݤʻöÂÖ¤ò¾·¤¤¤¿¤ê¡¢
749 ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬
750 .BR seteuid (2)
751 ¤Ê¤É¤ò»È¤Ã¤Æ¿®ÍѾðÊó (credentials) ¤òÊѹ¹¤·¤¿¾ì¹ç¤Ë
752 Pthreads ´Ø¿ô¤¬¼ºÇÔ¤¹¤ë¸¶°ø¤È¤Ê¤ë¡£
753 .IP \- 3
754 ¥¹¥ì¥Ã¥É´Ö¤Ç¶¦Ä̤Υ»¥Ã¥·¥ç¥ó ID ¤ä¥×¥í¥»¥¹¥°¥ë¡¼¥× ID ¤ò¶¦Í­¤·¤Ê¤¤¡£
755 .IP \- 3
756 ¥¹¥ì¥Ã¥É´Ö¤Ç
757 .BR fcntl (2)
758 ¤ò»È¤Ã¤ÆºîÀ®¤µ¤ì¤ë¥ì¥³¡¼¥É¡¦¥í¥Ã¥¯¤ò¶¦Í­¤·¤Ê¤¤¡£
759 .IP \- 3
760 .BR times (2)
761 ¤È
762 .BR getrusage (2)
763 ¤¬ÊÖ¤¹¾ðÊó¤¬¥×¥í¥»¥¹Á´ÂΤξðÊó¤Ç¤Ê¤¯¥¹¥ì¥Ã¥Éñ°Ì¤Î¾ðÊó¤Ç¤¢¤ë¡£
764 .IP \- 3
765 ¥¹¥ì¥Ã¥É´Ö¤Ç¥»¥Þ¥Õ¥©¤Î¥¢¥ó¥É¥¥ÃÍ
766 .RB ( semop (2)
767 »²¾È) ¤ò¶¦Í­¤·¤Ê¤¤¡£
768 .IP \- 3
769 ¥¹¥ì¥Ã¥É´Ö¤Ç¥¤¥ó¥¿¡¼¥Ð¥ë¡¦¥¿¥¤¥Þ¤ò¶¦Í­¤·¤Ê¤¤¡£
770 .IP \- 3
771 ¥¹¥ì¥Ã¥É¤Ï¶¦Ä̤Πnice Ãͤò¶¦Í­¤·¤Ê¤¤¡£
772 .IP \- 3
773 POSXI.1 ¤Ç¤Ï¡¢Á´ÂΤȤ·¤Æ¤Î¥×¥í¥»¥¹¤ËÁ÷¤é¤ì¤ë¥·¥°¥Ê¥ë¤È¡¢
774 ¸ÄÊ̤Υ¹¥ì¥Ã¥É¤ËÁ÷¤é¤ì¤ë¥·¥°¥Ê¥ë¤ò¶èÊ̤·¤Æ¹Í¤¨¤Æ¤¤¤ë¡£
775 POSIX.1 ¤Ë¤è¤ë¤È¡¢¥×¥í¥»¥¹¤ËÁ÷¤é¤ì¤¿¥·¥°¥Ê¥ë (Î㤨¤Ð
776 .BR kill (2)
777 ¤ò»È¤Ã¤ÆÁ÷¤ë) ¤Ï¡¢¤½¤Î¥×¥í¥»¥¹¤Ë°¤¹¥¹¥ì¥Ã¥É¤Î¤¦¤Á
778 ¾¡¼ê¤Ë (arbitrarily) ¤ËÁªÂò¤µ¤ì¤¿°ì¤Ä¤Î¥¹¥ì¥Ã¥É¤Ë¤è¤ê½èÍý¤µ¤ì¤ë
779 ¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£LinuxThreads ¤Ï¥×¥í¥»¥¹¤ËÁ÷¤é¤ì¤ë¥·¥°¥Ê¥ë¤Î
780 ³µÇ°¤ËÂбþ¤·¤Æ¤ª¤é¤º¡¢¥·¥°¥Ê¥ë¤ÏÆÃÄê¤Î¥¹¥ì¥Ã¥É¤Ë¤À¤±Á÷¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
781 .IP \- 3
782 ¥¹¥ì¥Ã¥É¤Ï¤½¤ì¤¾¤ì¤ÎÆȼ«¤ÎÂåÂØ¥·¥°¥Ê¥ë¥¹¥¿¥Ã¥¯¤ÎÀßÄê¤ò»ý¤Ä¡£
783 ¤·¤«¤·¡¢¿·¤·¤¤¥¹¥ì¥Ã¥É¤ÎÂåÂØ¥·¥°¥Ê¥ë¥¹¥¿¥Ã¥¯¤ÎÀßÄê¤Ï
784 ¤½¤Î¥¹¥ì¥Ã¥É¤òºîÀ®¤·¤¿¥¹¥ì¥Ã¥É¤«¤é¥³¥Ô¡¼¤µ¤ì¡¢¤½¤Î¤¿¤á
785 ¥¹¥ì¥Ã¥É¤ÏºÇ½é¤Ï°ì¤Ä¤ÎÂåÂØ¥·¥°¥Ê¥ë¥¹¥¿¥Ã¥¯¤ò¶¦Í­¤¹¤ë¡£
786 (»ÅÍͤǤϡ¢¿·¤·¤¤¥¹¥ì¥Ã¥É¤ÏÂåÂØ¥·¥°¥Ê¥ë¥¹¥¿¥Ã¥¯¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¾õÂÖ
787 ¤Ç³«»Ï¤µ¤ì¤ë¤Ù¤­¤È¤µ¤ì¤Æ¤¤¤ë¡£
788 2¤Ä¤Î¥¹¥ì¥Ã¥É¤¬¶¦Í­¤µ¤ì¤Æ¤¤¤ëÂåÂØ¥·¥°¥Ê¥ë¥¹¥¿¥Ã¥¯¾å¤ÇƱ»þ¤Ë
789 ¥·¥°¥Ê¥ë¤Î½èÍý¤ò¹Ô¤Ã¤¿¾ì¹ç¡¢Í½Â¬ÉÔ²Äǽ¤Ê¥×¥í¥°¥é¥à¤Î¥¨¥é¡¼¤¬
790 µ¯¤³¤êÆÀ¤ë¡£)
791 .SS NPTL
792 NPTL ¤Ç¤Ï¡¢°ì¤Ä¤Î¥×¥í¥»¥¹¤ÎÁ´¤Æ¤Î¥¹¥ì¥Ã¥É¤ÏƱ¤¸¥¹¥ì¥Ã¥É¡¦¥°¥ë¡¼¥×
793 ¤Ë°¤¹¤ë; ¥¹¥ì¥Ã¥É¡¦¥°¥ë¡¼¥×¤ÎÁ´¥á¥ó¥Ð¡¼¤ÏƱ¤¸ PID ¤ò¶¦Í­¤¹¤ë¡£
794 NPTL ¤Ï´ÉÍý¥¹¥ì¥Ã¥É (manager thread) ¤òÍøÍѤ·¤Ê¤¤¡£
795 NPTL ¤ÏÆâÉô¤Ç¥ê¥¢¥ë¥¿¥¤¥à¥·¥°¥Ê¥ë¤Î¤¦¤ÁºÇ½é¤Î 2¤Ä¤ÎÈÖ¹æ¤ò»ÈÍѤ·¤Æ¤ª¤ê
796 .RB ( signal (7)
797 »²¾È)¡¢¤³¤ì¤é¤Î¥·¥°¥Ê¥ë¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï»ÈÍѤǤ­¤Ê¤¤¡£
798
799 NPTL ¤Ë¤â POSIX.1 ¤Ë½àµò¤·¤Æ¤¤¤Ê¤¤ÅÀ¤¬¾¯¤Ê¤¯¤È¤â°ì¤Ä¤¢¤ë:
800 .IP \- 3
801 ¥¹¥ì¥Ã¥É¤Ï¶¦Ä̤Πnice Ãͤò¶¦Í­¤·¤Ê¤¤¡£
802 .\" FIXME . bug report filed for NPTL nice nonconformance
803 .\" http://bugzilla.kernel.org/show_bug.cgi?id=6258
804 .\" Sep 08: there is a patch by Denys Vlasenko to address this
805 .\" "make setpriority POSIX compliant; introduce PRIO_THREAD extension"
806 .\" Monitor this to see if it makes it into mainline.
807 .PP
808 NPTL ¤Îɸ½àÈó½àµò¤ÊÅÀ¤Î¤¦¤Á¤¤¤¯¤Ä¤«¤Ï°ÊÁ°¤Î¥«¡¼¥Í¥ë¤Ç¤Î¤ßȯÀ¸¤¹¤ë:
809 .IP \- 3
810 .BR times (2)
811 ¤È
812 .BR getrusage (2)
813 ¤¬ÊÖ¤¹¾ðÊó¤¬¥×¥í¥»¥¹Á´ÂΤξðÊó¤Ç¤Ê¤¯¥¹¥ì¥Ã¥Éñ°Ì¤Î¾ðÊó¤Ç¤¢¤ë
814 (¥«¡¼¥Í¥ë 2.6.9 ¤Ç½¤Àµ¤µ¤ì¤¿)¡£
815 .IP \- 3
816 ¥¹¥ì¥Ã¥É´Ö¤Ç¥ê¥½¡¼¥¹À©¸Â¤ò¶¦Í­¤·¤Ê¤¤ (¥«¡¼¥Í¥ë 2.6.10 ¤Ç½¤Àµ¤µ¤ì¤¿)¡£
817 .IP \- 3
818 ¥¹¥ì¥Ã¥É´Ö¤Ç¥¤¥ó¥¿¡¼¥Ð¥ë¡¦¥¿¥¤¥Þ¤ò¶¦Í­¤·¤Ê¤¤
819 (¥«¡¼¥Í¥ë 2.6.12 ¤Ç½¤Àµ¤µ¤ì¤¿)¡£
820 .IP \- 3
821 ¥á¥¤¥ó¥¹¥ì¥Ã¥É¤À¤±¤¬
822 .BR setsid (2)
823 ¤ò»È¤Ã¤Æ¿·¤·¤¤¥»¥Ã¥·¥ç¥ó¤ò³«»Ï¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë
824 (¥«¡¼¥Í¥ë 2.6.16 ¤Ç½¤Àµ¤µ¤ì¤¿)¡£
825 .IP \- 3
826 ¥á¥¤¥ó¥¹¥ì¥Ã¥É¤À¤±¤¬
827 .BR setpgid (2)
828 ¤ò»È¤Ã¤Æ¤½¤Î¥×¥í¥»¥¹¤ò¥×¥í¥»¥¹¡¦¥°¥ë¡¼¥×¡¦¥ê¡¼¥À¡¼¤Ë¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë
829 (¥«¡¼¥Í¥ë 2.6.16 ¤Ç½¤Àµ¤µ¤ì¤¿)¡£
830 .IP \- 3
831 ¥¹¥ì¥Ã¥É¤Ï¤½¤ì¤¾¤ì¤ÎÆȼ«¤ÎÂåÂØ¥·¥°¥Ê¥ë¥¹¥¿¥Ã¥¯¤ÎÀßÄê¤ò»ý¤Ä¡£
832 ¤·¤«¤·¡¢¿·¤·¤¤¥¹¥ì¥Ã¥É¤ÎÂåÂØ¥·¥°¥Ê¥ë¥¹¥¿¥Ã¥¯¤ÎÀßÄê¤Ï
833 ¤½¤Î¥¹¥ì¥Ã¥É¤òºîÀ®¤·¤¿¥¹¥ì¥Ã¥É¤«¤é¥³¥Ô¡¼¤µ¤ì¡¢¤½¤Î¤¿¤á
834 ¥¹¥ì¥Ã¥É¤ÏºÇ½é¤Ï°ì¤Ä¤ÎÂåÂØ¥·¥°¥Ê¥ë¥¹¥¿¥Ã¥¯¤ò¶¦Í­¤¹¤ë
835 (¥«¡¼¥Í¥ë 2.6.16 ¤Ç½¤Àµ¤µ¤ì¤¿)¡£
836 .PP
837 NPTL ¤Î¼ÂÁõ¤Ç¤Ï°Ê²¼¤ÎÅÀ¤Ë¤Ä¤¤¤Æ¤âÃí°Õ¤¹¤ë¤³¤È:
838 .IP \- 3
839 ¥¹¥¿¥Ã¥¯¥µ¥¤¥º¤Î¥ê¥½¡¼¥¹¤Î¥½¥Õ¥È¡¦¥ê¥ß¥Ã¥È
840 .RB ( setrlimit (2)
841 ¤Î
842 .B RLIMIT_STACK
843 ¤ÎÀâÌÀ¤ò»²¾È) ¤¬
844 .I unlimited
845 °Ê³°¤ÎÃͤËÀßÄꤵ¤ì¤Æ¤¤¤ë¾ì¹ç¡¢¥½¥Õ¥È¡¦¥ê¥ß¥Ã¥È¤ÎÃͤ¬
846 ¿·¤·¤¤¥¹¥ì¥Ã¥É¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥¹¥¿¥Ã¥¯¥µ¥¤¥º¤È¤Ê¤ë¡£
847 ÀßÄê¤òÍ­¸ú¤Ë¤¹¤ë¤¿¤á¤Ë¤Ï¡¢¥×¥í¥°¥é¥à¤ò¼Â¹Ô¤¹¤ëÁ°¤Ë¥ê¥ß¥Ã¥ÈÃͤò
848 ÀßÄꤷ¤Æ¤ª¤«¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¤¿¤¤¤Æ¤¤¤Ï¡¢¥·¥§¥ë¤ÎÁȤ߹þ¤ß¥³¥Þ¥ó¥É¤Î
849 .I ulimit -s
850 (C ¥·¥§¥ë¤Ç¤Ï
851 .IR "limit stacksize" )
852 ¤ò»È¤Ã¤ÆÀßÄꤹ¤ë¡£
853 .SS "¥¹¥ì¥Ã¥É¼ÂÁõ¤ÎȽÄê"
854 glibc 2.3.2 °Ê¹ß¤Ç¤Ï¡¢
855 .BR getconf (1)
856 ¥³¥Þ¥ó¥É¤ò»È¤Ã¤Æ¡¢
857 ¥·¥¹¥Æ¥à¤Î¥¹¥ì¥Ã¥É¼ÂÁõ¤òȽÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
858 °Ê²¼¤ËÎã¤ò¼¨¤¹:
859 .nf
860 .in +4n
861
862 bash$ getconf GNU_LIBPTHREAD_VERSION
863 NPTL 2.3.4
864 .in
865 .fi
866 .PP
867 ¤¾¤ì°ÊÁ°¤Î glibc ¤Î¥Ð¡¼¥¸¥ç¥ó¤Ç¤Ï¡¢°Ê²¼¤Î¤è¤¦¤Ê¥³¥Þ¥ó¥É¤Ç
868 ¥Ç¥Õ¥©¥ë¥È¤Î¥¹¥ì¥Ã¥É¼ÂÁõ¤òȽÄꤹ¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
869 .nf
870 .in +4n
871
872 bash$ $( ldd /bin/ls | grep libc.so | awk \(aq{print $3}\(aq ) | \\
873                 egrep \-i \(aqthreads|ntpl\(aq
874         Native POSIX Threads Library by Ulrich Drepper et al
875 .in
876 .fi
877 .SS "¥¹¥ì¥Ã¥É¤Î¼ÂÁõ¤ÎÁªÂò: LD_ASSUME_KERNEL"
878 LinuxThreads ¤È NPTL ¤ÎξÊý¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë glibc
879 (glibc 2.3.\fIx\fP) ¤¬¤¢¤ë¥·¥¹¥Æ¥à¤Ç¤Ï¡¢
880 .B LD_ASSUME_KERNEL
881 ´Ä¶­ÊÑ¿ô¤ò»È¤¦¤³¤È¤Ç¡¢Æ°Åª¥ê¥ó¥«¤¬¥Ç¥Õ¥©¥ë¥È¤Ç
882 ÁªÂò¤¹¤ë¥¹¥ì¥Ã¥É¼ÂÁõ¤ò¾å½ñ¤­¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£
883 ¤³¤ÎÊÑ¿ô¤Ë¤è¤ê¡¢Æ°Åª¥ê¥ó¥«¤¬ÆÃÄê¤Î¥Ð¡¼¥¸¥ç¥ó¤Î¥«¡¼¥Í¥ë¾å¤Ç
884 Æ°ºî¤·¤Æ¤¤¤ë¤È²¾Äꤹ¤ë¤è¤¦¤Ë»ØÄꤹ¤ë¡£
885 NPTL ¤¬É¬ÍפȤ¹¤ë¥µ¥Ý¡¼¥Èµ¡Ç½¤òÄ󶡤·¤Æ¤¤¤Ê¤¤¥«¡¼¥Í¥ë¥Ð¡¼¥¸¥ç¥ó¤ò
886 »ØÄꤹ¤ë¤³¤È¤Ç¡¢¶¯À©Åª¤Ë LinuxThreads ¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤ë
887 (¤³¤Î¤è¤¦¤Ê¤³¤È¤ò¤¹¤ëºÇ¤â¤¢¤ê¤½¤¦¤Ê¾ìÌ̤ϡ¢
888 LinuxThreads ¤Îɸ½àÈó½àµò¤Ê¿¶Éñ¤¤¤Ë°Í¸¤¹¤ë (²õ¤ì¤¿) ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
889 ¤òÆ°ºî¤µ¤»¤ë¾ì¹ç¤À¤í¤¦)¡£
890 °Ê²¼¤ËÎã¤ò¼¨¤¹:
891 .nf
892 .in +4n
893
894 bash$ $( LD_ASSUME_KERNEL=2.2.5 ldd /bin/ls | grep libc.so | \\
895                 awk \(aq{print $3}\(aq ) | egrep \-i \(aqthreads|ntpl\(aq
896         linuxthreads-0.10 by Xavier Leroy
897 .in
898 .fi
899 .SH ´ØÏ¢¹àÌÜ
900 .BR clone (2),
901 .BR futex (2),
902 .BR gettid (2),
903 .BR futex (7),
904 .BR signal (7),
905 .br
906 ¤ª¤è¤Ó Pthreads ¤Î³Æ¼ï¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¡¢Î㤨¤Ð:
907 .BR pthread_attr_init (3),
908 .BR pthread_atfork (3),
909 .BR pthread_cancel (3),
910 .BR pthread_cleanup_push (3),
911 .BR pthread_cond_signal (3),
912 .BR pthread_cond_wait (3),
913 .BR pthread_create (3),
914 .BR pthread_detach (3),
915 .BR pthread_equal (3),
916 .BR pthread_exit (3),
917 .BR pthread_key_create (3),
918 .BR pthread_kill (3),
919 .BR pthread_mutex_lock (3),
920 .BR pthread_mutex_unlock (3),
921 .BR pthread_once (3),
922 .BR pthread_setcancelstate (3),
923 .BR pthread_setcanceltype (3),
924 .BR pthread_setspecific (3),
925 .BR pthread_sigmask (3),
926 .BR pthread_testcancel (3)