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

本文完结!


目录
打赏
0
0
0
0
17
分享
相关文章
Linux|Transfer.sh 轻松实现文件共享
Linux|Transfer.sh 轻松实现文件共享
24 2
Linux|Transfer.sh 轻松实现文件共享
【Linux】进程IO|系统调用|open|write|文件描述符fd|封装|理解一切皆文件
本文详细介绍了Linux中的进程IO与系统调用,包括 `open`、`write`、`read`和 `close`函数及其用法,解释了文件描述符(fd)的概念,并深入探讨了Linux中的“一切皆文件”思想。这种设计极大地简化了系统编程,使得处理不同类型的IO设备变得更加一致和简单。通过本文的学习,您应该能够更好地理解和应用Linux中的进程IO操作,提高系统编程的效率和能力。
75 34
linux怎么把文件传到docker里面
在现代应用开发中,Docker作为流行的虚拟化工具,广泛应用于微服务架构。文件传输到Docker容器是常见需求。常用方法包括:1) `docker cp`命令直接复制文件;2) 使用`-v`选项挂载宿主机目录,实现数据持久化和实时同步;3) 通过SCP/FTP协议传输文件;4) 在Dockerfile中构建镜像时添加文件。选择合适的方法并确保网络安全是关键。
83 1
|
21天前
|
Linux文件与目录的日常
目录的切换 一般使用(”pwd“)显示当前所在的目录 比如:当前目录是在home下面的,与用户名相同的文件夹,可以使用(”cd“)命令来切换目录; 进入下载目录(”cd home/a/下载“)这种从给目录开头的一长串路经”叫做绝对路径“; 进入图片目录(”cd .. /图片/“)".."代表当前路径的上级路径,相对于当前的目录而言的”叫做相对路径“,(”.“)代表当前路径; 如果,想快速切换,上一个所在目录可以(”cd - / cd..“); 如果,想快速切换,追原始的目录可以(”cd --“); 查看目录及文件
38 14
|
17天前
|
Linux 将所有文件和目录名重命名为小写
Linux 将所有文件和目录名重命名为小写
24 3
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
103 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
3月前
|
golang编译成Linux可运行文件
本文介绍了如何在 Linux 上编译和运行 Golang 程序,涵盖了本地编译和交叉编译的步骤。通过这些步骤,您可以轻松地将 Golang 程序编译成适合 Linux 平台的可执行文件,并在目标服务器上运行。掌握这些技巧,可以提高开发和部署 Golang 应用的效率。
364 14
|
3月前
|
linux积累-core文件是干啥的
核心文件是Linux系统在程序崩溃时生成的重要调试文件,通过分析核心文件,开发者可以找到程序崩溃的原因并进行调试和修复。本文详细介绍了核心文件的生成、配置、查看和分析方法
212 6
|
3月前
|
linux之core文件如何查看和调试
通过设置和生成 core 文件,可以在程序崩溃时获取详细的调试信息。结合 GDB 等调试工具,可以深入分析 core 文件,找到程序崩溃的具体原因,并进行相应的修复。掌握这些调试技巧,对于提高程序的稳定性和可靠性具有重要意义。
640 6
在Linux中,有一个文件,如何删除包含“www“字样的字符?
在Linux中,如果你想删除一个文件中包含特定字样(如“www”)的所有字符或行,你可以使用多种文本处理工具来实现。以下是一些常见的方法:
65 5