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

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

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

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

有帮助吗?

解决方案

将POSIX clock_gettime()函数与 CLOCK_MONOTONIC 一起使用。有关详细信息,请参阅手册页

其他提示

有clock_gettime:

struct timespec tp;
clock_gettime(CLOCK_MONOTONIC, &tp);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top