Provided by:
manpages-de-dev_0.5-4.1ubuntu1_all 
BEZEICHNUNG
close - Datei-Deskriptor schließen
ÜBERSICHT
#include <unistd.h>
intclose(intfd);
BESCHREIBUNG
close schließt einen Datei-Deskriptor, so dass dieser nicht mehr zu
einer Datei gehört und wieder verwendet werden kann. Alle Sperren, mit
denen die Datei belegt ist und die zu diesem Prozess gehören, werden
aufgehoben (unabhängig von dem Datei-Deskriptor, mit dem die Sperre
eingerichtet wurde).
Wenn fd die letzte Kopie eines bestimmten Datei-Deskriptors ist, werden
die zugehörigen Ressourcen freigegeben. War der Datei-Deskriptor der
letzte Verweis auf eine Datei, die mit unlink entfernt wurde, dann wird
die Datei gelöscht.
RÜCKGABEWERT
close gibt im Erfolgsfall 0 zurück und bei Auftreten eines Fehlers -1.
FEHLER
EBADF fd ist kein gültiger geöffneter Datei-Deskriptor.
KONFORM ZU
SVr4, SVID, POSIX, X/OPEN, BSD 4.3. SVr4 dokumentiert eine zusätzliche
ENOLINK Fehlerbedingung.
ANMERKUNGEN
Es ist ein verbreiteter aber ernster Programmierfehler, den
Rückgabewert von close nicht zu prüfen. Im Verbund mit Dateisystemen,
die Techniken wie ‘‘write-behind’’ zur Verbesserung der Performance
einsetzen, kann dies einen erfolgreichen write(2) -Vorgang vortäuschen,
obwohl die Daten noch nicht geschrieben wurden. Der Fehlerstatus
könnte zwar bei einem späteren Schreibvorgang festgestellt werden, muss
aber bei Schließen der Datei ausgewertet werden. Wird der Rückgabewert
beim Schließen einer Datei nicht geprüft, kann dies zu unbemerktem
Datenverlust führen. Dies ist insbesondere bei NFS mit Disk-Quotas zu
beobachten.
SIEHE AUCH
open(2), fcntl(2), shutdown(2), unlink(2), fclose(3).