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

大龍的博客

常用鏈接

統計

最新評論

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>
            久久www成人_看片免费不卡| 久久亚洲捆绑美女| 国产日本亚洲高清| 久久久国产精品一区二区三区| 香蕉成人伊视频在线观看| 国产无一区二区| 免费一级欧美在线大片| 欧美激情亚洲综合一区| 亚洲影视综合| 欧美与欧洲交xxxx免费观看| 亚洲第一区中文99精品| 亚洲欧洲日产国产网站| 欧美国产欧美综合| 亚洲欧美卡通另类91av| 久久久国产一区二区| 亚洲美女av黄| 亚洲一区三区视频在线观看| 伊人久久大香线蕉av超碰演员| 亚洲黄色成人久久久| 国产精品你懂得| 美女国内精品自产拍在线播放| 欧美成人日韩| 亚洲在线观看视频网站| 久久精品日产第一区二区三区| 日韩亚洲成人av在线| 亚洲综合清纯丝袜自拍| 亚洲国产高清高潮精品美女| 一区二区激情视频| 国产一区二区激情| 亚洲国产成人一区| 国产伦精品免费视频 | 久久精品亚洲一区| aa级大片欧美三级| 欧美一级黄色网| 999亚洲国产精| 午夜精品三级视频福利| 亚洲国产精品第一区二区| 中文日韩电影网站| 在线精品视频一区二区| 亚洲深夜福利网站| 亚洲国内高清视频| 亚洲欧美日韩久久精品| 亚洲日本va午夜在线电影| 亚洲男女毛片无遮挡| 亚洲精品国产精品国产自| 亚洲男人影院| 夜夜嗨av一区二区三区四区 | 欧美中文在线免费| 欧美国产日韩精品| 久久久久9999亚洲精品| 午夜在线一区| 亚洲一区二区三区四区视频| 亚洲激情第一区| 先锋影院在线亚洲| 亚洲一区精品视频| 欧美 日韩 国产在线| 久久精品国产亚洲精品| 欧美日韩在线播放一区二区| 麻豆精品一区二区av白丝在线| 国产精品高精视频免费| 欧美激情精品久久久久久变态 | 亚洲午夜久久久久久久久电影院| 亚洲国产黄色片| 欧美一区二区三区久久精品| 亚洲一二区在线| 欧美刺激性大交免费视频| 久久亚洲二区| 国产精品自拍一区| 99在线精品观看| 亚洲全部视频| 久久久欧美一区二区| 欧美一区日本一区韩国一区| 欧美日韩一区二区欧美激情| 亚洲国产精品t66y| 在线观看视频免费一区二区三区| 欧美亚洲三级| 午夜亚洲影视| 国产精品福利影院| 日韩视频免费观看高清在线视频| 亚洲国内自拍| 久久夜色精品国产亚洲aⅴ| 久久久久成人网| 国产免费一区二区三区香蕉精| 99在线精品免费视频九九视| 一级日韩一区在线观看| 欧美成人影音| 亚洲成色最大综合在线| 狠狠干综合网| 欧美在线观看一区二区| 欧美在线视频日韩| 国产精品五月天| 亚洲一二三四久久| 午夜精品av| 国产精品久久久久秋霞鲁丝| 在线视频亚洲一区| 亚洲网站在线| 国产精品国产三级国产aⅴ入口| 99re6热只有精品免费观看| 野花国产精品入口| 欧美日本簧片| 99精品国产福利在线观看免费 | 欧美日韩在线高清| 99ri日韩精品视频| 亚洲一二三区精品| 国产精品videosex极品| 中文日韩在线视频| 亚洲欧美日韩一区二区三区在线| 欧美视频在线观看一区二区| 9国产精品视频| 亚洲一区二区三区久久 | 欧美日韩精品不卡| 欧美大片在线看免费观看| 在线日韩一区二区| 欧美成人国产一区二区| 亚洲大片一区二区三区| 亚洲精品免费一二三区| 欧美成人亚洲| 99日韩精品| 午夜精品影院| 国产一区二区三区免费观看 | 久久久精品性| 伊人久久大香线蕉综合热线| 老司机午夜精品视频| 亚洲国产日韩一级| 亚洲视频欧美在线| 国产精品国产三级国产普通话蜜臀 | 亚洲欧美国产视频| 久久精品在线视频| 亚洲大胆视频| 欧美激情一区二区在线| 一区二区毛片| 久久精品一区蜜桃臀影院| 在线欧美日韩国产| 欧美极品在线播放| 亚洲性图久久| 久久综合99re88久久爱| 亚洲精品国产精品乱码不99 | 亚洲一区二区三区国产| 国产精品自拍三区| 久久综合久久久久88| 亚洲精品综合精品自拍| 亚洲少妇中出一区| 国产精品一区久久久久| 久久久久久9| 亚洲三级网站| 欧美伊人精品成人久久综合97| 今天的高清视频免费播放成人| 欧美国产亚洲视频| 亚洲女同精品视频| 欧美成年人网| 亚洲一区二区在线视频| 国产在线精品成人一区二区三区| 免费在线欧美黄色| 亚洲午夜女主播在线直播| 久久综合狠狠综合久久综合88| 亚洲美女视频在线观看| 国产精品一区二区视频| 麻豆精品网站| 亚洲先锋成人| 蜜臀av性久久久久蜜臀aⅴ| 在线亚洲精品| 黄色工厂这里只有精品| 欧美区二区三区| 欧美在线视频在线播放完整版免费观看| 欧美激情亚洲综合一区| 翔田千里一区二区| 亚洲欧洲日韩女同| 国产精品美女在线| 蜜桃伊人久久| 亚洲综合日韩| 久久亚洲图片| 亚洲一区二区三区高清| 欧美高清视频一区| 欧美一区1区三区3区公司| 亚洲精品社区| 国产一区激情| 国产精品激情| 欧美1区2区| 久久国产福利| 亚洲图片欧洲图片日韩av| 亚洲福利av| 久久久精品国产免费观看同学| 亚洲午夜精品网| 亚洲国产婷婷香蕉久久久久久99| 国产精品热久久久久夜色精品三区| 麻豆91精品| 欧美一区二区三区精品| 亚洲网站啪啪| 亚洲黄色免费网站| 久久久777| 亚洲欧美在线磁力| 99日韩精品| 亚洲国产高清在线| 国内精品久久久久久久影视麻豆| 欧美午夜理伦三级在线观看| 欧美国内亚洲| 久久一区免费| 久久精品免费| 欧美亚洲视频在线观看| 在线亚洲+欧美+日本专区|