#!usr/bin/perl use Parallel::ForkManager; my $MAX_PROCESSES=10; $pm = new Parallel::ForkManager($MAX_PROCESSES); $pm->run_on_finish( sub { my ($pid, $exit_code, $ident, $signal, $core) = @_; print "$pid $exit_code $ident $signal $core\n"; } ); foreach ( a .. f ) { my $pid = $pm->start($_) and next; my $exit_code = 40; $pm->finish($exit_code); } #### 20151 40 a 0 0 20152 40 b 0 0 20153 40 c 0 0 20154 40 d 0 0 20155 40 e 0 0 #### my $exit_code = 40; #### my $exit_code = 'forty'; #### 20963 0 a 0 0 20965 0 c 0 0 20966 0 d 0 0 20967 0 e 0 0 #### my $exit_code = \'forty'; #### 22040 192 a 0 0 22041 192 b 0 0 22042 192 c 0 0 22043 192 d 0 0 22044 192 e 0 0