in reply to delayed die and open3
The parent is printing, the child is dying. Try this:
use strict; use warnings; use IPC::Open3; $|=1; print "parent pid: $$\n"; my($in, $out, $err, $pid); # duplicate stderr and stdout open( $out, ">&STDOUT" ) or die "Can't dup STDOUT to OUTPUT: $!\n"; open( $err, ">&STDERR" ) or die "Can't dup STDERR to OUTERR: $!\n"; eval { $pid = open3($in, $out, $err, @ARGV) }; die "$$ open3 gave trouble: $@\n" if $@; print "$$ It is running\n"; close $in; print "stdout:\n"; print while <$out>; close $out; print "$$ stderr:\n"; print "$$ $_" while <$err>; close $err;
the lowliest monk
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: delayed die and open3
by Random_Walk (Prior) on Mar 31, 2005 at 16:43 UTC | |
by tlm (Prior) on Mar 31, 2005 at 17:22 UTC | |
by RazorbladeBidet (Friar) on Mar 31, 2005 at 16:46 UTC | |
by Random_Walk (Prior) on Mar 31, 2005 at 17:10 UTC | |
by RazorbladeBidet (Friar) on Mar 31, 2005 at 17:24 UTC |