Вы не можете "игнорировать" вывод дочернего процесса в Java, по крайней мере, технически.Вы должны прочитать содержимое входного потока, поскольку это не приведет к заполнению выходного буфера на другом конце, что приведет к описанному поведению зависания.Когда дочерний процесс пытается выполнить запись в полный выходной буфер, он блокируется до тех пор, пока буфер не будет очищен путем его чтения.
Если вы не хотите выводить данные, хотя бы прочитайте их и отбросьте. Или используйте NullInputStream .Вам не нужно использовать класс Apache Commons;Вы можете создать свой собственный класс NullInputStream, методы которого read
имеют пустые тела, аналогично NullOutputStreams .
Кроме того, эта проблема может быть не решена путем чтения только входного потока.Вам также необходимо прочитать поток ошибок, который может быть перенаправлен во входной поток.