Reading child process exit codes