QT cmd判断进程是否存在 获取进程信息 关闭进程

本文介绍了如何使用Qt中的QProcess类在Windows环境下启动、获取信息及终止进程的方法。包括了三种启动进程的方式:execute(), start(), startDetached()的区别,并展示了通过tasklist和taskkill命令来获取和终止进程的具体实现。
  • QProcess::execute():以阻塞的方式打开进程,当进程执行完后才会执行该进程后面的程序
  • QProcess::start():以子进程的方式打开进程,与打开的进程有关系(父子关系)
  • QProcess::startDetached():以隔离的方式打开进程,与打开它的进程无关系

  • 打开进程

QProcess process;
process.start("进程名.exe");
process.execute("进程名.exe");
process.startDetached("进程名.exe");
  • cmd 获取进程信息
//引入头文件
#include <QProcess>

QProcess process;
process.start("tasklist");
QByteArray result = process.readAllStandardOutput();
//得到进程列表
QString result1 = result;
  • cmd 终止进程
    终止进程名为test.exe的进程
QStringList params;
params << "-f" << "-im" << "test.exe";
QProcess process;
process.start("taskkill",params);

备注cmd命令:
tasklist -fi “imagename eq test.exe” – 显示进程名为test.exe的进程信息

tasklist -fi “imagename ne test.exe” – 显示进程名不为test.exe的进程信息

tasklist -fi “pid eq 1958” – 显示进程号为1958的进程信息

taskkill -f -pid 1958 – 强制终止进程号为1958的进程

taskkill -f -im test.exe – 强制终止所有进程名为test.exe的进程树

taskkill -f -fi “imagename eq test.exe” –强制终止所有进程名为test.exe的进程树

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值