热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux下tomcat关闭后还有进程

今天发现的问题,记录一下:修改了程序,eclipse中运行一切正常,部署到linux,重启tomcat发现&#

今天发现的问题,记录一下:

修改了程序,eclipse中运行一切正常,部署到linux,重启tomcat发现,运行出现不少错误,看似之前的版本引起的,刚开始以为是tomcat缓存,然后清空了work下的Catalina还是一样。。重新部署重启了多次都无效!

折腾许久,突然想起来查看下tomcat进程,ps -ef | grep tomcat 发现一大堆tomcat运行的进程,我晕,才发现之前一直使用./shutdown 关闭了tomcat,进程其实还在。

在网上找了很多原因,还以为是tomcat需要作什么配置,其实都不是..最终找到问题原因:

原来是程序使用Quartz定时任务,只在监听器中初始化时启动了schedule,但是没写停止的程序,导致即使tomcat关闭了这个进程一直不会关闭。

所以需要在Listener中销毁上下文的时候关闭一下:

/*** @see ServletContextListener#contextDestroyed(ServletContextEvent)*/public void contextDestroyed(ServletContextEvent sce) {// TODO Auto-generated method stubtry {if (scheduler !=null && scheduler.isStarted()) {scheduler.shutdown();}} catch (SchedulerException e) {// TODO Auto-generated catch block
e.printStackTrace();}}

然后测试,重启tomcat然后shutdown,再次查看进程,OK! 没了。

转:https://www.cnblogs.com/seri17/p/7149811.html



推荐阅读
author-avatar
黄初伦伟彦宜婷
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有