上代碼
將運行日志輸入到 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