【发布时间】:2010-11-15 13:59:40
【问题描述】:
我很困惑 linux 如何让应用程序从管道中读取,例如“cat /etc/hosts | grep 'localhost'”。我知道在一个独立的程序中分叉一个孩子并通过管道相互交流。但是对于两个通过管道通信的独立程序,我不知道如何。 在示例“cat /etc/hosts | grep 'localhost'”中,Grep 如何知道它应该读取哪个文件描述符以从“cat /etc/hosts”获取输入。操作系统是否提供了“常规”管道,让 Grep 知道从哪里获取输入?我想知道这背后的机制。
【问题讨论】: