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

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

RE: [shell-script] Conjugando wait e trap


From: Julio Cezar Neves - DISB.O
Subject: RE: [shell-script] Conjugando wait e trap
Date: Thu, 20 Dec 2001 19:46:36 -0300

Olá Rodolfo,
há qto tempo! Pelo seu e-mail address dá para dizer que vc agora é o Unixer
do Plim-Plim ... :) Por favor me apresente à Vera Fischer. :)

Passado o recreio vamos ao que interessa: o trap serve para monitorar um
sinal passado pelo comando kill (se vc fizer um ctrl+c p.ex., é o mesmo que
fazer um kill -2) então, vc teria que bolar uma forma de em um programa
master, vc passar determinados sinais (pelo comando kill) para os programas
filhos. Se vc quiser, te mando em PVT a seção referente ao cmd trap do meu
livro.

Porém, a forma que uso para fazer estes diaparos assíncronos é por meio de
named pipes (ou FIFO), isto é vc cria um arquivo tipo named pipe (com o cmd
mkfifo) e teu programa filho inicia com um comando read neste arquivo e
ficará preso até que receba algo para ler. O programa master, no momento
adequado, grava algo neste arquivo e então o outro se libera do read e
começa o processamento. Entendeu? Nem eu... :)

Rodolfo, amigão vc sabe que estou sempre à disposição em pvt. Se puder
ajudá-lo, não hesite (nem dê exit :º). [ ]s,
JCN

> -----Original Message-----
> From: Rodolfo Villanova_HP 
> [mailto:address@hidden]
> Sent: Thursday, December 20, 2001 3:58 PM
> To: 'address@hidden'
> Subject: [shell-script] Conjugando wait e trap
> 
> 
> 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
> ----------------------------------------------------------------------
> 
> Sair da lista: address@hidden
> Banco Dados:   http://www.egroups.com/group/shell-script 
> 
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em: 
http://br.yahoo.com/info/utos.html 



reply via email to

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