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



所以,我已经在运行时类中使用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"的解决方案。

谢谢。

要杀死您必须使用的过程:

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避免所有路径问题,这会更好。


编辑

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

运行命令提示为管理员
Java:作为管理员运行
运行具有完整特权的管理员Java文件

最新更新