如何使用java关闭外部应用程序
可能重复:如何使用java关闭外部应用程序,java,Java,可能重复: 我试图找出如何关闭一个特定的外部exe,即cwserv5.exe。我已成功启动新的外部exe并将其关闭。但不是现有进程。你能帮忙吗?下面是我正在修补的东西,但老实说,我真的丢失了 package com.TestCase; import java.io.BufferedReader; import java.io.InputStreamReader; public class ReStartEXE { static Process pr; public
我试图找出如何关闭一个特定的外部exe,即cwserv5.exe。我已成功启动新的外部exe并将其关闭。但不是现有进程。你能帮忙吗?下面是我正在修补的东西,但老实说,我真的丢失了
package com.TestCase;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class ReStartEXE {
static Process pr;
public static void open() {
//ProcessBuilder
try {
Runtime rt = Runtime.getRuntime();
//Process pr = rt.exec("cmd /c dir");
pr = rt.exec("C:\\APPLEGREEN\\webserv\\cwserv5rost.exe");
Thread.sleep(10000);
//pr.wait(10000);
//pr.waitFor();
BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream()));
// String line=null;
/*while((line=input.readLine()) != null) {
System.out.println(line);
}*/
//int exitVal = pr.waitFor();
//pr.destroy();
// Process.kill(pr);
// Runtime.getRuntime().exec("taskkill /F /IM cwserv5rost.exe");
//System.out.println("Exited with error code "+exitVal);
} catch(Exception e) {
System.out.println(e.toString());
e.printStackTrace();
}
}
public static void Close() {
pr.destroy();
}
}
您可以通过执行流程来关闭要关闭的流程 在您的评论中,我可以看到
taskkill
,这意味着您可能正在使用Windows
Runtime rt = Runtime.getRuntime();
rt.exec("taskkill /F /IM cwserv5.exe");
这将强制映像名为cwserv5.exe
的进程结束
如果不想强制结束,请不要使用/f
标记
有关taskkill
的详细信息,请转到cmd
(命令提示符)并键入taskkill/?
尝试此操作
Process proc = rt.exec("taskkill /F /IM cwserv5.exe");
BufferedReader input = new BufferedReader(new InputStreamReader(proc.getInputStream()));
while ((line = input.readLine()) != null){
//do something
}
input.close();
code = proc.exitValue();
if(code==0){
//success
}
else{
//failure
}
请参阅,请稍候。他想关闭
cwserv5.exe
。是的,这就是这段代码的作用,它与您的代码相同,也提供了现有的价值。谢谢您的帮助