#!/bin/bash
if [ -z "$BASE_DIR" ] ; then
PRG="$0"
# need this for relative symlinks
while [ -h "$PRG" ] ; do
ls=`ls -ld "$PRG"`
link=`expr "$ls" : '.*-> \(.*\)$'`
if expr "$link" : '/.*' > /dev/null; then
PRG="$link"
else
PRG="`dirname "$PRG"`/$link"
fi
done
BASE_DIR=`dirname "$PRG"`/..
BASE_DIR=`cd "$BASE_DIR" && pwd`
fi
CURR_DIR=`pwd`
function stop_server(){
if running; then
echo stop by shutdonw.sh.
$CURR_DIR/bin/shutdown.sh
echo kill tomcat pid.
sleep 10s
pidlist=`ps -ef|grep $CURR_DIR | grep -v "grep"|awk '{print $2}'`
echo "tomcat Id list :$pidlist"
if [ "$pidlist" = "" ]
then
echo "no tomcat pid alive"
else
for pid in ${pidlist}
{
kill -9 $pid
echo "KILL $pid:"
echo "service stop success"
}
fi
echo stop tomcat at [$CURR_DIR] .
else
echo "tomcat[$CURR_DIR] was stopped."
exit 1
fi
}
function start_server(){
if running; then
echo "tomcat[$CURR_DIR] is running."
exit 1
fi
$CURR_DIR/bin/startup.sh
echo startup tomcat at [$CURR_DIR] .
}
function help() {
echo "Usage: run.sh {start|stop|restart}"
}
function running(){
pidlist=`ps -ef|grep $CURR_DIR | grep -v "grep"|awk '{print $2}'`
echo "tomcat Id list :$pidlist"
if [ "$pidlist" = "" ]
then
return 1;
else
return 0;
fi
}
function status(){
if running; then
echo "tomcat[$CURR_DIR] is running."
else
echo "tomcat[$CURR_DIR] was stopped."
fi
}
command=$1shift 1case $command instart)start_server $@;;; stop)stop_server $@;;; restart)$0 stop $@$0 start $@;;status)status $@;;; help)help;;;*)help;exit 1;;;esac