linux下用c语言实现查cpu类型和型号等信息

#include <stdio.h>
#include <string.h>
int main(int argc, char* argv[]) {
int BUFFER_SIZE = 1024;
char buffer[BUFFER_SIZE];
FILE* versionfile = fopen("/proc/version","r");
fgets(buffer, BUFFER_SIZE, versionfile);
printf("Version: %s", buffer);
fclose(versionfile);
}
这是查内核版本的,用这样的方法补充查
1、cpu类型和型号
2、从系统最后一次启动以来已经经历了多长的时间(天、小时、分钟)
3、总共有多少CPU时间执行在用户态?系统态?空闲态?
4、配置了多少内存?
5、当前有多少可用内存?
6、有多少磁盘读写请求?
7、内核已经进行了多少次上下文转换?
8、从系统启动以来已经创建了多少进程?

不用全部都查出来。。。查出一两个也成

悬赏可提

都在/proc/ 下面
cpu信息在/proc/cpuinfo
启动时间在/proc/uptime 单位是s
/proc/stat 里面有cpu执行的时间,用户态,系统态,空闲都有追问

啊。我并不是很理解那段代码,所以写不出其他的。那个"r"是什么意思?

追答

r是打开文件的方式,以read的方式打开/proc/version

追问

那怎么在cpuinfo那么一大堆里面只输出model name啊

追答

找到你要的信息在哪一行,自己解析出来。比较麻烦。

温馨提示:内容为网友见解,仅供参考
无其他回答

Linux系统下如何用C\/C++语言编写程序查看cpu_id的值
static inline void native_cpuid(unsigned int *eax, unsigned int *ebx,unsigned int *ecx, unsigned int *edx){ \/* ecx is often an input as well as an output. *\/ asm volatile("cpuid": "=a" (*eax),"=b" (*ebx),"=c" (*ecx),"=d" (*edx): "0" (*eax), "2" ...

查询Linux下用C语言查询网卡信息linuxc网卡信息
1. 使用`ioctl`函数从网卡中获取网卡信息,如:网卡名称、MAC地址、网络掩码和默认网关。2. 将获取到的信息保存在C语言的结构体中。3. 使用`ifconf`函数设置IP地址的想应的参数。4. 根据设置的参数,生成IP地址。5. 将网卡信息和IP地址打印出来,显示在屏幕上。上述过程可以划分为两个步骤:**网卡...

C语言 编程实现获取cpu信息
void cpuid(unsigned int veax1){ _asm{ mov eax,veax1 cpuid mov veax,eax mov vebx,ebx mov vecx,ecx mov vedx,edx } } \/\/做移位操作,把寄存器中的ASCII码,以字符形式输出 void LeftMove(unsigned int var){ printf("%c",var);for(int i=0;i<3;i++){ var=(var>>;printf...

C语言读取计算机CPU的序列号、硬盘(网卡、机器名)
sprintf(szText, "CPU个数: %d, CPU频率: %ld Mhz", nCpuNum, dwCpuSpeed);cout<<"---"<<szText<<"---"<<endl;return dwCpuSpeed;} 还有一点,我在网上看到和你要求差不多的文章,但是它的代码好像少了一点什么,也做一下参考,我们一起研究一下也好。http:\/\/edu.codepub.com\/2010\/0...

linux进程绑定cpu命令linuxcpu绑定
绑定cpu方式:c语言:sched_setaffinity(0,sizeof(mask),mask)shell命令:在grup启动时传给内核参数:isolcpus=2-15,这里表示隔离第3到16个CPU,Linux程序只跑在第一和第二个CPU上,空闲的CPU我们可以指定跑进程了.这是内核文档里对内核参数的解释:isolcpus=IsolateCPUsfromthegeneralscheduler.Format:linux中...

linux程序命令行设置cpu核数linux程序命令
在linux系统中常用的操作命令有很多种,比如:ls显示文件或目录 -l列出文件详细信息 -a列出当前目录下所有文件及目录,包括隐藏的a mkdir创建目录 -p创建目录,如果无父目录,那么就创建p cd切换目录 touch创建空文件 echo创建带有内容的文件 cat查看文件内容 cp拷贝 mv移动或重命名 rm删除文件 -r递归...

在Linux下用C语言编程
include include include include include \/* Linux 的默任个人的邮箱地址是 \/var\/spool\/mail\/用户的登录名 *\/ define MAIL "\/var\/spool\/mail\/hoyt"\/* 睡眠10秒钟 *\/ define SLEEP_TIME 10 main(void){ pid_t child;if((child=fork())==-1){ printf("Fork Error:%s\\n",strerror(errno)...

如何用c语言获取当前操作系统的类型
CFLAGS_LINUX = -D AIX prog:if [ "$(OSTYPE)" = 'SCO_SV' ];then make prog1;else make prog2;fi prog1:(CC) -o tt tt.c $(CFLAGS_SCO)prog2:(CC) -o tt2 tt2.c $(CFLAGS_AIX)如上在编译命令行中增加-D SCO_SV的定义, 程序的源代码中可以如下使用:ifdef SCO_SV typede...

使用C语言编写程序在Linux环境中运行c在linux上运行
`gcc -v`如果返回信息说明GCC已安装,则可以使用GCC编译C语言程序。编译C语言程序需要使用gcc命令,编写程序完成后,将该文件命名为“ testing.c”,你可以使用如下命令编译这个文件:`gcc testing.c -o testing`这条命令将以testing文件名生成可执行的文件,之后你可以使用下面的命令在Linux环境中运行:...

在linux环境下,我们使用C语言编程,如何正确计算CPU使用率?(不限\/pro...
cpu usage=[(user_2 +sys_2+nice_2) - (user_1 + sys_1+nice_1)]\/(total_2 - total_1)*100 === 建议:要用C语言来编程实现的话,提取各项数据会比较复杂,而用shell脚本来提取的话,会简单的多;所以你可以尝试用脚本来提取数据并计算出CPU使用率,然后在C程序中用system( )函数来调...

相似回答