代码:

  1. #include <stdio.h>
  2. #include <unistd.h> /* usleep() */
  3. #include <stdlib.h>
  4. #include <iostream>
  5. #include <fstream>
  6.  
  7. class SystemRuntimeInfo {
  8.  
  9. public:
  10. void GetSysStatInfo()
  11. {
  12. system("top -bn 1 -i -c >> sys.txt");
  13. }
  14.  
  15. void GetCpuInfo()
  16. {
  17. system("sar -P ALL -u 1 5 >> cpu.txt");
  18. // system("");
  19. // system("mpstat 1 5 >> cpu.txt");
  20. // system("dstat -c >> cpu.txt");
  21. }
  22.  
  23. void GetDiskInfo()
  24. {
  25. system("df -lh >> disk.txt");
  26. }
  27.  
  28. void GetMemoryInfo()
  29. {
  30. system("vmstat 1 5 >> memroy.txt");
  31. }
  32.  
  33. void GetIoInfo()
  34. {
  35. system("iostat 1 5 >> io.txt");
  36. }
  37. };
  38.  
  39. int main()
  40. {
  41. unsigned count = 5;
  42. while (count --> 0)
  43. {
  44. SystemRuntimeInfo aInfo;
  45. std::ofstream outfile;
  46.  
  47. outfile.open("sys.txt", std::ios::app | std::ios::out);
  48. outfile << '\n';
  49. aInfo.GetSysStatInfo();
  50. outfile << '\n' << std::endl;
  51. outfile.close();
  52.  
  53. outfile.open("cpu.txt", std::ios::app | std::ios::out);
  54. outfile << '\n';
  55. aInfo.GetCpuInfo();
  56. outfile << '\n' << std::endl;
  57. outfile.close();
  58.  
  59. outfile.open("disk.txt", std::ios::app | std::ios::out);
  60. outfile << '\n';
  61. aInfo.GetDiskInfo();
  62. outfile << '\n' << std::endl;
  63. outfile.close();
  64.  
  65. outfile.open("memory.txt", std::ios::app | std::ios::out);
  66. outfile << '\n';
  67. aInfo.GetMemoryInfo();
  68. outfile << '\n' << std::endl;
  69. outfile.close();
  70.  
  71. usleep(1000);
  72. }
  73.  
  74. return 0;
  75. }

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

  参考资料:

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

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

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

获取Linux系统运行情况信息的更多相关文章

  1. 使用Python获取Linux系统的各种信息

    哪个Python版本? 当我提及Python,所指的就是CPython 2(准确的是2.7).我会显式提醒那些相同的代码在CPython 3 (3.3)上是不工作的,以及提供一份解释不同之处的备选代码 ...

  2. Inxi:获取Linux系统和硬件信息的神器

    导读 在这篇文章里,我们将看到如何使用inxi来获取这些详情信息.在论坛技术支持中,它可以作为调试工具,迅速确定用户的系统配置和硬件信息. Inxi是一个可以获取完整的系统和硬件详情信息的命令行工具, ...

  3. python学习 —— 获取系统运行情况信息并在Linux下设置定时运行python脚本

    代码: # -*- coding:utf-8 -*- from psutil import * def cpu_usage_rate(): for i, j in zip(range(1, cpu_c ...

  4. 转:python获取linux系统及性能信息

    原文:http://amitsaha.github.io/site/notes/articles/python_linux/article.html In this article, we will ...

  5. C/C++获取Linux系统CPU和内存及硬盘使用情况

    需求分析: 不使用Top  df  free 等命令,利用C/C++获取Linux系统CPU和内存及硬盘使用情况 实现: //通过获取/proc/stat (CPU)和/proc/meminfo(内存 ...

  6. JAVA如何利用Swiger获取Linux系统电脑配置相关信息

    最近开发java应用程序,涉及到获取Linux服务器相关配置的问题,特地网上搜寻了下,采用Swiger包可以直接获取,再次小结一下,以便于以后能方便使用,也便于其他童鞋们学习. 推荐大家参考链接:ht ...

  7. UWP 应用获取各类系统、用户信息 (2) - 商店授权信息、零售演示模式信息、广告 ID、EAS 设备信息、硬件识别信息、移动网络信息

    应用开发中,开发者时常需要获取一些系统.用户信息用于数据统计遥测.问题反馈.用户识别等功能.本文旨在介绍在 Windows UWP 应用中获取一些常用系统.用户信息的方法.示例项目代码可参见 Gith ...

  8. UWP 应用获取各类系统、用户信息 (1) - 设备和系统的基本信息、应用包信息、用户数据账户信息和用户账户信息

    应用开发中,开发者时常需要获取一些系统.用户信息用于数据统计遥测.问题反馈.用户识别等功能.本文旨在介绍在 Windows UWP 应用中获取一些常用系统.用户信息的方法.示例项目代码可参见 Gith ...

  9. Linux 系统运行着许多子系统和应用程序。您可以使用系统日志记录从启动时就收集有关运行中系统的数据。有时

    概述 在本教程中,您将学习以下内容: 配置 syslog 守护程序 了解标准设施.优先级和操作 配置日志轮换 了解 rsyslog 和 syslog-ng 系统内部发生了什么 Linux 系统运行着许 ...

随机推荐

  1. python 常用包之xml文件处理

    1,处理xml的包 from xml.etree import ElementTree as ET 2,如何写出xml文件 xml文件和html中的元素很像,有父级子集之说, root = ET.El ...

  2. 命名元组nametuple

    # coding:utf-8 from collections import namedtuple Student = namedtuple('Student', ['no', 'name', 'ag ...

  3. 题解【POJ2955】Brackets

    Description We give the following inductive definition of a "regular brackets" sequence: t ...

  4. 每天进步一点点------H.264学习 (一)

    分三个阶段学习1.第一个阶段: 学习H.264,首先要把最基本最必要的资料拿在手里.这些资料包括:标准文档+测试模型+经典文章,在本FTP中能找到.首先看 <H.264_MPEG-4 Part ...

  5. 简单记录搭建Harbor私服仓库

    一.本机环境 ①系统镜像:CentOS7 ②Docker:Docker version 19.03.5 ③Docker-compose:docker-compose 二.Docker安装 参考官网安装 ...

  6. 从游击队到正规军(三):基于Go的马蜂窝旅游网分布式IM系统技术实践

    本文由马蜂窝技术团队电商交易基础平台研发工程师"Anti Walker"原创分享. 一.引言 即时通讯(IM)功能对于电商平台来说非常重要,特别是旅游电商. 从商品复杂性来看,一个 ...

  7. Javascript自增、自减运算符

    JavaScript自增.自减运算符与表达式语法 var i++; var-- 声明变量 i-- 变量名 ++ -- 自增运算符 JavaScript自增.自减运算符与表达式 JavaScript自增 ...

  8. 谁说程序员没有时间关心女朋友的,Python 教你如何掌握女神情绪变化

    很多人都是在朋友圈装死,微博上蹦迪.微信朋友圈已经不是一个可以随意发表心情的地方了,微博才是! 所以你不要傻傻盯着女神的朋友圈发呆啦!本文教你如何用 Python 自动通知女神微博情绪变化,从今天开始 ...

  9. 用python实现文件加密功能

    生活中,有时候我们需要对一些重要的文件进行加密,Python 提供了诸如 hashlib,base64 等便于使用的加密库. 但对于日常学习而言,我们可以借助异或操作,实现一个简单的文件加密程序,从而 ...

  10. WEB - 关于rel="noopener"

    参考网址 https://mathiasbynens.github.io/rel-noopener/ 例子 <a href="https://cli.vuejs.org" t ...