Если я запустил процесс с помощью Java ProcessBuilder, у меня есть полный доступ к этому стандарту процесса, стандартная и стандартная ошибка потоки как Java InputStreams
и OutputStreams
. Однако я не могу найти способ бесшовно подключать эти потоки к System.in
, System.out
и System.err
.
Можно использовать redirectErrorStream()
для получения единственного InputStream
, который содержит стандартную ошибку подпроцесса и стандартную ошибку, и просто пропустить это и отправить его через мой стандартный выход, но я не могу найти способ сделать это и позволить пользователю вводить в процесс, как он мог, если бы я использовал вызов C system()
.
Это кажется возможным в Java SE 7, когда он выходит - мне просто интересно, есть ли обходной путь сейчас. Бонусные точки, если результат isatty()
в дочернем процессе переносится через перенаправление.