dmor4477 has asked for the wisdom of the Perl Monks concerning the following question:
Hi everybody,
I'm testing a simple IPC implementation that uses Linux pipes to communicate a producer script and a consumer. The producer script looks like:
while(1){ print "Hello\n"; sleep(2); }
And the consumer:
my @lines; while(1){ sleep(10); if (<STDIN>){#Non-blocking reading print "Reading lines..."; @lines=<STDIN>; print "@lines"; }else{ print "No lines received.\n"; } }
If I run the producer or the consumer alone, there are no problems.
$./producer.pl Hello Hello $echo "Hello" | ./consumer.pl Hello
But if I run them together, then de producer does nothing.
$./producer.pl | ./consumer.plHow can I connect the producer standar output and consumer standar input?
Thanks in advance,
David,
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Read from a Linux pipe hangs.
by JediWizard (Deacon) on Feb 23, 2005 at 16:14 UTC | |
by dmor4477 (Initiate) on Feb 23, 2005 at 17:25 UTC | |
by JediWizard (Deacon) on Feb 23, 2005 at 20:59 UTC | |
|
Re: Read from a Linux pipe hangs.
by Ultra (Hermit) on Feb 23, 2005 at 19:20 UTC | |
by dmor4477 (Initiate) on Feb 23, 2005 at 20:18 UTC | |
by Ultra (Hermit) on Feb 24, 2005 at 07:44 UTC | |
by dmor4477 (Initiate) on Feb 24, 2005 at 12:06 UTC | |
by Ultra (Hermit) on Feb 24, 2005 at 12:24 UTC | |
by dmor4477 (Initiate) on Feb 24, 2005 at 12:24 UTC |