Provided by: manpages-fr-dev_3.65d1p1-1_all bug

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é. Tous les verrouillages (consultez fcntl(2)) sur le fichier qui lui était associé,  appartenant
       au processus, sont supprimés (quel que soit le descripteur qui fut utilisé pour obtenir le verrouillage).

       Si  fd  est  le  dernier  descripteur  de  fichier  qui  se  réfère  à  une description de fichier ouvert
       sous-jacente (consultez open(2)), les ressources associées  à  la  description  de  fichier  ouvert  sont
       libérées.  Si  le  descripteur  était  la  dernière  référence sur un fichier supprimé avec unlink(2), le
       fichier est effectivement effacé.

VALEUR RENVOYÉE

       S'il réussit, la fonction close() renvoie zéro. En cas d'erreur, il renvoie -1 et remplit errno  avec  le
       code d'erreur.

ERREURS

       EBADF  Le descripteur de fichier fd est invalide.

       EINTR  L'appel système close() a été interrompu par un signal ; consultez signal(7).

       EIO    Une erreur d'entrée-sortie s'est produite.

CONFORMITÉ

       SVr4, BSD 4.3, POSIX.1-2001.

NOTES

       Ne  pas vérifier la valeur de retour de close() est une pratique courante mais également une grave erreur
       de programmation. Il est possible qu'une erreur correspondant à  un  appel  write(2)  antérieur  ne  soit
       rapportée  que  lors  du close() final. 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.Notez que la valeur de retour ne devrait être
       utilisée que pour les diagnostics. En particulier, close() ne  doit  pas  faire  l'objet  d'une  nouvelle
       tentative après l'erreur EINTR, car cela pourrait entrainer la fermeture d'un decripteur réutilisé par un
       autre thread.

       Une fermeture sans erreur ne garantit pas que les données ont été vraiment écrites sur le disque, car  le
       noyau  repousse les écritures le plus tard possible. Il n'est pas fréquent qu'un système de fichiers vide
       les tampons dès la fermeture d'un flux. Si vous désirez vous assurer que les informations sont en  sûreté
       sur le disque, utilisez fsync(2) (mais des considérations matérielles entrent en jeu à ce moment).

       Il  est  probablement imprudent de fermer des descripteurs de fichier alors qu'ils peuvent peut-être être
       utilisés par des appels système dans d'autres threads du même processus. Puisqu'un descripteur de fichier
       peut  être  réutilisé,  il y a des conditions de concurrence obscures qui peuvent provoquer des effets de
       bord non désirés.

VOIR AUSSI

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

COLOPHON

       Cette page fait partie de la publication 3.65 du projet man-pages Linux. Une description du projet et des
       instructions     pour     signaler     des     anomalies    peuvent    être    trouvées    à    l'adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par
       l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

       Christophe       Blaess       <http://www.blaess.fr/christophe/>      (1996-2003),      Alain      Portal
       <http://manpagesfr.free.fr/> (2003-2006).  Julien  Cristau  et  l'équipe  francophone  de  traduction  de
       Debian (2006-2009).

       Veuillez  signaler  toute erreur de traduction en écrivant à <debian-l10n-french@lists.debian.org> ou par
       un rapport de bogue sur le paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « man -L C
       <section> <page_de_man> ».