Rubyでは、生成された子プロセスの標準入力が、同じプロセスのSTDOUT
またはをキャプチャすることなく端末に接続されるのを防ぐことは可能ですか?STDERR
バッククォートと x 文字列 (
`...`
、%x{...}
) は、STDIN をキャプチャするため機能しません。Kernel#system
STDINが端末に接続されたままになるため、機能しません(これにより、次のような信号が傍受^C
され、プログラムに到達できなくなります。これは、私が回避しようとしていることです)。Open3
STDOUT
メソッドが と のいずれかまたは両方STDOUT
をキャプチャするため、 は機能しませんSTDERR
。
それで、私は何を使うべきですか?