在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服务已经成功关闭。

相关推荐
航Hang*4 分钟前
第1章:初识Linux系统——第13节:总复习②
linux·笔记·学习·centos
Amy_au5 分钟前
Linux week 01
linux·运维·服务器
dblens 数据库管理和开发工具13 分钟前
Git 指令大全(全干货版)
运维·git·ubuntu
淮上安子骞17 分钟前
sage10.8源码部署
服务器·密码学·ctf·本地部署·sage
KingRumn21 分钟前
DBUS源码剖析之DBusMessage数据结构
linux·服务器·数据结构
bst@微胖子28 分钟前
Linux下排查网络偶现超时问题
linux·网络·dubbo
Caarlossss34 分钟前
mybatis
java·数据库·tomcat·maven·mybatis·mybatis-spring
阿豪只会阿巴38 分钟前
【多喝热水系列】从零开始的ROS2之旅——Day3
linux·笔记·ubuntu·ros2
OpenMiniServer44 分钟前
JsonKV协议技术文档
linux·服务器·网络
hunjinYang1 小时前
使用嵌入式 Tomcat 创建Java Web应用程序
java·tomcat