It's alive! Well sorta.

Olli Ries olli at olli-ries.com
Sat Dec 7 07:43:11 MST 2013


On Sat, Dec 7, 2013 at 2:18 AM, S. Dale Morrey <sdalemorrey at gmail.com>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


More information about the PLUG mailing list