shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: rodar via CRON ou DAEMON?


From: Cristiano
Subject: Re: rodar via CRON ou DAEMON?
Date: Thu, 29 Jul 2010 12:39:31 -0000
User-agent: eGroups-EW/0.82

--- Em address@hidden, "Julio C. Neves" <julio.neves@...> escreveu
>
> Eu acho que o assunto é bastante pertinente. Opessoal que usa shell
> normalmente é admin e isso é um assunto interessante para qq admin que
> mereça esse nome.
> 
> Eu tentaria uma coisa totalmente diferente, pois acho que compromete menos o
> processador. Seguinte:
> 
> Script1
> =======
> mkfifo tubo
> tail -f <(ls) > tubo
> 
> O processo do tail permanece em waiting enquanto não se cria arquivo e qdo
> criá-lo ele será enviado para o named pipe.
> 
> Script2
> =======
> while :
> do
>     ArqNovo=$(cat tubo)
> ....
> ....
> done
> 
> O named pipe precisa de um cara falando e outro ouvindo. Esse cat tubo
> ligará um semáforo do S.O. e ficará esperando (sem onerar absolutamente
> nada) a mudança deste semáforo que se dará qdo o outro processo "falar" do
> outro lado do tubo e o que ele falou irá para a variável ArqNovo para que vc
> possa trabalhar o dado da forma que vc quiser.
> 
> Se enquanto o script2 estiver trabalhando o dado, for criado um novo
> arquivo, o script1 ficará em waiting até que termine o ciclo do while e o
> prg volte para o cat.
> 
> Cara dê uma olhada em www.julioneves.com. Acho que a parte referente a named
> pipe e substituição de processo [<(ls)] estão no Papo de Botequim 11. Lá tá
> tudo mastigado e cheio de exemplos.

Julio, conheço o conceito dos pipes e já o utilizei outras vezes, mas nem 
passou pela cabeça usá-los neste caso. Gostei da ideia.

O Eri me sugeriu em off usar o incron do inotify 
(http://inotify.aiken.cz/?section=incron&page=about&lang=en). Também é legal.

Vou testar as duas soluções, obrigado.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]