您的位置:首页 > 运维架构 > Linux

linux中查询cpu型号、内核版本

2009-05-14 18:28 197 查看
CPU类型和型号
内核版本
从系统最后一期启动以来的时间,形式为dd:hh:mm:ss

void partB()
{
printf("*********************************************/n");
printf(" partB/n");
printf("*********************************************/n");

char computer[MAX];
struct utsname uts;
char all[MAX];
int procFile;
int info;
char *start,*end;

//显示时间
time_t timeval;
(void)time(&timeval);
printf("Current time is: %s",ctime(&timeval));

//打印hostname
if(gethostname(computer,MAX-1) != 0 ||uname(&uts),0)
{
fprintf(stderr,"Could not get host information/n");
exit(1);
}

printf("Machine hostname: %s /n",computer);

//打印cpu型号
procFile=open("/proc/cpuinfo",O_RDONLY);
info=read(procFile,all,sizeof(all));
start = strstr(all,"model name");
end = strstr(start,"/n");
int a= 0;
a = (int)end-(int)start;

char text[a];
strncpy(text,start,a);

printf("%s/n",text);
close(info);

//打印内核版本
printf("Linux version: %s/n",uts.release);

//打印系统启动时间
//打印系统启动时间
fp=fopen("/proc/uptime","r");
char temp;
long run_time=0,re;
long day,hour,minute,second;
while ((temp=fgetc(fp))==' ')
{
}
do
{
run_time=run_time*10+(temp-'0');
temp=fgetc(fp);

}while(temp!='.');
re=run_time;
second=run_time%60;
run_time=run_time/60;
minute=run_time%60;
run_time=run_time/60;
hour=run_time%24;
day=run_time/24;

printf("Machine has been on for:%2.2ld:%2.2ld:%2.2ld:%2.2ld/n",day,hour,minute,second);
fclose(fp);}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐