#! /bin/sh

#chkconfig: 345 95 15
# description: Starts and stops nagent.
# pidfile: /var/run/nagent.pid

# Source function library.
INITD=/etc/rc.d/init.d
. $INITD/functions

# Get function listing for cross-distribution logic.

export NAGENTHOME=/usr/sbin/


start(){
	pid=`pidof -s nagent`
	
	if [ $pid ]
	then
		echo $"Nagent already running."
	else
		echo "Starting nagent"
                if [ ! -d /var/core/nagent/ ] ; then
                        mkdir -p /var/core/nagent/
                fi
                                                                                                                                                   
		cd /var/core/nagent/
                	daemon nagent -f /home/nagent/nagent.conf > /dev/null 2>&1 &
			pid=$!

 		sleep 1
		
 		running=`pidof -s nagent`
 		if [ $running ] ; then
				success 
				echo "nagent started"	
				echo $running > /var/run/nagent.pid
				touch /var/lock/subsys/nagent
				touch /var/lock/subsys/agentupper
		else
				failure "$NAGENT_START"
				echo " [ FAILED ]"
		fi
	fi 
}

stop(){

	pid=`pidof -s nagent`
        if [ "$pid" == "" ]; then
        	rm -f /var/run/nagent.pid
		rm -f /var/lock/subsys/nagent
		rm -f /var/lock/subsys/agentupper
		echo "Nothing to Stop"
	        exit 0;
        fi

	kill $pid > /dev/null 2>&1
	return_val=$?
	COUNT=0
        usleep 100000
        pid=`pidof nagent`
        while [ "$pid" ] ; do
                if [ $COUNT -gt 100 ] ; then
                        DEATH="-9"
                        echo -n ,
                else
                        DEATH=""
                        echo -n .
                fi
                kill $DEATH $pid
                usleep 100000
                pid=`pidof nagent`
                COUNT=`expr $COUNT + 1`
        done
        if [ $return_val -eq 0 ]; then
		echo "Stopping nagent"
        else
        	echo_failure
        fi
        rm -f /var/run/nagent.pid;rm -f /var/lock/subsys/nagent;rm -f /var/lock/subsys/agentupper



	}


        

case "$1" in
  start)
	start
	;;
  stop)
	stop
	;;
  status)
	status nagent
	;;
 restart)
        $0 stop
        sleep 1
        $0 start
	;;
  *)
	echo $"Usage: $0 {start|stop|restart|status}"
	exit 1
esac

exit 0


