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

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

Re: [shell-script] Re: Estrutura de script para criar fila de espera


From: Julio C. Neves
Subject: Re: [shell-script] Re: Estrutura de script para criar fila de espera
Date: Sun, 20 Sep 2015 22:05:11 -0300

Fala Itamar,
muito me honra vc ter lido meu livro já que aprecio muito as suas respostas na lista.

Estive fora do meu reduto toda a semana, dei uma quicada em casa e já estou fora novamente. Nesse tempinho que passei em paz, vi uma thread muito longa e resolvi dar um pitaco sem me ater muito aos detalhes. Qdo vi que vc falou do meu livro, me liguei e expliquei que o FIFO era só do processo "tagarela" para o "orelhão", pois não lembro se isto está muito claro no texto (se não estiver, farei estar na próxima edição). Com isso quero dizer que a ideia não foi de retrucar, mas sim esclarecer um ponto que eu poderia ter deixado obscuro.

Por falar nisso, o cmd coproc do bash 4 (para fazer threads) é inteiramente baseado em named pipes, justamente pela facilidade de enfileirar as entradas.

Qto ao Saco de Gatos, ele nada mais é que o famigerado Outros, isto é, coloquei ali tudo que não se encaixava em nenhum capítulo (tenho pensado em realocar algumas coisas dali, como p.ex. Funções, que iriam para o capítulo de Passagem de Parâmetros.

Voltando à dúvida do nosso colega, como vc viu o caso mais a fundo que eu, dá uma olhada no sinal 17, que é acionado toda vez que termina um processo filho e veja se não se aplica a esse caso. Para fazer isso o prg deveria ser disparado em background seu PID capturado com echo $! e toda vez que houvesse um sinal 17 o trap veria se foi aquele PID que terminou, qdo começaria todo o ciclo novamente.

Abcs,
Julio
@juliobash

P
róximos cursos de Shell
Cidade         Local Período
São Paulo 4Linux 21/09 a 25/09
Rio de Janeiro EDX 05/10 a 09/10
São Paulo 4Linux 07/12 a 11/12
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.

Se vc ainda usa Windows e não gosta de malwares, baixe o
LibreOffice somente em https://pt-br.libreoffice.org/


Em 20 de setembro de 2015 16:10, address@hidden [shell-script] <address@hidden> escreveu:
 

Mestre Júlio


Foi uma referência apenas para ilustrar na conversa e salientar a importância que fez ao meu entendimento.
Pode ficar tranquilo, que não há nada de errado, e está absolutamente claro. Na verdade o tema era um "plus" a mais no contexto principal, tanto que estava num capítulo intitulado "Saco de Gatos", junto com outros temas igualmente interessantes.

Na verdade o problema não é a entrada, mas a leitura.
O processo "tagarela" (como é referenciado no livro) enfileira adequadamente, mas o processo "ouvinte" captura tudo que estiver acumulado até o momento da leitura. E não há ambiguidade no texto original.

Mas a minha conclusão, dentro da linha de raciocínio desenvolvida até então no problema apresentado nessa discussão, é que o uso simples assim não atenderia o enfileiramento na hora de pegar as sequências de processos a serem executados.

Por isso que sugeri o uso de um arquivo de trava (script.lock) com a sequências de PIDs em conjunto com o uso de "named pipes".
Logicamente que não deve ser a única solução possível, todavia acredito que no que foi apresentado até então havia falhas nesse enfileiramento, visto que processos poderiam se acumular em quantidades indefinidas, ou demorarem a acontecer.
É que extrapolei as possibilidades que poderiam acontecer, e alguns casos talvez nem ocorram, mas já previa que poderiam acontecer e já queria que o script estivesse apto a atender essas possíveis situações.

[]'s
Itamar



reply via email to

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