我编写了一个使用嵌入式 tomcat作为容器的Spring Boot Web 服务。
如果系统重新启动,我想将一些信息备份到 mysql 数据库。
在我的网络服务中,我使用@Scheduled()
并@PreDestroy
运行备份。
当我用 ^C 停止服务器时,一切顺利。
但是,当我使用sysV skript ( /etc/init.d
) 和 kill 命令终止进程时 - 即使守护进程依赖于 mysql,mysql 服务器也会在备份完成之前关闭(导致我的日志中出现 SQL 异常)。
这样做的原因当然是 kill 只发送一个信号来停止进程。
我如何(从我的 sysv 脚本)同步停止正在运行的 spring boot tomcat 服务器?