#!/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=$1
shift 1
case $command in
start)
start_server $@;
;;
stop)
stop_server $@;
;;
restart)
$0 stop $@
$0 start $@
;;
status)
status $@;
;;
help)
help;
;;
*)
help;
exit 1;
;;
esac