在Linux中,sysinfo是用来获取系统相关信息的结构体,其原型如下:
struct sysinfo
{
long uptime; /* Seconds since boot */
unsigned long loads[3]; /* 1, 5, and 15 minute load averages */
unsigned long totalram; /* Total usable main memory size */
unsigned long freeram; /* Available memory size */
unsigned long sharedram; /* Amount of shared memory */
unsigned long bufferram; /* Memory used by buffers */
unsigned long totalswap; /* Total swap space size */
unsigned long freeswap; /* swap space still available */
unsigned short procs; /* Number of current processes */
unsigned long totalhigh; /* Total high memory size */
unsigned long freehigh; /* Available high memory size */
unsigned int mem_unit; /* Memory unit size in bytes */
char _f[20-2*sizeof(long)-sizeof(int)]; /* Padding for libc5 */
};
用法:
1、包含头文件:#include
2、函数用法,获取系统信息
参数: info:指向sysinfo结构的指针
返回说明: 成功执行时,返回0。失败返回-1,errno被设为EFAULT
int sysinfo(struct sysinfo *info);
int main ( int argc, char *argv[])
{
int iError = 0;
struct sysinfo stInfo;
iError = sysinfo(&stInfo);
}
3、也可以做程序超时处理计时器
int get_uptime() { struct sysinfo info; sysinfo(&info); return (int)info.uptime; }