Linux是否为应用程序提供单调递增的时钟

时间:2008-10-17 04:14:05

标签: linux unix timer

Linux / Unix / Posix是否为用户空间应用程序提供API以访问单调增加的时钟,精度为厘秒到毫秒?

在Linux上,/ proc / uptime提供了一个基于字符串的表示形式,表示系统已启动的秒数的浮点数。

gettimeofday(2)不提供单调增加的时钟。

我可以在ITIMER_REAL时域中使用getitimer(2),将定时器设置为以(平台相关的)最大值开始并忽略生成的信号,但根据手册页,定时器可以运行的最长时间约为100天,比我预期的运行时间短。

2 个答案:

答案 0 :(得分:14)

将POSIX clock_gettime()功能与CLOCK_MONOTONIC一起使用。有关详细信息,请参阅man page

答案 1 :(得分:6)

有clock_gettime:

struct timespec tp;
clock_gettime(CLOCK_MONOTONIC, &tp);