linux 下执行shutdown.sh命令不能关闭tomcat进程的解决方法

  • Post author:
  • Post category:linux


1、故障背景

昨天现场人员发来消息说tomcat开启了10多个进程,吓我一跳,因为我每次升级都执行shutdown.sh命令,并且这是官网提供的所以也没有怀疑,当我连现场查看时确实有这样的问题。

2、解决方法

方法一:

1、使用  ps -ef |grep tomcat  命令查看所有tomcat 进程。 2、关闭tomcat 进程

kill -9 5144 就可以彻底杀死tomcat

5144 就为进程号 pid = 5144

方法二:

1、在tomcat/bin/shutdown.sh文件中增加一个参数


  1. 原来的 exec "$PRGDIR"/"$EXECUTABLE" stop "$@"

  2. 增加参数后 exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"

2、在tomcat/bin/catalina.sh脚中,加入下面这三行

if [ -z "$CATALINA_PID" ]; then
 
 CATALINA_PID=$PRGDIR/CATALINA_PID
 
 cat $CATALINA_PID
 
 fi
  • 直接修改pid地址$PRGDIR/data/leguan_ad_test/CATALINA_PID

if [ -z “$CATALINA_PID” ]; then     CATALINA_PID=$PRGDIR/data/leguan_ad_test/CATALINA_PID     cat $CATALINA_PID fi

再shutdown.sh的时候,就会强制关闭tomcat的进程.

方法三: 直接修改catalina.sh文件

#1、在catalina.sh文件中添加CATALINA_PID
[root@localhost pc1]# vi bin/catalina.sh
#   CATALINA_PID    (Optional) Path of the file which should contains the pid
#                   of the catalina startup java process, when start (fork) is
#                   used

CATALINA_PID=./CATALINA_PID

#2、设置强制关闭,修改尾行添加 -force
[root@localhost pc1]# vi  bin/shutdown.sh

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

#3、启动Tomcat并查看进程
[root@localhost pc1]# startup.sh
[root@localhost pc1]# ps -ef|grep tomcat
    
#4、关闭Tomcat
[root@localhost pc1]# shutdown.sh

#5、检查Tomcat进程
[root@localhost pc1]# ps -ef|grep tomcat

完!



版权声明:本文为HuHao_CSDN原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。