如何使用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
。是的,这就是这段代码的作用,它与您的代码相同,也提供了现有的价值。谢谢您的帮助