首页 文章

命名管道类似于“mkfifo”创建,但是双向

提问于
浏览
7

我想创建一个命名管道,就像“mkfifo”创建的那样,但有一点需要注意 . 我希望管道是双向的 . 也就是说,我希望进程A写入fifo,进程B进行读取,反之亦然 . 由“mkfifo”创建的管道允许进程A读取写入管道的数据 . 通常我会使用两个管道,但我试图模拟一个实际的设备,所以我希望open(),read(),write()等的语义尽可能与实际设备类似 . 任何人都知道一种技术,无需借助两个管道或命名套接字来实现这一目标?

2 回答

  • 5

    使用Unix域套接字 .

    哦,你说你不想使用唯一可用的解决方案 - 一个Unix域套接字 .

    在这种情况下,你会被打开两个命名管道,或者没有 . 或者为他们编写自己的设备驱动程序 - 当然 - 你可以为开源系统做这件事,无论如何;对于封闭源系统(Windows,AIX,HP-UX)来说可能更难 .

  • 4

    pty ("pseudo-terminal interface") . man pty .

相关问题