繁体   English   中英

用Java杀死进程

[英]Kill process in Java

我从我的Java代码运行过程,例如p = run.exec("cmd /c start \\"\\" C:\\\\<nameof .cmd file>"); 在某些时候,我想终止这个过程。 在进程上调用destroy()方法会杀死该进程,但是我想关闭仍在运行过程的命令行。 当我查看任务管理器时,此过程没有名称,只有postfix .exe

在任务管理器中,如下所示: 在此处输入图片说明

所以我不能这样做p = run.exec("taskkill /F /IM <nameofexe>.exe"); ,因为此运行进程没有名称。

有没有办法完全关闭cmd并杀死该正在运行的进程?

启动进程时,CMD调用可能已经启动了其他子进程。 赔率不错,您的第二个命令行正在杀死一个孩子,而不是CMD本身。 理想的情况是杀死启动的进程,而不是运行另一个命令行可执行文件来杀死(可能是)一个子进程。

Process child = run.exec("cmd /c start \"\" C:\\<nameof .cmd file>");
if (timeToKillTheProcess) {
    child.destroy();
    child.waitFor();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM