我想做简单的事情:my_process |过程2 | proc3
,但以编程方式 - 不使用 shell,可以很容易地做到这一点。这可能吗?我找不到任何东西:(
编辑:
好吧,没有代码,没有人会知道我要解决什么问题。实际上,没有输出(我正在使用 printf
s)
int pip1[2];
pipe(pip1);
dup2(pip1[1], STDOUT_FILENO);
int fres = fork();
if (fres == 0) {
close(pip1[1]);
dup2(pip1[0], STDIN_FILENO);
execlp("wc", "wc", (char*)0);
}
else {
close(pip1[0]);
}
最佳答案
请了解file descriptors和 pipe系统调用。另外,检查 read和 write .
关于c - 如何将自己的输出通过管道传递给另一个进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25384377/