第一步,需要为tomcat配置pid,这样在Tomcat启动时会把进程ID写入指定文件。
@1 修改bin/catalina.sh 文件增加下面的配置@2 vim catalina.sh 按esc进入命令模式 按/ 进入查询模式 复制[ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME" 查询,在下面加入红色配置
# Copy CATALINA_BASE from CATALINA_HOME if not already set
[ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"
# 设置pid。一定要加在CATALINA_BASE定义后面,要不然pid会生成到/下面
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
@3 会生成tomcat.pid文件,它与bin目录平级。
第二步,编写脚本文件
@1 进入/etc/init.d/
@2 增加文件vim tomcat
#!/bin/bash
# description: Tomcat7 Start Stop Restart
# chkconfig: 234 20 80
JAVA_HOME=/home/jdk/jdk1.7.0_79
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CATALINA_HOME=/home/tomcat/apache-tomcat-7.0.47
PID_FILE=/home/tomcat/apache-tomcat-7.0.47/tomcat.pid
#有时进程异常退出导致进程文件在而进程已经不再
#/proc/<pid>目录是否存在来判断进程是否存在
loadpid() {
if [ -r $PID_FILE -a -d "/proc/$(cat ${PID_FILE})" ]
then
echo $(cat ${PID_FILE})
else
echo "0"
fi
}
start() {
pid=`loadpid`
if [ $pid != "0" ]
then
echo "Tomcat is already running (pid: $pid)"
else
echo "Starting tomcat"
sh $CATALINA_HOME/bin/startup.sh
fi
}
stop() {
pid=`loadpid`
if [ $pid = "0" ]
then
echo "Tomcat is not running"
else
echo "Stoping Tomcat (pid: $pid)"
sh $CATALINA_HOME/bin/shutdown.sh
fi
}
status() {
pid=`loadpid`
if [ $pid != "0" ]
then
echo "Tomcat is already running (pid: $pid)"
else
echo "Tomcat is not running"
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
status
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
esac
sed -i 's/\r$//' lvs_real.sh
@增加为系统服务 chkconfig --add tomcat
@重启测试成功
@手动测试成功
service tomcat start
service tomcat stop
service tomcat restart
service tomcat status