Rechercher une page de manuel

Chercher une autre page de manuel:

close

Autres langues

Langue: fr

Version: 13 décembre 2001 (ubuntu - 01/11/07)

Autres sections - même nom

Section: 2 (Appels système)

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 (voir 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 la dernière copie d'un descripteur de fichier donné, les ressources qui lui sont associées 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

Si elle réussit, la fonction close() renvoie zéro. En cas d'erreur, elle 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.
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).

VOIR AUSSI

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

TRADUCTION

Cette page de manuel a été traduite et mise à jour par Christophe Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006, et mise à disposition sur http://manpagesfr.free.fr/.

Les mises à jour et corrections de la version présente dans Debian sont directement gérées par Julien Cristau <jcristau@debian.org> et l'équipe francophone de traduction de Debian.

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> ».

Il est souvent trop tôt pour savoir s'il n'est pas trop tard.
-+- Pierre Dac -+-