Вы можете использовать функцию Process.exitValue (), чтобы получить значение выхода, не дожидаясь закрытия программы, однако это, очевидно, не будет работать, если программа все еще работает.
Если бы вы тоже хотели, вы могли бы сделать что-то вроде:
Process proc = Runtime.getRuntime().exec("cmd /c callServer.bat");
while(condition){
try{
exitVal = proc.exitValue();
System.out.println("Process exitValue: " + exitVal);
}
catch(Exception e){/*do nothing*/}
//other code goes here
}
Вроде бы некрасиво, но вы могли бы сделать это, если не устраивает многопоточность.Но использование потока было бы правильным способом сделать это.