一、背景描述
需求:發(fā)現線上的 iotp-irsb-server-v1.0.0.2.jar 包中配置文件的日志級別配置錯誤,需要在線修改jar包中文件的application-prod.yml的日志級別配置,修改完成后并重啟該jar包。
二、vi命令編輯
進入到該jar包所在的目錄,使用 vi 命令打開 jar 包內文件列表。
1、vi iotp-irsb-server-V1.0.0.2.jar
vi iotp-irsb-server-V1.0.0.2.jar
如下圖所示:
2、在vi后彈出的文件列表界面根據光標選中文件并回車。
- vi后,輸入/ 然后再輸入要過濾的內容進行過濾。
- 如輸入/yml 進行yml的快速定位,點擊回車,然后即可根據光標選擇文件,定位到相應的文件后,再次回車,進入文件內容修改界面。
/yml
如下圖所示:
3、內容修改并保存
- 進入到文件編輯頁面后,此時只是只讀文件,輸入 i 字母后,只讀文件就會變成可編輯文件,然后進行內容編輯即可。
- 修改完內容后,按下 esc 鍵退出編輯,輸入 :wq 進行內容保存,退回到文件選擇列表界面。
4、最后再輸入冒號及q!完成退出,至此jar包中文件內容已完成修改。
三、啟動程序
此時程序還正在運行,正常情況下需要先殺掉進程,然后再使用命令啟動即可。
Tips:像這種啟動jar命令一般都會有啟動腳本,此時修改完內容之后,可能只需要啟動腳本即可重啟成功。
步驟如下:
1、查找該程序的進程,ps -ef |grep java
ps -ef |grep java
ps:將某個進程顯示出來
-A:顯示所有程序。
-e:此參數的效果和指定"A"參數相同。
-f:顯示UID,PPIP,C與STIME欄位。 grep命令是查找,中間的|是管道命令 是指ps命令與grep同時執(zhí)行
這條命令的意思是顯示所有java的進程。
2、殺掉此進程,kill[參數][進程號]
kill -9 4394
kill就是給某個進程id發(fā)送了一個信號。默認發(fā)送的信號是SIGTERM,而kill
-9發(fā)送的信號是SIGKILL,即exit。exit信號不會被系統(tǒng)阻塞,所以kill -9能順利殺掉進程。當然你也可以使用kill發(fā)送其他信號給進程。
3、啟動該jar程序,nohup java -jar jar包名
nohup java -jar iotp-irsb-server-V1.0.0.2.jar
補充:
(1) CTRL+Z掛起進程并放入后臺
(2) jobs 顯示當前暫停的進程
(3) bg %N 使第N個任務在后臺運行(%前有空格)
(4) fg %N 使第N個任務在前臺運行
四、拓展–啟動腳本
修改一下命令然后當作啟動腳本即可。比如此腳本名字叫做: autostart.sh ,里面內容是以下命令:
#!/bin/sh
ps -ef | grep iotp-irsb-server | grep -v grep | awk '{print $2}' |xargs kill -9
cd /home/admin/web/iotp_irsb/app && (nohup java -jar -Dspring.profiles.active=prod iotp-irsb-server-V1.0.0.2.jar -Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m &) && tail -f nohup.out;
啟動腳本鏈接地址:java 程序自啟動腳本文件文章來源:http://www.zghlxwxcb.cn/news/detail-481825.html
本文完結!文章來源地址http://www.zghlxwxcb.cn/news/detail-481825.html
到了這里,關于【Linux】linux下使用命令修改jar包內某一個文件中的內容并重新運行jar程序的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!