Possibly. There are race conditions with `wait` for `$somepid` because shells kinda have to reap processes as soon as possible, but that means that your `$somepid` can be stale and even refer to some other process. If you have a pipe from the process' stdout and/or stderr then when you can try to read from that pipe to know if the process exited -- you might still lose the exit status, unless you run the program like `(the_program ...; stat=$?; printf '%s\n' $stat 1>&2; exit $stat) &` and then read the exit status from the stderr pipe.