Peter,

        The problem is with the code 

if [ $9 = "-u" ]; then
        $HEARTBEAT restart
else
        $HEARTBEAT stop
fi

What you really want is
if [ $9 == "-u"]; then

the single '=' is for assignment, not for testing equiviance...
What's happening is that the heartbeat isn't running and it can't seem to
get it started again
Thus it keeps tripping the alarm and trying to restart your heartbeat
process (which is can't and the fact that it's not running causes an alarm
to be thrown ad nausium...

Although it's better if you have it as
if [ "X$9" == "X-u"]; then

So that if $9 doesn't exist you won't get an error

Hope this helps,
--
Ed Bugg <[EMAIL PROTECTED]>
Network Operations
BlueCross and BlueShield of MO

-----Original Message-----
From: Peter Mueller [mailto:[EMAIL PROTECTED]]
Sent: Monday, May 20, 2002 3:07 PM
To: '[EMAIL PROTECTED]'
Subject: FW: monitor a pid?


If this works - thanks Jim!

-----Original Message-----
From: Peter Mueller 
Sent: Wednesday, May 15, 2002 11:59 AM
To: '[EMAIL PROTECTED]'
Subject: monitor a pid?


hi,

newbie question.  how does everyone here recommend monitoring a pid?  I was
playing around with this a _while_ back and I could never get it to work..
my PID heartbeat just seems to restart endlessly!.  help help plz :)

Peter

mon version = mon-0.99.2

<mon errfile log>
[root@fe4028 mon]# cat errfile 
/usr/src/mon/alert.d/heartbeat.alert: [: =: unary operator expected
Stopping High-Availability services: [  OK  ]
/usr/src/mon/alert.d/heartbeat.alert: [: =: unary operator expected
Stopping High-Availability services: [  OK  ]
/usr/src/mon/alert.d/heartbeat.alert: [: =: unary operator expected
Stopping High-Availability services: [  OK  ]
/usr/src/mon/alert.d/heartbeat.alert: [: =: unary operator expected
Stopping High-Availability services: [  OK  ]
/usr/src/mon/alert.d/heartbeat.alert: [: =: unary operator expected

<part of mon.cf>
watch heartbeat
        service heartbeat
                interval 15s
                monitor pid.monitor heartbeat
                depend gateway:fping
                dep_behavior m
                period NORMAL: wd {Sun-Sat}
                        alert restart.alert heartbeat
<pid.monitor>
#!/bin/sh
# Script for mon to check wether a process is running or not.
# Invoke with
# monitor pid.monitor process

/sbin/pidof -s $1 > /dev/null 2>&1

if [ $? -eq "0" ]; then
        echo "$1 running"
        exit 0
else
        echo "$1 not running"
        exit 1
fi

<restart.alert>
#!/bin/bash
# Script to start/stop heartbeat daemon

HEARTBEAT="/etc/rc.d/init.d/heartbeat"

if [ $9 = "-u" ]; then
        $HEARTBEAT restart
else
        $HEARTBEAT stop
fi

Reply via email to