在我们的Linux机器上,有多个运行tomcat的用户。
目前我们正在使用进程终止命令来终止相应用户的 tomcat ,而不是使用 shutdown.sh
使用这种方法有什么缺点吗?
答案1
这取决于什么kill
您正在使用的信号:
如果您使用
TERM
(数字等价于kill -15
),理论上您将让java
进程向其子进程发出信号并以正确的方式退出。如果你使用
KILL
(kill -9
),你没有, 和你留下了各种临时文件、套接字,等等...后面。
也就是说,tomcat
它有自己的正确关闭机制,即您应该使用的 RMI 调用,可以直接使用,也可以使用操作系统的界面:service
、start
或systemctl
任何其他。
如果你因为某种原因不能这样做,你可以使用类似这样的包装器来提供帮助tanukiwrapper
或者supervisord
,它也有一个 Web 前端。
答案2
使用 Tomcat 的关机脚本或使用 kill -15 时,行为没有任何区别。最终结果完全相同 - 干净关机。唯一的区别是启动关机过程的代码路径略有不同。