sub check_for_completed_processes { my @completed; my @temp; # print "Checking for completed procs...\n"; while(my $running = pop @running) { if(waitpid($running -> {process_id} ,&WNOHANG)) { $running -> {end_time} = timestamp(); # print "Finished. \n"; push @completed, $running; print "Process completed: " . $running -> {process} . "\n"; print "Started at: " . $running -> {start_time} . "\n"; print "End time: " . $running -> {end_time} . "\n"; } else { push @temp, $running; } } @running = @temp; return @completed; }