問題描述
我打好的jar包,放在服務器上之後,在windows裏面用xshell打開一個連接,然後運行java -jar 。。。。執行這個jar文件,當我關閉這個鏈接的時候爲什麼程序停止了呢?
打開XShell連接並運行
java -jar XX.jar
後當前的連接被鎖定,也就是說,你的連接的線程當前的狀態會影響程序的執行,比如你按了CTRL+C命令程序退出,還有關閉你的連接那麼程序也會結束。
怎麼解決?
後臺啓動程序
[java] view plain copy
- java -jar XXX.jar &
當前窗口不被鎖定,輸出的日誌會顯示在屏幕上,當關閉窗口的時候,實驗之後並不會停止執行。
方式2
nohup 不掛斷運行的命令,當終端或者賬戶關閉的時候,程序依舊運行。
當前的命令默認會把日誌輸出到nohup.out文件中
[java] view plain copy
- nohup java -jar XXX.jar &
指定輸出文件
[java] view plain copy
- nohup java -jar XXX.jar >log.out &
查看後臺啓動命令
[java] view plain copy
- jobs
顯示後臺運行的程序。每個作業前面都有一個作業的編號。
調回前臺控制
[java] view plain copy
- fg + 編號