saner restart logic

wait for pid to exit; server immediately stops listening and then spins down,
so waiting for dial errors is not enough