JavaのProcessBuilderクラスを使用してプロセスを開始すると、JavaのInputStreams
およびOutputStreams
という標準の標準入出力ストリームと標準エラーストリームにフルアクセスできます。しかし、私はこれらのストリームをSystem.in
,System.out
、およびSystem.err
にシームレスに接続する方法を見つけることができません。Javaで継承されたstdin/stdout/stderrを使用したプロセスの開始6
redirectErrorStream()
を使用して、サブプロセスの標準出力と標準エラーを含む単一のInputStream
を取得し、それをループして標準出力から送信することはできますが、その方法を見つけることができず、私がC system()
呼び出しを使用した場合、ユーザーがプロセスに入力することができます。
これは、Java SE 7が出てきたときに表示されます。今すぐ回避策があるのだろうかと思っています。ボーナスは、子プロセスのisatty()
の結果がリダイレクトを実行した場合に発生します。
申し訳ありません。 – jjnguy
問題ありません。 (私はあなたに、途中であなたを落とした人ではなかった) –
こんにちは、私に投票してくれない人に感謝します。そして、私に下降しないようにジョンに感謝します。 – jjnguy