table of contents
- trixie 1:4.27.0-1
- trixie-backports 1:4.29.1-1~bpo13+1
- testing 1:4.29.1-1
- unstable 1:4.29.1-1
| fcntl(2) | System Calls Manual | fcntl(2) |
NAZWA¶
fcntl - manipuluje deskryptorem pliku
BIBLIOTEKA¶
Standardowa biblioteka C (libc, -lc)
SKŁADNIA¶
#include <fcntl.h>
int fcntl(int fd, int op, ...);
OPIS¶
fcntl dokonuje jednej z operacji opisanych poniżej na otwartym deskryptorze pliku fd. Wykonywana operacja jest określona przez op.
Niektóre z poniższych operacji są obsługiwane jedynie w określonej wersji jądra Linux. Preferowaną metodą sprawdzenia, czy działające aktualnie jądro obsługuje daną operację, jest przywołanie fcntl() z daną wartością op i sprawdzenie, czy wywołanie zawiedzie z błędem EINVAL wskazując, że jądro nie rozpoznało tej wartości.
Duplikowanie deskryptora pliku¶
Znaczniki deskryptora pliku¶
Znaczniki stanu pliku¶
Blokowanie doradcze rekordów¶
Blokady opisu otwartego pliku (spoza POSIX)¶
Zarządzanie sygnałami¶
Dzierżawy¶
Powiadamianie o zmianach pliku lub katalogu (dnotify)¶
Zmiana pojemności potoku¶
Pieczętowanie pliku (ang. file sealing)¶
Wskazówki odczytu/zapisu pliku¶
WARTOŚĆ ZWRACANA¶
Wartość zwracana po pomyślnym zakończeniu funkcji zależy od operacji.
W razie wystąpienia błędu zwracane jest -1 i ustawiane errno wskazując błąd.
BŁĘDY¶
- EACCES lub EAGAIN
- Operacja uniemożliwiona przez blokady utrzymywane przez inne procesy.
- EAGAIN
- Operacja jest zabroniona, gdyż plik został odwzorowany w pamięci przez inny proces.
- EBADF
- fd nie jest deskryptorem otwartego pliku.
- EINVAL
- Wartość podana w op nie jest rozpoznawana przez to jądro.
WERSJE¶
POSIX.1-2024 określa FD_CLOFORK i F_DUPFD_CLOFORK, lecz Linux ich nie obsługuje.
STANDARDY¶
POSIX.1-2024.
HISTORIA¶
SVr4, 4.3BSD, POSIX.1-2001.
ZOBACZ TAKŻE¶
dup2(2), flock(2), open(2), socket(2), lockf(3), capabilities(7), feature_test_macros(7), lslocks(8)
TŁUMACZENIE¶
Tłumaczenie niniejszej strony podręcznika: Przemek Borys <pborys@dione.ids.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.
| 29 października 2025 r. | Linux man-pages 6.16 |