首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
数据库
›
SQL-Server
›
spring boot项目Linux情况jar包启动shell脚本
返回列表
发新帖
spring boot项目Linux情况jar包启动shell脚本
[复制链接]
发表于 2025-3-7 01:38:42
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
使用场景
在linux情况,启动小型spring boot项目时,我们总必要一些操纵步骤才能将程序启动:
查找已启动的线程id
杀掉线程id
使用下令启动项目
我们可以讲上述下令集成的shell脚本文件中,运行shell脚本文件,快速实行上述步骤,启动程序。
shell脚本文件示例
#!/bin/bash
# 定义应用路径和
日志
路径
APP_JAR="/app/jar/xxx.jar"
LOG_FILE="/app/logs/log.out"
# 查找与指定JAR包关联的Java进程PID
PID=$(ps -ef | grep java | grep "$APP_JAR" | grep -v grep | awk '{print $2}')
# 终止现有进程
if [ -n "$PID" ]; then
echo "正在终止进程 $PID..."
kill -9 $PID
sleep 2 # 等待进程完全终止[[2]]
fi
# 确保
日志
目录存在
mkdir -p "$(dirname "$LOG_FILE")"
# 启动应用并指定JVM参数
echo "正在启动 $APP_JAR..."
nohup java -jar -Xms2048m -Xmx4096m "$APP_JAR" > "$LOG_FILE" 2>&1 &
echo "应用启动成功,
日志
输出至:$LOG_FILE"
复制
代码
将上述文件保存为start.sh文件,放到Linux
服务器
上,更新完成jar包后,直接使用下令./start.sh实行shell脚本,即可完成项目的启动
可能遇见的问题
1. 无权限
-bash: ./start.sh: Permission denied
复制
代码
遇见上述问题的原因是因为用户没有操纵start.sh文件的权限
使用chomd下令为文件添加权限
chmod u+x start.sh
# chmod用法
chmod [who] [opt] [mode] 文件/目录名
who代表对象,是以下字母中的一个或组合:
u:User,文件或文件夹的拥有者。
g:Group,文件或文件夹的所属群组。
o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。
a:All,即全部的用户,包含拥有者,所属群组以及其他用户。
opt则是代表操作,可以为:
+:添加某个权限
-:取消某个权限
=:赋予给定的权限,并取消原有的权限
mode则代表权限:
r:可读
w:可写
x:可执行
复制
代码
2. Shell脚本的行尾格式不兼容
-bash: ./start.sh: /bin/bash^M: bad int
erp
reter: No such file or directory
复制代码
出现上述问题原因紧张是因为Shell脚本的行尾格式不兼容
通过 Vim 修改文件格式
打开脚本
vim start.sh
复制代码
检察当前格式
:set ff
复制代码
若显示 fileformat=dos,则需转换。
修改为Unix格式并保存
:set ff
=unix :wq
复制代码
.
回复
使用道具
举报
返回列表
浏览过的版块
Oracle
网络安全
前端开发
SAAS
分布式数据库
Java
物联网
伤心客
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表