IT-словарь › Программирование › Конвейер (pipe)

Конвейер (pipe)

Программирование Svenska → Обновлено: 2026-10-18

Односторонний поток байтов между двумя процессами — то, что делает возможным символ | в оболочке.

Ядро создаёт буфер, выдаёт одному процессу файловый дескриптор для записи, другому — для чтения. Пишущий блокируется, когда буфер полон, читающий — когда он пуст; управление потоком получается бесплатно. Буфер на Linux обычно равен 64 КБ.

На этом механизме стоит философия Unix: маленькие программы, делающие одно дело, соединённые текстовыми потоками. Именованный канал, создаваемый через mkfifo, живёт в файловой системе и позволяет соединить посторонние процессы. Частое явление — SIGPIPE: запись в канал, читатель которого ушёл, по умолчанию убивает процесс; поэтому head «затыкает» команды, выдающие слишком много.

← Назад к словарю