fcntl(2) System Calls Manual fcntl(2)

fcntl - manipuluje deskryptorem pliku

Standardowa biblioteka C (libc-lc)

#include <fcntl.h>
int fcntl(int fd, int op, ...);

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.

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.

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.

POSIX.1-2024 określa FD_CLOFORK i F_DUPFD_CLOFORK, lecz Linux ich nie obsługuje.

POSIX.1-2024.

4.3BSD, SVr4, POSIX.1-1988.

dup2(2), flock(2), open(2), socket(2), lockf(3), capabilities(7), feature_test_macros(7), lslocks(8)

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.

8 lutego 2026 r. Linux man-pages 6.17