在Linux中,执行tomcat shutdown.sh 偶尔不能kill进程问题的解决教程
项目部署采用jenkins自动部署,在更新过于频繁的时候,发现Linux中同一个tomcat会出现多个进程在跑。占用系统内存。
解决方案:
1、在tomcat catalina.sh 脚本classpath 节点下方加上 : #record tomcat PID
if [ -z "$CATALINA\_PID" ]; then
CATALINA\_PID="$CATALINA\_BASE"/logs/CATALINA\_PID
cat $CATALINA\_PID
fi 因为需要采用$CATALINA\_BASE,所以该脚本需要加在定义之后。 2、修改shutdown.sh 在shutdown.sh 中最后一行修改:加上 -force
原来
exec "$PRGDIR"/"$EXECUTABLE" stop "$@"
改为
exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@" 如果tomcat为启动状态,在shutdown tomcat时,会报错,无法正常停止tomcat 需要手动kill进程