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

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/cammyn/article/details/52637508
  • 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的进程树

展开阅读全文

没有更多推荐了,返回首页