#!/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