Provided by: manpages-fr-dev_3.32d0.2p4-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'à count octets depuis le descripteur de fichier fd dans le tampon pointé
       par buf.

       Si count vaut zéro, read() renvoie zéro et n'a pas d'autres effets. Si count est supérieur
       à SSIZE_MAX, le résultat est indéfini.

VALEUR RENVOYÉE

       read()  renvoie -1 s'il échoue, auquel cas errno contient le code d'erreur, et la position
       de la tête de lecture est indéfinie. Sinon, read renvoie le nombre d'octets lus (0 en  fin
       de fichier), et avance la tête de lecture de ce nombre. Le fait que le nombre renvoyé soit
       plus petit que le nombre demandé n'est pas une  erreur.  Ceci  se  produit  à  la  fin  du
       fichier,  ou si on lit depuis un tube ou un terminal, ou encore si read() a été interrompu
       par un signal.

ERREURS

       EAGAIN Le descripteur de fichier fd fait référence à un fichier autre qu'une socket  et  a
              été marqué comme non bloquant (O_NONBLOCK), et la lecture devrait bloquer.

       EAGAIN ou EWOULDBLOCK
              Le  descripteur  de fichier fd fait référence à un fichier autre qu'une socket et a
              été marqué  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 même valeur. Une application portable devrait  donc
              tester les deux possibilités.

       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 été interrompu par un signal avant d'avoir eu le temps de lire quoi que ce
              soit ; consultez signal(7).

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

       EINVAL fd  a  été créé par un appel à timerfd_create(2) et une mauvaise taille de tampon a
              été donnée à read() ; consultez timerfd_create(2) pour plus d'informations.

       EIO    Erreur d'entrée-sortie.  Ceci  arrive  si  un  processus  est  dans  un  groupe  en
              arrière-plan  et tente de lire depuis le terminal. Il reçoit un signal SIGTTIN mais
              il l'ignore ou le bloque. Ceci se produit également si une  erreur  d'entrée-sortie
              bas-niveau s'est produite pendant la lecture d'un disque ou d'une bande.

       EISDIR fd est un répertoire.

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

CONFORMITÉ

       SVr4, BSD 4.3, POSIX.1-2001.

NOTES

       Sur  un  système  de  fichiers NFS, la lecture de petites quantités de données ne mettra à
       jour l'horodatage du fichier que lors de la première 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 à jour du champ
       « st_atime »  du  côté  serveur.  La  véritable  sémantique  UNIX  peut  être  obtenue  en
       désactivant le cache des  attributs  du  côté  client,  mais  généralement  ceci  augmente
       sensiblement la charge du serveur, et dégrade ses performances.

       Beaucoup  de disques et systèmes de fichiers ont été considérés comme suffisamment rapides
       pour que l'implémentation de O_NONBLOCK soit jugée inutile. Ainsi O_NONBLOCK peut  ne  pas
       être 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.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> ».