#!/bin/bash
#chkconfig: 5 80 90
#description:check
#
# source function library
#. /etc/rc.d/init.d/functions
JAVA_HOME=/usr/bin
export JAVA_HOME=$JAVA_HOME
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
DIALUP_PID=/root/unixDialup/dialup.pid
start()
{
echo "dialup Service check ..."
SPID=`cat /root/unixDialup/dialup.pid`
CheckProcessStata $SPID >/dev/null
if [ $? != 0 ];then
# nohup java -jar /root/unixDialup/check.jar >/dev/null 2>&1 & new_agent_pid=$!
nohup ./startWebLogic.sh >/dev/null 2>&1 & new_agent_pid=$!
nohup ls >nohup.out 2>&1 & aaa=$!
echo "$new_agent_pid" > $DIALUP_PID
else
echo "unixdialup:{$SPID} Running Normal."
fi
}
stop()
{
if [ -f /root/unixDialup/dialup.pid ];then
SPID=`cat /root/unixDialup/dialup.pid`
if [ "$SPID" != "" ];then
kill -9 $SPID
echo > $DIALUP_PID
echo "stop success"
fi
fi
}
CheckProcessStata()
{
CPS_PID=$1
if [ "$CPS_PID" != "" ] ;then
CPS_PIDLIST=`ps -ef|grep $CPS_PID|grep -v grep|awk -F" " '{print $2}'`
else
CPS_PIDLIST=`ps -ef|grep "$CPS_PNAME"|grep -v grep|awk -F" " '{print $2}'`
fi
for CPS_i in `echo $CPS_PIDLIST`
do
if [ "$CPS_PID" = "" ] ;then
CPS_i1="$CPS_PID"
else
CPS_i1="$CPS_i"
fi
if [ "$CPS_i1" = "$CPS_PID" ] ;then
#kill -s 0 $CPS_i
kill -0 $CPS_i >/dev/null 2>&1
if [ $? != 0 ] ;then
echo "[`date`] unixdialup-10500: Process $i have Dead"
kill -9 $CPS_i >/dev/null 2>&1
return 1
else
#echo "[`date`] unixdialup-10501: Process is alive"
return 0
fi
fi
done
echo "[`date`] unixdialup-10502: Process $CPS_i is not exists"
return 1
}
status()
{
SPID=`cat /root/unixDialup/dialup.pid`
CheckProcessStata $SPID >/dev/null
if [ $? != 0 ];then
echo "unixdialup:{$SPID} Stopped ...."
else
echo "unixdialup:{$SPID} Running Normal."
fi
}
restart()
{
echo "stoping ... "
stop
echo "staring ..."
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
RETVAL=1
esac
exit $RETVAL