如何关闭应用程序(standford:它是一个文件夹包含很多程序。)我打开它后在CMD中? java ProcessBuilder运行时

时间:2016-11-11 08:27:49

标签: java cmd processbuilder runtime.exec

请知道Standford不是exe。它是一个包含许多程序的文件夹

我使用以下语句打开cmd.exe:

public static void runStanfordCMD() throws IOException{
        List<String> cmds = Arrays.asList("cmd.exe", "/C", "start", "java", "-mx4g", "-cp", "*", "edu.stanford.nlp.pipeline.StanfordCoreNLPServer");
        ProcessBuilder builder = new ProcessBuilder(cmds);
        builder.directory(new File("D:/Desktop/stanford-corenlp-full-2015-12-09"));
        Process proc = builder.start();

    }

那么在我完成一些进程后如何关闭cmd.exe?

使用ProcessBuilder或Runtime ??? 如果使用ProcessBuilder如何根据我的情况编写语句?

如何根据我的情况将语句写入运行时??

public static void closeStanfordCMD() throws IOException{
          try {


                Runtime.getRuntime().exec("command.exe  /C" + "Your command");  ??????how to write the statement???

            } catch (Exception e) {
                e.printStackTrace();  
            }

    }

2 个答案:

答案 0 :(得分:1)

??????怎么写声明???

如果要关闭命令提示符

Runtime.getRuntime().exec("taskkill /IM " + "cmd.exe");


如果你想关闭standford.exe

  Runtime.getRuntime().exec("taskkill /IM " + "standford.exe");

希望它有所帮助。

答案 1 :(得分:1)

方法 Runtime.getRuntime().exec 返回Process的对象。

进程有一个方法destroy(),可以杀死你正在运行的进程 所以你需要的是存储exec方法返回的Process对象,并在你想杀死进程时调用destroy()。

此外,您可以调用waitFor()方法等待进程停止(如果需要,导致当前线程等待,直到此Process对象表示的进程终止)。

要说清楚,请尝试使用此代码(或根据需要进行修改):

android.icu.util.Calendar