Tomcat无法正常关闭

时间:2015-12-03 12:44:43

标签: tomcat

Tomcat与应用程序在Linux中运行。 在ServletContextListener contextDestroyed中,我停止了我使用的所有可能的API。 它有时会因为catalina stop -force"而有时不会消失。如果没有,那么我使用" kill -9"。最有可能的是它被一些资源/循环所保留。 哪些系统工具可用于诊断? 在contextDestroyed旁边调试的其他地方?

1 个答案:

答案 0 :(得分:1)

可能正在运行的线程没有正确终止。为了找出哪一个,停止tomcat(不完整),然后通过发出kill -3 <pid>创建一个线程转储。线程转储将打印到sysout(或者是syserr?),您可以检查仍在运行的内容。希望他们有一些描述性的名称或堆栈跟踪,你可以识别你正在处理的是什么。

然后修复您已识别的组件以正确关闭该线程,或者在创建时将其设置为守护进程,以便tomcat可以在运行时关闭。