Provided by:
manpages-de-dev_0.5-4.1ubuntu1_all 
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.
28. August 2002 FLOCK(2)