代码:

#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 << '\n';
aInfo.GetSysStatInfo();
outfile << '\n' << std::endl;
outfile.close(); outfile.open("cpu.txt", std::ios::app | std::ios::out);
outfile << '\n';
aInfo.GetCpuInfo();
outfile << '\n' << std::endl;
outfile.close(); outfile.open("disk.txt", std::ios::app | std::ios::out);
outfile << '\n';
aInfo.GetDiskInfo();
outfile << '\n' << std::endl;
outfile.close(); outfile.open("memory.txt", std::ios::app | std::ios::out);
outfile << '\n';
aInfo.GetMemoryInfo();
outfile << '\n' << 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。。。

获取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 字符串的一些函数

    split()函数 split()      以 空格 为分割符分割字符串,返回列表 split('_')   以'_'为分割符分割字符串,返回列表 strip() 函数  去掉前后的空格 下面是字符 ...

  2. kafka高吞吐,低延迟的分布式消息队列

    核心概念 broker是kafka的节点,多台broker集群就是kafka topic消息分为多个topic partition分区,topic划分了多个partition分区,存在负载均衡策略 每 ...

  3. IntelliJ IDEA 2017.3尚硅谷-----忽略大小写提示

  4. python做批量剪切、旋转等小程序

    我自己在学习python时自己动手做了几个简单实用的小程序,对大家做图像的增强很有效果,我包括我的同学目前都在用我的小程序来做图像增强,非常的实用.话不多说上代码: import globimport ...

  5. JVM的方法区和永久带是什么关系?

    什么是方法区? 方法区(Method Area)是jvm规范里面的运行时数据区的一个组成部分,jvm规范中的运行时数据区还包含了:pc寄存器.虚拟机栈.堆.方法区.运行时常量池.本地方法栈. 方法区存 ...

  6. 【音乐欣赏】《Siren》 - The Chainsmokers / Aazar

    曲名:Siren 作者:The Chainsmokers . Aazar [00:00.00] 作曲 : Alex Pall/Andrew Taggart/Alexis Duvivier [00:01 ...

  7. 每天进步一点点------如何实现Sobel Edge Detector? (Image Processing) (C/C++)

    使用C與C++/CLI實現Sobel Edge Detector. http://www.cnblogs.com/oomusou/archive/2008/07/23/sobel_edge_detec ...

  8. 传奇版本中利用NPC迅速给人物加血脚本制作

    在传奇中,快速给玩家回血的脚本被广泛运用,能刺激玩家消费,怎么说呢,玩家跟人PK激情中,特别是群打,快速补血的重要性不说你也懂的. [@main]神医:“最近玛法大陆动荡不平,每天进进出出这里的伤者日 ...

  9. LINUX 怎么实现root和普通用户的切换及怎么更改root密码

    在linux系统中执行什么命令后可以使$变为#?     先说下$和#在linux系统终端(命令行)中通常代表的什么:$打头的表示这不是在root用户(管理员用户)下执行的命令#打头的和前者相反,即r ...

  10. maven设置指定jdk版本

    今天心血来潮准备折腾一下jeecg,去下载了一个maven版本的项目,既然下载了maven版的,当然就要配置好maven环境了. 因为之前简单学习过maven,当时使用的版本是3.3.9的,但是今天在 ...