Si quieres usar PHP tienes una librería para facilitarte el proceso en el repositorio PEAR:
http://pear.php.net/package/System_Daemon
Aunque la verdad es que no es necesaria. Lo que tienes que hacer es controlar la entrada/salida, las señales del sistema y hacer un "fork" (EDITO: y controlar el pid del proceso). Si buscas en google "php daemon" tienes ejemplos en cantidad.
Personalmente PHP no es mi lenguaje preferido para este tipo de cosas, antes utilizaría algún otro como "python".
En cuanto a restaurar servicios que se caen tienes bastantes herramientas y que suelen venir de serie en muchas distribuciones linux. Por ejemplo: "launchtool", "duende" o "restartd". Incluso muchas de estas herramientas pueden realizar parte del trabajo, como controlar la E/S, realizar el fork, etc....
Agur.
PD: Un consejo, controla bien el uso de memoria...