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

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

Conjugando wait e trap


From: Rodolfo Villanova_HP
Subject: Conjugando wait e trap
Date: Thu, 20 Dec 2001 16:58:03 -0200

Scriptografistas,

Estou refazendo uns shell-scripts em plataforma HP-Ux, mas creio que valha
para quaisquer ambientes Unix-likes.

Meu objetivo é o de paralelizar a execução de scripts.
Para isso lanço mão de disparo de processos em background (&) e wait.
Ex:     ...
        faztudo.sh & wait $!
        ...
onde
        a) faztudo.sh => é o nome do meu script;
        b) & => é o comando para jogar a execução para background;
        c) wait => manda esperar o fim do processo;
        d) $! => PID do processo diparado por faztudo.sh;
        e) ... => outras linhas de um script, que agora não interessam(!)

Bem..., então, quando o script faztudo.sh encerrar em seu conteúdo a
execução de uma série de scripts disparados em background, a próxima linha
de comando (...) passa a ser executada.

Bom, agora vem o bicho: quero entender melhor o funcionamento do comando
trap (o man do HP-Ux não é lá muito esclarecedor...), para entender até que
ponto o "trap" pode ajudar a executar um evento qualquer de forma
assíncrona,  aproveitando seu potencial para esperar eventos e disparar
processos em paralelo que sejam dependentes uns dos outros, ou seja, um
processo somente inicia a sua execução quando o seu dependente houver
sinalizado algo.

Desculpe a "viagem", mas ainda quero aprofundar meus conhecimentos e
aproveitar todo o potencial dos comandos da linguagem shell. 

Espero que essa investigação seja proveitosa para todos.


Grato antecipadamente pelas contribuições,


Rodolfo Villanova
----------------------------------------------------------------------
"If you have an apple and I have an apple and we exchange apples then 
you and I will still each have one apple. But if you have an idea and 
I have one idea and we exchange these ideas, then each of us will have
two ideas."

George Bernard Shaw
----------------------------------------------------------------------


reply via email to

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