Qt启动/杀死外部进程
2021/11/26 7:10:33
本文主要是介绍Qt启动/杀死外部进程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
参考1
启动外部线程
主要有:
- QProcess ::execute() 阻塞主进程的方式打开(静态成员);
- QProcess ::start() 以主进程的子进程的方式打开(父子);
- QProcess ::startDetached() 以隔离的方式打开;
(1) QProcess ::execute() 方法
QProcess::execute("C:\\Environment\\influxDB_1_5_2\\influxd.exe")
(2) QProcess ::start() 方法
QProcess proc; proc.start("C:\\Environment\\influxDB_1_5_2\\influxd.exe");
(3) QProcess ::startDetached() 方法 (推荐!)
if (QProcess::startDetached("C:\\Environment\\influxDB_1_5_2\\influxd.exe")) qDebug() <<"Running..."; else qDebug() <<"Failed";
判断进程是否在运行
bool IsProcessExist(const QString &processName)// 返回 true/false { QProcess proc; proc.start("tasklist"); proc.waitForFinished();// 等待 tasklist 启动 QByteArray result = proc.readAllStandardOutput(); QString str = result; if(str.contains(processName)) { qDebug() << processName <<"is Running"; return true; } else { qDebug() << "Can't find " << processName; return false; } }
bool IsProcessExist(const QString &processName)// 返回 true/false { QString strInfo = QString::number(QProcess::execute("tasklist", QStringList()<<"-fi"<<"imagename eq influxd.exe")); if(strInfo .contains(processName)) { qDebug() << processName <<"is Running"; return true; } else { qDebug() << "Can't find " << processName; return false; } }
void getProcessInfo() // 返回信息(需要对返回信息进行判断) { QProcess::execute("tasklist", QStringList()<<"-fi"<<"imagename eq prog.exe"); }
终止外部进程
// 通过进程ID结束进程(该进程由proc对象打开前提是通过 proc) QProcess::startDetached("taskkill -t -f /pid " + QString::number(proc.processId()));
// 通过进程名字结束进程 QProcess::startDetached("taskkill -t -f /IM " + QString("influxd.exe"));
这篇关于Qt启动/杀死外部进程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-10SpringBoot 内部方法调用,事务不起作用的原因及解决办法
- 2024-11-10独立开发者 5 个月,月收入赶超北京工资,我的一点心得
- 2024-11-09程序员 SEO 系列:如何找到更多搜索关键词?
- 2024-11-09为何选择Spring AI Alibaba开发智能客服平台?
- 2024-11-09Sentinel不同的流控效果资料详解
- 2024-11-09Sentinel配置限流资料:新手入门教程
- 2024-11-09Sentinel配置限流资料详解
- 2024-11-09Sentinel熔断规则配置资料详解
- 2024-11-08Sentinel熔断规则配置资料详解
- 2024-11-08Sentinel限流资料入门教程