【Linux】linux下使用命令修改jar包内某一个文件中的内容并重新运行jar程序

简介: 【Linux】linux下使用命令修改jar包内某一个文件中的内容并重新运行jar程序

一、背景描述

需求:发现线上的 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同时执行

这条命令的意思是显示所有java的进程。

2、杀掉此进程,kill[参数][进程号]

kill -9 4394

kill就是给某个进程id发送了一个信号。默认发送的信号是SIGTERM,而kill

-9发送的信号是SIGKILL,即exit。exit信号不会被系统阻塞,所以kill -9能顺利杀掉进程。当然你也可以使用kill发送其他信号给进程。

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 程序自启动脚本文件

本文完结!


相关文章
|
2月前
|
存储 数据管理 Linux
区分Linux中.tar文件与.tar.gz文件的不同。
总之,".tar"文件提供了一种方便的文件整理方式,其归档但不压缩的特点适用于快速打包和解压,而".tar.gz"文件通过额外的压缩步骤,尽管处理时间更长,但可以减小文件尺寸,更适合于需要节约存储空间或进行文件传输的场景。用户在选择时应根据具体需求,考虑两种格式各自的优劣。
304 13
|
3月前
|
安全 Linux
Linux赋予文件000权限的恢复技巧
以上这些步骤就像是打开一扇锁住的门,步骤看似简单,但是背后却有着严格的逻辑和规则。切记,在任何时候,变更文件权限都要考虑安全性,不要无谓地放宽权限,那样可能
113 16
|
3月前
|
存储 Linux 数据处理
深入剖析Linux中一切即文件的哲学和重定向的机制
在计算机的奇妙世界中,Linux的这套哲学和机制减少了不同类型资源的处理方式,简化了抽象的概念,并蕴藏着强大的灵活性。就像变戏法一样,轻轻松松地在文件、程序与设备之间转换数据流,标准输入、输出、错误流就在指尖舞动,程序的交互和数据处理因此变得既高效又富有乐趣。
52 4
|
4月前
|
Ubuntu Linux
"unzip"命令解析:Linux下如何处理压缩文件。
总的来说,`unzip`命令是Linux系统下一款实用而方便的ZIP格式文件处理工具。本文通过简明扼要的方式,详细介绍了在各类Linux发行版上安装 `unzip`的方法,以及如何使用 `unzip`命令进行解压、查看和测试ZIP文件。希望本文章能为用户带来实际帮助,提高日常操作的效率。
536 12
|
3月前
|
Linux
linux文件重命名命令
本指南介绍Linux文件重命名方法,包括单文件操作的`mv`命令和批量处理的`rename`命令。`mv`可简单更改文件名并保留扩展名,如`mv old_file.txt new_name.txt`;`rename`支持正则表达式,适用于复杂批量操作,如`rename 's/2023/2024/' *.log`。提供实用技巧如大小写转换、数字序列处理等,并提醒覆盖风险与版本差异,建议使用`-n`参数预览效果。
|
2月前
|
监控 Linux 网络安全
Linux命令大全:从入门到精通
日常使用的linux命令整理
611 13
|
3月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
412 21
|
3月前
|
JSON 自然语言处理 Linux
linux命令—tree
tree是一款强大的Linux命令行工具,用于以树状结构递归展示目录和文件,直观呈现层级关系。支持多种功能,如过滤、排序、权限显示及格式化输出等。安装方法因系统而异常用场景包括:基础用法(显示当前或指定目录结构)、核心参数应用(如层级控制-L、隐藏文件显示-a、完整路径输出-f)以及进阶操作(如磁盘空间分析--du、结合grep过滤内容、生成JSON格式列表-J等)。此外,还可生成网站目录结构图并导出为HTML文件。注意事项:使用Tab键补全路径避免错误;超大目录建议限制遍历层数;脚本中推荐禁用统计信息以优化性能。更多详情可查阅手册mantree。
linux命令—tree
|
1月前
|
监控 Linux Shell
linux命令
常用 Linux 命令汇总

热门文章

最新文章