• 获取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。。。

  • 相关阅读:
    robotframework之配置文件和资源文件
    robotframework-ride创建测试用例过程
    Robot Framework的环境搭建
    Robot Framework的初始化与清除
    robotframework的安装1
    《这么慢,那么美》摘录
    小白摸索记(一)
    学习笔记-express路径问题
    学习笔记-使用cmd命令行创建nodejs项目
    学习笔记
  • 原文地址:https://www.cnblogs.com/darkchii/p/9023637.html
Copyright © 2020-2023  润新知