在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秒輸出一次當前時間。這樣就實現了一個簡單的定時任務。