Linux伺服器後臺執行jar包
阿新 • • 發佈:2020-08-23
上程式碼
將執行日誌輸入到 logs.txt (jar包所在的目錄)
nohup java -jar xxx.jar >logs.txt &
分解介紹
- 首先最基本的執行jar包命令是:
java -jar xxx.jar
這個命令會鎖定命令視窗,只能看到當前執行的輸出資訊。而無法傳送其他指令。
這種方式當ssh視窗關閉時,程式中止執行,或者是執行時沒法切出去執行其他任務
- 讓jar包後臺執行
用"&
"符號結尾表示,讓程式在後臺執行。
這樣的話,命令視窗就不會被鎖定,而可以傳送其他指令,但是當視窗關閉時,後臺執行的程式依然會被停止。
nohup
nohup
命令執行由 Command引數和任何相關的 Arg引數指定的命令,忽略所有結束通話訊號。要執行後臺中的 nohup
命令,新增 &
( 表示“and”的符號)到命令的尾部。
簡單地說就是,nohup
命令可以阻止視窗關閉是的結束通話訊號,使程式繼續執行。這樣,命令就修改為了
nohup java -jar xxx.jar &
- 設定輸出檔案
在這個命令下已經可以實現需要的功能了。最後的 >logs.txt
表示輸出檔案。可以隨意寫隨意指定路徑。如果不寫情況下(預設),就回預設在jar包所在目錄,建立nohup.out
檔案。
如果專案中已經指定了日誌輸出,就會重複輸出,生成兩個檔案,把 >logs.txt
nohup java -jar xxx.jar >logs.txt &
命令執行成功後,會返回一個程序號,可以通過 kill -9
命令殺死這個程序來直接關閉。
如果忘了程序號,可以通過
ps -ef|grep xxx.jar
來檢視當前執行的jar包程式程序號
查詢當前活動的程序
ps -aux|grep java
檢視linux系統記憶體大小的詳細資訊,可以檢視總記憶體,剩餘記憶體、可使用記憶體等資訊
cat /proc/meminfo