qt 监听linux下进程的CPU使用率和内存使用率
2013-05-06 10:26
513 查看
qt 监听linux下进程的CPU使用率和内存使用率
主要是总结一下网上查找到的资料,代码如下:有两种形式:形式一,利用命令行,然后获得命令行的数据。
形式二,读取linux下的一个环境配置信息文件,里面映射这很多系统信息,例如cpu使用情况,进程情况等等。
代码;
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include"qprocess.h"
#include"QProcess"
#include"string.h"
#include"qdir.h"
#include"ee.h"
#include <QFile>
#include <QTextStream>
#include <QString>
#include <QLabel>
#include <QDateTime>
#include<QTime>
#include<QTimer>
QTimer *testTimer;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
testTimer = new QTimer(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::changeEvent(QEvent *e)
{
QMainWindow::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}
void MainWindow::on_pushButton_clicked()
{
//ee *e=new ee();
//long z=e->find_pid_by_name("cpu2");
//QStringList arguments;
//arguments << "-aux" << ">"<<"/test/3.txt";
//QProcess *p = new QProcess(this);
//p->execute("ps -aux > /test/3.txt");
//QString s= p->readAllStandardOutput();
//ui->lineEdit->setText(s);
//QProcess *p = new QProcess(this);
//p->start("ps -aux > /test/3.txt);
//myProcess->start("/ps", arguments);
QObject::connect(testTimer, SIGNAL(timeout()), this, SLOT(timer_Update()));
testTimer->start(1000);
}
void MainWindow::timer_Update()
{
QString check;
bool x=false;
system("ps -aux > /test/3.txt");
QFile file("/test/3.txt");
if (file.open(QIODevice::ReadOnly | QIODevice::WriteOnly))//以读写方式打开文件,若写成
{ //QIODevice::WriteRead占内存较多
QTextStream in(&file);
while (!in.atEnd()) //检测是否读完文件
{
QString line = in.readLine();
ui->lineEdit->setText(line);
x=line.contains("cpu2",Qt::CaseInsensitive);
if(x==true)
{
QString kk;
kk=line.at(16);
kk+=line.at(17);
kk+=line.at(18);
kk+=line.at(19);
ui->label->setText(kk);
ui->lineEdit->setText(line);
break;
}
}}
}
void MainWindow::on_pushButton_2_clicked()
{
testTimer->stop();
}
主要是总结一下网上查找到的资料,代码如下:有两种形式:形式一,利用命令行,然后获得命令行的数据。
形式二,读取linux下的一个环境配置信息文件,里面映射这很多系统信息,例如cpu使用情况,进程情况等等。
代码;
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include"qprocess.h"
#include"QProcess"
#include"string.h"
#include"qdir.h"
#include"ee.h"
#include <QFile>
#include <QTextStream>
#include <QString>
#include <QLabel>
#include <QDateTime>
#include<QTime>
#include<QTimer>
QTimer *testTimer;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
testTimer = new QTimer(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::changeEvent(QEvent *e)
{
QMainWindow::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}
void MainWindow::on_pushButton_clicked()
{
//ee *e=new ee();
//long z=e->find_pid_by_name("cpu2");
//QStringList arguments;
//arguments << "-aux" << ">"<<"/test/3.txt";
//QProcess *p = new QProcess(this);
//p->execute("ps -aux > /test/3.txt");
//QString s= p->readAllStandardOutput();
//ui->lineEdit->setText(s);
//QProcess *p = new QProcess(this);
//p->start("ps -aux > /test/3.txt);
//myProcess->start("/ps", arguments);
QObject::connect(testTimer, SIGNAL(timeout()), this, SLOT(timer_Update()));
testTimer->start(1000);
}
void MainWindow::timer_Update()
{
QString check;
bool x=false;
system("ps -aux > /test/3.txt");
QFile file("/test/3.txt");
if (file.open(QIODevice::ReadOnly | QIODevice::WriteOnly))//以读写方式打开文件,若写成
{ //QIODevice::WriteRead占内存较多
QTextStream in(&file);
while (!in.atEnd()) //检测是否读完文件
{
QString line = in.readLine();
ui->lineEdit->setText(line);
x=line.contains("cpu2",Qt::CaseInsensitive);
if(x==true)
{
QString kk;
kk=line.at(16);
kk+=line.at(17);
kk+=line.at(18);
kk+=line.at(19);
ui->label->setText(kk);
ui->lineEdit->setText(line);
break;
}
}}
}
void MainWindow::on_pushButton_2_clicked()
{
testTimer->stop();
}
相关文章推荐
- qt 监听linux下进程的CPU使用率和内存使用率
- linux下计算进程cpu使用率和内存使用率的方法
- Linux下内存使用率、CPU使用率、以及运行原理-转
- linux下实现CPU使用率和内存使用率获取方法
- linux下监听指定进程的资源使用率pidof,top
- 计算Linux系统和进程和线程的CPU及内存使用率(c++源码)
- Linux下内存使用率、CPU使用率、以及运行原理
- Linux 环境下监控进程内存和CPU的使用率
- linux上限制用户进程数、cpu占用率、内存使用率
- Linux下,java获取CPU使用率、内存使用率
- 查找Linux中内存和CPU使用率最高的进程
- linux下GTK编程:显示CPU使用率,内存使用率,网速。
- Linux Java 获取CPU使用率,内存使用率,磁盘IO,网络带宽使用率等等
- linux下实现CPU使用率和内存使用率获取方法
- 使用shell 脚本对 Linux 系统进程的CPU使用率与内存资源进行监控
- linux使用top命令跟踪进程的CPU占用率、内存使用率
- 使用shell 脚本对 Linux 系统进程的CPU使用率与内存资源进行监控
- linux下获取内存使用率及cpu使用率
- Qt linux获取cpu使用率、内存、网络收发速度、磁盘读写速度、磁盘剩余空间等
- Linux下,java获取CPU使用率、内存使用率