zoukankan      html  css  js  c++  java
  • 获取Linux系统运行情况信息

      代码:

    #include <stdio.h>
    #include <unistd.h>    /* usleep() */
    #include <stdlib.h>
    #include <iostream>
    #include <fstream>
    
    class SystemRuntimeInfo {
    
    public:  
    	void GetSysStatInfo()  
    	{
    		system("top -bn 1 -i -c >> sys.txt");
    	}
    
    	void GetCpuInfo()
    	{
    		system("sar -P ALL -u 1 5 >> cpu.txt");
    		// system("");
    		// system("mpstat 1 5 >> cpu.txt");
    		// system("dstat -c >> cpu.txt");
    	}
    
    	void GetDiskInfo()
    	{
    		system("df -lh >> disk.txt");
    	}
    
    	void GetMemoryInfo()
    	{
    		system("vmstat 1 5 >> memroy.txt");
    	}
    
    	void GetIoInfo()
    	{
    		system("iostat 1 5 >> io.txt");
    	}
    };
    
    int main()  
    {
    	unsigned count = 5;
    	while (count --> 0) 
    	{
    		SystemRuntimeInfo aInfo;
    		std::ofstream outfile;
    
    		outfile.open("sys.txt", std::ios::app | std::ios::out);
    		outfile << '
    ';
    		aInfo.GetSysStatInfo();
    		outfile << '
    ' << std::endl;
    		outfile.close();
    
    		outfile.open("cpu.txt", std::ios::app | std::ios::out);
    		outfile << '
    ';
    		aInfo.GetCpuInfo();
    		outfile << '
    ' << std::endl;
    		outfile.close();
    
    		outfile.open("disk.txt", std::ios::app | std::ios::out);
    		outfile << '
    ';
    		aInfo.GetDiskInfo();
    		outfile << '
    ' << std::endl;
    		outfile.close();
    
    		outfile.open("memory.txt", std::ios::app | std::ios::out);
    		outfile << '
    ';
    		aInfo.GetMemoryInfo();
    		outfile << '
    ' << std::endl;
    		outfile.close();
    
    		usleep(1000);
    	}
    
    	return 0;
    }
    

      主要就是使用system()调用shell命令,其中‘>>’ or '>'的意思就是将输出重定向写入到指定的文件中,其区别是:'>'获取的输出会覆盖掉原文件中的内容。

      参考资料:

        1.https://www.cnblogs.com/Anker/p/3381667.html

        2.https://blog.csdn.net/albenxie/article/details/72885951

        3.还有几个记不得了,之后也没有找到...sry。。。

  • 相关阅读:
    结对项目——四则运算
    关于结对编程的感想
    《诗词大闯关》调查表与调查结果分析
    我的软件工程课目标
    我的软件工程课目标
    软件工程课程建议
    结对编程(二)
    结对编程——四则运算
    结对编程
    《诗词大闯关》问卷调查心得与体会
  • 原文地址:https://www.cnblogs.com/darkchii/p/9023637.html
Copyright © 2011-2022 走看看