linux

利用Linux的nanosleep实现定时任务

小樊
82
2024-08-22 22:44:31
栏目: 智能运维

在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秒输出一次当前时间。这样就实现了一个简单的定时任务。

0
看了该问题的人还看了