Provided by: manpages-de-dev_0.5-4.1ubuntu1_all bug

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)