程序可以使用管道来回通信吗?

时间:2014-09-18 09:00:50

标签: c++

我正在看某人对项目的想法。这个人希望有两个程序通过管道进行通信。这是我的问题。是否可以创建两个通过命令行管道相互通信的程序?

1 个答案:

答案 0 :(得分:5)

让两个程序通过管道进行通信并从命令行进行设置是相当容易的。例如。在Linux上:

$ mkfifo /tmp/A
$ mkfifo /tmp/B
$ /bin/prog1 --inpipe /tmp/A --outpipe /tmp/B &
$ /bin/prog2 --inpipe /tmp/B --outpipe /tmp/A &
$ wait

或者如果程序只想通过标准输入和输出进行通信:

$ /bin/prog1 < /tmp/A > /tmp/B &
$ /bin/prog2 < /tmp/B > /tmp/A &

或者您甚至可以保持其中一个管道匿名:

$ /bin/prog1 < /tmp/A | /bin/prog2 > /tmp/A