my %reaped; $SIG{CHLD} = sub { my $pid = wait(); $reaped{$pid} = $?; }; # When reading from read ready handle returns eof, my $exit_code = delete $reaped{$pid_associated_with_handle};