Конвейер (UNIX)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Пример цепи процессов.

Конвейер в терминологии UNIX — некоторое множество процессов, для которых выполнено следующее перенаправление ввода-вывода: то, что выводит на поток стандартного вывода предыдущий процесс, попадает в поток стандартного ввода следующего процесса. Запуск конвейера реализован с помощью системного вызова pipe().

Код возврата конвейера равен коду возврата последней команды. В bash можно изменить это поведение, включив опцию pipefail:

set -o pipefail

после чего конвейер вернёт ноль, если все команды завершились удачно, или код последней команды, вернувшей не ноль.

Пример запуска конвейера:

$ ps aux | grep [k]de | gawk '{ print $2}'

Данная команда выведет номера процессов, в названии которых встречается подстрока «kde»