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

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

Re: [shell-script] Re: Conjugando wait e trap


From: Eliphas Levy Theodoro
Subject: Re: [shell-script] Re: Conjugando wait e trap
Date: Fri, 21 Dec 2001 09:44:48 -0200 (BRST)

Tá, eu também odeio mandar email pela página do egroups. mumble.

--- In shell-script@y..., "Julio Cezar Neves - DISB.O" wrote:
>
> Passado o recreio vamos ao que interessa: o trap serve para monitorarum
> 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 nestearquivo 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... :)

Hmm %)

$ mkfifo espere_aqui
$ l espere_aqui
prw-rw-r--   1 eliphas  eliphas         0 Dec 21 09:09 espere_aqui|
$ cat espere_aqui &
[1] 13914
$
$
$ echo lala > espere_aqui
lala
$
[1]+  Done    cat espere_aqui
$

WOW. Começo a pensar em alguns usos úteis pra isso :)

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

Ei, discutam isso por aqui, pppleeease ':)
É interessante saber outras maneiras de lidar com processamento
paralelo! Até hoje eu usava locks, tendo que usar while e sleep ou o
lockfile:

script1:
rmlock(){ rm mylock; }
touch mylock
trap rmlock EXIT HUP ABRT KILL TERM

script2:
while [ -f mylock ]; do sleep 1; done
ou
lockfile mylock

-- 
Eliphas



reply via email to

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