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

大龍的博客

常用鏈接

統計

最新評論

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>
            伊人夜夜躁av伊人久久| 欧美日韩在线视频一区二区| 国产精品麻豆欧美日韩ww| 91久久精品国产| 久久久之久亚州精品露出| 亚洲摸下面视频| 国产精品二区在线观看| 亚洲美女91| 亚洲精品一级| 欧美精品免费播放| 亚洲免费观看视频| 亚洲啪啪91| 欧美日韩在线大尺度| 夜色激情一区二区| 亚洲美女一区| 欧美日韩视频在线第一区| 99国产精品久久久久久久| 亚洲精品在线观看免费| 欧美日韩国产亚洲一区 | 艳女tv在线观看国产一区| 男人的天堂亚洲在线| 亚洲国产你懂的| 亚洲精品国产精品国自产在线 | 美日韩精品视频免费看| 狂野欧美激情性xxxx| 亚洲精品久久久久久久久久久久久| 免费欧美日韩| 欧美激情中文不卡| 亚洲自拍偷拍麻豆| 久久精品国产999大香线蕉| 一区在线观看视频| 免费看亚洲片| 欧美精品一卡| 亚洲少妇中出一区| 日韩视频免费大全中文字幕| 理论片一区二区在线| 国产婷婷97碰碰久久人人蜜臀| 久久久久久久精| 欧美大片第1页| 一区二区三区四区五区视频 | 亚洲国产精品成人综合色在线婷婷| 亚洲第一毛片| 国产精品高清免费在线观看| 午夜伦理片一区| 久久久久看片| 午夜日韩视频| 欧美xxx在线观看| 性欧美videos另类喷潮| 久久性天堂网| 午夜精品三级视频福利| 一本色道久久| 亚洲国产精品成人一区二区 | 日韩一级精品视频在线观看| 亚洲男人的天堂在线| 亚洲黄色在线看| 香蕉久久夜色精品国产| 99国产精品久久久久久久久久| 午夜精品久久久久久久99热浪潮 | 欧美亚洲一区| 一区二区欧美在线观看| 久久久久久网站| 午夜国产一区| 欧美日韩免费视频| 免费成人在线观看视频| 国产精品一区免费在线观看| 亚洲国产mv| 在线日韩日本国产亚洲| 香蕉免费一区二区三区在线观看 | 国产精品网红福利| 亚洲黄网站在线观看| 精品动漫3d一区二区三区| 亚洲在线观看| 亚洲视频专区在线| 欧美久久视频| 欧美激情一区| 亚洲国产婷婷香蕉久久久久久| 欧美一区=区| 欧美影院一区| 国产伦精品一区二区三| 亚洲伊人一本大道中文字幕| 一本色道久久综合精品竹菊 | 久久久久国产精品www| 欧美成人免费观看| 欧美大尺度在线观看| 黄色亚洲大片免费在线观看| 亚洲综合日韩在线| 午夜欧美精品久久久久久久| 欧美日本在线看| 女同性一区二区三区人了人一 | 亚洲欧美视频在线观看| 亚洲福利视频二区| 亚洲欧美色婷婷| 欧美在线看片a免费观看| 欧美特黄一区| 亚洲一区bb| 先锋影音一区二区三区| 国产精品swag| 欧美一区=区| 久久在线视频| 亚洲日本成人| 欧美日韩大片一区二区三区| 9色国产精品| 欧美在线网址| 在线免费日韩片| 欧美日韩精品福利| 宅男精品视频| 亚洲欧美大片| 国产亚洲a∨片在线观看| 欧美一区二区三区精品| 老司机aⅴ在线精品导航| 国产一区在线视频| 久久xxxx精品视频| 亚洲国产精品成人精品 | 欧美日本在线观看| 亚洲综合欧美日韩| 麻豆成人精品| 一区二区三区国产精华| 国产婷婷色一区二区三区四区| 久久久久国产精品www | 亚洲精品之草原avav久久| 欧美日韩中文字幕在线视频| 午夜亚洲视频| 亚洲国产另类 国产精品国产免费| 亚洲无人区一区| 在线精品国精品国产尤物884a| 欧美国产日韩免费| 欧美一区二区久久久| 亚洲电影av在线| 欧美一级电影久久| 亚洲精选在线观看| 国产亚洲一级高清| 欧美午夜欧美| 免费在线看成人av| 久久er精品视频| 正在播放亚洲| 亚洲国产精品电影在线观看| 久久国产精品一区二区三区四区| 亚洲欧洲在线一区| 国内视频精品| 国产精品久在线观看| 欧美成人免费网站| 久久人人看视频| 香蕉av777xxx色综合一区| 亚洲精品五月天| 亚洲国产日韩精品| 久久久免费精品| 香蕉久久夜色精品| 欧美激情一区在线| 免费成人高清在线视频| 久久精品国产精品亚洲精品| 亚洲色图在线视频| 一本色道久久综合亚洲精品高清| 欧美电影免费观看网站| 久久av一区| 久久精品人人做人人爽| 亚洲女性裸体视频| 亚洲一区亚洲| 亚洲视频免费| 亚洲一区国产精品| 亚洲视频在线观看一区| 一本色道精品久久一区二区三区| 亚洲经典在线看| 亚洲精品一区在线| 亚洲精品一区二区三区福利| 亚洲黄色性网站| 亚洲美女av网站| 一区二区三区日韩欧美| 99热这里只有成人精品国产| 夜久久久久久| 亚洲综合欧美日韩| 欧美亚洲免费高清在线观看| 欧美怡红院视频| 久久影院午夜论| 欧美激情一区二区三区全黄 | 欧美在线视频免费| 久久精品综合网| 欧美一区亚洲| 欧美一区二区三区免费大片| 性xx色xx综合久久久xx| 亚洲综合第一| 欧美一区二区在线看| 亚洲欧洲视频在线| 亚洲精品精选| 亚洲精品一二三| 一本一本久久a久久精品牛牛影视| 99re成人精品视频| 亚洲欧美另类综合偷拍| 久久久久久综合| 亚洲高清一区二| 亚洲欧美久久久| 久久综合给合久久狠狠狠97色69| 欧美va天堂在线| 国产精品videosex极品| 国产亚洲毛片在线| 一本色道久久88亚洲综合88| 麻豆精品视频在线观看| aa级大片欧美三级| 欧美成人精品| 黄网站免费久久| 午夜视频一区|