私は、子プロセスが2つの長い値をパイプに書き込む必要があり、親プロセスがそれらを読み込む必要がある、linuxでC++でプログラムを書いています。今までは、このために2つの(名前付きの)パイプを設定し、それぞれをwrite(fd1、& value1、sizeof(long))で書き込み、read(fd1、& value1、sizeof(long))で読み取りました。 どちらのパイプもちょうどいいですが、これを行う方法を理解できませんでした。 パイプにさらに値を書き込んで読み込むにはどうすればいいですか?
は、私が試した:write(fd1,&value1,sizeof(long));
write(fd1,&value2,sizeof(long));
と2は同様に読み取りますが、これは、ブロッキングとお互いを待っているプロセスにつながるようです。
誰かが私にヒントを与えることができれば、これを実現する方法は非常にうれしいです。
可能な解決策:私はいくつかの値を知っていたので、配列内のすべての値を書きました。
パイプをフラッシュすることができますか? –