PIPE(2)

НАЗВАНИЕ
pipe - создание межпроцессного канала

СИНТАКСИС


        int pipe (fildes)

        int fildes [2];

ОПИСАНИЕ
Системный вызов pipe создает механизм ввода/вывода, называемый каналом, и возвращает два дескриптора файла fildes[0] и fildes[1]. Дескриптор fildes[0] открыт на чтение, дескриптор fildes[1] - на запись.

Канал буферизует до 5120 байт данных; запись в него большего количества информации без считывания приведет к блокированию пишущего процесса. Посредством дескриптора fildes[0] информация читается в том же порядке, в каком она записывалась с помощью дескриптора fildes[1].

Системный вызов pipe завершается неудачей, если выполнено хотя бы одно из следующих условий:

[EMFILE]
Превышается максимально допустимое количество файлов, открытых одновременно в одном процессе.
[ENFILE]
Переполнена системная таблица файлов.

СМ. ТАКЖЕ
read(2), write(2). sh(1) в Справочнике пользователя.

ДИАГНОСТИКА
При успешном завершении результат равен 0; в случае ошибки возвращается -1, а переменной errno присваивается код ошибки.