-
-
Save joeymink/7014726 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # | |
| # my_app This shell script takes care of starting and stopping my_app | |
| # | |
| # chkconfig: - 80 20 | |
| # | |
| ### BEGIN INIT INFO | |
| # Provides: my_app | |
| # 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 my_app | |
| ### END INIT INFO | |
| APP_NAME=my_app | |
| USER=$APP_NAME | |
| ## Source function library. | |
| #. /etc/rc.d/init.d/functions | |
| export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::") | |
| if [ -z "$JAVA_HOME" ]; then | |
| echo "Failed to determine JAVA_HOME" 1>&2 | |
| exit 1 | |
| fi | |
| export JAVA_OPTS="-Dfile.encoding=UTF-8 \ | |
| -Dcatalina.logbase=/var/log/$APP_NAME \ | |
| -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=/opt/$APP_NAME | |
| 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 "$APP_NAME is already running (pid: $pid)" | |
| else | |
| # Start tomcat | |
| echo "Starting $APP_NAME" | |
| ulimit -n 100000 | |
| umask 007 | |
| /bin/su -p -s /bin/sh $USER $TOMCAT_HOME/bin/startup.sh | |
| fi | |
| return 0 | |
| } | |
| stop() { | |
| pid=$(tomcat_pid) | |
| if [ -n "$pid" ] | |
| then | |
| echo "Stopping $APP_NAME" | |
| /bin/su -p -s /bin/sh $USER $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 "$APP_NAME 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 "$APP_NAME is running with pid: $pid" | |
| else | |
| echo "$APP_NAME is not running" | |
| fi | |
| ;; | |
| esac | |
| exit 0 |
Author
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Replace service name with: sed -i 's/my_app/YourApp/g' tomcat.sh