\begin{slide}{Spezielle Dateien: Benannte Pipes}

Eine Pipe ($=$ Röhre, durch die Daten fließen) 

ist ein Mittel zur Prozeß-Kommunikation unter UNIX.

\bigskip

Ein Prozeß schreibt in die Pipe, 
der andere Prozeß liest aus der Pipe.
Beide Prozesse sind dadurch \emph{synchronisiert}.

\bigskip

Die bei Verkettung mit \verb+|+ benutzten pipes sind \emph{temporär}.

Es gibt auch \emph{permanente} Pipes, 
das sind spezielle Dateien 
(d. h. sie haben eine Inode, einen Namen, usw.)


\begin{itemize}
\item
  Anlegen mit \verb|mkfifo| \emph{name}
\item
  überprüfen mit \verb|ls -li|
\newpage

\item
  Schreiben Sie in die pipe: \verb|man mkfifo >| \emph{name}

  (Vorsicht: scheint zu verklemmen. Ist richtig so.)

\item
  Öffnen Sie eine zweites Befehlsfenster (konsole).

  Lesen Sie aus der pipe: \verb|cat| \emph{name}
\item
  Lesen Sie erneut aus der pipe 

  (Zweite Konsole, Vorsicht, \dots)
\item
  Schreiben Sie erneut in die pipe. (Erste Konsole.)
\end{itemize}

\end{slide}
