Tomcat关闭的方式有何不同?

时间:2019-01-10 13:20:35

标签: tomcat shutdown catalina

我在Win7上有一个Tomcat 9.0.0。我有两种关闭服务器的方法:

  1. 在服务器控制台中按Ctrl + C
  2. 运行catalina停止命令

我仍然观察到不同的行为-虽然第一种方法成功关闭了第二个服务器程序,但该服务器程序仍然处于活动状态(用户代码中可能有一些未完成的线程)。因此,我想知道关闭这些方式的实际区别是什么,tomcat内部是怎么回事?

1 个答案:

答案 0 :(得分:0)

通常在执行Ctrl + C时,操作系统会为此进程发送终止信号。强制关闭会导致某些关键数据丢失或某些资源未正确清理,例如数据库连接,线程本地值等。

运行catalina stop命令时,所有资源将逐渐清理和关闭,而不会造成任何损失。另外,如果使用ShutDownHook注册了任何东西,它也可以正常工作。