Java Process.waitFor () не ожидает завершения файлов .bat и завершает процесс в Windows 7 - выпуск - PullRequest
0 голосов
/ 13 сентября 2018

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();
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...