Tomcat优化之完全停止—— 解决执行 shutdown.sh命令后无法完全停掉

分类: Other 评论(4) 1521 阅读 2018-10-10 14:10 ZooM查看

摘要 执行shutdown.sh命令后tomcat日志显示已经停掉,使用ps命令查看后仍有进程在运行 造成稍后启动时不能正常启动,需要动用kill命令杀掉进程
Tomcat


  我们在使用Tomcat时,经常用到的命令就是 shutdown.sh 和 startup.sh 来部署项目;但是在Centos7上经常遇到执行 shutdown.sh 后Tomcat进程未完全停掉需要手动kill掉进程后才能正常启动;


  如:我的Tomcat名称是 rpc-clinics ;我按照下面的步骤执行

rpc.png

 ps -ef|grep Tomcat显示我的 rpc-clinics Tomcat还是有进程在运行,这时候就需要借助 kill 命令了。在开发阶段重启很频繁这样操作很耗时,那有没有办法可以直接一步到位 立即停止呢?当然是可以的,下面就是实现的方式。


  第一步:修改Tomcat bin目录下catalina.sh文件 ;找到

 PRGDIR=`dirname "$PRG"`

这一行,我这里是Tomcat8 是137行,然后在下面追加代码

if [ -z "$CATALINA_PID" ]; then
     CATALINA_PID=$PRGDIR/CATALINA_PID
     cat $CATALINA_PID
fi

Tomcat8.png


  第二步:修改Tomcat bin目录下shutdown.sh文件;最后一句修改为如下

exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"

即添加了参数 -force

shutdown.sh.png


  到此,Tomcat停止命令优化已完成,执行shutdown.sh命令后,进程将被强制kill掉;不会再留下进程

评论4
评论已关闭