我正在学习系统类中的管道和外壳。我在搞strace
。我正在运行一个名为dpipe
的程序。Pipe()系统调用
在strace
日志,我看到以下内容:
pipe([3, 4])
pipe([5, 6])
什么这些整数代表什么?我在那个管道下基本上用shell来将一个命令的输出路由到另一个命令的输入,使用|
。所以它只是让我们的生活更轻松。在这种情况下,那里的数字数组代表什么?此外,如果piping
仅用于shell,为什么会有C系统调用?这是完全为那些想要编写自己的shell(为了让自己的生活更轻松)而制作的吗?
即使不支持管道系统调用或多任务,也可以实现管道式语义。 DOS command.com通过在启动第二个命令之前将一个命令的输出重定向到一个文件来完成它。 (这当然有影响和某些限制..) – 2012-02-21 03:26:25