Named Pipe (First in First out) FIFO

Publicado por José Olympo em 20/06/2007

[ Hits: 9.047 ]

 


Named Pipe (First in First out) FIFO



Quando criamos um arquivo de pipe, temos a finalidade de trabalhar na sincronização de arquivo. Veremos um exemplo basicão para entendermos que uma ponta tty1 fica na escuta LISTEN e a outra ponta tty2 fica com o trabalho JOB.

Pré-requisito: Abra dois terminais em um mesmo sistema (tty1-tty2) e faça seu login em ambos.

Step by Step:

1. Crie um named pipe (mkfifo):

# mkfifo teste

Quando você listar verá que ele terá um "p" antes das permissões e que o arquivo ficou com a cor vermelha, o que indica em modo colorize (se seu shell tiver habilitado) que é um pipe.

# ls -lai teste

2. Abra dois tty, o que você esta mais um (tty1, tty2). No tty1 digite:

# cat < teste

Você notará que o shell não abrirá para digitar mais nada, é porque ele está em LISTEN.

3. Agora se logue no tty2 e digite:

# ls -lai / > teste

Volte para tty1 e notará que foi sincronizado o arquivo, ele ficou no LISTEN aguardando o JOB para sincronizar.

Com isso você verificou na prática a sincronização entre processos, imagine grandes aplicações que necessite desse procedimento, "vira uma mão na roda"!!!

Conclusão:

O named pipes tem sua grande usabilidade em permitir que programas sem nenhuma relação possam se comunicar entre si, assim como vimos e testamos, provamos que os mesmos são usados para sincronização entre processos.

Bom galera isso é apenas pra tirar o pé do chão e saber o que é um Named Pipe e para que serve, pode ter certeza que poucos profissionais tem conhecimento e sabem sua implementação.

Qualquer dúvida é só postar! Aguardem mais assuntos interessantes, ABS...

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Man pages em formatos de arquivos digitais

CrunchBang Statler

Utilizando find + exec e agilizando tarefas

Instalação de arquivos .deb no Linux

Personalizando o Fluxbox

  

Comentários
[1] Comentário enviado por davis.peixoto em 22/02/2008 - 22:53h

Cara, gostei.

Isso vai ser de grande utilidade para dar um 'improve' nos meus scripts.

Thx.

[2] Comentário enviado por azraelm em 16/01/2012 - 18:31h

Boa explicação, foi de grande ajuda.

[3] Comentário enviado por Joao_Vitorino em 07/11/2013 - 18:10h

Como sincronizo um arquivo assim pela rede?



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts