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

jax*_*jax 2 c++

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

Ker*_* SB 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
Run Code Online (Sandbox Code Playgroud)

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

$ /bin/prog1 < /tmp/A > /tmp/B &
$ /bin/prog2 < /tmp/B > /tmp/A &
Run Code Online (Sandbox Code Playgroud)

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

$ /bin/prog1 < /tmp/A | /bin/prog2 > /tmp/A
Run Code Online (Sandbox Code Playgroud)