Maybe you can tell us a bit more about the framework you're using to launch processes at the remote end?
If you don't want to poll, and can't use wait, maybe you can have the process at the remote end (or a wrapper around it) send you
a message when it has finished?