[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
- RE: [shell-script] Conjugando wait e trap,
Julio Cezar Neves - DISB.O <=