| mkfifo(3) | Library Functions Manual | mkfifo(3) |
mkfifo, mkfifoat - creează un fișier special FIFO (o conductă cu nume)
Biblioteca C standard (libc, -lc)
#include <sys/types.h> #include <sys/stat.h>
int mkfifo(const char *pathname, mode_t mode);
#include <fcntl.h> /* Definirea constantelor AT_* */ #include <sys/stat.h>
int mkfifoat(int dirfd, const char *pathname, mode_t mode);
mkfifoat():
Începând cu glibc 2.10
_POSIX_C_SOURCE >= 200809L
Înainte de glibc 2.10:
_ATFILE_SOURCE
mkfifo() creează un fișier special FIFO cu numele nume-rută. mode specifică permisiunile FIFO-ului. Acesta este modificat de umask al procesului în mod obișnuit: permisiunile fișierului creat sunt (mode & ~umask).
Un fișier special FIFO este similar cu o conductă, cu excepția faptului că este creat într-un mod diferit. În loc să fie un canal de comunicare anonim, un fișier special FIFO este introdus în sistemul de fișiere prin apelarea mkfifo().
După ce ați creat un fișier special FIFO în acest mod, orice proces îl poate deschide pentru citire sau scriere, în același mod ca un fișier obișnuit. Cu toate acestea, trebuie să fie deschis simultan la ambele capete înainte de a putea efectua orice operație de intrare sau ieșire pe acesta. Deschiderea unui FIFO pentru citire se blochează în mod normal până când un alt proces deschide același FIFO pentru scriere și viceversa. Consultați fifo(7) pentru gestionarea fără blocare a fișierelor speciale FIFO.
Funcția mkfifoat() funcționează exact în același mod ca funcția mkfifo(), cu excepția diferențelor descrise aici.
Dacă numele de rută dat în nume-rută este relativ, atunci acesta este interpretat în raport cu directorul la care se referă descriptorul de fișier dirfd (și nu în raport cu directorul de lucru curent al procesului apelant, așa cum face mkfifo() pentru un nume de rută relativ).
Dacă nume-rută este relativ și dirfd este valoarea specială AT_FDCWD, atunci nume-rută este interpretat relativ la directorul de lucru curent al procesului apelant (ca mkfifo()).
Dacă nume-rută este absolut, atunci fd-director este ignorat.
A se vedea openat(2) pentru o explicație a necesității mkfifoat().
În caz de succes, mkfifo() și mkfifoat() returnează 0. În caz de eroare, se returnează -1, iar errno este configurată pentru a indica eroarea.
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
| Interfață | Atribut | Valoare |
| mkfifo(), mkfifoat() | Siguranța firelor | MT-Safe |
Aceasta este implementată utilizând mknodat(2).
POSIX.1-2008.
mkfifo(1), close(2), open(2), read(2), stat(2), umask(2), write(2), fifo(7)
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.
| 2 mai 2024 | Pagini de manual de Linux 6.9.1 |