It depends on what architecture you are using. For example, when using the execution server that comes by default with our web tooling, you don't have to do anything, it will restart all required services automatically.
When you embed the engine, you typically also don't have to do anything other than reinitialize the RuntimeManager (in case you are using timers, if not you can even do that lazily). The reason you don't have to resume process execution is that they are already in a wait state when then are saved into the database. So they are waiting for some trigger before they can continue. As soon as this trigger arrives, they can continue execution by reloading their previous state from the database (even in case of AS failure) at the start of the request.