Provided by: manpages-fr-dev_3.32d0.2p4-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.

       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.32 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       être       trouvées      à      l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

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

       Christophe  Blaess  <URL:http://www.blaess.fr/christophe/> (1996-2003),
       Alain  Portal  <URL: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> ».