#include
#include
void car_handler(int signo)
//設定5秒停止錄音
signal(sigalrm, car_handler);
alarm(5);//設定定時5s
原型:
intselect(int nfds, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds, struct timeval *timeout);
例一:
timeval的結構如下:
struct timeval
一、秒級定時器
複製** **如下:
void seconds_sleep(unsigned seconds)while(err<0 && errno==eintr);
}二、毫秒級別定時器
**如下:
void milliseconds_sleep(unsigned
long msec)while(err<0 && errno==eintr);
}三、微妙級別定時器
**如下:
void microseconds_sleep(unsigned
long usec)while(err<0 && errno==eintr);
}四、test:
#include
#include
#include
int main()
}
例二:
#include
#include
#include
#include
/*seconds: the seconds; mseconds: the micro seconds*/
void settimer(int seconds, int mseconds)
int main()
rtc:
#include
#include
#include
#include
#include
#include
#include
#include
#include
int main(int argc, char* argv)
/*set the freq as 4hz*/
if(ioctl(fd, rtc_irqp_set, 1) < 0)
/* enable periodic interrupts */
if(ioctl(fd, rtc_pie_on, 0) < 0)
for(i = 0; i < 100; i++)
printf("timer\n");
} /* disable periodic interrupts */
ioctl(fd, rtc_pie_off, 0);
close(fd);
return
0;
} #include
#include
#include
#include
#include
#include
#include
int main()
ioctl(fd,rtc_rd_time,&rtc);
printf("\n\ncurrentrtc data/time is %d-%d-%d, %02d:%02d:%02d.\n", rtc.tm_mday, rtc.tm_mon +1,rtc.tm_year + 1900, rtc.tm_hour, rtc.tm_min, rtc.tm_sec);
close(fd);
exit(exit_success);
}
alarm(設定訊號傳送鬧鐘)
alarm 設定訊號傳送鬧鐘 相關函式 signal,sleep 表頭檔案 include 定義函式 unsigned int alarm unsigned int seconds 函式說明 alarm 用來設定訊號sigalrm在經過引數seconds指定的秒數後傳送給目前的程序。如果引數seco...
使用alarm配合訊號實現sleep
author selfimpr blog mail lgg860911 yahoo.com.cn apue中描述solaris 9是使用alarm實現的sleep,其語義如下 如果在sleep之前有乙個未到期的alarm時鐘,則中斷時鐘 下面是乙個簡化的實現,語義為 如果sleep時發現已經有乙個a...
訊號之alarm和pause函式
使用alarm函式可以設定乙個計時器,在將來某個指定的時間,該計時器會超時。當計時器超時時,產生sigalrm訊號。如果不忽略或不捕捉此訊號,則其預設動作是終止呼叫該alarm函式的程序。include unsigned int alarm unsigned int seconds 返回值 0或以前...