Provided by: manpages-de-dev_1.4-1_all bug

BEZEICHNUNG

       close - Dateideskriptor schließen

ÜBERSICHT

       #include <unistd.h>

       int close(int fd);

BESCHREIBUNG

       close()  schließt  einen  Dateideskriptor, so dass dieser nicht mehr zu einer Datei gehört
       und wieder verwendet werden kann. Alle zum  Prozess  gehörenden  Datensatz-Sperren  (siehe
       fcntl(2))  der  mit  dem Deskriptor verbundenen Datei werden aufgehoben. Die Aufhebung der
       Sperren erfolgt unabhängig von dem Deskriptor, mit dem die Sperre eingerichtet wurde.

       Wenn fd der letzte Deskriptor der zugehörigen offenen Datei ist  (siehe  open(2)),  werden
       die  zugehörigen  Ressourcen  freigegeben.  War der Deskriptor der letzte Verweis auf eine
       Datei, die mittels unlink(2) entfernt wurde, wird die Datei gelöscht.

RÜCKGABEWERT

       Nach erfolgreicher Ausführung gibt close() 0 zurück. Bei Fehlern wird -1 zurückgegeben und
       errno entsprechend gesetzt.

FEHLER

       EBADF  fd ist kein gültiger Deskriptor für eine geöffnete Datei.

       EINTR  Der Aufruf von close() wurde von einem Signal unterbrochen (siehe signal(7)).

       EIO    Es ist ein E/A-Fehler (engl. I/O) aufgetreten.

KONFORM ZU

       SVr4, 4.3BSD, POSIX.1-2001.

ANMERKUNGEN

       Es  ist  ein  verbreiteter, ernster Programmierfehler, den Rückgabewert von close nicht zu
       prüfen. Es ist durchaus möglich, dass Fehler bei einer  früheren  write(2)-Operation  erst
       bei  dem  abschließenden  close()-Zugriff  gemeldet  werden.  Wird  der  Rückgabewert beim
       Schließen einer Datei nicht geprüft, kann dies zu unbemerktem  Datenverlust  führen.  Dies
       kann vor allem mit NFS und »Disk Quotas« beobachtet werden.

       Ein  erfolgreiches »close« garantiert nicht, dass die Daten erfolgreich auf der Festplatte
       gespeichert wurden, weil der Kernel verzögert schreibt. Es  ist  bei  Dateisystemen  nicht
       üblich, beim Schließen des Streams die Puffer zu leeren. Wenn Sie sicher sein müssen, dass
       die Daten physisch gespeichert sind, verwenden Sie fsync(2). (Hierbei  kommt  es  auf  die
       Hardware Ihrer Festplatte an.)

       Wahrscheinlich  ist  es  unklug,  Dateideskriptoren  zu schließen, die möglicherweise noch
       durch Systemaufrufe  in  anderen  Threads  desselben  Prozesses  belegt  sein  können.  Da
       Dateideskriptoren  wiederverwendet  werden  können,  kann  dies  zu undurchsichtigen »Race
       Conditions« mit unbeabsichtigten Nebenwirkungen führen.

SIEHE AUCH

       fcntl(2), fsync(2), open(2), shutdown(2), unlink(2), fclose(3)

KOLOPHON

       This page is part of release 3.54 of the Linux man-pages project.  A  description  of  the
       project,     and    information    about    reporting    bugs,    can    be    found    at
       http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Ralf Demmer  <rdemmer@rdemmer.de>,
       Martin     Eberhard    Schauer    <Martin.E.Schauer@gmx.de>    und    Mario    Blättermann
       <mario.blaettermann@gmail.com> erstellt.

       Diese Übersetzung ist Freie Dokumentation;  lesen  Sie  die  GNU  General  Public  License
       Version   3  oder  neuer  bezüglich  der  Copyright-Bedingungen.  Es  wird  KEINE  HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an <debian-l10n-german@lists.debian.org>.