java等待输出命令在ProcessBuilder中完成(" sh")

时间:2014-09-03 09:13:26

标签: java

如何等待“cmd1”退出然后运行“cmd2”而不使用shell脚本。

    void exec(CharSequence ch) throws IOException {
        String string = ch.toString();
        out.write(string);
        out.newLine();
        out.flush();
        //Fix here.
    }

    ProcessBuilder builder = new ProcessBuilder("sh");
    builder.redirectErrorStream(true);
    process = builder.start();
    out = new BufferedWriter(new OutputStreamWriter(process.getOutputStream()));

    exec("sleep 5"); // cmd1
    exec("ls -al"); // cmd2

1 个答案:

答案 0 :(得分:0)

Process有一个方法:

Process.waitFor()

如果需要,导致当前线程等待,直到此Process对象表示的进程终止。