Provided by: manpages-de_0.5-4.1ubuntu1_all bug

BEZEICHNUNG

       fifo - Spezialdatei, Named Pipe, "first-in first-out"

BESCHREIBUNG

       Ein  FIFO,  auch "Named Pipe" genannt, ist mit einer Pipe vergleichbar.
       Er wird jedoch im Unterschied  zur  Pipe  nicht  direkt  zum  Austausch
       zwischen  Programmen  verwendet, sondern ist als Eintrag im Dateisystem
       sichtbar.

       Auf den  FIFO  kann  von  mehreren  Prozessen  lesend  oder  schreibend
       zugegriffen werden.  Wenn die Prozesse über den FIFO Daten austauschen,
       werden die Daten vom Kernel intern weitergegeben, ohne  tatsächlich  im
       Dateisystem  gespeichert zu werden. Der FIFO hält als Datei somit keine
       Daten.  Der Eintrag im  Dateisystem  dient  als  benannter  Bezugspunkt
       (daher Named Pipe), auf den Prozesse zugreifen können.

       Der  Kernel  verwaltet  genau  ein  Pipe-Objekt für jeden FIFO, der von
       wenigstens einem Prozess zum Lesen oder Schreiben geöffnet ist.   Damit
       Daten  durch  den  FIFO  transportiert werden können, muss der FIFO von
       beiden Enden geöffnet sein, einmal lesend und  einmal  schreibend.   Im
       Normalfall  wird  die  Verarbeitung  nach  dem Öffnen des FIFO so lange
       blockiert, bis auch das andere Ende geöffnet ist.

       Ein FIFO kann vom  Prozess  auch  non-blocking  geöffnet  werden.   Das
       Öffnen  des  FIFO  zum  Lesen  funktioniert dann auch, wenn er noch von
       keinem anderen Prozess zum Schreiben geöffnet wurde.   Das  Öffnen  zum
       Schreiben bricht mit ENXIO (Datei oder Adresse nicht gefunden) ab, wenn
       nicht bereits ein anderer Prozess den FIFO zum Lesen geöffnet hat.

       Unter LINUX können FIFOs sowohl lesend als auch  schreibend  in  beiden
       Modi,  blocking  und  non-blocking,  geöffnet  werden.  Gemäß POSIX ist
       dafür kein Verfahren definiert.  Dadurch kann ein  FIFO  zum  Schreiben
       geöffnet  werden, ohne dass lesende Prozesse vorhanden sind.  Falls ein
       Prozess  beide  Seiten  eines  FIFO  öffnet,  um  mit  sich  selbst  zu
       kommunizieren,   sollte  darauf  geachtet  werden,  dass  es  nicht  zu
       Stockungen in der Kommunikation kommt.

ANMERKUNGEN

       Versucht ein Prozess in einen FIFO zu schreiben, der nicht von  anderer
       Seite  zum Lesen geöffnet ist, erhält er vom Kernel das Signal SIGPIPE.

       FIFOs werden mit mkfifo(3) angelegt und können  mit  ls  -l  oder  file
       identifiziert werden.

SIEHE AUCH

       mkfifo(3),   mkfifo(1),  pipe(2),  socketpair(2),  open(2),  signal(2),
       sigaction(2).