Обеспечивает ли Linux монотонно увеличивающиеся часы для приложений

Предоставляет ли Linux/Unix/Posix API-приложения для пользовательского пространства для доступа к монотонно возрастающим часам с точностью от секунды до миллисекунды?

В Linux/proc/uptime предоставляет строковое представление числа с плавающей запятой числа секунд, в течение которого система была.

gettimeofday (2) не обеспечивает монотонно увеличивающиеся часы.

Я мог бы использовать getitimer (2) в временном домене ITIMER_REAL, установить таймер на максимум (зависит от платформы) и проигнорировать генерируемый сигнал, но согласно man-странице, для которой наибольший таймер может работать, это примерно 100 дней, что меньше ожидаемого времени выполнения.

Ответ 2

Существует clock_gettime:

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