2008-10-17 8 views
11

Est-ce que Linux/Unix/Posix fournit une API aux applications de l'espace utilisateur pour accéder à une horloge monotone, avec une précision de centiseconde à milliseconde?Est-ce que Linux fournit une horloge monotone aux applications

Sous Linux,/proc/uptime fournit une représentation sous forme de chaîne d'un nombre à virgule flottante correspondant au nombre de secondes écoulées depuis la mise en service du système. Gettimeofday (2) ne fournit pas d'horloge monotone en augmentant

Je pourrais utiliser getitimer (2) dans le domaine temporel ITIMER_REAL, régler le temporisateur pour démarrer au maximum (dépendant de la plate-forme) et ignorer le signal généré, mais selon la page de manuel la plus longue durée de fonctionnement du temporisateur est approximativement 100 jours, ce qui est plus court que mon temps d'exécution prévu.

Répondre

14

Utilisez la fonction POSIX clock_gettime() avec CLOCK_MONOTONIC. Voir le man page pour plus de détails.

6

Il est clock_gettime:

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