clock_gettime() を使う
Man page of CLOCK_GETRES
CLOCK_MONOTONIC_COARSE か CLOCK_MONOTONIC を使うと起動経過時間が取れる
秒までなら CLOCK_MONOTONIC_COARSE でいい
#include <time.h> // clock_gettime time_t uptime() { struct timespec ts; clock_gettime(CLOCK_MONOTONIC_COARSE, &ts); return ts.tv_sec; } #include <stdio.h> int main() { printf("%ld\n", uptime()); return 0; }
$ ./a.out ;cat /proc/uptime 11864838 11864838.10 47283991.63