#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QTimer>
QProcess * m_process;
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
m_process = new QProcess();
m_process->setProcessChannelMode(QProcess::MergedChannels);
QTimer *timer = new QTimer(this);
connect(timer,SIGNAL(timeout()),this,SLOT(check()));
timer->start(2000);
}
MainWindow::~MainWindow()
{
delete ui;
if (m_process) {
m_process->close();
delete m_process;
}
}
void MainWindow::check()
{
if (( this->ui->lineEdit_2->text().length()==0)|| this->ui->lineEdit->text().length()==0)
return;
m_process->start("cmd", QStringList()<<"/c"<<QString("tasklist | findstr %1").arg(this->ui->lineEdit->text().trimmed()));
m_process->waitForFinished(5000);
QString strRet = m_process->readLine();
if(strRet.isEmpty()){
m_process->startDetached(this->ui->lineEdit_2->text());
m_process->waitForFinished(5000);
}
qDebug()<<strRet;
}
简单的进程守护
最新推荐文章于 2024-07-19 21:07:29 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)