青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

大龍的博客

常用鏈接

統計

最新評論

linux上定時函數 setitimer 的使用介紹(轉)

setitimer()為Linux的API,并非C語言的Standard Library,setitimer()有兩個功能,一是指定一段時間后,才執行某個function,二是每間格一段時間就執行某個function,以下程序demo如何使用setitimer()。
view plaincopy to clipboardprint?
/*
 
 
 
Filename    : timer.cpp
 
Compiler    : gcc 4.1.0 on Fedora Core 5
 
Description : setitimer() set the interval to run function
 
Synopsis    : #include <sys/time.h>
 
              int setitimer(int which, const struct itimerval *value, struct itimerval *ovalue);
 
              struct itimerval {
 
                struct timerval it_interval;
 
                struct timerval it_value;
 
              };
 
 
 
              struct timeval {
 
                long tv_sec;
 
                long tv_usec;
 
              }            
 
Release     : 11/25/2006
 
*/ 
 
#include <stdio.h>    // for printf() 
 
#include <unistd.h>   // for pause() 
 
#include <signal.h>   // for signal() 
 
#include <string.h>   // for memset() 
 
#include <sys/time.h> // struct itimeral. setitimer() 
 
 
 
void printMsg(int); 
 
 
 
int main() { 
 
  // Get system call result to determine successful or failed 
 
  int res = 0; 
 
  // Register printMsg to SIGALRM 
 
  signal(SIGALRM, printMsg); 
 
   
 
  struct itimerval tick; 
 
  // Initialize struct 
 
  memset(&tick, 0, sizeof(tick)); 
 
  // Timeout to run function first time 
 
  tick.it_value.tv_sec = 1;  // sec 
 
  tick.it_value.tv_usec = 0; // micro sec. 
 
  // Interval time to run function 
 
  tick.it_interval.tv_sec = 1; 
 
  tick.it_interval.tv_usec = 0; 
 
  // Set timer, ITIMER_REAL : real-time to decrease timer, 
 
  //                          send SIGALRM when timeout 
 
  res = setitimer(ITIMER_REAL, &tick, NULL); 
 
  if (res) { 
 
    printf("Set timer failed!!\n"); 
 
  } 
 
 
 
  // Always sleep to catch SIGALRM signal 
 
  while(1) { 
 
    pause(); 
 
  } 
 
 
 
  return 0;   
 

 
 
 
void printMsg(int num) { 
 
  printf("%s","Hello World!!\n"); 
 

當setitimer()所執行的timer時間到了,會呼叫SIGALRM signal,所以在第30行用signal()將要執行的function指定給SIGALRM。 在第43行呼叫setitimer()設定timer,但setitimer()第二個參數是sturct,負責設定timeout時間,所以第36行到第 40行設定此struct。itimerval.it_value設定第一次執行function所延遲的秒數, itimerval.it_interval設定以后每幾秒執行function,所以若只想延遲一段時間執行function,只要設定 itimerval.it_value即可,若要設定間格一段時間就執行function,則it_value和it_interval都要設定,否則 funtion的第一次無法執行,就別說以后的間隔執行了。 第36行和第39行的tv_sec為sec,第37行和40行為micro sec(0.001 sec)。 第43行的第一個參數ITIMER_REAL,表示以real-time方式減少timer,在timeout時會送出SIGALRM signal。第三個參數會存放舊的timeout值,如果不需要的話,指定NULL即可。 第47 行的pause(),命令系統進入sleep狀態,等待任何signal,一定要用while(1)無窮循環執行pause(),如此才能一直接收 SIGALRM signal以間隔執行function,若拿掉while(1),則function只會執行一次而已。

posted on 2010-05-23 03:23 大龍 閱讀(450) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲成色精品| 欧美日韩精品伦理作品在线免费观看| 欧美激情精品久久久久久| 亚洲人成77777在线观看网| 亚洲天堂网站在线观看视频| 国产欧美日韩视频一区二区| 欧美不卡在线| 久久免费高清| 午夜精品美女自拍福到在线 | 欧美欧美午夜aⅴ在线观看| 午夜精品视频在线| 美女国产一区| 午夜精品区一区二区三| 免费看av成人| 久久精品国产久精国产思思| 欧美激情一区三区| 美女网站在线免费欧美精品| 欧美日韩视频一区二区| 嫩草成人www欧美| 国产欧美va欧美va香蕉在| 亚洲国产日韩在线一区模特| 国产一区香蕉久久| 一本色道久久综合亚洲二区三区| 在线观看日韩专区| 午夜视频一区| 午夜精品久久久久久| 欧美激情久久久| 农村妇女精品| 激情欧美国产欧美| 欧美一区二区三区视频免费播放| 中国成人黄色视屏| 欧美成人69av| 欧美国产91| 国产综合精品一区| 午夜久久资源| 欧美一区二区在线观看| 国产精品国产三级国产| 日韩亚洲一区二区| 在线中文字幕一区| 欧美精品一区二区三区蜜桃 | 国产伦精品一区二区三区四区免费 | 欧美日韩亚洲综合在线| 欧美一区二区三区四区在线| 亚洲精品日本| 亚洲女人天堂av| 亚洲午夜久久久久久久久电影网| 亚洲午夜激情| 久久综合久久88| 欧美精品日韩精品| 国产精品日韩精品欧美精品| 国产精品影片在线观看| 国产原创一区二区| 99国产精品| 久久久av水蜜桃| 欧美黄色影院| 久久综合九色综合久99| 亚洲久久一区| 欧美一区中文字幕| 国产精品xnxxcom| 99国产精品久久久| 国产精品99久久久久久久女警| 欧美日韩免费观看中文| 99天天综合性| 欧美在线观看日本一区| 狠狠色狠狠色综合日日五| 久久精品国产精品亚洲精品| 美女久久网站| 999亚洲国产精| 国产精品女人网站| 香蕉久久夜色精品国产| 六月天综合网| 日韩系列在线| 国产女人aaa级久久久级| 久久久噜噜噜久久| 亚洲精品少妇网址| 欧美在线观看www| 欧美v国产在线一区二区三区| 欧美日韩一级片在线观看| 亚洲美女一区| 欧美日韩一卡| 午夜一区二区三区不卡视频| 久久这里只有| aa级大片欧美三级| 国产美女精品一区二区三区| 久久亚洲国产成人| 日韩一区二区福利| 久久久久综合网| 亚洲伦理在线| 国产精品综合网站| 久久这里有精品15一区二区三区| 亚洲欧洲综合| 久久精品视频一| 亚洲精选国产| 国产综合欧美在线看| 欧美电影免费网站| 午夜精品美女自拍福到在线| 欧美多人爱爱视频网站| 亚洲综合色网站| 亚洲电影欧美电影有声小说| 欧美吻胸吃奶大尺度电影| 久久久水蜜桃| 亚洲视频一区二区免费在线观看| 另类春色校园亚洲| 午夜久久一区| 一区二区福利| 亚洲成人原创| 国产综合久久久久久| 国产精品黄视频| 欧美高潮视频| 久久一区亚洲| 欧美在线亚洲一区| 国产精品99久久久久久久久| 欧美国产视频在线观看| 久久精品国产成人| 午夜在线视频一区二区区别| 一区二区高清在线观看| 亚洲日本欧美在线| 在线成人欧美| 在线观看亚洲精品视频| 国产一区99| 国产精品一区一区| 欧美午夜电影网| 欧美日韩国产一区精品一区 | 精品成人一区| 国产亚洲欧洲一区高清在线观看| 国产精品成人va在线观看| 欧美精品色综合| 欧美1区2区3区| 老司机午夜精品视频| 久久久久久网| 久久婷婷国产综合精品青草| 欧美一区二区播放| 校园激情久久| 欧美主播一区二区三区| 性欧美精品高清| 亚洲一区二区三区四区在线观看| 亚洲一区二区三区高清不卡| 亚洲免费视频观看| 一区二区三区日韩欧美精品| 亚洲精品精选| 亚洲理论电影网| 日韩午夜在线| 夜夜嗨av一区二区三区四区| 99riav久久精品riav| 一区二区欧美视频| 亚洲一区二区三| 亚洲欧美另类中文字幕| 午夜一区二区三区不卡视频| 欧美一区亚洲| 久久蜜桃精品| 欧美激情中文不卡| 欧美午夜激情在线| 国产亚洲欧美一区二区三区| 激情久久中文字幕| 亚洲精品一二三| 亚洲影视九九影院在线观看| 欧美亚洲免费高清在线观看| 久久久av毛片精品| 欧美黄色免费| 一区二区三区www| 午夜精品www| 久久婷婷蜜乳一本欲蜜臀| 欧美成人高清| 国产精品二区二区三区| 国产一区二区三区黄| 亚洲黄色免费| 国产精品久久精品日日| 美女精品在线观看| 午夜一级久久| 久久综合伊人77777麻豆| 久久综合久久综合九色| 久久综合五月| 欧美日韩在线一区| 欧美调教视频| 久久精品国产精品亚洲综合| 麻豆九一精品爱看视频在线观看免费| 久久视频国产精品免费视频在线| 欧美v日韩v国产v| 国产精品欧美久久久久无广告| 国外成人免费视频| 亚洲视频在线视频| 久久一区二区三区四区| 亚洲精品午夜| 久久精品久久99精品久久| 欧美日韩国产区| 黄色成人在线| 亚洲一区高清| 亚洲高清毛片| 久久国产精品久久w女人spa| 欧美.日韩.国产.一区.二区| 国产欧美一区二区三区视频| 最近中文字幕日韩精品| 久久精品国产99国产精品| 亚洲人精品午夜在线观看| 久久久精品动漫| 亚洲国产精品久久久久婷婷老年| 久久亚洲电影| 欧美国产精品中文字幕| 亚洲黄一区二区三区| 欧美日韩一区二区欧美激情|