2008-10-17 66 views
11

Linux/Unix/Posix是否爲用戶空間應用程序提供了一個訪問單調遞增時鐘的API,其精度爲釐秒到毫秒?Linux是否爲應用程序提供了一個單調增加的時鐘

在Linux上,/ proc/uptime提供了一個基於字符串的表示形式,表示系統啓動秒數的浮點數。

gettimeofday(2)不提供單調遞增的時鐘。

我可以在ITIMER_REAL時域中使用getitimer(2),將計時器設置爲以(平臺相關)最大值開始並忽略生成的信號,但根據手冊頁計時器可以運行的最長時間100天,這比我預期的運行時間短。

回答

14

使用POSIX clock_gettime()功能與CLOCK_MONOTONIC。詳情請參閱man page

6

有clock_gettime:

struct timespec tp; 
clock_gettime(CLOCK_MONOTONIC, &tp); 
相關問題