Linux 下通過 java 命令啟動 jar 包常見方式小結(jié)
Linux 下通過 java 命令啟動 jar 包的幾種常見方式
一、后臺啟動jar包命令
方法一:直接啟動 jar 包服務(wù)
# 當前ssh窗口不被鎖定,直接關(guān)閉或可按CTRL + C打斷程序運行,程序也會退出。 java -jar app.jar
方法二:后臺啟動 jar 包服務(wù)
# 當前ssh窗口不被鎖定,但是當窗口關(guān)閉時,程序中止運行。&代表在后臺運行。 java -jar app.jar &
方法三:后臺不掛斷啟動
# 用 nohub 命令啟動 jar 包,是在后臺不掛斷運行,關(guān)閉終端窗口或者 CTRL + C 命令也不會終止程序。 # 當用 nohub命令啟動 jar 包的時候,如果不指定日志輸出文件,則所有的輸出都會被重定向到 nohub.out 的文件中。 nohup java -jar app.jar &
方式四:指定日志輸出的啟動
# 通過 >log.out 命令,將程序的日志輸出重定向到 log.out 文件中。如果不指定日志輸出文件,則會輸出到 nohub 命令默認的輸出文件,nohub.out 文件中 nohup java -jar app.jar >log.out &
方式五:指定配置文件啟動
# 通過 -Dspring profiles.active=pro 來指定配置文件,啟動的的是application-prod.yml 或者 application-prod.properties nohup java -jar app.jar -Dspring.profiles.active=prod >log.out &
方式六:指定配置文件,使用系統(tǒng)默認的log配置,不另行指定日志輸入
# 啟動/opt/app/目錄下的 app.jar ,配置文件使用 prod,日志使用配置文件默認配置,不單獨指定。 nohup java -jar /opt/app/app.jar -Dspring.profiles.active=prod >/dev/null 2>&1 &
常見的文件描述符有如下:
0 :stdin(標準輸入)
1 :stdout(標準輸出)
2 :stderr(標準錯誤)
> 代表重定向操作。將標準錯誤重定向到/dev/null ,即不輸出錯誤信息。 >/dev/null 2>&1 & : 等同于 1>/dev/null 2>&1 &, 即把標準輸出重定向到/dev/null,并且把標準錯誤2重定向標準輸出1,即標準輸出和標準錯誤都輸出到 /dev/null。
方式七:指定分配系統(tǒng)資源大小
# 指定分配系統(tǒng)資源大小 nohup java -Xms1024m -Xmx1024m -jar app.jar -Dspring.profiles.active=prod >log.out &
方式八:解決中文編碼 造成啟動異常
# 解決中文編碼 造成啟動異常 nohup java -Xms500m -Xmx500m -jar app.jar -Dfile.encoding=utf-8 >log.out &
方式九:啟動時指定Nacos服務(wù)配置空間
# 啟動時指定Nacos服務(wù)配置空間 nohup java -jar -Dspring.cloud.nacos.config.server-addr=http://nacos-web.hrfax.example -Dspring.cloud.nacos.config.namespace=04995955-38a0-4279-9b2f-2857e844e156 -Dfile.encoding=utf-8 app.jar
二、查看jar包是否運行
# ps aux 查看 ps aux | grep app.jar
a 顯示所有用戶的進程(show processes for all users)
u 顯示用戶(display the process’s user/owner)
x 顯示無控制終端的進程(also show processes not attached to a terminal)
# ps -ef 查看 ps -ef |grep app.jar
ps -ef 是以System V方式顯示,該種方式比BSD方式顯示的多
e 顯示所有用戶的進程(all processes)此參數(shù)的效果和指定"a"參數(shù)相同
f 用ASCII字符顯示樹狀結(jié)構(gòu),表達程序間的相互關(guān)系(ASCII art forest)
三、殺死Java進程
# kill -9 PID 是操作系統(tǒng)從內(nèi)核級別強制殺死一個進程 kill -9 (進程id)
# kill -15 PID 可以理解為操作系統(tǒng)發(fā)送一個通知告訴應(yīng)用主動關(guān)閉 kill -15 (進程id)
當使用kill -15時,系統(tǒng)會發(fā)送一個SIGTERM的信號給對應(yīng)的程序。當程序接收到該信號后,具體要如何處理是自己可以決定的。這時候,應(yīng)用程序可以選擇:
1、立即停止程序
2、釋放響應(yīng)資源后停止程序
3、忽略該信號,繼續(xù)執(zhí)行程序
到此這篇關(guān)于Linux 下通過 java 命令啟動 jar 包的幾種常見方式的文章就介紹到這了,更多相關(guān)java 命令啟動 jar 包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java BufferedImage轉(zhuǎn)換為MultipartFile方式
這篇文章主要介紹了Java BufferedImage轉(zhuǎn)換為MultipartFile方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09