Scroll to navigation

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

Operacja uniemożliwiona przez blokady utrzymywane przez inne procesy.
Operacja jest zabroniona, gdyż plik został odwzorowany w pamięci przez inny proces.
fd nie jest deskryptorem otwartego pliku.
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