Java 如何知道以“开始”开始的流程的状态;cmd start";?

Java 如何知道以“开始”开始的流程的状态;cmd start";?,java,process,Java,Process,我正在尝试编写一个小工具,如果jar被终止,它将重新启动一定数量的jar private static void checkAndRestartProcesses() { for ( int i=0; i<processes.size(); i++ ) { try { processes.get(i).exitValue(); processes.remove(i); } catch (IllegalT

我正在尝试编写一个小工具,如果jar被终止,它将重新启动一定数量的jar

private static void checkAndRestartProcesses() {
    for ( int i=0; i<processes.size(); i++ ) {
        try {
            processes.get(i).exitValue();
            processes.remove(i);
        } catch (IllegalThreadStateException ex) {
        }
    }
    try {
        for ( int i=processes.size(); i<Config.NR_PROCESSES; i++ ) {
            ProcessBuilder pb = new ProcessBuilder("cmd", "/c start cmd /c java -jar bla.jar");
            Process p = pb.start();
            processes.add(p);
        }
    } catch (IOException ex) {
    }
}
private静态无效检查和启动过程(){

对于(int i=0;i您需要在启动时使用/wait标志

cmd /c start /wait java -jar bla.jar

为什么你在这里使用
cmd/c start\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。