在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进程
posted @ 2018-09-20 12:02  comstruggle  阅读(544)  评论(0编辑  收藏  举报