我正在使用 C 语言开发一个相当简单的应用程序。最终目标是在 *nix 环境中将一个进程的输出通过管道传输到另一个进程的输入(是的,我知道 pipe() 命令和 dup/dup2 但是我正在尝试使用这些命令四处寻找)。我想知道是否有任何方法可以连接流而不是使用文件描述符(不能保证系统符合 POSIX)。
所以基本上我想做这样的事情(伪代码)
pid = fork()
if pid == 0
// assign this process's stdin to the parents stdout.
stdin = parent.stdout;
exec() // launch new process that receives the parents stdout as stdin
// child stuff....
else
// parent stuff....
我知道它可能不会像上面那样简单,但是有没有办法只使用流来做到这一点?我试着环顾四周,但找不到任何东西。。
谢谢!