#!/bin/sh # # tomcat Tomcat Servlet/JSP container # # chkconfig: 345 84 16 # description: Tomcat Servlet/JSP container # # Source function libraries . /etc/rc.d/init.d/functions . /usr/share/java-utils/java-functions # Get network config . /etc/sysconfig/network # Check that networking is up. if is_yes "${NETWORKING}"; then if [ ! -f /var/lock/subsys/network -a "$1" != stop -a "$1" != status ]; then msg_network_down "Tomcat" exit 1 fi else exit 0 fi set_jvm # Set default options CATALINA_OPTS="-Xmx384M -XX:MaxPermSize=192m -XX:PermSize=128m" # Get service config - may override defaults [ -f /etc/sysconfig/tomcat ] && . /etc/sysconfig/tomcat unset TMPDIR unset TMP COMMONSDAEMON=$(find-jar commons-daemon) TOMCATLIBS=/usr/share/tomcat/bin/bootstrap.jar:$(build-classpath-directory /usr/share/tomcat/lib) CLASSPATH=${CLASSPATH:+"$CLASSPATH:"}$COMMONSDAEMON:$TOMCATLIBS CATALINA_HOME=/usr/share/tomcat CATALINA_BASE=/var/lib/tomcat CATALINA_TMPDIR=/var/lib/tomcat/temp JSVC_OPTS="-classpath ${CLASSPATH} \ -home ${JAVA_HOME} \ -pidfile /var/run/tomcat.pid" if is_yes "${SECURITY_MANAGER}"; then CATALINA_OPTS="$CATALINA_OPTS \ -Djava.security.manager \ -Djava.security.policy==${CATALINA_BASE}/conf/catalina.policy" if [ -n "${SECURITY_MANAGER_DEBUG}" ]; then CATALINA_OPTS="$CATALINA_OPTS \ -Djava.security.debug=${SECURITY_MANAGER_DEBUG}" fi fi start() { # Check if the service is already running? if [ -f /var/lock/subsys/tomcat ]; then msg_already_running "Tomcat" return fi msg_starting "Tomcat" busy cd $CATALINA_BASE /usr/bin/jsvc \ -user tomcat \ -procname tomcat \ -wait 360 \ -outfile /var/log/tomcat/catalina.out \ -errfile /var/log/tomcat/catalina.out \ $JSVC_OPTS \ -Dcatalina.base=${CATALINA_BASE} \ -Dcatalina.home=${CATALINA_HOME} \ -Djava.io.tmpdir=${CATALINA_TMPDIR} \ -Djava.library.path=/usr/lib64:/usr/lib \ -Djava.util.logging.config.file="${CATALINA_BASE}/conf/logging.properties" \ -Djava.util.logging.manager="org.apache.juli.ClassLoaderLogManager" \ $CATALINA_OPTS \ org.apache.catalina.startup.Bootstrap [ $? -ne 0 ] && RETVAL=1 if [ $RETVAL -eq 0 ]; then ok touch /var/lock/subsys/tomcat else fail fi } stop() { if [ ! -f /var/lock/subsys/tomcat ]; then msg_not_running "Tomcat" return fi # Stop daemons. msg_stopping "Tomcat" busy jsvc -user tomcat -stop -wait 360 \ $JSVC_OPTS \ org.apache.catalina.startup.Bootstrap [ $? -eq 0 ] && ok || fail rm -f /var/lock/subsys/tomcat } condrestart() { if [ ! -f /var/lock/subsys/tomcat ]; then msg_not_running "Tomcat" RETVAL=$1 return fi stop start } RETVAL=0 # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) stop start ;; try-restart) condrestart 0 ;; force-reload) condrestart 7 ;; status) status --pidfile /var/run/tomcat.pid tomcat tomcat exit $? ;; *) msg_usage "$0 {start|stop|restart|try-restart|force-reload|status}" exit 3 esac exit $RETVAL