Named Pipe (First in First out) FIFO

Publicado por José Olympo em 20/06/2007

[ Hits: 8.342 ]

 


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

Linux Slackware 12.1 com Compiz-Fusion

O comando info

Apostilas gratuitas de OpenOffice.org, Gantt Project, Thunderbird, Firefox e Gimp

Grupo de discussão de Minas Gerais

Arch BSD: distro da comunidade Arch Linux, mas com kernel FreeBSD

  

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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts