CLOSE(2) Manuel du programmeur Linux CLOSE(2)
NOM
close - Fermer un descripteur de fichier.
SYNOPSIS
#include <unistd.h>
int close(int fd);
DESCRIPTION
close ferme le descripteur fd, de manière à ce qu'il ne
référence plus aucun fichier, et puisse être réutilisé.
Si fd est la dernière copie d'un descripteur de fichier
donné, les ressources qui lui sont associées sont
libérées. Par exemple tous les verrouillages sont sup
primés et si le descripteur etait la dernière référence
sur un fichier supprimé avec unlink(2), le fichier est
effectivement effacé.
VALEUR RENVOYÉE
close renvoie 0 s'il réussit, ou -1 en cas d'échec, auquel
cas errno contient le code d'erreur.
ERREURS
EBADF Le descripteur de fichier fd est invalide
CONFORMITÉ
SVr4, SVID, POSIX, X/OPEN, BSD 4.3. SVr4 documente une
condition d'erreur supplémentaire ENOLINK.
NOTES
Ne pas vérifier la valeur de retour de close est une pra
tique courante mais également une grave erreur de program
mation. Les systèmes de fichiers utilisant des techniques
d'écriture différée pour augmenter les performances peu
vent conduire à des situations où write(2) semble reussir
bien que les données n'aient pas encore été réellement
écrites.
Une erreur se produisant lors de l'écriture physique peut
être éventuellement rapportée lors d'un write ultérieur,
mais est surtout garantie lors de la fermeture du fichier.
Ne pas vérifier la valeur de retour lorsque l'on ferme un
fichier peut conduire à une perte silencieuse de données.
Ceci est principalement vrai dans le cas de systèmes de
fichiers NFS, ou avec l'utilisation des quotas de disques.
VOIR AUSSI
open(2), fcntl(2), shutdown(2), unlink(2), fclose(3).
TRADUCTION
Christophe Blaess, 1997.
Linux 5 Mai 1999 1