如何杀死我们在java {.exec(“cmd / c”+ command)}中使用exec开始的进程

时间:2017-03-10 18:20:30

标签: java process runtime.exec destroy

所以,我在Runtime类中使用exec方法在java中启动了一个进程。现在,我如何调用它如下。

Runtime r=Runtime.getRuntime(); 
Process p=null; 
String s="E:\\Softwares\\fiddler4setup.exe"; 
p=r.exec("cmd /c"+s);

现在,当我尝试使用p.destroy()方法销毁进程时。 Fiddler4setup.exe仍在运行。我一直在寻找方法来关闭这个一周。即使在这里,对于这类问题也没有特别正确的答案。请帮助我。

此外,直接运行文件不起作用,因为它显示一些704错误我猜。然后,我看到了使用“cmd / c”的解决方案。

谢谢。

1 个答案:

答案 0 :(得分:1)

要杀死你的进程,你必须使用:

Taskkill /IM YourProcess.exe /F

或使用PID

Taskkill /PID 26356 /F

所以你的程序应该是这样的:

Runtime r = Runtime.getRuntime();
Process p = r.exec("Taskkill /IM fiddler4setup.exe /F");

请注意,您可以在cmd中使用此命令tasklist获取进程的PID,如果使用PID来避免所有路径问题,这将更好。

修改

没有明确的方法可以将您的脚本作为管理员模式运行,这里有一些问题希望可以带给您和想法:

Run command prompt as Administrator
Java: run as administrator
Run Java file as Administrator with full privileges