私はC++で書かれた2つのプロセスをパイプでつなぎます。 1つは、もう一方の標準にいくつかの情報を与えます。stdoutとスクリプトを閉じる
問題は、交換するデータがなくなっても、cin.getline()内で2番目のプロセスがハングすることです。最初のプロセスの解決策はfclose(stdout)でしたが、それはスクリプトでラップされたプロセスを使用する場合を除いて動作します。だから明らかに、スクリプトのstdoutは、プロセスによって閉じた後もまだ開いています。これは公正だと思われますが、私の場合は閉じますか?ありがとう
なぜあなたはしたいですか?あなたは何をしようとしているかに関する情報をあまり提供しません。 – Thor
コメントありがとうございます。要点は、プロセスBがstdinを反復してから別のことをしなければならないということです。しかし、プロセスA(ライター)は決して終わらないので、入力はEOFを含まないので、プロセスBは移動するのではなく入力を待つ。 – haelix