Pregunta

¿Linux / Unix / Posix proporciona una API para aplicaciones de espacio de usuario para acceder a un reloj que aumenta monotónicamente, con una precisión de centisegundos a milisegundos?

En Linux, / proc / uptime proporciona una representación basada en cadenas de un número de coma flotante de la cantidad de segundos que el sistema ha estado activo.

gettimeofday (2) no proporciona un reloj monotónicamente creciente.

Podría usar getitimer (2) en el dominio de tiempo ITIMER_REAL, configurar el temporizador para que comience en el máximo (dependiente de la plataforma) e ignorar la señal generada, pero de acuerdo con la página del manual, el tiempo más largo que el temporizador puede funcionar es aproximadamente 100 días, que es más corto que mi tiempo de ejecución esperado.

¿Fue útil?

Solución

Utilice la función POSIX clock_gettime () con CLOCK_MONOTONIC . Consulte la página de manual para obtener más información.

Otros consejos

Hay clock_gettime:

struct timespec tp;
clock_gettime(CLOCK_MONOTONIC, &tp);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top