WAIT

Section: ¸®´ª½º ÇÁ·Î±×·¡¸Ó ¸Å´º¾ó (2)
Updated: 1997³â 6¿ù 23ÀÏ
Index
Return to Main Contents
 

À̸§

wait, waitpid - ÇÁ·Î¼¼½º Á¾·á¸¦ ±â´Ù¸°´Ù.  

»ç¿ë¹ý

#include <sys/types.h>
#include <sys/wait.h>

pid_t wait(int *status)
pid_t waitpid(pid_t pid, int *status, int options);  

¼³¸í

wait ÇÔ¼ö´Â ÀÚ½ÄÀÌ Á¾·áµÉ ¶§±îÁö, ¶Ç´Â ÇöÀç ÇÁ·Î¼¼½º¸¦ Á¾·á½ÃÅ°°Å³ª ½Ã±×³Î ó¸® ÇÔ¼ö¸¦ È£ÃâÇÏ´Â ÇൿÀ» ÇÏ´Â ½ÅÈ£°¡ Àü´ÞµÉ ¶§±îÁö ÇöÀç ÇÁ·Î¼¼½ºÀÇ ½ÇÇàÀ» ÀϽà ÁßÁö½ÃŲ´Ù. ¸¸ÀÏ ÀÚ½ÄÀÌ È£Ã⠽𣿡 ÀÌ¹Ì Á¾·áµÇ¾ú´Ù¸é(Á»ºñ ÇÁ·Î¼¼½º), ÇÔ¼ö´Â Áï½Ã ¸®ÅÏÇÑ´Ù. ÀÚ½ÄÀÌ »ç¿ëÇÑ ½Ã½ºÅÛ ÀÚ¿øµéÀº ¸ðµÎ Ç®¾îÁø´Ù.

waitpid ÇÔ¼ö´Â pid ÀÎÀÚ°¡ °¡¸®Å°´Â ÀÚ½ÄÀÌ Á¾·áµÉ ¶§ ±îÁö, ¶Ç´Â ÇöÀç ÇÁ·Î¼¼½º¸¦ Á¾·á½ÃÅ°°Å³ª ½Ã±×³Î ó¸® ÇÔ¼ö¸¦ È£ÃâÇÏ´Â ÇൿÀ» ÇÏ´Â ½ÅÈ£°¡ Àü´ÞµÉ¶§±îÁö ÇöÀç ÇÁ·Î¼¼½ºÀÇ ½ÇÇàÀ» ÀϽà ÁßÁö½ÃŲ´Ù.

¸¸ÀÏ pid ·Î ÁöÁ¤µÈ ÀÚ½ÄÀÌ È£Ã⠽𣿡 ÀÌ¹Ì Á¾·áµÇ¾ú´Ù¸é(Á»ºñ ÇÁ·Î¼¼½º), ÇÔ¼ö´Â Áï½Ã ¸®ÅÏÇÑ´Ù. ÀÚ½ÄÀÌ »ç¿ëÇÑ ½Ã½ºÅÛ ÀÚ¿øµéÀº ¸ðµÎ Ç®¾îÁø´Ù.

pid °ªÀº ´ÙÀ½ Áß ÇϳªÀÌ´Ù:

< -1
ÀÌ°ÍÀº ÇÁ·Î¼¼¼¼ ±×·ì ID°¡ pidÀÇ Àý´ë °ª°ú °°Àº ¾î¶² ÀÚ½Ä ÇÁ·Î¼¼½º¸¦ ±â´Ù¸®¶ó´Â ÀǹÌÀÌ´Ù.
-1
ÀÌ°ÍÀº ¾î¶² ÀÚ½Ä ÇÁ·Î¼¼½º¸¦ ±â´Ù¸®¶ó´Â ÀǹÌÀÌ´Ù; ÀÌ°ÍÀº wait ¿¡¼­ ³ªÅ¸³­ °Í°ú °°Àº ÇൿÀ» ÇÑ´Ù.
0
ÀÌ°ÍÀº ÇÁ·Î¼¼½º ±×·ì ID°¡ È£Ãâ ÇÁ·Î¼¼½ºÀÇ ID¿Í °°Àº ¾î¶² ÀÚ½Ä ÇÁ·Î¼¼½º¸¦ ±â´Ù¸®¶ó´Â ÀǹÌÀÌ´Ù.
> 0
ÀÌ°ÍÀº ÇÁ·Î¼¼½º ID°¡ pidÀÇ °ª°ú °°Àº ÀÚ½ÄÀ» ±â´Ù¸®¶ó´Â ÀǹÌÀÌ´Ù.

options ÀÇ °ªÀº 0 À̰ųª ´ÙÀ½ »ó¼öÀÇ ¾î¶²°Í°ú OR ÀÌ´Ù.

WNOHANG
ÀÌ°ÍÀº ¾î¶² Àڽĵµ Á¾·áµÇÁö ¾Ê¾Ò´Ù¸é Áï½Ã ¸®ÅÏÇ϶ó´Â ÀǹÌÀÌ´Ù.
WUNTRACED
ÀÌ°ÍÀº ¸ØÃ߰ųª »óÅ°¡ º¸°íµÇÁö ¾ÊÀº ÀڽĵéÀ» À§ÇØ ¿ª½Ã ¸®ÅÏÇ϶ó´Â ÀǹÌÀÌ´Ù.

¸¸ÀÏ status °¡ NULLÀÌ ¾Æ´Ï¶ó¸é wait ¶Ç´Â waitpid ´Â status°¡ °¡¸®Å°´Â À§Ä¡¿¡ »óÅ Á¤º¸¸¦ ÀúÀåÇÑ´Ù.

ÀÌ »óÅ´ ´ÙÀ½ ¸ÅÅ©·Îµé·Î Æò°¡µÈ´Ù.(ÀÌµé ¸ÅÅ©·Î´Â ÀÎÀڷνá stat ¹öÆÛ (int)¸¦ °¡Áö°í ÀÖ´Ù. -- ¹öÆÛ¿¡ ´ëÇÑ Æ÷ÀÎÅÍ°¡ ¾Æ´Ï´Ù!)

WIFEXITED(status)
ÀÚ½ÄÀÌ Á¤»óÀûÀ¸·Î Á¾·áµÇ¾ú´Ù¸é non-zero ÀÌ´Ù.
WEXITSTATUS(status)
exit() ¸¦ È£ÃâÇϱâ À§ÇÑ ÀÎÀÚ³ª ÁÖ ÇÁ·Î±×·¥¿¡¼­ return ¹®ÀåÀ» À§ÇÑ ÀÎÀÚ·Î½á ¼³Á¤µÇ°í Á¾·áµÈ ÀÚ½ÄÀÇ ¹Ýȯ ÄÚµåÀÇ ÃÖÇÏÀ§ 8ºñÆ®¸¦ Æò°¡ÇÑ´Ù. ÀÌ ¸ÅÅ©·Î´Â WIFEXITED °¡ non-zero ¸¦ ¹ÝȯÇÒ ¶§¸¸ Æò°¡µÈ´Ù.
WIFSIGNALED(status)
¸¸ÀÏ ÀÚ½Ä ÇÁ·Î¼¼½º°¡ ÀâÇôÁöÁö ¾ÊÀº ½ÅÈ£¶§¹®¿¡ Á¾·áµÇ¾ú´Ù¸é ÂüÀ» ¹ÝȯÇÑ´Ù.
WTERMSIG(status)
ÀÚ½Ä ÇÁ·Î¼¼½º¸¦ Á¾·áÇϵµ·Ï ¾ß±âÇÑ ½ÅÈ£ÀÇ ¼ýÀÚ¸¦ ¹ÝȯÇÑ´Ù. ÀÌ ¸ÅÅ©·Î´Â ¸¸ÀÏ WIFSIGNALED °¡ non-zero ¸¦ ¹ÝȯÇÒ °æ¿ì¸¸ Æò°¡µÈ´Ù.
WIFSTOPPED(status)
¹ÝȯÀÇ ¿øÀÎÀÌ µÈ ÀÚ½Ä ÇÁ·Î¼¼½º°¡ ÇöÀç Á¤ÁöµÇ¾î ÀÖ´Ù¸é ÂüÀ» ¹ÝȯÇÑ´Ù.; ÀÌ°ÍÀº ÀÌ ÇÔ¼ö°¡ WUNTRACED¸¦ »ç¿ëÇßÀ» ¶§¸¸ °¡´ÉÇÏ´Ù.
WSTOPSIG(status)
ÀÚ½ÄÀ» Á¤ÁöÇϵµ·Ï ¾ß±âÇÑ ½ÅÈ£ÀÇ ¼ýÀÚ¸¦ ¹ÝȯÇÑ´Ù. ÀÌ ¸ÅÅ©·Î´Â WIFSTOPPED °¡ non-zero ¸¦ ¹ÝȯÇÒ °æ¿ì¸¸ Æò°¡µÈ´Ù.
 

¹Ýȯ°ª

Á¾·áµÈ ÀÚ½ÄÀÇ ÇÁ·Î¼¼½º ID´Â ¿¡·¯À϶§ -1 À̰ųª ¸¸ÀÏ WNOHANG ÀÌ »ç¿ëµÇ°í ¾î¶² Àڽĵµ ÀÌ¿ëÇÒ ¼ö ¾ø´Ù¸é 0À» ¹ÝȯÇÑ´Ù. (°¢°¢ÀÇ °æ¿ì, errno ´Â Àû´çÇÑ °ªÀ¸·Î ¼³Á¤µÈ´Ù.)  

¿¡·¯

ECHILD
¸¸ÀÏ pid ·Î ÁöÁ¤µÈ ÇÁ·Î¼¼½º°¡ Á¸ÀçÇÏÁö ¾Ê°Å³ª È£Ãâ ÇÁ·Î¼¼½ºÀÇ ÀÚ½ÄÀÌ ¾Æ´Ò °æ¿ì ÀÌ´Ù. (ÀÌ°ÍÀº SIGCHLD ¿¡ ´ëÇÑ ÇൿÀÌ SIG_IGN À¸·Î ¼³Á¤µÇ¾ú´Ù¸é ÀÚ½ÅÀÇ ÀÚ½ÄÀ» À§ÇØ ÀϾ ¼ö ÀÖ´Ù.)
EINVAL
options ÀÎÀÚ°¡ À¯È¿ÇÏÁö ¾ÊÀ» °æ¿ìÀÌ´Ù.
ERESTARTSYS
¸¸ÀÏ WNOHANG °¡ ¼³Á¤µÇÁö ¾Ê°í ½ÅÈ£°¡ ºÀ¼âµÇÁö ¾Ê¾Ò°Å³ª SIGCHLD °¡ ÀâÇûÀ» ¶§ÀÌ´Ù. ÀÌ ¿¡·¯´Â ½Ã½ºÅÛ ÄÝ¿¡¼­ ¹ÝȯµÈ´Ù. ¶óÀ̺귯¸® ÀÎÅÍÆäÀ̽º´Â ERESTARTSYS¸¦ ¹ÝȯÇÒ ¶§ Çã¿ëµÇÁö ¾Ê´Â´Ù. ±×·¯³ª EINTR´Â ¹ÝȯµÈ´Ù.
 

ÁÖÀÇ

´ÜÀÏ À¯´Ð½º ¸í¼¼¼­´Â SA_NOCLDWAIT Ç÷¡±×°¡ ¼³Á¤µÇ¾î Àְųª SIGCHLD¿¡ ´ëÇÑ ÇൿÀÌ SIG_IGN(±×·¯³ª POSIX¿¡¼­´Â Çã¿ëµÇÁö ¾Ê´Â´Ù.)·Î ¼³Á¤µÇ¾î ÀÖÀ» °æ¿ì¿¡ ÀÌ Ç÷¡±×(¸®´ª½º¿¡¼­´Â Á¸ÀçÇÏÁö ¾Ê´Â´Ù)¸¦ ±â¼úÇÑ´Ù. ±×¸®°í Á¾·áµÈ ÀڽĵéÀº Á»ºñ°¡ µÇÁö ¾ÊÀ¸¸ç wait() ¶Ç´Â waitpid() ÇÔ¼öÀÇ È£ÃâÀº ¸ðµç ÀڽĵéÀÌ Á¾·áµÉ ¶§±îÁö ºÀ¼âµÉ °ÍÀ̸ç errno ¸¦ ECHILDÀ¸·Î ¼³Á¤ÇÏ°í ½ÇÆÐÇÑ´Ù.  

ȣȯ

SVr4, POSIX.1  

°ü·Ã Ç׸ñ

signal(2), wait4(2), signal(7)  

¹ø¿ª

Á¤°­ÈÆ <skyeyes@soback.kornet.net> 2000³â 8¿ù 7ÀÏ
ÇÑ±Û Manpage ÇÁ·ÎÁ§Æ® (http://man.kldp.org) 2005³â 2¿ù 11ÀÏ


 

Index

À̸§
»ç¿ë¹ý
¼³¸í
¹Ýȯ°ª
¿¡·¯
ÁÖÀÇ
ȣȯ
°ü·Ã Ç׸ñ
¹ø¿ª

This document was created by man2html, using the manual pages.
Time: 06:02:47 GMT, February 11, 2005