Provided by: manpages-de-dev_0.10-1_all bug

BEZEICHNUNG

       close - Dateideskriptor schlieBen

"UBERSICHT

       #include <unistd.h>

       int close(int fd);

BESCHREIBUNG

       close()  schlieBt  einen  Dateideskriptor, so dass dieser nicht mehr zu
       einer Datei gehort und wieder verwendet werden kann. Alle  zum  Prozess
       gehorenden  Datensatz-Sperren  (siehe  fcntl(2)) der mit dem Deskriptor
       verbundenen Datei werden aufgehoben. Die Aufhebung der Sperren  erfolgt
       unabhangig von dem Deskriptor, mit dem die Sperre eingerichtet wurde.

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

R"UCKGABEWERT

       Nach erfolgreicher Ausfuhrung gibt close() 0 zuruck. Bei  Fehlern  wird
       -1 zuruckgegeben und errno entsprechend gesetzt.

FEHLER

       EBADF  fd ist kein gultiger Deskriptor fur eine geoffnete Datei.

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

       EIO    Es trat ein I/O-Fehler auf.

KONFORM ZU

       SVr4, 4.3BSD, POSIX.1-2001.

ANMERKUNGEN

       Es ist ein verbreiteter, ernster  Programmierfehler,  den  Ruckgabewert
       von  close  nicht  zu  prufen. Es ist durchaus moglich, dass Fehler bei
       einer  fruheren  write(2)-Operation   erst   bei   dem   abschlieBenden
       close()-Zugriff  gemeldet  werden. Wird der Ruckgabewert beim SchlieBen
       einer Datei  nicht  gepruft,  kann  dies  zu  unbemerktem  Datenverlust
       fuhren.  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
       verzogert  schreibt.  Es  ist  bei  Dateisystemen  nicht  ublich,  beim
       SchlieBen  des  Streams  die  Puffer  zu  leeren.  Wenn Sie sicher sein
       mussen,  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  schlieBen, die
       moglicherweise noch durch Systemaufrufe in  anderen  Threads  desselben
       Prozesses  belegt  sein  konnen.  Da  Dateideskriptoren wiederverwendet
       werden konnen, kann dies zu undurchsichtigen  >>Race  Conditions<<  mit
       unbeabsichtigten Nebenwirkungen fuhren.

SIEHE AUCH

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

KOLOPHON

       Diese   Seite   ist   Teil   der  Veroffentlichung  3.32  des  Projekts
       Linux-man-pages. Eine Beschreibung des Projekts und Informationen,  wie
       Fehler     gemeldet     werden     konnen,     finden     sich    unter
       http://www.kernel.org/doc/man-pages/.

"UBERSETZUNG

       Die deutsche Ubersetzung dieser Handbuchseite  wurde  von  Ralf  Demmer
       <rdemmer@rdemmer.de>       und       Martin       Eberhard      Schauer
       <Martin.E.Schauer@gmx.de> erstellt.

       Diese Ubersetzung ist Freie Dokumentation; lesen Sie  die  GNU  General
       Public   License   Version   3  oder  neuer  bezuglich  der  Copyright-
       Bedingungen. Es wird KEINE HAFTUNG ubernommen.

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