Sua visão está correta mas, para não haver confusão, apenas um processo dev ficar escutando o "named-pipe". Ele funciona como um arquivo que, após ser lido perde conteúdo mas é fechado, ficando disponível para novas entradas e leituras.
Vários processos podem gravar no "named-pipe" mas apenas um receberá seu conteúdo na modalidade "fifo", ficando na escuta permanente caso não haja entradas disponíveis.
Um exemplo: (pobre) ---- #!/bin/bash # mkfifo pp.pip e='1' while [ $e != 'x' ]; do e=$(cat pp.pip) echo $e done rm -f pp.pip exit ---- obs.: nesse "script" o $e só aceita um parâmetro.