Rechercher une page de manuel
flock
Langue: de
Version: 28. August 2002 (openSuse - 09/10/07)
Section: 2 (Appels système)
BEZEICHNUNG
flock - sperrt und entsperrt DateienÜBERSICHT
#include <sys/file.h>int flock(int fd, int operation);
BESCHREIBUNG
flock sperrt oder entsperrt eine geöffnete Datei. Der Dateideskriptor wird mittels fd übergeben. Gültige Operationen sind:-
- LOCK_SH
- Gemeinsames Sperren. Mehrere Prozesse können eine Datei zur selben Zeit sperren.
- LOCK_EX
- Alleiniges Sperren. Nur ein Prozess kann zu einer Zeit eine Datei sperren.
- LOCK_UN
- Entsperren.
- LOCK_NB
- Die Operation blockiert nicht bis die Sperre gesetzt werden kann, sondern übergibt die Kontrolle sofort wieder an das aufrufende Programm. Diese Option kann durch Bitweises ODER mit anderen Operationen verknüpft werden.
Eine einzelne Datei kann nicht gleichzeitig gemeinsame und alleinige Sperren enthalten.
Es ist nur die Datei (Inode) gesperrt, nicht aber der Dateideskriptor. Dadurch entstehen bei der Benutzung von dup(2) und fork(2) keine Mehrfachsperrungen.
RÜCKGABEWERT
Bei Erfolg gibt die Funktion 0 zurück. Bei Fehlern wird -1 zurückgegeben und errno entsprechend gesetzt.FEHLER
- EWOULDBLOCK
- Die Datei ist gesperrt und es ist LOCK_NB gesetzt.
KONFORM ZU
4.4BSD (Der flock(2) Aufruf ist erstmals in 4.2BSD zu finden).ANMERKUNGEN
flock(2) funktioniert nicht über NFS. Benutzen Sie stattdessen fcntl(2). Das funktioniert auch über NFS, wenn eine hinreichend aktuelle Version von Linux installiert ist und der Server Sperren unterstützt.flock(2) und fcntl(2) Sperrungen haben unterschiedliche Auswirkungen auf Prozesse, die fork(2) und dup(2) benutzen.
SIEHE AUCH
open(2), close(2), dup(2), execve(2), fcntl(2), fork(2), lockf(3).Weiterhin gibt es locks.txt und mandatory.txt im Verzeichnis /usr/src/linux/Documentation.
Contenus ©2006-2023 Benjamin Poulain
Design ©2006-2023 Maxime Vantorre