Provided by:
manpages-pt_20040726-2_all 
NOME
fifo - pipe nomeado, primeiro a entrar último a sair
DESCRIÇÃO
Um arquivos especial FIFO (um pipe nomeado) é similar a um pipe, exceto
que ele é acessado como para do sistema de arquivos. Ele pode ser
aberto por muitos processor para leitura ou escrita. Quando os
processos estão trocando dados via o FIFO, o kernel transmite todos os
dados internamente sem escreve-los no sistema de arquivos. Dessa forma,
o arquivo especial FIFO não possui conteúdos no sistema de arquivos, a
entrada do sistema de arquivos meramente serve como um ponto de
referência de forma que processos podem acessar o pipe usando um nome
no sistema de arquivos.
O kernel mantem exatamente um objeto pipe para cada arquivo especial
FIFO que é aberto por pelo menos um processo. O FIFO deve ser de ambos
os lado (leitura and escrita) antes que dados possam ser passados.
Normalmente, abrindo os blocos FIFO até que o outro termine é aberto
também.
Um processo pode abrir um FIFO num modo que não o de bloco. Neste caso,
abertura para somente leitura terá sucesso mesmo se nenhum tenha sido
aberto no lado de escrita; abrindo para somente escrita falhará com
ENXIO (sem aquele dispositivo ou endereço) a menos que outra
extremidade tenha sido aberta.
No Linux, abrindo um FIFO para leitura e escrita terá sucesso em ambos
modos bloco e o modo que não o de bloco. O POSIX deixa este
comportamento indefinido. Ele pode ser usado para abrir um FIFO para
exscrita enquanto ali não estão disponíveis leituras. Um processo que
usa ambas as extremidades da conexão para comunicação com si mesmo
deveria ser muito cautelosa para previnir congelamentos.
NOTAS
Quando um processo testa a escrita para um FIFO que não está aberto
para leitura no outro lado, o processo é enviado um sinal SIGPIPE
Arquivos especiais FIFO podem ser criados por mkfifo(3), e são
especialmente ressaltados com ls -l.
VEJA TAMBÉM
mkfifo(3), mkfifo(1), pipe(2), socketpair(2), open(2), signal(2),
sigaction(2)
TRADUZIDO POR LDP-BR em 21/08/2000.
André L. Fassone Canova <lonelywolf@tblv.com.br> (tradução) Carlos
Augusto Horylka <horyka@conectiva.com.br> (revisão)