Provided by: manpages-de-dev_1.4-1_all bug

BEZEICHNUNG

       read - aus einem Dateideskriptor lesen

ÜBERSICHT

       #include <unistd.h>

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

BESCHREIBUNG

       read()  versucht,  bis zu count Byte aus dem Dateideskriptor fd in den bei buf beginnenden
       Puffer zu lesen.

       On files that support seeking, the read operation commences at the  current  file  offset,
       and the file offset is incremented by the number of bytes read. If the current file offset
       is at or past the end of file, no bytes are read, and read()  returns zero.

       If count is zero, read()  may detect the errors described below. In  the  absence  of  any
       errors,  or if read()  does not check for errors, a read()  with a count of 0 returns zero
       and has no other effects.

       Falls count größer als SSIZE_MAX ist, ist das Ergebnis nicht spezifiziert.

RÜCKGABEWERT

       Bei Erfolg wird die Anzahl der gelesenen Bytes zurückgegeben (null bedeutet Dateiende) und
       die Position in der Datei wird um diese Anzahl erhöht. Es ist kein Fehler, wenn diese Zahl
       kleiner ist als die Zahl der angeforderten Bytes; das kann geschehen, wenn gerade wirklich
       weniger  Bytes  verfügbar  sind  (vielleicht  ist das Dateiende nah oder es wird aus einer
       Pipeline oder von einem Terminal gelesen) oder weil read() durch ein  Signal  unterbrochen
       wurde.  Im Fehlerfall wird -1 zurückgegeben und errno wird entsprechend gesetzt. In diesem
       Fall ist nicht festgelegt, ob die Position in der Datei  (wenn  es  überhaupt  eine  gibt)
       geändert wird.

FEHLER

       EAGAIN Der  Dateideskriptor fd bezieht sich auf eine Datei, die kein Socket ist, und wurde
              als nicht blockierend (O_NONBLOCK) markiert und das Lesen würde blockieren.

       EAGAIN oder EWOULDBLOCK
              Der Dateideskriptor fd bezieht sich auf ein Socket und wurde als nicht  blockierend
              (O_NONBLOCK)  markiert  und  das  Lesen  würde  blockieren. POSIX.1-2001 erlaubt in
              diesem Fall, dass eine der beiden Fehlermeldungen zurückgeliefert wird und verlangt
              nicht,  dass  beide  Konstanten  den  gleichen  Wert  haben. Daher sollten portable
              Anwendungen auf beide Möglichkeiten prüfen.

       EBADF  fd ist kein gültiger Deskriptor oder ist nicht zum Lesen geöffnet.

       EFAULT buf liegt außerhalb Ihres adressierbaren Adressraums.

       EINTR  Der Aufruf wurde durch ein Signal unterbrochen, bevor Daten gelesen  wurden;  siehe
              signal(7).

       EINVAL fd  ist  einem Objekt zugeordnet, aus dem nicht gelesen werden kann; oder die Datei
              wurde mit dem Schalter  O_DIRECT  geöffnet  und  entweder  die  in  buf  angegebene
              Adresse,  der  in  count  angegebene Wert oder der aktuelle Datei-Offset sind nicht
              entsprechend ausgerichtet.

       EINVAL fd  wurde  über  einen  Aufruf  von  timerfd_create(2)  erstellt  und  der  falsche
              Größenpuffer  wurde  an  read()  übergeben;  siehe  timerfd_create(2)  für  weitere
              Informationen.

       EIO    E/A-Fehler.  Dies  wird  zum  Beispiel  passieren,  wenn  der  Prozess   zu   einer
              Hintergrund-Prozessgruppe  gehört  und  versucht, von seinem steuernden Terminal zu
              lesen und er entweder  SIGTTIN  ignoriert  oder  sperrt  oder  seine  Prozessgruppe
              verwaist  ist. Es kann auch durch einen Low-Level-E/A-Fehler während des Lesens von
              einer Platte oder einem Band gesetzt werden.

       EISDIR fd referenziert ein Verzeichnis.

       Andere Fehler können auftreten, abhängig von dem Objekt, das mit fd verbunden  ist.  POSIX
       erlaubt  einem  read(),  der  nach  dem  Lesen  von  einigen  Daten unterbrochen wurde, -1
       zurückzuliefern (mit errno auf EINTR gesetzt) oder die Anzahl der bereits gelesenen  Bytes
       zurückzuliefern.

KONFORM ZU

       SVr4, 4.3BSD, POSIX.1-2001.

ANMERKUNGEN

       On NFS filesystems, reading small amounts of data will update the timestamp only the first
       time, subsequent calls may not do so. This is caused by  client  side  attribute  caching,
       because most if not all NFS clients leave st_atime (last file access time)  updates to the
       server and client side reads satisfied from the client's cache  will  not  cause  st_atime
       updates on the server as there are no server side reads. UNIX semantics can be obtained by
       disabling client side attribute caching, but in most situations  this  will  substantially
       increase server load and decrease performance.

SIEHE AUCH

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

KOLOPHON

       This page is part of release 3.54 of the Linux man-pages project.  A  description  of  the
       project,     and    information    about    reporting    bugs,    can    be    found    at
       http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Michael Haardt <michael@moria.de>,
       Helge     Kreutzmann     <debian@helgefjell.de>     und     Martin     Eberhard    Schauer
       <Martin.E.Schauer@gmx.de> erstellt.

       Diese Übersetzung ist Freie Dokumentation;  lesen  Sie  die  GNU  General  Public  License
       Version   3  oder  neuer  bezüglich  der  Copyright-Bedingungen.  Es  wird  KEINE  HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an <debian-l10n-german@lists.debian.org>.