bash: jak zjistit PID prvniho procesu v pipeline
Michal Ludvig
michal-linux na logix.cz
Pondělí Červen 17 13:30:42 CEST 2002
Jindrich Makovicka wrote:
> nejako nemuzu hnout s nasledujicim: mam shellovy skript obsahujici
> pipeline, ktera se pousti na pozadi
>
> command1 | command2 | ... | commandN &
>
> $! mi vrati jenom PID odpovidajici commandN, jenze ja bych potreboval
> nekdy pozdejc poslat signal pro command1. Existuje nejake jednoduche
> reseni?
Bud muzete premluvit command1 aby svuj PID poslal na nejaky obskurni
descriptor (treba 3) a ten pak chytit, pripadne aby ho zapsal do
nejakeho souboru (nejlepe takoveho, ktery mu urcite.
Pokud command1 upravovat nemuzete (coz bych se ve veku open source ale
divil :-) tak muzete pouzit named-pipe:
mkfifo roura
command1 > roura &
PID=$!
command2 < roura | ... | commandN &
kill $PID
To by mohlo byt vicemene ekvivalentni puvodnimu zapisu...
Michal Ludvig
Další informace o konferenci Linux