linux定時器:是指在每隔一段時間後就會進行一次相關操作,具有計時性的。
核心操作是如下方法
int setitimer(int which, conststruct itimerval *restrict value,
struct itimerval *restrict ovalue);
函式返回的是value指向的值,如果ovalue不為空時剛返回上一次的結果。
下面是例子乙個。定義操作相關的標頭檔案。
////ally
////
created by li yajie on 12/4/11.
////
#ifndef ally_mtimer_h
#define ally_mtimer_h /*
* * 定義乙個訊息處函式定義,由呼叫者去實現
* for example
* switch (signo)
* return; */
typedef
void (*msg_routine) (int
signo) ; /*
* * 產生乙個定時器
* param curtimesec 程式執行多久秒後執行
* param curtimeusec 程式執行多久毫秒後執行
* param loopsec 相隔多久秒後再次執行
* param loopusec 相隔多久毫秒後再次執行 */
void mtimer(unsigned int curtimesec,unsigned int curtimeusec,unsigned int loopsec,unsigned int
loopusec);
#endif
下面是實現部分:
////ally
////
created by li yajie on 12/4/11.
////
#include
#include
#include
#include
#include
#include
"exception.h
"#include
"mtimer.h"//
#include "types.h"/**
* 時間結構體 */
struct
itimerval tval; /*
* * 產生乙個定時器
* param curtimesec 程式執行多久秒後開始執行
* param curtimeusec 程式執行多久毫秒後執行
* param loopsec 相隔多久秒後再次執行
* param loopusec 相隔多久毫秒後再次執行 */
void mtimer(unsigned int curtimesec,unsigned int curtimeusec,unsigned int loopsec,unsigned int
loopusec)
}
但上面還有個問題,由於 setitimer() 不支援在同一程序中同時使用多次以支援多個定時器,因此,如果需要同時支援多個定時例項的話,需要由實現者來管理所有的例項。
linux 下定時器 crontab
1.直接用crontab命令編輯 cron服務提供crontab命令來設定cron服務的,以下是這個命令的一些引數與說明 crontab u 設定某個使用者的cron服務,一般root使用者在執行這個命令的時候需要此引數 crontab l 列出某個使用者cron服務的詳細內容 crontab r ...
linux下定時器的使用
linux下定時器的使用主要用到兩個函式 setitimer 和getitimer linux系統給每個程序提供了3個定時器,每個定時器在各自不同的域裡面計數,當任何乙個timer計數結束了,系統就發乙個訊號 signal 給該程序,同時計數器重置。以下是支援的三種計數器形式 1 itimer re...
Linux下定時器的使用
2019獨角獸企業重金招聘python工程師標準 linux下應用層定時器本來有好幾種,大夥可以去搜尋其他帖子部落格,這裡我主要描述我在使用setitimer時候遇到的問題,話不多說,直接上 吧 lock timmer test.cpp include include include include...