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