當我們把java程序打成jar包后,放到linux上通過putty或其它終端執行的時候,如果按照:java -jar xxxx.jar執行,當我們退出putty或終端的時候,xxxx.jar這個程序也會停止。
為了保證程序能夠一直運行,應該改為這樣運行:nohup java -jar xxx.jar& 命令,則程序會在后台一直運行,值得注意的是,此時程序控制台輸出會被轉移到nohup.out文件中,這個nohup.out文件的位置就在jar包的當前文件夾內。
但是有時候在這一步會有問題,當把終端關閉后,進程會自動被關閉,察看nohup.out可以看到在關閉終端瞬間服務自動關閉。
有個操作終端時的細節:當shell中提示了nohup成功后還需要按終端上鍵盤任意鍵退回到shell輸入命令窗口,然后通過在shell中輸入exit 來退出終端
而我是每次在nohup執行成功后直接點關閉程序按鈕關閉終端。所以這時候會斷掉該命令所對應的session,導致nohup對應的進程被通知需要一起shutdown。
這個細節有人和我一樣沒注意到,所以在這兒記錄一下了。
