解决linux下tomcat 关闭不了的bug

    最近项目中需要使用tomcat的shutdown命令关闭tomcat,但关闭时出现如下错误: Kill failed: $CATALINA_PID not set。查看catalina.sh文件里,发现是因为$CATALINA_PID变量为空时会打印该消息。$CATALINA_PID变量是一个pid文件,用来存储tomcat运行的pid。在文件开头加上CATALINA_PID="tomcat.pid"就不会报此消息了。

    运行startup.sh,bin目录下出现了tomcat.pid文件,说明生效了。再次运行shutdown.sh,报“Tomcat did not stop in time. PID file was not removed”。

    后来经过调试发现,tomcat例子是可以正常关闭的,而我的项目不行。经分析并调试,发现我的项目中用到了ScheduledThreadPoolExecutor(可能是未接受stop消息导致的),导致了shutdown命令未能成功。将ScheduledThreadPoolExecutor改成spring的quartz调度就ok了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值