Документация по LinuxLinuxDoc.Ru 🔍

mkfifo - создает особый FIFO-файл (именованный канал)

НАЗВАНИЕ
mkfifo - создает особый FIFO-файл (именованный канал)

СИНТАКСИС
#include
#include

int mkfifo(const char *pathname, mode_t mode);

ОПИСАНИЕ
Функция mkfifo создает особый FIFO-файл с названием path-
name. mode определяет уровни доступа для FIFO. Они
меняются с помощью процесса umask обычным путем: уровни
доступа для созданного файла есть (mode & ~umask).

Особый FIFO-файл похож на обычный канал, только он
создается другим путем. Вместо того, чтобы быть анонимным
каналом связи, особый FIFO-файл подключается к системе с
помощью вызова mkfifo.

Как только таким образом создан особый FIFO-файл, любой
процесс может окрыть его для чтения или записи так же, как
и любой обычный файл. Тем не менее, он должен быть
открытым в обоих состояниях одновременно, прежде чем Вы
захотите провести в нем операции ввода или вывода.
Однако, открытие FIFO для чтения обычно блокирует его до
тех пор, пока другой процесс не откроет этот же FIFO для
записи, и наоборот. Смотрите fifo(4) для работы с особым
файлом FIFO без его блокирования.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Обычно возвращаемое значение при успешном завершении
работы mkfifo равно 0. В случае ошибки возвращается -1,
при этом значение переменной errno изменяется
соответственно ошибке.

КОДЫ ОШИБОК
EACCES (один из каталогов в pathname не разрешает доступ
на поиск или выполнение);

EEXIST (pathname уже существует);

ENAMETOOLONG
(либо общая длина pathname больше, чем PATH_MAX,
либо компонент "имя файла" имеет большую по
сравнению с NAME_MAX длину. В системе GNU не
существует предела общей длины имени файла, но
некоторые файловые системы могут установить пределы
длины данных компонентов.);

ENOENT (компонента каталога pathname не существует или он
является "разорванной" символьной ссылкой);

ENOSPC (в каталоге или файловой системе недостаточно места
для нового файла);

ENOTDIR
(компонент, указанный как каталог в pathname,
фактически не является каталогом);

EROFS (pathname обращается к файловой системе, доступной
только для чтения).

СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1
Читать новости Linux в Telegram
Linux - mkfifo - создает особый FIFO-файл (именованный канал)
Мы в соцсетях ✉