When running in a scheduler event loop, `core::run` should defer to the event loop for running processes. This will avoid blocking `waitpid` calls.