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沒有后台運行的意思;&才是后台運行
  • &是指在后台運行,但當用戶推出(掛起)的時候,命令自動也跟着退出


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM