7

「mkfifo」で作成したような名前付きパイプを作成したいのですが、注意点が1つあります。パイプを双方向にしたい。つまり、プロセス A が fifo に書き込み、プロセス B がそこから読み取る、またはその逆が必要です。「mkfifo」によって作成されたパイプにより、プロセス A はパイプに書き込まれたデータを読み取ることができます。通常は 2 つのパイプを使用しますが、実際のデバイスをシミュレートしようとしているので、open()、read()、write() などのセマンティクスを可能な限り実際のデバイスに近づけたいと考えています。2 つのパイプまたは名前付きソケットに頼らずにこれを達成する手法を知っている人はいますか?

4

2 に答える 2

6

またはpty(「疑似端末インターフェース」)。man pty.

于 2009-08-31T18:34:31.303 に答える
5

Unix ドメイン ソケットを使用します。

ああ、あなたは利用可能な唯一の解決策である Unix ドメイン ソケットを使いたくないと言いました。

その場合、名前付きパイプを 2 つ開いたり、開かなかったりすることになります。もちろん、独自のデバイス ドライバーを作成することもできます。もちろん、オープン ソース システム用に作成することもできます。クローズド ソース システム (Windows、AIX、HP-UX) では難しいかもしれません。

于 2009-08-31T18:33:11.930 に答える