3.3.1. Конвейер (pipe)

3.3.1. Конвейер (pipe)

В главе 2 вы познакомились с командой-фильтром more, вызываемой так:

< команда_выводящая_много_строк > | more

Символ «|» — это и есть конвейер. Его можно понимать как канал, в который один процесс может только писать, а другой — только читать из него. Выборка и помещение информации в такой канал происходит в порядке FIFO (First In/First Out).

Посредством конвейера вывод одной команды подается на вход другой. Это одно из мощнейших средств UNIX, позволяющее комбинировать из простых команд длинные и изощренные цепочки обработки данных.

Например, я хочу узнать, осталась ли у меня еще свободная виртуальная консоль, чтобы зарегистрироваться там и спросить справку по какой-то команде, не прерывая процессов, протекающих на других консолях. Я знаю, что виртуальную консоль обслуживает программа mingetty, которая после регистрации на этой консоли замещает свой код на код командной оболочки. Значит, мне нужно подсчитать количество процессов mingetty. Есть команда wc (word count), умеющая подсчитывать число строк, слов или байтов в файле. Есть команда grep, умеющая выбирать из файла строки, содержащие указанный фрагмент текста. Соединяю их конвейером:

$ ps -е | grep mingetty | wc -l

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

1.8 Конвейер

Из книги Прикладные свободные программы и системы в школе автора Отставнов Максим

1.8 Конвейер Помимо использования символов завершения («&», «;», «&&» и «||») и скобок «(» и «)», в открытых ОС имеется еще один механизм объединения простых команд в группу — конвейер[54].В отличие от групп команд, объединенных упомянутыми символами завершения и


1.8 Конвейер

Из книги Свободные программы и системы в школе автора Отставнов Максим

1.8 Конвейер Помимо использования символов завершения («&», «;», «&&» и «||») и скобок «(» и «)», в открытых ОС имеется еще один механизм объединения простых команд в группу – конвейер54.В отличие от групп команд, объединенных упомянутыми символами завершения и


Отдаление Луны: как нам организовать конвейер открытий Василий Щепетнёв

Из книги Цифровой журнал «Компьютерра» № 183 автора Журнал «Компьютерра»

Отдаление Луны: как нам организовать конвейер открытий Василий Щепетнёв Опубликовано 24 июля 2013 Как свершаются эпохальные открытия, меняющие жизнь и человека, и человечества? Естественный ли это процесс, обусловленный неуклонно-поступательным


Функция pipe(2)

Из книги Операционная система UNIX автора Робачевский Андрей М.

Функция pipe(2) Функция pipe(2) служит для создания однонаправленного (симплексного) канала (также называемого анонимным каналом) обмена данными между двумя родственными процессами. Дело в том, что только родственные процессы (например, родительский и дочерний) имеют