Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 13 Feb 2005 20:13:57 +0100
From:      =?ISO-8859-1?Q?K=F6vesd=E1n_G=E1bor?= <gabor.kovesdan@t-hosting.hu>
To:        freebsd-questions@freebsd.org
Subject:   Crontab script
Message-ID:  <420FA6F5.1020609@t-hosting.hu>

next in thread | raw e-mail | index | archive | help
Hi,

I've seen somewhere an easy way to check whether a program with a 
specified pid is running or not. I've made a crontab script to check my 
programs based on this. The script is the following:

#!/bin/sh
PID_FILE="/usr/local/bopm/var/bopm.pid"
PID=`cat $PID_FILE`
EXECUTABLE="/usr/local/bopm/bin/bopm"

if test -r $PID_FILE ; then
       # pidfile exist, is it correct?
       if `kill -CHLD $PID >/dev/null 2>$1` ; then
               # ok, exit silently
               exit 0
       fi
       rm -f $PID_FILE
fi
echo ""
echo "Couldn't find the IRC proxy scanner running, retsarting.."
echo ""
$EXECUTABLE


But unfortunately it starts a new instance of the program even if it is 
running. Somebody suggested that I should remove the `` chars from the 
line that conatins the kill -CHLD command, because `` are to check the 
output, but in this case we are interested in the return value not the 
output. The result was the same.

Could You help me please to fix this script? Or if You know an other way 
for this job, please tell me.

Cheers,

Gábor



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?420FA6F5.1020609>