打印

关于pipe和io重定位

关于pipe和io重定位

书上有一个题目,意思好像是创建两个进程,把一个进程的stdout重定向为第2个进程的stdin,这是什么意思,怎么实现?

我的思路是:fork()第一个进程,通过pipe发送第一个进程的stdout标示,
fork()第2个进程,通过pipe接受发过来的stdout,并把自己的stdin换成发过来的stdout(第1个进程)。
这样是不是第一个进程的print会打在终端上和第2个进程的stdin内??
It is sad.but eventually processes must die---

TOP

书上说``when the process calls fork, file descriptors are copied to the new child process''。你想发送的`标示‘就是 file descriptor 吧,不用发了。

你不是会用管道吗?一个管道就是两个 fd 。会了吧?

TOP