有时程序需要与时间进行比较,比如定时器,需要与某个时刻的时间比较。
通常可以使用时间戳,但是如果系统时间发生了变化,那么时间戳就会受到影响,从而也会影响时间的比较。
Linux提供了文件/proc/uptime用于表示系统启动后的运行时间:
cat /proc/uptime
387.01 1486.39
其中第一个时间387.01,代表系统开机后运行了387.01秒。
第二个时间1486.39,代表系统空闲的了1486.39秒,由于是多核系统,所以空闲的时间是按照多核统计的。
可以通过程序读取这个运行时间:
#include <stdio.h>
unsigned long getUptime()
{
unsigned long uptime = 0;
FILE *fp = fopen("/proc/uptime", "r");
if(fp)
{
double runTime = 0;
fs