Описание тега 12-10
Sortof, трубопровод работает следующим образом: Сначала выполняется первая команда, затем вторая команда в вашем случае.
То есть, давайте А|Б
бы команду дали. Тогда неясно, является ли это
или б
начинается сначала. Они могут начать в то же время, если есть несколько процессоров. Труба может содержать неопределенное, но конечное количество данных.
Если б пытается читать из трубы, но не имеется никаких данных, Б
будет ждать, пока данные поступят. Если б
читал с диска, б
могут иметь такую же проблему и нужно ждать, пока скорость чтения с диска заканчивается. Ближайшая аналогия будет читать с клавиатуры. Есть, Б
придется ждать пользователю тип. Но во всех этих случаях, Б начал "читать" операция и нужно подождать, пока он закончит. Но если б
это команда такая, что он должен лишь частичный выход , а
затем после определенного момента, где б
ы уровень входного сигнала достигается также
будут убиты сигнал sigpipe,
Если это
пытается писать на трубы и труба полная, а
должна ждать какую-то комнату в трубе, чтобы стать свободными. А
мог бы с той же проблемой, если это было написано к терминалу. Терминал имеет контроль потока и может снизить темпы данных. В любом случае, для себя
, он начал "писать" и будет ждать, пока операция записи не завершается.
А
и Б
ведут себя как Co-процессов, хотя и не все процессы будут общаться с трубой. Ни в полной мере контролировать другие.