Groovy Управление процессами На странице упоминается, что:
Поскольку некоторые собственные платформы предоставляют ограниченный размер буфера для стандартного ввода и выходные потоки, неспособность быстро записать входной поток или прочитать выходные данные Поток подпроцесса может привести к блокировке подпроцесса и даже к тупику
Этот фрагмент взят из API JDK. Какие платформы, в частности, это?
Это также происходит в Linux и (я ожидаю) Solaris.
На самом деле, я был бы удивлен, обнаружив любую обычную платформу ОС, которая обеспечивает неограниченную буферизацию для потоков между процессами; то есть каналы в терминологии UNIX.
Я знаю, что это происходит по крайней мере в Windows. Вот почему дочерние stdin и stdout должны читаться в другой ветке.