Qt 守护进程创建
2023-09-14 09:07:11 时间
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QDebug>
#include <QTimer>
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()
{
m_process->start("cmd", QStringList()<<"/c"<<"tasklist | findstr FeiQ");
m_process->waitForFinished(3000);
QString strRet = m_process->readLine();
if(strRet.isEmpty()){
m_process->startDetached("e:\\FeiQ.exe");
m_process->waitForFinished(3000);
}
qDebug()<<strRet;
}
很简单,检查进程是否存在,不存在则启动之。
相关文章
- [Qt教程] 第15篇 2D绘图(五)绘制图片
- Qt之进程间通信(TCP/IP)
- Qt之进程间通信(共享内存)
- Qt-关闭进程4种方法
- qt 获取窗口句柄的线程id和进程id GetWindowThreadProcessId
- Qt音视频开发20-海康sdk本地播放
- Qt如何实现秒表项目
- Qt中JSON简介
- Qt QPlainTextEdit多行文本编辑器
- Qt 进程间的通信(通过QSharedMemory)
- Qt QSignalMapper(信号映射器)
- Qt QOpenGLWidget类讲解
- Qt开发——线程类QThread
- Qt进程和线程之二:启动线程的两种方式
- Qt QStackedWidget控件
- Qt中进程的使用
- 8、QT基础——常用控件
- Qt之多级折叠下拉导航菜单(采用QTreeWidget)
- Qt视频播放器
- Qt关于设置窗口透明或半透明且控件不透明(可用)
- QT自定义鼠标样式
- QT安装、添加或删除、更新组件
- QT图片查看器封装-鼠标中心缩放、移动、截图、框选、切换播放
- Qt访问注册表并调用子进程
- Qt开发,报错:进程“D:QtQt5.14.25.14.2msvc2017_64binqmake.exe“退出,退出代码 2 。Error while building/deployin