#!/bin/bash
#
# Startup script for the tomcat
#
# chkconfig: 345 95 15
# description: tomcat service script
#
# Source function library.
. /etc/rc.d/init.d/functions
TOMCAT_HOME=/Tomcat/tomcat
RETVAL=0
check{
if [ -z "$JAVA_HOME" ]; then
export JAVA_HOME=/usr/java/jdk1.7.0_75
fi
}
start(){
checkjava
checkrun
if [ $RETVAL -eq 0 ];
then
echo "Starting tomcat"
su - root -c "$TOMCAT_HOME/bin/startup.sh"
touch /var/lock/subsys/tomcat
else
echo "tomcat allready running"
fi
}
stop(){
checkjava
checkrun
if [ $RETVAL -eq 1 ]; then
echo "Shutting down tomcat"
su - root -c "$TOMCAT_HOME/bin/shutdown.sh"
ps -ef | grep '[o]rg.apache.catalina.startup.Bootstrap
start' | awk '{print $2}' | xargs kill -9
#while [ $RETVAL -eq 1 ]; do
# sleep 5
# checkrun
#done
rm -f /var/lock/subsys/tomcat
else
echo "tomcat not running"
fi
checkrun
}
checkrun(){
ps ax --width=1000 | grep
"[o]rg.apache.catalina.startup.Bootstrap start" | awk '{printf $1 "
"}' | wc | awk '{print $2}'
>/tmp/tomcat_process_count.txt
read line <
/tmp/tomcat_process_count.txt
if [ $line -gt 0 ]; then
RETVAL=1
return $RETVAL
else
RETVAL=0
return $RETVAL
fi
}
status(){
checkrun
if [ $RETVAL -eq 1 ]; then
echo -n "Tomcat ( pid "
ps ax --width=1000 | grep
"org.apache.catalina.startup.Bootstrap start" | awk '{printf $1 "
"}'
echo -n ") is running..."
RETVAL=0
echo
else
echo "Tomcat is stopped"
RETVAL=1
fi
echo
"---------------------------------------------"
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
# su - tomcat -c "$TOMCAT_HOME/bin/catalina.sh
version"
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
esac
exit $RETVAL
将脚本放到etc/init.d下。
chomd 777 tomcat
执行chkconfig --add tomcat
chkconfig --list|grep tomcat 查看服务
service tomcat start
service tomcat status
service tomcat stop