Home :: International :: Manuals :: Howto :: FAQ :: Man Pages :: Email Login

 
 

 

NANOSLEEP

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

̾Á°

nanosleep - »ØÄꤵ¤ì¤¿»þ´Ö¤Î´Ö¡¢¼Â¹Ô¤òÄä»ß(pause)¤¹¤ë  

½ñ¼°

#include <time.h>

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

ÀâÌÀ

nanosleep ¤Ï¾¯¤Ê¤¯¤È¤â *req ¤Ç»ØÄꤵ¤ì¤¿»þ´Ö¤Î´Ö¡¢¥×¥í¥°¥é¥à¤Î¼Â¹Ô¤òÄä»ß¤µ¤»¤ë¡£ ¤â¤·¥×¥í¥»¥¹¤Ë¥·¥°¥Ê¥ë(signal)¤¬ÇÛÁ÷¤µ¤ì¤¿¾ì¹ç¤Ë¤Ï¤è¤êû¤¤»þ´Ö¤ÇÊ֤롣 ¤³¤Î¾ì¹ç¤Ï -1 ¤¬ÊÖ¤µ¤ì¡¢errno ¤Ë EINTR ¤¬ÀßÄꤵ¤ì¡¢ rem ¤¬ NULL ¤Ç¤Ê¤±¤ì¤Ð»Ä¤ê¤Î»þ´Ö¤¬ rem ¤¬»Ø¤·¤Æ¤¤¤ë¹½Â¤ÂΤ˳ÊǼ¤µ¤ì¤ë¡£ *rem ¤ÎÃͤϻØÄꤵ¤ì¤¿Ää»ß(pause)¤ò´°Î»¤µ¤»¤ë¤¿¤á¤Ë nanosleep ¤òºÆ¤Ó¸Æ¤Ó½Ð¤¹¤Î¤Ë»ÈÍѤǤ­¤ë¡£

timespec ¹½Â¤ÂΤϥʥÎÉùï¤ß¤Î»þ´Ö´Ö³Ö¤ò»ØÄꤹ¤ë¤Î¤Ë»ÈÍѤµ¤ë¡£¤³¤ì¤Ï <time.h> ¤ËÄêµÁ¤µ¤ì¤Æ¤ª¤ê¡¢°Ê²¼¤Î¤è¤¦¤Ê·Á¼°¤Ç¤¢¤ë:


struct timespec
{
        time_t  tv_sec;         /* seconds */
        long    tv_nsec;        /* nanoseconds */
};

¥Ê¥ÎÉäΥե£¡¼¥ë¥É¤ÎÃÍ¤Ï 0 ¤«¤é 999 999 999 ¤ÎÈϰϤˤʤ±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

sleep(3) ¤ä usleep(3) ¤ËÈæ¤Ù¤ë¤È nanosleep ¤Ë¤Ï¤¤¤¯¤Ä¤«¤ÎÍøÅÀ¤¬¤¢¤ë¡£Î㤨¤Ð ¥·¥°¥Ê¥ë¤Î±Æ¶Á¤ò¼õ¤±¤Ê¤¤¡¢POSIX ¤Ë¤è¤Ã¤ÆÉ¸½à²½¤µ¤ì¤¿´Ø¿ô¤Ç¤¢¤ë¡¢ ¤è¤ê¹â¤¤»þ´Öʬ²òǽ¤òÄ󶡤¹¤ë¡¢¥·¥°¥Ê¥ë¤Ë¤è¤Ã¤ÆÃæÃǤµ¤ì¤¿¸å¤Ë Ää»ß(sleep)¤ò³¤±¤ë¤³¤È¤¬ÍưפǤ¢¤ë¡¢¤Ê¤É¤Ç¤¢¤ë¡£  

¥¨¥é¡¼

¥¨¥é¡¼¤äÎã³°¤Î¾ì¹ç¤Ï¡¢ nanosleep ¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤Ï 0 ¤ÎÂØ¤ê¤Ë -1 ¤òÊÖ¤·¡¢ errno ¤Ë°Ê²¼¤ÎÃͤΤɤ줫¤òÀßÄꤹ¤ë:
EINTR
Ää»ß(pause)¤¬¡¢¶Ø»ß(block)¤µ¤ì¤Æ¤¤¤Ê¤¤¥·¥°¥Ê¥ë¤¬¥×¥í¥»¥¹¤ËÇÛÁ÷ ¤µ¤ì¤ë¤³¤È¤Ç³ä¤ê¹þ¤Þ¤ì¤¿¡£ ¥×¥í¥»¥¹¤¬´Êñ¤Ë nanosleep ¤òºÆ¤Ó¸Æ¤Ó½Ð¤·¤ÆÄä»ß¤ò³¤±¤ë¤³¤È¤¬¤Ç¤­¤ë¤è¤¦¤Ë¡¢ »Ä¤ê¤ÎÄä»ß(sleep)»þ´Ö¤¬ *rem ¤Ë³ÊǼ¤µ¤ì¤ë¡£
EINVAL
tv_nsec ¥Õ¥£¡¼¥ë¥É¤ÎÃͤ¬ 0 ¤«¤é 999 999 999 ¤Þ¤Ç¤ÎÈϰϤˤʤ¤¤«¡¢ tv_sec ¤¬Éé¤Ç¤¢¤ë¡£
 

¥Ð¥°

¸½ºß¤Î nanosleep ¤Î¼ÂÁõ¤Ç¤ÏÉáÄ̤Υ«¡¼¥Í¥ë¤Î¥¿¥¤¥Þ¡¼µ¡¹½¤Ë´ð¤Å¤¤¤ª¤ê¡¢¤½¤ì¤Ï 1/HZ ÉäÎʬ²òǽ¤ò¤â¤Ã¤Æ¤¤¤ë¡£(Î㤨¤Ð Linux/i386 ¤Ç¤Ï 10 ms¡¢ Linux/Alpha ¤Ç¤Ï 1 ms)¡£¤½¤ì¤Ç¡¢ nanosleep ¤Ï¾ï¤Ë¾¯¤Ê¤¯¤È¤â»ØÄꤵ¤ì¤¿»þ´Ö¡¢Ää»ß(pause)¤¹¤ë¤¬¡¢¥×¥í¥»¥¹¤¬ºÆ¤Ó¼Â¹Ô¤Ç¤­¤ë ¤è¤¦¤Ë¤Ê¤ë¤Þ¤Ç»ØÄꤵ¤ì¤¿»þ´Ö¤è¤êºÇÂç¤Ç 10 ms ¤è¤±¤¤¤Ë¤«¤«¤ë¡£Æ±¤¸Íýͳ¤Ç ¥·¥°¥Ê¥ë¤¬ÇÛÁ÷¤µ¤ì¤¿¾ì¹ç¤ËÊÖ¤µ¤ì¤ë *rem ¤Ï¤¿¤¤¤Æ¤¤¼¡¤Î¤è¤êÂ礭¤¤ 1/HZ ÉäÎÇÜ¿ô¤ËÀÚ¤ê¾å¤²¤é¤ì¤ë¡£

¤¤¤¯¤Ä¤«¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤Ï¤è¤êºÙ¤«¤ÊÄä»ß(pause)¤¬É¬ÍפȤʤ롣 (Î㤨¤Ð¤¢¤ë¼ï¤Î»þ´Ö¤¬½ÅÍפʥϡ¼¥É¥¦¥§¥¢¤òÀ©¸æ¤¹¤ë¾ì¹ç¤Ê¤É)¡¢ nanosleep ¤Ï¤è¤ê¹â¤¤ÀºÅÙ¤ÎÄä»ß¤â²Äǽ¤Ç¤¢¤ë¡£¤â¤·¥×¥í¥»¥¹¤¬ SCHED_FIFO ¤ä SCHED_RR ¤Î¤è¤¦¤¦¤Ê¥ê¥¢¥ë¡¦¥¿¥¤¥àHÊý¿Ë¤Î¸µ¤Ç¤Ç¥¹¥±¥¸¥å¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤Ê¤é¤Ð¡¢ 2 ms °Ê²¼¤ÎÄä»ß¤¬¤Ç¤­¡¢¥Þ¥¤¥¯¥íÉÃÀºÅ٤Υӥ¸¡¼¡¦¥¦¥§¥¤¥È¤È¤·¤Æµ¡Ç½¤¹¤ë¡£

 

½àµò

POSIX.1b (°ÊÁ°¤Î POSIX.4)  

´ØÏ¢¹àÌÜ

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


 

Index

̾Á°
½ñ¼°
ÀâÌÀ
¥¨¥é¡¼
¥Ð¥°
½àµò
´ØÏ¢¹àÌÜ

 
 
 
 
Google
  Web Linuxinfor   
 

Home :: Copyright :: Privacy :: Credits :: Get a free Linuxinfor Email Account

Document on this page is part of "Linuxinfor Man Pages in HTML Format: man2". See Index Page for more info about Authorship and Copyright.

1999-2008 Linuxinfor.com. No rights reserved.