Java Process.waitFor () не ожидает завершения файлов .bat и завершает процесс на windows 7, но работает нормально на linux для файлов .sh Я работаю над процессом Java, где я должен вызывать.bat
файлы из windows.Я разработал этот код внутри Linux и работает нормально на Linux, но на Windows, когда я вызываю файл с 5 секунд сна.Он блокирует и удаляет процесс одновременно и не ждет в течение 5 секунд.
Не могли бы вы взглянуть на код и помочь мне выяснить, как я могу эффективно использовать файлы bat?
public int processOutput(String absoluteFilePath, String phoneNo) throws IOException, InterruptedException {
ProcessBuilder builder = new ProcessBuilder(absoluteFilePath);
Map<String, String> map = builder.environment();
map.put("phone_number", phoneNo);
builder.redirectErrorStream(true);
Process process = builder.start();
try (BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()))) {
String line = "";
while ((line = reader.readLine()) != null) {
LOG.info(line);
}
LOG.info("Process Ended");
}
return process.waitFor();
}