zoukankan      html  css  js  c++  java
  • Tomcat start/stop script

    http://blog.valotas.com/2011/05/tomcat-initd-script.html

    http://blog.botha.us/sarel/?p=101

    #!/bin/bash
    #
    # tomcat7     This shell script takes care of starting and stopping Tomcat
    #
    # chkconfig: - 80 20
    #
    ### BEGIN INIT INFO
    # Provides: tomcat7
    # Required-Start: $network $syslog
    # Required-Stop: $network $syslog
    # Default-Start:
    # Default-Stop:
    # Description: Release implementation for Servlet 2.5 and JSP 2.1
    # Short-Description: start and stop tomcat
    ### END INIT INFO
    
    ## Source function library.
    #. /etc/rc.d/init.d/functions
    export JAVA_HOME=/usr/java/default
    export JAVA_OPTS="-Dfile.encoding=UTF-8 \
      -Dcatalina.logbase=/var/log/tomcat7 \
      -Dnet.sf.ehcache.skipUpdateCheck=true \
      -XX:+DoEscapeAnalysis \
      -XX:+UseConcMarkSweepGC \
      -XX:+CMSClassUnloadingEnabled \
      -XX:+UseParNewGC \
      -XX:MaxPermSize=128m \
      -Xms512m -Xmx512m"
    export PATH=$JAVA_HOME/bin:$PATH
    TOMCAT_HOME=/usr/share/tomcat7
    SHUTDOWN_WAIT=20
    
    tomcat_pid() {
      echo `ps aux | grep org.apache.catalina.startup.Bootstrap | grep -v grep | awk '{ print $2 }'`
    }
    
    start() {
      pid=$(tomcat_pid)
      if [ -n "$pid" ] 
      then
        echo "Tomcat is already running (pid: $pid)"
      else
        # Start tomcat
        echo "Starting tomcat"
        ulimit -n 100000
        umask 007
        /bin/su -p -s /bin/sh tomcat $TOMCAT_HOME/bin/startup.sh
      fi
    
    
      return 0
    }
    
    stop() {
      pid=$(tomcat_pid)
      if [ -n "$pid" ]
      then
        echo "Stoping Tomcat"
        /bin/su -p -s /bin/sh tomcat $TOMCAT_HOME/bin/shutdown.sh
    
        let kwait=$SHUTDOWN_WAIT
        count=0;
        until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]
        do
          echo -n -e "\nwaiting for processes to exit";
          sleep 1
          let count=$count+1;
        done
    
        if [ $count -gt $kwait ]; then
          echo -n -e "\nkilling processes which didn't stop after $SHUTDOWN_WAIT seconds"
          kill -9 $pid
        fi
      else
        echo "Tomcat is not running"
      fi
     
      return 0
    }
    
    case $1 in
    start)
      start
    ;; 
    stop)   
      stop
    ;; 
    restart)
      stop
      start
    ;;
    status)
      pid=$(tomcat_pid)
      if [ -n "$pid" ]
      then
        echo "Tomcat is running with pid: $pid"
      else
        echo "Tomcat is not running"
      fi
    ;; 
    esac    
    exit 0
    #!/bin/bash
    #
    # tomcat This shell script takes care of starting and stopping Tomcat
    # It also handles killing Tomcat in case it doesn’t stop gracefully
    # It uses a PID file to determine the process ID so it should work with multiple Tomcat instances on one server
    #
    # chkconfig: - 80 20
    #
    ### BEGIN INIT INFO
    # Provides: tomcat
    # Required-Start: $network $syslog
    # Required-Stop: $network $syslog
    # Default-Start: 2 3 4 5
    # Default-Stop: 0 1 6
    # Description: Tomcat service
    # Short-Description: start and stop tomcat
    ### END INIT INFO
    
    ## Source function library.
    #. /etc/rc.d/init.d/functions
    
    # Begin configuration section
    
    export JAVA_HOME=/opt/jdk1.6.0
    
    # These options are used when Tomcat is started
    export CATALINA_OPTS=”-Xmx512m -XX:-UseGCOverheadLimit \
    -Dcom.sun.management.jmxremote=true \
    -Dcom.sun.management.jmxremote.port=511 \
    -Dcom.sun.management.jmxremote.authenticate=false \
    -Dcom.sun.management.jmxremote.ssl=false”
    
    export LD_LIBRARY_PATH=/usr/local/apr/lib
    
    # Set this to the path where this Tomcat is installed
    TOMCAT_HOME=/opt/tomcat
    
    # Number of seconds to wait after nicely requesting stop
    SHUTDOWN_WAIT=10
    
    # This should be a different file for each tomcat
    CATALINA_PID=/var/run/tomcat.pid
    
    RUNASUSER=root
    
    # End configuration section
    
    export PATH=$JAVA_HOME/bin:$PATH
    export CATALINA_PID
    
    start() {
    pid=`cat $CATALINA_PID 2>/dev/null`
    if [ -n "$pid" ]
    then
    echo “Tomcat is already running (pid: $pid)”
    else
    # Start tomcat
    echo “Starting tomcat”
    touch $CATALINA_PID
    chown $RUNASUSER $CATALINA_PID
    /bin/su -p -s /bin/sh $RUNASUSER $TOMCAT_HOME/bin/catalina.sh start
    fi
    
    return 0
    }
    
    stop() {
    pid=`cat $CATALINA_PID 2>/dev/null`
    if [ -n "$pid" ]
    then
    /bin/su -p -s /bin/sh $RUNASUSER $TOMCAT_HOME/bin/catalina.sh stop
    echo -n “Stopping Tomcat”
    
    let kwait=$SHUTDOWN_WAIT
    count=0;
    until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]
    do
    echo -n “.”;
    sleep 1
    let count=$count+1;
    done
    
    echo “”
    
    if [ $count -gt $kwait ]; then
    echo “process is still running after $SHUTDOWN_WAIT seconds, killing process”
    kill $pid
    sleep 3
    
    # if it’s still running use kill -9
    if [ `ps -p $pid | grep -c $pid` -gt '0' ]; then
    echo “process is still running, using kill -9kill -9 $pid
    sleep 3
    fi
    
    fi
    
    if [ `ps -p $pid | grep -c $pid` -gt '0' ]; then
    echo “process is still running, I give up”
    else
    # success, delete PID file
    rm $CATALINA_PID
    fi
    else
    echo “Tomcat is not running”
    fi
    return 0
    }
    
    case $1 in
    start)
    start
    ;;
    stop)
    stop
    ;;
    restart)
    stop
    start
    ;;
    status)
    pid=$(tomcat_pid)
    if [ -n "$pid" ]
    then
    echo “Tomcat is running with pid: $pid”
    else
    echo “Tomcat is not running”
    fi
    ;;
    esac
    exit 0
  • 相关阅读:
    疫情环境下的网络学习笔记 python 5.8 数据库入门终章
    疫情环境下的网络学习笔记 python 5.7 navicat数据库,例题,sql注入
    疫情环境下的网络学习笔记 python 5.6 暂时看看
    疫情环境下的网络学习笔记 python 5.5 MYSql 表关系,外键
    疫情环境下的网络学习笔记 python 5.4 数据库基础
    疫情环境下的网络学习笔记 python 4.30 初识数据库
    疫情环境下的网络学习笔记 python 4.29 网络小项目
    XJOI 夏令营501-511测试11 游戏
    XJOI 夏令营501-511测试11 统计方案
    CF1197D Yet Another Subarray Problem
  • 原文地址:https://www.cnblogs.com/androidme/p/3012775.html
Copyright © 2011-2022 走看看