in reply to Re: Both print and redirect STDOUT and STDERR
in thread Both print and redirect STDOUT and STDERR
my $what=shift; use IPC::Open3; use IO::Handle; use threads; unlink('out.txt'); print "Going to run $what.n"; $pid = open3( \*CHILD_IN, \*CHILD_OUT, \*CHILD_ERR, "perl.exe $what" ) +; autoflush CHILD_OUT; autoflush CHILD_ERR; threads->create(\&handle_child_out)->detach; threads->create(\&handle_child_err)->detach; while(1){}; sub handle_child_out { do { sysread CHILD_OUT, $content, 10; if($content ne '') { print "$content"; open OUT,'>>out.txt'; print OUT $content; close OUT; } } while(1); } sub handle_child_err { do { sysread CHILD_ERR, $content, 10; if($content ne '') { print "$content"; open OUT,'>>out.txt'; print OUT $content; close OUT; } } while(1); }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Both print and redirect STDOUT and STDERR
by Jenda (Abbot) on Feb 10, 2012 at 14:28 UTC | |
by chessgui (Scribe) on Feb 10, 2012 at 15:28 UTC | |
by Jenda (Abbot) on Feb 10, 2012 at 15:42 UTC |