|
- #include <time.h>
- #include <errno.h>
- #include <sys/sysctl.h>
-
- long uptime(void)
- {
- struct timeval boottime;
- size_t len = sizeof(boottime);
- int mib[2] = { CTL_KERN, KERN_BOOTTIME };
- if (sysctl(mib, 2, &boottime, &len, NULL, 0) < 0)
- {
- return -1L;
- }
- time_t bsec = boottime.tv_sec, csec = time(NULL);
-
- return (long) difftime(csec, bsec);
- }
|