Linux服务器后台运行jar包
轉(zhuǎn)載自https://juejin.im/post/5b47411ee51d45190570ce6d
最終的運(yùn)行命令:
nohup?java?-jar?xxx.jar?>logs.txt?& 復(fù)制代碼下面再做詳細(xì)分解介紹。
1.首先最基本的運(yùn)行jar包命令是:
java?-jar?xxx.jar 復(fù)制代碼這個命令會鎖定命令窗口,只能看到當(dāng)前運(yùn)行的輸出信息。而無法發(fā)送其他指令。
2.讓jar包后臺運(yùn)行
用"&"符號結(jié)尾表示,讓程序在后臺運(yùn)行。
這樣的話,命令窗口就不會被鎖定,而可以發(fā)送其他指令,但是當(dāng)窗口關(guān)閉時,后臺運(yùn)行的程序依然會被停止。
nohup命令:nohup 命令運(yùn)行由?Command參數(shù)和任何相關(guān)的?Arg參數(shù)指定的命令,忽略所有掛斷信號。要運(yùn)行后臺中的 nohup 命令,添加 & ( 表示“and”的符號)到命令的尾部。
簡單地說就是,nohup命令可以阻止窗口關(guān)閉是的掛斷信號,使程序繼續(xù)運(yùn)行。這樣,命令就修改為了
nohup?java?-jar?xxx.jar?& 復(fù)制代碼3.設(shè)置輸出文件
在這個命令下已經(jīng)可以實(shí)現(xiàn)需要的功能了。最后的 >logs.txt?表示輸出文件??梢噪S意寫隨意指定路徑。如果不寫情況下(缺省),就回默認(rèn)在jar包所在目錄,創(chuàng)建nohup.out文件。
如果項(xiàng)目中已經(jīng)指定了日志輸出,就會重復(fù)輸出,生成兩個文件,把 >logs.txt 刪了的話,當(dāng)前的運(yùn)行程序不會再生成新的文件。
nohup?java?-jar?xxx.jar?>logs.txt?& 復(fù)制代碼命令運(yùn)行成功后,會返回一個進(jìn)程號,可以通過 kill -9 命令殺死這個進(jìn)程來直接關(guān)閉。
如果忘了進(jìn)程號,可以通過
ps -ef|grep xxx.jar 復(fù)制代碼來查看當(dāng)前運(yùn)行的jar包程序進(jìn)程號。
?
總結(jié)
以上是生活随笔為你收集整理的Linux服务器后台运行jar包的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spring Boot基本配置
- 下一篇: linux 用 grep 查找单个或多个