.\" -*- coding: UTF-8 -*- '\" t .\" This manpage is Copyright (C) 1995 James R. Van Zandt .\" and Copyright (C) 2006, 2014 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" changed section from 2 to 3, aeb, 950919 .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH mkfifo 3 "20 июля 2023 г." "Linux man\-pages 6.05.01" .SH ИМЯ mkfifo, mkfifoat \- создают специальный файл очереди FIFO (именованный канал) .SH LIBRARY Standard C library (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP \fB#include \fP .PP \fBint mkfifo(const char *\fP\fIpathname\fP\fB, mode_t \fP\fImode\fP\fB);\fP .PP \fB#include \fP/* определения констант AT_* */ \fB#include \fP .PP \fBint mkfifoat(int \fP\fIdirfd\fP\fB, const char *\fP\fIpathname\fP\fB, mode_t \fP\fImode\fP\fB);\fP .fi .PP .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .PP \fBmkfifoat\fP(): .nf Начиная с glibc 2.10: _POSIX_C_SOURCE >= 200809L До glibc 2.10: _ATFILE_SOURCE .fi .SH ОПИСАНИЕ \fBmkfifo\fP() makes a FIFO special file with name \fIpathname\fP. \fImode\fP specifies the FIFO's permissions. It is modified by the process's \fBumask\fP in the usual way: the permissions of the created file are \fB(\fP\fImode\fP\fB & \[ti]umask)\fP. .PP Специальный файл FIFO подобен каналу, за исключением того, что он создаётся другим способом. Вызов \fBmkfifo\fP() вместо безымянного канала взаимодействия создаёт специальный файл FIFO, расположенный в файловой системе. .PP После создания специального файла FIFO, любой процесс может открывать его для чтения или записи, как если бы он открывал обычный файл. Однако прежде чем вы сможете что\-либо сделать, его необходимо открыть с обоих концов, притом одновременно. Открытие FIFO для чтения обычно блокируется, пока какой\-нибудь другой процесс не откроет его для записи, и наоборот. Описание работы со специальными файлами FIFO в неблокирующем режиме смотрите в \fBfifo\fP(7). .SS mkfifoat() Функция \fBmkfifoat\fP() работает также как как \fBmkfifo\fP(), за исключением случаев, описанных здесь. .PP Если в \fIpathname\fP задан относительный путь, то он считается относительно каталога, на который ссылается файловый дескриптор \fIdirfd\fP (а не относительно текущего рабочего каталога вызывающего процесса, как это делается в \fBmkfifo\fP(3)). .PP Если в \fIpathname\fP задан относительный путь и \fIdirfd\fP равно специальному значению \fBAT_FDCWD\fP, то \fIpathname\fP рассматривается относительно текущего рабочего каталога вызывающего процесса (как \fBmkfifo\fP(3)). .PP Если в \fIpathname\fP задан абсолютный путь, то \fIdirfd\fP игнорируется. .PP See \fBopenat\fP(2) for an explanation of the need for \fBmkfifoat\fP(). .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" On success \fBmkfifo\fP() and \fBmkfifoat\fP() return 0. On error, \-1 is returned and \fIerrno\fP is set to indicate the error. .SH ОШИБКИ .TP \fBEACCES\fP Один из каталогов содержащихся в \fIpathname\fP не позволяет выполнить поиск, так как правами запрещено исполнение. .TP \fBEBADF\fP (\fBmkfifoat\fP()) \fIpathname\fP is relative but \fIdirfd\fP is neither \fBAT_FDCWD\fP nor a valid file descriptor. .TP \fBEDQUOT\fP Исчерпана пользовательская квота на дисковые блоки или иноды файловой системы. .TP \fBEEXIST\fP \fIpathname\fP уже существует. В этом случае \fIpathname\fP может быть символьной ссылкой, повисшей или нет. .TP \fBENAMETOOLONG\fP Если длина полного имени файла (включая путь) \fIpathname\fP больше чем \fBPATH_MAX\fP или длина имени файла больше чем \fBNAME_MAX\fP. В общем случае в системах, соответствующих стандарту GNU, отсутствует ограничение на длину полного имени файла, однако некоторые файловые системы могут устанавливать ограничение на длину отдельного компонента. .TP \fBENOENT\fP Один из каталогов в \fIpathname\fP не существует или является повисшей символьной ссылкой. .TP \fBENOSPC\fP В каталоге или файловой системе закончились места для новых файлов. .TP \fBENOTDIR\fP Компонент пути, использованный как каталог в \fIpathname\fP, в действительности таковым не является. .TP \fBENOTDIR\fP (\fBmkfifoat\fP()) \fIpathname\fP is a relative pathname and \fIdirfd\fP is a file descriptor referring to a file other than a directory. .TP \fBEROFS\fP \fIpathname\fP указывает на файловую систему, доступную только для чтения. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBmkfifo\fP(), \fBmkfifoat\fP() T} Безвредность в нитях MT\-Safe .TE .sp 1 .SH ВЕРСИИ It is implemented using \fBmknodat\fP(2). .SH СТАНДАРТЫ POSIX.1\-2008. .SH ИСТОРИЯ .TP \fBmkfifo\fP() POSIX.1\-2001. .TP \fBmkfifoat\fP() glibc 2.4. POSIX.1\-2008. .SH "СМ. ТАКЖЕ" \fBmkfifo\fP(1), \fBclose\fP(2), \fBopen\fP(2), \fBread\fP(2), \fBstat\fP(2), \fBumask\fP(2), \fBwrite\fP(2), \fBfifo\fP(7) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан aereiae , Alexey , Azamat Hackimov , Dmitriy S. Seregin , Dmitry Bolkhovskikh , ITriskTI , Max Is , Yuri Kozlov , Иван Павлов и Малянов Евгений Викторович . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .