Linux下Proc文件系统实验

与proc虚拟文件系统的接口程序

针对Linux的文件对写进行操作,它以文件系统的方式为访问系统内核数据的操作提供接口,通过对proc文件内容的读取,了解到系统的内核信息,对内核升级和修改内核起来很大的作用,对非系统态的用户有了很大方便用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。

1、内存总量

2、可用内存

3、系统平均负荷

#include<stdio.h>
int main()
{
FILE *fp;
char mem[51];
float load1,load2,load3;
fp=fopen("/proc/meminfo","r");
readCharline(fp,mem,50);
printf("%s\n",mem);
readCharline(fp,mem,50);
printf("%s\n",mem);
fclose(fp);
fp=fopen("/proc/loadavg","r");
fscanf(fp,"%f %f %f",&load1,&load2,&load3);
fclose(fp);
printf("load :\nlast minute    :%f\nlast 5 minutes :%f\nlast 15 minutes:%f\n",load1,load2,load3);

}
int readCharline(FILE *fp,char *s,int buf)
{
  char c;
  int i=0;
  while(((c=fgetc(fp))!='\n')&&(i<buf))
  {
    s[i]=c;
    i++;
   }
  s[i]='\0';
  return i;
}

1、提取cpu类型

2、提取内核版本

#include<stdio.h>
#include<time.h>
void main()
{
FILE *fp1,*fp2;
int c,i=0;
fp1=fopen("/proc/cpuinfo","r");
fp2=fopen("/proc/version","r");
while((c=fgetc(fp2))!=EOF)
printf("%c",c);
sleep(5);
fclose(fp2);
while((c=fgetc(fp1))!=EOF)
{
if(c=='\n')
{
i++;
}
if(i==4)
printf("%c",c);
}
printf("\n");
fclose(fp1);
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值