springboot启动后总是自己shutdown

现象

这几天一直被一个问题困扰,每次springboot的tomcat启动之后, 然后过了一段时间看, 进程就突然自己关闭掉了。 然后日志是:

ationConfigEmbeddedWebApplicationContext : Closing org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@6d5380c2: startup date [Sun Sep 24 17:51:04 CST 2017]; root of context hierarchy
o.s.j.e.a.AnnotationMBeanExporter        : Unregistering JMX-exposed beans on shutdown
j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default'

解法

网上也有说这个问题, 但是大多数说的是, 这个是一个非 web应用, 需要添加这个依赖,链接

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

要么就是添加tomcat的依赖。

但是搞了很多次发现原来是怎么样,就是怎么样, 直到看到这篇文章 , 才发现,原来是启动方式的问题, 需要加 nohup, 然后加了 nohup, 果然就好了。这也纠正了我的一个误区, 我一直以为 & 和 nohup是一样的。

nohup 和 &

可以参考这篇文章
简单来说就是:

  • 用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系,例如我们断开SSH连接都不会影响他的运行,注意了nohup没有后台运行的意思;&才是后台运行
  • &是指在后台运行,但当用户推出(挂起)的时候,命令自动也跟着退出
原文地址:https://www.cnblogs.com/cyttina/p/7588802.html