【发布时间】:2019-06-20 20:02:01
【问题描述】:
Tomcat 9.0.12 关闭在 windows 和 linux 上不起作用
bin\shutdown.bat (win)
bin/shutdown.sh (linux)
命令运行完成没有错误,但tomcat进程(java)没有终止。
【问题讨论】:
-
在Linux上,如果你杀死进程并重新启动,下次关闭是否有效?
Tomcat 9.0.12 关闭在 windows 和 linux 上不起作用
bin\shutdown.bat (win)
bin/shutdown.sh (linux)
命令运行完成没有错误,但tomcat进程(java)没有终止。
【问题讨论】:
很可能其中一个 Web 应用程序已经自行启动了一个后台线程,并且没有正确关闭它。一个 hacky 的替代方法是让后台线程成为守护线程(启动线程时有一个标志),这意味着只要进程终止,它们就会被拉出。
获取进程的线程转储(在 Linux 上:kill -3 pid,然后检查 catalina.out)并检查仍在运行的线程。然后在您的代码或第三方 Web 应用程序中找到非守护线程并摆脱它们。
【讨论】: