在Linux中tomcat执行shutdown.sh之后进程还存在

第一步,tomcat执行shutdown.sh之后进程还存在,我们可以发现项目中存在非守护线Thread.currentThread().setDaemon(false);。

第二步,配置/usr/local/tomcat/bin/catalina.sh文件,可以记录tomcat进程PID。

在/usr/local/tomcat/bin/catalina.sh文件中添加代码得到下面的内容:

复制代码
# Get standard environment variables

PRGDIR=`dirname "$PRG"`

if [ -z "$CATALINA_PID" ]; then

      CATALINA_PID=$PRGDIR/CATALINA_PID

fi

第三步,配置/usr/local/tomcat/bin/shutdown.sh文件,使得shutdown时强制关闭进程。

在/usr/local/tomcat/bin/shutdown.sh文件中修改最后一行代码得到下面的内容:

复制代码
exec "$PRGDIR"/"$EXECUTABLE" stop -force "$@"

第四步,验证。

先进入/usr/local/tomcat/bin文件夹,使用命令"./startup.sh"启动tomcat服务,可以发现结果的最后一行显示启动tomcat服务时使用了CATALINA_PID。

然后使用命令"./shutdown.sh"关闭tomcat服务,可以发现结果的最后两行显示已经kill掉了tomcat进程。

最后使用命令"ps -ef|grep tomcat"查看,可以发现tomcat进程已经不存在了,tomcat服务已经成功关闭。

相关推荐
盛世宏博智慧档案2 分钟前
数据追溯 + 异常预警:机柜温湿度以太网变送器应用实践方案
linux·服务器·网络
leandzgc3 分钟前
Linux动态存储管理的逻辑卷使用示例
linux·运维·服务器·逻辑卷·linux动态存储管理
Lethehong7 分钟前
openEuler的系统监控:高效运维管理
运维
Jurio.33 分钟前
Python Ray 分布式计算应用
linux·开发语言·python·深度学习·机器学习
潮流coder1 小时前
ssh公钥 key生成
运维·ssh
守城小轩1 小时前
基于Chrome140的Reddit账号自动化(关键词浏览)——运行脚本(三)
运维·自动化
eventer1231 小时前
构建 HertzBeat Docker 镜像的技术实践
运维·docker·容器
深耕AI1 小时前
【wordpress系列教程】02 Blocksy主题
运维·服务器·前端
遇见火星2 小时前
Jenkins核心部署流程
运维·jenkins