功能:Linux运行jar包Shell脚本
一、删除jar进程#
# 删除指定jar的进程 ps -ef | grep java | grep testJar.1.0.1 | grep -v grep | cut -c 9-15 | xargs kill -9
- ps 查找进程
- grep 查找有关键字的进程
- grep -v 移除关键字的进程
- cut -c 9-15 截取9-15的字符,当前正好是进程的pid
- xargs kill -9 将前面的结果当做
kill -9
的参数
二、删除jar进程#
port=8026 pid=$(netstat -nlp | grep :$port | awk '{print $7}' | awk -F"/" '{ print $1 }'); if [ -n "$pid" ]; then kill -9 $pid; fi
三、完整的封装#
#!/bin/bash #jar包文件路径及名称(目录按照各自配置) APP_NAME=/home/web/test-1.0.0.jar #日志文件路径及名称(目录按照各自配置) LOG_FILE=/home/web/nohup.out #查询进程,并杀掉当前jar/java程序 pid=`ps -ef|grep $APP_NAME | grep -v grep | awk '{print $2}'` kill -9 $pid echo "$pid进程终止成功" sleep 2 #判断jar包文件是否存在,如果存在启动jar包,并时时查看启动日志 if test -e $APP_NAME then echo '文件存在,开始启动此程序...' # 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件 nohup java -jar $APP_NAME --spring.profiles.active=prod > $LOG_FILE 2>&1 & #实时查看启动日志(此处正在想办法启动成功后退出) tail -f $LOG_FILE #输出启动成功(上面的查看日志没有退出,所以执行不了,可以去掉) echo '$APP_NAME 启动成功...' else echo '$APP_NAME 文件不存在,请检查。' fi
作者: 半月无霜
出处:https://www.cnblogs.com/banmoon/p/13644734.html
本站使用「CC BY 4.0」创作共享协议,转载请在文章明显位置注明作者及出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!