在Linux系统中,可以使用nanosleep
函数来实现定时任务。这个函数可以让程序暂停指定的时间,以毫秒和纳秒为单位。
下面是一个简单的示例代码,演示如何使用nanosleep
函数实现定时任务:
#include <stdio.h>
#include <time.h>
int main() {
struct timespec ts;
ts.tv_sec = 1; // 设置等待1秒
ts.tv_nsec = 0; // 设置纳秒部分为0
while (1) {
// 输出当前时间
time_t now = time(NULL);
printf("Current time: %s", ctime(&now));
// 等待1秒
if (nanosleep(&ts, NULL) == -1) {
perror("nanosleep");
return 1;
}
}
return 0;
}
在这个示例中,程序会输出当前时间,然后暂停1秒,再输出下一个时间,如此循环下去。可以根据实际需求调整等待时间。
编译并运行这个程序,你会看到每隔1秒输出一次当前时间。这样就实现了一个简单的定时任务。