2016-06-20 5 views
3

the APIを見ると、インターリーブ(stdoutをstderrにリアルタイムでリダイレクトする、またはその逆の方法)がサポートされているようには見えません。必要なら私はどうしたらいいですか?stderrとstdinをstd :: process ::コマンドにインターリーブする方法は?

+0

もしあなたがUnixを使っているなら、 'to_raw_fd()'でファイルディスクリプタを取得し、 'from_raw_fd()'で 'Stdio'を構築して' Command'に与えることができると思います。 –

+0

どのように動作するかを見て、迷路で自分自身を見つけた – Tshepang

+1

もっと密接に見ると、私はそれが直接サポートされているとは思わないことに同意します。 brute-forceの方法は、シェルを使用することです(つまり、 'my_prog foo'を起動し、' sh -c 'my_prog foo 2>&1''を生成しますが、必要なクォートを気にしてください) –

答えて

-1

混乱の原因は何ですか? FromRawFd::from_raw_fdStdioオブジェクトを作成し、Stdioがその特性を実装するために使用するファイル記述子を与えることができます。

+0

この回答はUNIX 'unix :: io :: FromRawFd'という名前の** unix **に注意してください。 – Shepmaster

+1

また、**完全なものを表示すると良いでしょう** stderrとstdoutがインターリーブされている例 – Shepmaster

+0

「混乱の原因は何か」については何も積極的ではありませんが、私は正直に尋ねていました。 –

関連する問題