Меня смущает то, как linux может позволить приложению читать из канала, например "cat / etc / hosts | grep 'localhost'". Я знаю в самостоятельной программе разветвление ребенка и общение по трубе между собой. Но для двух независимых программ, общающихся по трубе, я не знаю как.
В примере "cat / etc / hosts | grep 'localhost'" Как Grep узнает, какой дескриптор файла следует прочитать, чтобы получить входные данные из "cat / etc / hosts" Есть ли «обычный» канал, предоставляемый ОС, чтобы Grep знал, где получить информацию? Я хочу знать механизм этого.