【发布时间】:2017-08-01 04:52:42
【问题描述】:
所以,我在运行时类中使用 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”的解决方案。
谢谢。
【问题讨论】:
-
应该可以不使用cmd.exe直接运行二进制Exe...所以我先调试一下为什么那个调用不起作用。
-
我已经调试过了。据我所知,当我在 cmd @GhostCat
-
@GhostCat ,它统计一个错误: CreateProcess error=740, The requested operation requires elevation
-
好了。因此,只需以管理员权限启动您的 Java 程序;分别要求您的用户这样做。显然,提升不是任何程序都可以自行触发的。
标签: java process runtime.exec destroy