Linux 提供了多种定时器机制,允许应用程序执行定时任务。setitimer 是其中之一,它允许设置定时器来在指定的时间间隔内定期触发信号。
<p>
</p><p>#include <sys/time.h></p><p>#include <csignal></p><p>#include <iostream></p><p>
</p><p>void timerHandler(int signum) {</p><p> std::cout << "Timer expired! Signal number: " << signum << std::endl;</p><p>}</p><p>
</p><p>int main() {</p><p> struct itimerval timer;</p><p> timer.it_value.tv_sec = 2;</p><p> timer.it_value.tv_usec = 0;</p><p> timer.it_interval.tv_sec = 1;</p><p> timer.it_interval.tv_usec = 0;</p><p>
</p><p> signal(SIGALRM, timerHandler);</p><p>
</p><p> setitimer(ITIMER_REAL, &timer, NULL);</p><p>
</p><p> while (1) {</p><p> // 主循环</p><p> }</p><p>
</p><p> return 0;</p><p>}</p>
|