1. A method of process recovery in a distributed environment, comprising: detecting a process heartbeat associated with a first instance of a process, said process having services; determining that said process has failed if said heartbeat was not received at a predetermined next heartbeat time; releasing resources associated with said process; restarting a second instance of said process and said services from a last known good state of said first instance of said process.