getitimer

Autres langues

Langue: ja

Version: 2006-04-27 (openSuse - 09/10/07)

Section: 2 (Appels système)

̾Á°

getitimer, setitimer - ¥¤¥ó¥¿¡¼¥Ð¥ë¡¦¥¿¥¤¥Þ¡¼¤ÎÃͤò¼èÆÀ¤Þ¤¿¤ÏÀßÄꤹ¤ë

½ñ¼°


#include <sys/time.h>



int getitimer(int which, struct itimerval *value);


int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue);

ÀâÌÀ

¥·¥¹¥Æ¥à¤Ï 1 ¸Ä¤Î¥×¥í¥»¥¹¤Ë¤Ä¤­ 3 ¸Ä¤Î¥¤¥ó¥¿¡¼¥Ð¥ë¡¦¥¿¥¤¥Þ¡¼¤òÄ󶡤¹¤ë¡£ ¤½¤ì¤¾¤ì¤Î¥¿¥¤¥Þ¡¼¤ÏÊÌ¡¹¤Î»þ´ÖÎΰè¤Ç¸º¾¯¤¹¤ë¡£ ¤É¤Î¥¿¥¤¥Þ¡¼¤âËþλ¤¹¤ë¤È¥×¥í¥»¥¹¤Ë¥·¥°¥Ê¥ë¤¬Á÷¤é¤ì¡¢ ¥¿¥¤¥Þ¡¼¤Ï (ÀßÄê¤Ë¤è¤Ã¤Æ¤Ï) ºÆ¤Ó³«»Ï¤µ¤ì¤ë¡£
ITIMER_REAL
¼Â»þ´Ö (real time) ¤Ç¸º¾¯¤·¡¢Ëþλ¤¹¤ë¤È SIGALRM ¤¬Á÷¤é¤ì¤ë¡£
ITIMER_VIRTUAL
¥×¥í¥»¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤ë´Ö¤Î¤ß¸º¾¯¤·¡¢Ëþλ¤¹¤ë¤È SIGVTALRM ¤¬Á÷¤é¤ì¤ë¡£
ITIMER_PROF
¥×¥í¥»¥¹¤¬¼Â¹Ô¤µ¤ì¤Æ¤¤¤Æ¡¢ ¤«¤Ä¥·¥¹¥Æ¥à¤¬¤½¤Î¥×¥í¥»¥¹¤Î¤¿¤á¤Ë½èÍý¤ò¹Ô¤Ê¤Ã¤Æ¤¤¤ë´Ö¤Ë¸º¾¯¤¹¤ë¡£ ¤³¤Î¥¿¥¤¥Þ¡¼¤Ï¤¿¤¤¤Æ¤¤ ITIMER_VIRTUAL ¤ÈÁȤ߹ç¤ï¤µ¤ì¡¢¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤¬¥«¡¼¥Í¥ë¶õ´Ö¤È¥æ¡¼¥¶¡¼¶õ´Ö¤Ç ¤É¤ì¤À¤±¤Î»þ´Ö¤ò²á¤´¤·¤¿¤«¥×¥í¥Õ¥¡¥¤¥ë¤¹¤ë¤Î¤Ë»ÈÍѤµ¤ì¤ë¡£ Ëþλ¤¹¤ë¤È SIGPROF ¤¬Á÷¤é¤ì¤ë¡£

¥¿¥¤¥Þ¡¼¤ÎÃͤϰʲ¼¤Î¹½Â¤ÂΤˤè¤Ã¤ÆÄêµÁ¤µ¤ì¤ë:




struct itimerval {

    struct timeval it_interval; /* next value */

    struct timeval it_value;    /* current value */

};

struct timeval {

    long tv_sec;                /* seconds */

    long tv_usec;               /* microseconds */

};

getitimer() ´Ø¿ô¤Ï value ¤Ç»ØÄꤵ¤ì¤¿¹½Â¤ÂÎ¤Ë which ¤Ç»ØÄꤵ¤ì¤¿ (ITIMER_REAL, ITIMER_VIRTUAL, ITIMER_PROF ¤Î¤É¤ì¤«¤Î) ¥¿¥¤¥Þ¡¼¤Î¸½ºß¤ÎÀßÄê¤ò³ÊǼ¤¹¤ë¡£ it_value Í×ÁǤˤϥ¿¥¤¥Þ¡¼¤Î»Ä¤ê»þ´Ö¤¬ÀßÄꤵ¤ì¤ë¡£¥¿¥¤¥Þ¡¼¤¬¥ª¥Õ¤Î¾ì¹ç¤Ï ¥¼¥í¤¬ÀßÄꤵ¤ì¤ë¡£Æ±ÍÍ¤Ë it_interval ¤Ë¤Ï½é´üÃͤ¬ÀßÄꤵ¤ì¤ë¡£ setitimer() ´Ø¿ô¤Ï»ØÄꤵ¤ì¤¿¥¿¥¤¥Þ¡¼¤Ë value ¤ÎÃͤòÀßÄꤹ¤ë¡£ ovalue ¤¬¥¼¥í¤Ç¤Ê¤±¤ì¤Ð¡¢¥¿¥¤¥Þ¡¼¤Î¸Å¤¤Ãͤ¬¤½¤³¤Ë³ÊǼ¤µ¤ì¤ë¡£

¥¿¥¤¥Þ¡¼¤Ï it_value ¤«¤é¥¼¥í¤Ø¸þ¤±¤Æ¸º¤Ã¤Æ¤¤¤­¡¢¥·¥°¥Ê¥ë¤òÀ¸À®¤·¡¢ it_interval ¤Ë½é´ü²½¤µ¤ì¤ë¡£ ¥¿¥¤¥Þ¡¼¤¬¥¼¥í¤ËÀßÄꤵ¤ì¤¿ (it_value ¤¬¥¼¥í¤«¡¢¥¿¥¤¥Þ¡¼¤¬Ëþλ¤·¤¿»þ¤Ë it_interval ¤¬¥¼¥í¤Î) ¾ì¹ç¤ÏÄä»ß¤¹¤ë¡£

¥¿¥¤¥Þ¡¼¤Î´ü´Ö¤Ï tv_sec ¤È tv_usec ¤ÎξÊý¤Ë¤è¤ê·èÄꤵ¤ì¤ë¡£

Í׵ᤷ¤¿»þ´Ö¤¬¤¯¤ëÁ°¤Ë¥¿¥¤¥Þ¡¼¤¬Ëþλ¤¹¤ë¤³¤È¤Ï¤Ê¤¤¤¬¡¢ µÕ¤Ë¤¢¤ë (û¤¤) »þ´Ö¤À¤±ÃÙ¤ì¤ë¤³¤È¤Ï¤¢¤ë¡£ ¤É¤ì¤À¤±ÃÙ¤ì¤ë¤«¤Ï¥·¥¹¥Æ¥à¤Î»þ´Öʬ²òǽ¤È¥·¥¹¥Æ¥à¤ÎÉé²Ù¤Ë°Í¸¤¹¤ë (⤷¡¢¥Ð¥°¤Î¹à¤â»²¾È¤Î¤³¤È)¡£ ¥¿¥¤¥Þ¡¼¤¬Ëþλ¤¹¤ë¤È¥·¥°¥Ê¥ë¤¬À¸À®¤µ¤ì¡¢¥¿¥¤¥Þ¡¼¤Ï½é´ü²½¤µ¤ì¤ë¡£ ¥×¥í¥»¥¹¤¬¥¢¥¯¥Æ¥£¥Ö¤Ê»þ (ITIMER_VIRTUAL ¤Î¾ì¹ç¤Ë¤Ï¾ï¤Ë¤½¤¦¤Ç¤¢¤ë) ¤Ë¥¿¥¤¥Þ¡¼¤¬Ëþλ¤·¤¿¾ì¹ç¡¢À¸À®¤µ¤ì¤¿¥·¥°¥Ê¥ë¤Ï ¤¹¤°¤ËÇÛÁ÷¤µ¤ì¤ë¡£¤½¤ì°Ê³°¤Î¾ì¹ç¤Ï¡¢¥·¥¹¥Æ¥à¤ÎÉé²Ù¤Ë¤è¤ê¾¯¤·¤Î»þ´Ö¤À¤± ÃÙ¤ì¤ÆÇÛÁ÷¤µ¤ì¤ë¡£

ÊÖ¤êÃÍ

À®¸ù¤·¤¿¾ì¹ç¤Ï¥¼¥í¤¬Ê֤롣¥¨¥é¡¼¤Î¾ì¹ç¤Ï -1 ¤¬Ê֤ꡢ errno ¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£

¥¨¥é¡¼

EFAULT
value ¤Þ¤¿¤Ï ovalue ¤¬Í­¸ú¤Ê¥Ý¥¤¥ó¥¿¡¼¤Ç¤Ê¤¤¡£
EINVAL
which ¤¬ ITIMER_REAL, ITIMER_VIRTUAL, ITIMER_PROF ¤Î¤É¤ì¤Ç¤â¤Ê¤¤¡£

½àµò

POSIX.1-2001, SVr4, 4.4BSD (¤³¤Î¥³¡¼¥ë¤Ï 4.2BSD ¤Ç»Ï¤á¤Æ¸½¤ï¤ì¤¿).

Ãí°Õ

fork(2) ¤ÇºîÀ®¤µ¤ì¤¿»Ò¥×¥í¥»¥¹¤Ï¡¢ ¿Æ¥×¥í¥»¥¹¤Î¥¤¥ó¥¿¡¼¥Ð¥ë¡¦¥¿¥¤¥Þ¡¼¤ò·Ñ¾µ¤·¤Ê¤¤¡£ execve(2) ¤ÎÁ°¸å¤Ç¤Ï¥¤¥ó¥¿¡¼¥Ð¥ë¡¦¥¿¥¤¥Þ¡¼¤ÏÊݸ¤µ¤ì¤ë¡£

¥Ð¥°

¥·¥°¥Ê¥ë¤ÎÀ¸À®¤ÈÇÛÁ÷¤ÏÊ̸ĤΤâ¤Î¤Ç¤¢¤ê¡¢ Á°½Ò¤Î¥·¥°¥Ê¥ë¤Î¤½¤ì¤¾¤ì¤Ë¤Ä¤¤¤Æ°ì¤Ä¤À¤±¤¬¥×¥í¥»¥¹¤Î¤¿¤á¤Ë ÂÔµ¡¤¹¤ë¡£ Èó¾ï¤Ë½Å¤¤Éé²Ù¤Î²¼¤Ç¤Ï¡¢ ITIMER_REAL ¤Ë¤Ä¤¤¤Æ¡¢ 1 ¤ÄÁ°¤Î»þ´ÖÀÚ¤ì¤ËͳÍ褹¤ë¥·¥°¥Ê¥ë¤¬ÇÛÁ÷¤µ¤ì¤ëÁ°¤Ë¡¢ »þ´Ö¤¬ÀÚ¤ì¤Æ¤·¤Þ¤¦¤³¤È¤¬µ¯¤³¤ê¤¦¤ë¡£ ¤½¤Î¤è¤¦¤Ê¾ì¹ç¡¢ 2 ¸Ä¤á¤Î¥¤¥Ù¥ó¥È¤ËÂФ¹¤ë¥·¥°¥Ê¥ë¤Ï¼º¤ï¤ì¤Æ¤·¤Þ¤¦¡£

Linux ¤Ç¤Ï¡¢¥¿¥¤¥Þ¡¼¤ÎÃÍ¤Ï jiffy ¤Çɽ¸½¤µ¤ì¤ë¡£ Í׵᤬ jiffy ɽ¸½¤Ç (include/linux/jiffies.h ¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë) MAX_SEC_IN_JIFFIES ¤ò±Û¤¨¤ëÃͤò¥¿¥¤¥Þ¡¼¤ËÀßÄꤷ¤è¤¦¤È¤¹¤ë ¤â¤Î¤Î¾ì¹ç¡¢¥¿¥¤¥Þ¡¼¤Ï°ÅÌۤˤ³¤Î¾å¸ÂÃͤËÀÚ¤êµÍ¤á¤é¤ì¤ë¡£ Linux/x86 ¤Î¾ì¹ç (¥«¡¼¥Í¥ë 2.6.13 °Ê¹ß¤Ç¤Ï jiffy ¤Ï 0.004 ÉÃ) ¤Î¾ì¹ç¡¢ ¤³¤ì¤Ï¥¿¥¤¥Þ¡¼¤Î¾å¸ÂÃͤ¬¤ª¤è¤½ 99.42 Æü¤Ë¤Ê¤ë¤³¤È¤ò°ÕÌ£¤¹¤ë¡£

(x86 ¤ò´Þ¤à) ¤¤¤¯¤Ä¤«¤Î¥·¥¹¥Æ¥à¤Ç¤Ï¡¢ ¥Ð¡¼¥¸¥ç¥ó 2.6.12 °ÊÁ°¤Î Linux ¥«¡¼¥Í¥ë¤Ï ¤¢¤ë¼ï¤Î¾õ¶·¤Ç¤Ï 1 jiffy Á᤯¥¿¥¤¥Þ¡¼¤¬½ªÎ»¤·¤Æ¤·¤Þ¤¦¤È¤¤¤¦¥Ð¥°¤¬¤¢¤Ã¤¿¡£ ¤³¤Î¥Ð¥°¤Ï¥«¡¼¥Í¥ë 2.6.12 ¤Ç½¤Àµ¤µ¤ì¤¿¡£

POSIX.1-2001 ¤Ç¤Ï setitimer() ¤Ï tv_usec ¤ÎÃͤ¬ 0 ¤«¤é 999999 ¤ÎÈϰϳ°¤Ç¤¢¤ë¾ì¹ç¤Ë¤Ï¼ºÇÔ¤¹¤ë¤Ù¤­¤À¤È¤·¤Æ¤¤¤ë¡£ ¤·¤«¤·¡¢Linux ¤Ç¤Ï¥¨¥é¡¼¤Ë¤Ê¤é¤º¡¢ Âбþ¤¹¤ëÉÿô¤Îʬ¤À¤±¤½¤Î¥¿¥¤¥Þ¡¼¤ÎÉäÎÃͤ¬°ÅÌÛ¤ËÄ´À°¤µ¤ì¤ë¡£ ¾­Íè(ͽÄê¤Ç¤Ï 2007 ǯ 3 ·î)¡¢¤³¤ÎÉÔ°ìÃפϽ¤Àµ¤µ¤ì¤ë: ´û¸¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ï³Î¼Â¤ËÀµ¤·¤¤·Á¤Î tv_usec ¤ÎÃͤò¶¡µë¤¹¤ë¤è¤¦¤Ëº£¤Î¤¦¤Á¤Ë½¤Àµ¤¹¤ë¤Ù¤­¤Ç¤¢¤ë¡£

´ØÏ¢¹àÌÜ

gettimeofday(2), sigaction(2), signal(2), time(7)