NANOSLEEP

Section: Linux Programmer's Manual (2)
Updated: 1996-04-10
Index
Return to Main Contents
 

À̸§

nanosleep - ÁöÁ¤ÇÑ ½Ã°£¿¡ ½ÇÇàÀ» Àá½Ã ¸ØÃá´Ù.  

»ç¿ë¹ý

#include <time.h>

int nanosleep(const struct timespec *req, struct timespec *rem);  

¼³¸í

nanosleep Àº Àû¾îµµ *req ¿¡ ÁöÁ¤µÈ ½Ã°£¸¸Å­ ÇÁ·Î±×·¥ ½ÇÇàÀ» ´ÊÃá´Ù. ½Ã±×³ÎÀÌ ÇÁ·Î¼¼½º·Î Àü´ÞµÆ´Ù¸é ±×·± ±â´ÉÀº ´õ »¡¸® ¹ÝȯÇÒ ¼ö ÀÖ´Ù. ±× ±â´ÉÀº ½Ã±×³ÎÀÌ ÇÁ·Î¼¼½º¿¡ Àü´ÞµÇ¾ú´Ù¸é ´õ »¡¸® ¹ÝȯÇÒ ¼ö ÀÖ´Ù. -1ÀÌ ¹ÝȯµÇ´Â °æ¿ì EINTR ·Î errno¸¦ ¼³Á¤ÇÏ°í, rem ÀÌ NULL ÀÌ ¾Æ´Ï¶ó¸é rem ÀÌ °¡¸®Å°´Â °÷¿¡ ³²Àº ½Ã°£À» ±â·ÏÇÑ´Ù. ±×ÈÄ *rem °ªÀº ´Ù½Ã nanosleep ¿ÀÃâ¿¡ »ç¿ëµÉ ¼ö ÀÖ´Ù. timespec Àº ³ª³ëÃÊÀÇ Á¤¹Ðµµ¸¦ °¡Áø ½Ã°£ °£°ÝÀ» ÁöÁ¤Çϴµ¥ »ç¿ëµÈ´Ù. ±×°ÍÀº <time.h> ¿¡ ÁöÁ¤µÇ°í


        time_t  tv_sec;         /* seconds */
        long    tv_nsec;        /* nanoseconds */
};


ÀÇ ÇüŸ¦ °®´Â´Ù.

³ª³ëÃÊÇÊµå °ªÀº ¿¡¼­ 999 999 999ÀÇ ¹üÀ§¾È¿¡ µé¾î¾ß ÇÑ´Ù.

sleep(3)
¿Í
usleep(3)
¸¦ ºñ±³ÇÑ´Ù¸é, 
nanosleep
´Â ¸ðµç POSIX Ç¥ÁØÀÎ ½Ã±×³Î¿¡ ¿µÇâÀ» ÁÖÁö ¾Ê´Â ÀÕÁ¡ÀÌ ÀÖ´Ù. ±×°ÍÀº ³ôÀº 
½Ã°£ ºÐ¼®À» Á¦°øÇÏ°í, ´õ ½±°Ô ½Ã±×³Î¿¡ ÀÇÇØ Áß´ÜµÈ °è¼ÓÀûÀÎ ´ë±â»óŸ¦ 
Çã¶ôÇÑ´Ù.
 

¿¡·¯

¿¡·¯³ª ¿¹¿Ü(exception)ÀÇ °æ¿ì, nanosleep ½Ã½ºÅÛ È£ÃâÀº 0´ë½Å -1À» ¹ÝȯÇÏ°í ´ÙÀ½ °ªÁß Çϳª·Î errno ¸¦ ¼³Á¤ÇÑ´Ù:
EINTR
ÀϽà ÁßÁö´Â ÇÁ·Î¼¼½º¿¡ Àü´ÞµÈ ºñºí·ÏÈ­ ½Ã±×³Î¿¡ ÀÇÇØ ÁߴܵȴÙ. ³²Àº ´ë±â ½Ã°£Àº ÇÁ·Î¼¼½º°¡ ½±°Ô nanosleep ¸¦ ´Ù½Ã È£ÃâÇÒ ¼ö ÀÖµµ·Ï *rem¿¡ ±â·ÏµÇ°í, ÀϽÃÁ¤Áö´Â °è¼ÓµÈ´Ù.
EINVAL
tv_nsec Çʵå¾ÈÀÇ °ªÀº 0¿¡¼­ 999 999 999¹üÀ§°¡ ¾Æ´Ï°Å³ª tv_sec °¡ À½¼öÀÌ´Ù.
 

¹ö±×

nanosleep ÀÇ ÇöÀç ±¸ÇöÀº 1/HZ s (i.e, 10 ms on Linux/i386 and 1 ms on Linux/Alpha) ÀÇ resolutionÀ» °¡Áö°í Àִ ǥÁØÀÇ Ä¿³Î ŸÀÌ¸Ó ¸ÞÄ«´ÏÁòÀ» ±âº»À¸·ÎÇÑ´Ù. ±×·¯¹Ç·Î, nanosleep ´Â Àû¾îµµ ÁöÁ¤µÈ ½Ã°£¸¸Å­ Ç×»ó ÀϽà Á¤ÁöÇÑ´Ù. ±×·¯³ª ±×°ÍÀº ÇÁ·Î¼¼½º°¡ ´Ù½Ã ½ÇÇà°¡´É ÇØÁö±â±îÁö ÁöÁ¤µÈ°Í º¸´Ù 10msÀÌ»ó ´õ °É¸± ¼ö ÀÖ´Ù. °°Àº ÀÌÀ¯·Î, *rem¿¡ Àü´ÞµÈ ½Ã±× ³ÎÀÇ ¹Ýȯ°ªÀº ´ë°³ 1/HZ sÁ¤µµ µÈ´Ù. ´õ¿í´õ Á¤È®ÇÑ ÀϽÃÁ¤Áö°¡ ÇÊ¿äÇÑ ÀÀ¿ëÇÁ·Î±×·¥Ã³·³ nanosleep µµ ¶ÇÇÑ ¸Å¿ìÁ¤È®ÇÑ ÀϽÃÁ¤Áö°¡ °¡´ÉÇÏ´Ù. ÇÁ·Î¼¼½º°¡ SCHED_FIFO ³ª SCHED_RR ¿Í °°Àº ½ÇÁ¦½Ã°£Á¤Ã¥¿¡¼­ ½ºÄÉÁ층µÇ¾ú´Ù¸é, 2msÀÌ»óÀÇ ÀϽÃÁ¤Áö´Â ¸¶ÀÌÅ©·ÎÃÊÀÇ Á¤¹Ðµµ¸¦ °¡Áø´Ù.  

ȣȯ

POSIX.1b (formerly POSIX.4).  

°ü·Ã Ç׸ñ

sleep(3), usleep(3), sched_setscheduler(2), timer_create(2)  

¿ªÀÚ

ASPLINUX<man@asp-linux.co.kr>, 2000³â 7¿ù 29


 

Index

À̸§
»ç¿ë¹ý
¼³¸í
¿¡·¯
¹ö±×
ȣȯ
°ü·Ã Ç׸ñ
¿ªÀÚ

This document was created by man2html, using the manual pages.
Time: 08:06:59 GMT, March 25, 2004