in reply to background system() and stillalive() sub
IPC::Run Proc::Background ...
#!/usr/bin/perl -w use strict; use Proc::Background; my $pid1 = Proc::Background->new("cd /tmp ; pwd > testplpwd ; sleep 100"); for (my $i=0; ; ++$i) { print STDERR "$i: Your pid $pid1 is ".($pid1->alive())."\n"; ($pid1->alive()) or last; sleep(1); }