如何在Qt中按进程名称终止进程

use*_*795 5 windows qt process

我正在为Qt编写Windows桌面应用程序.
我有3个进程的名称,如果它们正在运行,我想在我的应用程序开始时杀死它们.
最好的方法是什么?(通过使用进程名称获取进程的状态,如果它已打开则终止它).

代码示例可以帮助我很多.谢谢!

Sca*_*ode 11

您可以将Qprocess用于此目的.在您的申请开始时,Do

Qprocess p;
p.start("pkill processname1");
p.waitForFinished();
p.start("pkill processname2");
p.waitForFinished();
p.start("pkill processname2");
p.waitForFinished();
Run Code Online (Sandbox Code Playgroud)

或者您可以直接使用系统调用..

system("pkill processname1");
system("pkill processname2");
system("pkill processname3");
Run Code Online (Sandbox Code Playgroud)

在Windows环境中,您可以使用以下命令来终止进程

process -k “Process ID”
process -k “Process Name”
Run Code Online (Sandbox Code Playgroud)

你可以在这里阅读更多这些.


ame*_*997 6

在Windows下使用taskkill命令您可以使用以下方式调用它

QProcess::execute("taskkill /im <processname> /f");
Run Code Online (Sandbox Code Playgroud)

或者

system("taskkill /im <processname> /f");
Run Code Online (Sandbox Code Playgroud)