Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

       read - Lire depuis un descripteur de fichier

SYNOPSIS

       #include <unistd.h>

       ssize_t read(int fd, void *buf, size_t count);

DESCRIPTION

       read()  lit  jusqu'a  count  octets depuis le descripteur de fichier fd
       dans le tampon pointe par buf.

       Si count vaut zero, read() renvoie zero et n'a pas d'autres effets.  Si
       count est superieur a SSIZE_MAX, le resultat est indefini.

VALEUR RENVOY'EE

       read()  renvoie  -1  s'il  echoue,  auquel  cas  errno contient le code
       d'erreur, et la position de la tete de lecture  est  indefinie.  Sinon,
       read renvoie le nombre d'octets lus (0 en fin de fichier), et avance la
       tete de lecture de ce nombre. Le fait que le nombre renvoye  soit  plus
       petit  que le nombre demande n'est pas une erreur. Ceci se produit a la
       fin du fichier, ou si on lit depuis un tube ou un terminal,  ou  encore
       si read() a ete interrompu par un signal.

ERREURS

       EAGAIN Le  descripteur  de fichier fd fait reference a un fichier autre
              qu'une socket et a ete marque comme non  bloquant  (O_NONBLOCK),
              et la lecture devrait bloquer.

       EAGAIN ou EWOULDBLOCK
              Le  descripteur  de fichier fd fait reference a un fichier autre
              qu'une socket et a ete marque comme non  bloquant  (O_NONBLOCK),
              et  la  lecture devrait bloquer. POSIX.1-2001 permet de renvoyer
              l'une ou l'autre des erreurs dans ce cas et n'exige pas que  ces
              constantes  aient  la  meme  valeur.  Une  application  portable
              devrait donc tester les deux possibilites.

       EBADF  fd n'est pas un descripteur de  fichier  valable  ou  n'est  pas
              ouvert en lecture.

       EFAULT buf pointe en dehors de l'espace d'adressage accessible.

       EINTR  read()  a ete interrompu par un signal avant d'avoir eu le temps
              de lire quoi que ce soit ; consultez signal(7).

       EINVAL Le descripteur fd correspond  a  un  objet  sur  lequel  il  est
              impossible  de  lire.  Ou  bien  le fichier a ete ouvert avec le
              drapeau O_DIRECT, et l'adresse de buf, la valeur de count ou  la
              position  actuelle  de  la  tete de lecture ne sont pas alignees
              correctement.

       EINVAL fd a ete cree par un appel a timerfd_create(2) et  une  mauvaise
              taille   de   tampon   a   ete   donnee   a  read() ;  consultez
              timerfd_create(2) pour plus d'informations.

       EIO    Erreur d'entree-sortie. Ceci arrive si un processus est dans  un
              groupe  en  arriere-plan et tente de lire depuis le terminal. Il
              recoit un signal SIGTTIN mais il l'ignore ou le bloque. Ceci  se
              produit egalement si une erreur d'entree-sortie bas-niveau s'est
              produite pendant la lecture d'un disque ou d'une bande.

       EISDIR fd est un repertoire.

       D'autres erreurs peuvent se produire, suivant le type d'objet associe a
       fd.  POSIX permet a un read() interrompu par un signal de renvoyer soit
       le nombre d'octets lus a ce point, soit -1, et de placer errno a EINTR.

CONFORMIT'E

       SVr4, BSD 4.3, POSIX.1-2001.

NOTES

       Sur un systeme de fichiers NFS, la  lecture  de  petites  quantites  de
       donnees  ne  mettra  a  jour  l'horodatage  du  fichier  que lors de la
       premiere lecture. Les  lectures  suivantes  ne  modifieront  pas  cette
       heure.  En effet la plupart, si ce n'est tous les clients NFS disposent
       d'un cache des attributs de fichiers et n'effectuent pas la mise a jour
       du  champ  << st_atime >> du cote serveur. La veritable semantique Unix
       peut etre obtenue en desactivant le cache des attributs du cote client,
       mais  generalement  ceci augmente sensiblement la charge du serveur, et
       degrade ses performances.

       Beaucoup de disques et systemes de fichiers ont  ete  consideres  comme
       suffisamment rapides pour que l'implementation de O_NONBLOCK soit jugee
       inutile. Ainsi O_NONBLOCK peut ne pas etre disponible sur les  fichiers
       et/ou les disques.

VOIR AUSSI

       close(2),  fcntl(2), ioctl(2), lseek(2), open(2), pread(2), readdir(2),
       readlink(2), readv(2), select(2), write(2), fread(3)

COLOPHON

       Cette page fait partie de  la  publication  3.27  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      etre       trouvees       a       l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis  2010,  cette  traduction est maintenue a l'aide de l'outil po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   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'equipe francophone de traduction de Debian (2006-2009).

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

       Vous pouvez toujours avoir acces a la version anglaise de  ce  document
       en utilisant la commande << man -L C <section> <page_de_man> >>.

Linux                           23 fevrier 2009                        READ(2)