On Sat, Dec 7, 2013 at 2:18 AM, S. Dale Morrey <[email protected]>wrote:
> I've got a system I'm in charge of that uses a standard init script. i.e. > /etc/init.d/mydeamon start > > The problem is the daemon can randomly crash and because it's a signed > binary I can't just fix the problem and recompile. > > The thing MUST stay running. I was thinking about using a Nagios solution > but that seems like overkill. > > Is there someway to check if the process is running with cron? I was > thinking I could just do a restart once an hour, but it seems there should > just be a way to check the pid to see if it's running instead of a full > restart. > > why not write the PID in the start script to some file and then either check via ps afx | grep $PID or kill -0 $PID and then restart, plus some logic to detect stale PID files etc. However, there is a likely race condition where when the process dies the PID can be reused by a different parent (which I believe happens in a round robin after /proc/sys/kernel/pid_max is exhausted). Matching process name & PID is a safe guard in that case. hth Olli /* PLUG: http://plug.org, #utah on irc.freenode.net Unsubscribe: http://plug.org/mailman/options/plug Don't fear the penguin. */
