У меня есть следующий фрагмент кода:
Process proc = runtime.exec(command);
errorGobbler = new ErrorStreamGobbler(proc.getErrorStream(), logErrors, mdcMap);
outputGobbler = new OutputStreamGobbler(proc.getInputStream(), mdcMap);
executor.execute(errorGobbler);
executor.execute(outputGobbler);
processExitCode = proc.waitFor();
где пожиратели — это Runnable
, которые используют BufferedReader
для чтения входных данных и потоков ошибок исполняемого процесса. Хотя это работает большую часть времени, я получаю случайное окно (около 2 минут или около того), где я получаю processExitCode
как 0, что указывает на нормальное завершение, но во входных потоках и потоках ошибок нет ничего - ничего даже не указывает на конец- потока.
Как я указывал ранее, это работает большую часть времени, но этот сбой происходит время от времени - и я совершенно озадачен. Есть идеи?
Тряпки