linux下jar启动、停止、重启脚本
#!/bin/bash
# 设置 Java 运行环境路径
JAVA_HOME="$JAVA_HOME"
# 设置应用程序 JAR 文件路径 绝对路径
APP_JAR="$(pwd)/xxx.jar"
# 设置 JVM 参数
JAVA_OPTS="$JAVA_OPTS -Xms2048m -Xmx2048m -Dfile.encoding=UTF-8"
JAVA_OPTS="$JAVA_OPTS --add-opens java.base/java.io=ALL-UNNAMED
--add-opens java.base/java.math=ALL-UNNAMED \
--add-opens java.base/java.net=ALL-UNNAMED \
--add-opens java.base/java.nio=ALL-UNNAMED \
--add-opens java.base/java.security=ALL-UNNAMED \
--add-opens java.base/java.text=ALL-UNNAMED \
--add-opens java.base/java.time=ALL-UNNAMED \
--add-opens java.base/java.util=ALL-UNNAMED \
--add-opens java.base/jdk.internal.access=ALL-UNNAMED \
--add-opens java.base/jdk.internal.misc=ALL-UNNAMED \
--add-opens java.base/java.util=ALL-UNNAMED \
--add-opens java.base/java.lang=ALL-UNNAMED \
--add-opens java.base/jdk.internal.perf=ALL-UNNAMED \
--add-exports java.base/jdk.internal.perf=ALL-UNNAMED \
--add-opens java.management/sun.management.counter.perf=ALL-UNNAMED \
--add-opens java.management/sun.management.counter=ALL-UNNAMED "
## 设置启动环境
JAVA_OPTS="$JAVA_OPTS -Dspring.profiles.active=dev"
# 定义函数:启动应用程序
start() {
echo "Starting the application..."
#有nohub日志
nohup $JAVA_HOME/bin/java $JAVA_OPTS -jar $APP_JAR >> nohup.out 2>&1 &
#指null nohub日志
#nohup $JAVA_HOME/bin/java $JAVA_OPTS -jar $APP_JAR >/dev/null 2>&1
pid=$!
# 将进程 ID 写入到文件中
echo "$pid" > app.pid
echo "Application started."
}
# 定义函数:重启应用程序
restart() {
echo "Restarting the application..."
stop
start
}
# 定义函数:关闭应用程序
stop() {
echo "Stopping the application..."
# 检查是否存在 PID 文件
if [ ! -f "app.pid" ]; then
echo "Error: PID file 'app.pid' not found."
exit 1
fi
# 从 PID 文件中读取进程 ID (PID)
pid=$(cat app.pid)
# 检查进程是否存在
if [ -n "$pid" ] && ps -p $pid > /dev/null; then
# 终止应用程序的运行
kill $pid
echo "Application stopped."
else
echo "Application is not running."
fi
}
# 根据命令参数执行相应操作
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit 0

将以上代码保存为run.sh文件
然后给run.sh添加执行权限
使用时./run.sh,输入命令执行
扫码领红包
微信赞赏
支付宝扫码领红包
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。侵权投诉:375170667@qq.com







