获取从开机运行到当前的时间

来源:互联网 发布:属下知罪by枯目微盘 编辑:程序博客网 时间:2024/05/21 16:30

获取从开机运行到当前的时间:

shell:

uptime命令。这个在linux和unix都适用。

c:

在linux上有个struct sysinfo结构体。

 struct sysinfo {    310    long uptime;            /* Seconds since boot */    311     unsigned long loads[3];     /* 1, 5, and 15 minute load averages */    312     unsigned long totalram;     /* Total usable main memory size */    313     unsigned long freeram;      /* Available memory size */    314     unsigned long sharedram;    /* Amount of shared memory */    315     unsigned long bufferram;    /* Memory used by buffers */    316     unsigned long totalswap;    /* Total swap space size */    317     unsigned long freeswap;     /* swap space still available */    318     unsigned short procs;       /* Number of current processes */    319     unsigned short pad;     /* explicit padding for m68k */    320     unsigned long totalhigh;    /* Total high memory size */    321     unsigned long freehigh;     /* Available high memory size */    322     unsigned int mem_unit;      /* Memory unit size in bytes */    323     char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding: libc5 uses this.. */    324 }; 
可以用sysinfo()获取。 

在solaris上, 它有struct sysinfo,但是没有uptime这一项。 所以它获取不到开机运行到当前的时间。 后来我查了一下,

是在<kstat.h>中, kstat_open(), kstat_close(), kstat_lookup()去获取运行时间。 具体我也没实践。