用nohup命令解決SpringBoot/java -jar專案執行一段時間停止執行的問題
阿新 • • 發佈:2018-12-08
問題背景
手頭有一個springboot專案,放在測試伺服器跑,但是隔三差五的,就會中斷,很好奇到底怎麼回事。
其實這就是SpringBoot專案執行一段時間停止執行
、java -jar專案執行一段時間停止
、java程式執行一段時間自動關閉
的問題了。
解決方案
用java -jar xxxx-web-0.0.1-SNAPSHOT.jar >xxxx.log&
啟動後項目看似脫離終端了,其實還是受終端影響,斷開xshell之後,專案過段時間就會掛了。GG。
把啟動語句加上nohup
後臺執行就可以了。
nohup是什麼
用途:nohup
是linux一個命令,不掛斷地執行,或者理解為後臺執行。
範例:
#docker
nohup docker-compose up > /usr/local/logs/microservice-tcbj-yytsg/log.txt &
#springboot
nohup java -jar microservice-web-0.0.1-SNAPSHOT.jar >microservice.log&
語法:nohup Command [ Arg … ] [ & ]
無論是否將 nohup 命令的輸出重定向到終端,輸出都將附加到當前目錄的 nohup.out 檔案中。
如果當前目錄的 nohup.out 檔案不可寫,輸出重定向到 $HOME/nohup.out 檔案中。
如果沒有檔案能建立或開啟以用於追加,那麼 Command 引數指定的命令不可呼叫。
退出狀態:該命令返回下列出口值: 126 可以查詢但不能呼叫 Command 引數指定的命令。 127 nohup 命令發生錯誤或不能查詢由 Command 引數指定的命令。 否則,nohup 命令的退出狀態是 Command 引數指定命令的退出狀態。