红联Linux门户
Linux帮助

用C++提取Linux内存的使用率

发布时间:2017-05-20 11:34:54来源:linux网站作者:Baterforyou
以下是用C++提取Linux内存的使用率的代码:
 
//程序实现的功能是,通过把内存使用的情况读入文本文件再存入变量
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<iostream>
#include<fstream>
#include<string.h>
using namespace std;
class A{
public:
void display()
{
system("df -m |grep /dev/sda1 | cut -d ' ' -f 9 >>webnode_size.txt");//把读得的以M为单位的内存数据存入文本文件
system("df -m |grep /dev/sda1 | cut -d ' ' -f 13 >>webnode_avail.txt");
system("df -m |grep /dev/sda3 | cut -d ' ' -f 14 >>detectnode_size.txt");
system("df  -m |grep /dev/sda3 | cut -d ' ' -f 19 >>detectnode_avail.txt");
}
};
class B: public A
{
public:
void b_size()
{
//string b_size;
double b_size;
ofstream outfile;
outfile.open("webnode_size.txt",ios::out);
//A a;
A::display();
ifstream infile;
infile.open("webnode_size.txt",ios::in);
infile>>b_size;
cout<<b_size<<endl;
infile.close();
}
void b_avail()
{
//string b_avail;
double b_avail;
ofstream outfile;
outfile.open("webnode_avail.txt",ios::out);
//A a;
A::display();
ifstream infile;
infile.open("webnode_avail.txt",ios::in);
infile>>b_avail;
cout<<b_avail<<endl;
infile.close();
}
void c_size()
{
//string c_size;
double c_size;
ofstream outfile;
outfile.open("detectnode_size.txt",ios::out);
//A a;
A::display();
ifstream infile;
infile.open("detectnode_size.txt",ios::in);
infile>>c_size;
cout<<c_size<<endl;
infile.close();
}
void c_avail()
{
//string c_avail;
double c_avail;
ofstream outfile;
outfile.open("detectnode_avail.txt",ios::out);
//A a;
A::display();
ifstream infile;
infile.open("detectnode_avail.txt",ios::in);
infile>>c_avail;
cout<<c_avail<<endl;
infile.close();
}
};
int main()
{
//A a;
//a.display();
//A::display();
B b,c,d,e;
b.b_size();
c.b_avail();
d.c_size();
e.c_avail();
cout<<"the process is ok!"<<endl;
return 0;
}
 
本文永久更新地址:http://www.linuxdiyf.com/linux/30927.html