<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

        Linux setitimer函數(shù)的操作技巧

        時(shí)間: 孫勝652 分享

          Linux系統(tǒng)使用setitimer函數(shù)能夠事項(xiàng)高精度的定時(shí)功能,用于定時(shí)執(zhí)行function,下面學(xué)習(xí)啦小編將針對(duì)setitimer函數(shù)的用法給大家做個(gè)詳細(xì)介紹,一起來了解下吧。

          說明: setitimer一個(gè)進(jìn)程中只能有一個(gè) 下一個(gè)會(huì)覆蓋前一個(gè)的定時(shí) 想一個(gè)進(jìn)程多個(gè)定時(shí)器只能自己實(shí)現(xiàn)。

          setitimer() 不支持在同一進(jìn)程中同時(shí)使用多次以支持多個(gè)定時(shí)器。

          linux有關(guān)定時(shí)器(setitimer)的敘述是這樣的:

          linux系統(tǒng)給每個(gè)進(jìn)程提供了3個(gè)定時(shí)器,每個(gè)定時(shí)器在各自不同的域里面計(jì)數(shù)。當(dāng)任何一個(gè)timer計(jì)數(shù)到結(jié)束了,系統(tǒng)就發(fā)送一個(gè)信號(hào)(signal)給該進(jìn)程,同時(shí)計(jì)數(shù)器重置。

          一共支持以下3中計(jì)數(shù)器形式:

          ITIMER_REAL 在real time中計(jì)數(shù)器減1,然后等計(jì)數(shù)往比后發(fā)送SIGALRM信號(hào)。

          ITIMER_VIRTUAL 當(dāng)進(jìn)程在執(zhí)行的過程中計(jì)數(shù),然后當(dāng)計(jì)數(shù)完畢后發(fā)送SIGVTALRM信號(hào)給該進(jìn)程。

          ITIMER_PROF 在該進(jìn)程被執(zhí)行和系統(tǒng)在代表該進(jìn)程執(zhí)行的時(shí)間都進(jìn)行計(jì)數(shù)

          【getitimer/setitimer系統(tǒng)調(diào)用】

          功能描述:

          獲取或設(shè)定間歇計(jì)時(shí)器的值。系統(tǒng)為進(jìn)程提供三種類型的計(jì)時(shí)器,每一類以不同的時(shí)間域遞減其值。當(dāng)計(jì)時(shí)器超時(shí),信號(hào)被發(fā)送到進(jìn)程,之后計(jì)時(shí)器重啟動(dòng)。

          用法:

          #include 《sys/time.h》

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

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

          參數(shù):

          which:間歇計(jì)時(shí)器類型,有三種選擇

          ITIMER_REAL //數(shù)值為0,計(jì)時(shí)器的值實(shí)時(shí)遞減,發(fā)送的信號(hào)是SIGALRM。

          ITIMER_VIRTUAL //數(shù)值為1,進(jìn)程執(zhí)行時(shí)遞減計(jì)時(shí)器的值,發(fā)送的信號(hào)是SIGVTALRM。

          ITIMER_PROF //數(shù)值為2,進(jìn)程和系統(tǒng)執(zhí)行時(shí)都遞減計(jì)時(shí)器的值,發(fā)送的信號(hào)是SIGPROF。

          value,ovalue:時(shí)間參數(shù),原型如下

          struct itimerval

          {

          struct timeval it_interval;

          struct timeval it_value;

          };

          struct timeval

          {

          long tv_sec;

          long tv_usec;

          };

          getitimer()用計(jì)時(shí)器的當(dāng)前值填寫value指向的結(jié)構(gòu)體。

          setitimer()將value指向的結(jié)構(gòu)體設(shè)為計(jì)時(shí)器的當(dāng)前值,如果ovalue不是NULL,將返回計(jì)時(shí)器原有值。

          返回說明:

          成功執(zhí)行時(shí),返回0。失敗返回-1,errno被設(shè)為以下的某個(gè)值

          EFAULT:value或ovalue是不有效的指針

          EINVAL:其值不是ITIMER_REAL,ITIMER_VIRTUAL 或 ITIMER_PROF之一

          #include 《stdio.h》

          #include 《unistd.h》

          #include 《signal.h》

          #include 《string.h》

          #include 《sys/time.h》

          #include 《errno.h》

          void PrintMsg(int Num)

          {

          printf(“%s/n”, “Hello World”);

          return;

          }

          int main(int argc, char* argv[])

          {

          signal(SIGALRM, PrintMsg);

          struct itimerval tick;

          tick.it_value.tv_sec = 10; //十秒鐘后將啟動(dòng)定時(shí)器

          tick.it_value.tv_usec = 0;

          tick.it_interval.tv_sec =1; //定時(shí)器啟動(dòng)后,每隔1秒將執(zhí)行相應(yīng)的函數(shù)

          tick.it_interval.tv_usec = 0;

          //setitimer將觸發(fā)SIGALRM信號(hào)

          int ret = setitimer(ITIMER_REAL, &tick, NULL);

          if ( ret != 0)

          {

          printf(“Set timer error. %s /n”, strerror(errno) );

          return -1;

          }

          printf(“Wait!/n”);

          getchar();

          return 0;

          }

          上面就是Linux中setitimer函數(shù)的用法介紹了,setitimer函數(shù)擁有三種類型計(jì)時(shí)器選擇,為了達(dá)到更高精度的定時(shí),還是選擇setitimer函數(shù)比較好。

        316139 主站蜘蛛池模板: 国产97人人超碰CAO蜜芽PROM| 亚洲精品无码你懂的网站| h动态图男女啪啪27报gif| 九九九久久国产精品| 亚洲熟女精品中文字幕| 欧美日韩精品一区二区三区| 国产自产av一区二区三区性色| 精品国产亚洲av麻豆特色| 亚洲一区在线成人av| 孕交videos小孕妇xx| 精品亚洲国产成人蜜臀av| 97国产一区二区精品久久呦| 日韩一区二区大尺度在线| 一区二区福利在线视频| 91精品乱码一区二区三区| 欧美牲交a免费| 性欧美乱熟妇xxxx白浆| 国产蜜臀一区二区三区四区| 国产在线午夜不卡精品影院 | 九九热爱视频精品视频| 中文无码乱人伦中文视频在线| 无码激情亚洲一区| 欧美 日韩 国产 成人 在线观看| 亚洲aⅴ天堂av天堂无码| 性色在线视频精品| 国产亚洲无线码一区二区| 国产白袜脚足j棉袜在线观看| 亚洲AV日韩AV激情亚洲| 久久精品国产视频在热| 久久欧洲精品成av人片| 国产精品久久蜜臀av| 亚洲第一福利网站在线观看| 四虎永久在线精品免费视频观看| 国产精品综合av一区二区国产馆| 东京热人妻无码一区二区av| 亚洲中文字幕第一页在线| 日本做受高潮好舒服视频| 无码综合天天久久综合网| 国产又爽又黄的精品视频| 亚洲av中文乱码一区二| 国产精品一区二区在线欢|