gpt4 book ai didi

java - Java中杀死进程

转载 作者:太空宇宙 更新时间:2023-11-04 10:53:15 25 4
gpt4 key购买 nike

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

在任务管理器中,它看起来像这样: enter image description here

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

有没有办法,如何完全关闭cmd并杀死这个正在运行的进程?

最佳答案

当您启动进程时,CMD 调用可能启动了其他子进程。您的第二个命令行很有可能会杀死其中一个 child ,但不会杀死 CMD 本身。理想的情况是终止已启动的进程,而不是运行第二个命令行可执行文件来终止(可能)其中一个子进程。

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

关于java - Java中杀死进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47581937/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com