|
|||||||||||||||||||||||||||
* Claus Ekstroem (sslug@sslug) [2001-07-16 01:41]:
> Jeg kan ikke få child-delen til at virke ordentligt. open fejler fordi
Hej Claus,
Måske jeg ikke har forstået dit setup helt, men ville følgende, lidt
enklere, metode mon virke:
data_generator.pl | pedipet | search_for_critical.pl
Ideen er, at data_generator.pl blot laver en uendelig strøm af data,
til simulationsprogrammet, og search_for_critical.pl blot dør når den
finder kritisk data. Unix vil så sende SIGPIPE til pedipet, og når den
derfor dør, vil data_generator.pl også få en SIGPIPE.
Altså, hvis man illustrerer med en lille prototype:
perl -e 'print $a++."\n" while 1' | # data_generator.pl
perl -e '$|=1; while(<>) { sleep 1; print}' | # pedipet
perl -ne 'die "Found" if /5/' # search_for_critical.pl
bemærk at det er altafgørende at pedipet bruger autoflush på sit
output filehandle. ($|=1). Hvis pedipet ikke gør det, og du ikke har
source til programmet, har du problemer....
mvh
- Peter
--
Peter Andreasen <sslug@sslug> | http://pandr.dk | ln -s /dev/random ~/.plan
------ Fingerprint: 4311 664F 8034 EB15 C75B 30F0 9729 BCD9 0E11 4DA4 -------
|
||||||||||||||
|
||||||||||||||