#include #include #include main() { int i; struct timespec ts; long long nano=0; long long p1=0, p2=0, p3=0; char b[10]; for (;;) { clock_gettime(CLOCK_MONOTONIC, &ts); p3 = p2; p2 = p1; p1 = nano; nano = ts.tv_nsec + ts.tv_sec * 1000000000LL; if (p1 < p2) { clock_gettime(CLOCK_REALTIME, &ts); strftime(b, 10, "%H:%M:%S", localtime(&ts.tv_sec)); printf("%s: %016llx %016llx %016llx %016llx\n", b, p3, p2, p1, nano); } } }