Possible Duplicate:
Ensure a process is always running
At the moment I use a quick and dirty nohup ... &
to start application and database servers. E.g.
su - foo -c "nohup php-cgi -b 8888 &"
This approach has obvious disadvantages of not starting my service at boot, not restarting the service and/or notifying me if it crashes, not automatically starting dependent daemons, having to ps
to look for PID to kill etc.
I found upstart
but it seems to break the rc.d
so I have to reconfigure all system-wide daemons such as sshd
, syslog-ng
etc to use it.
Is there a non-intrusive alternative to upstart
that works well with arch linux, coexists with existing rc.d
scripts, supports running daemons under specific users and respawns them if they die? A support for dependencies and notifications on a respawn is a plus but is not required.
Of course I can write a rather simple shell script myself and plug it into rc.d
, but are there any de facto standard well-tested solutions besides rc.d
which doesn't provide respawning?
UPD: I found monit
. Is it any good, and are there any better solutions?