Hi Browser, thanks for the link. I tried this but Perl is crashing when I run it.
Here is my code:
my $command = 'dir'; my (@results) = _timedCommand($command, 30); if (@results) { print "Good:\n " . join(' ', @results); } else { print "Bad\n"; } sub _timedCommand { use threads; use threads::shared; my ($command, $time) = @_; my @results :shared; my $pid :shared; async { $pid = open my $fh, "$command |" or die "$+, $^E"; @results = <$fh>; $fh->close(); }->detach; kill 0, $pid while sleep 1 and $time--; kill 3, $pid and return if $time; return @results; }
As you can see I tried testing it with a simple dir command which shouldn't cause any issues. When I put it in the debugger, it gets to the return statement, and @results is fine, once I execute the return line it simply kicks out of the debugger.
Any ideas why it would do that?
In reply to Re^2: How to deal with a forked proces that is waiting for user input?
by gepapa
in thread How to deal with a forked proces that is waiting for user input?
by gepapa
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |