溫馨提示×

利用Linux的nanosleep實現(xiàn)定時任務

小樊
82
2024-08-22 22:44:31
欄目: 智能運維

在Linux系統(tǒng)中,可以使用nanosleep函數(shù)來實現(xiàn)定時任務。這個函數(shù)可以讓程序暫停指定的時間,以毫秒和納秒為單位。

下面是一個簡單的示例代碼,演示如何使用nanosleep函數(shù)實現(xiàn)定時任務:

#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秒,再輸出下一個時間,如此循環(huán)下去??梢愿鶕?jù)實際需求調整等待時間。

編譯并運行這個程序,你會看到每隔1秒輸出一次當前時間。這樣就實現(xiàn)了一個簡單的定時任務。

0