当前位置: 首页 > news >正文

spring项目启动sheel脚本

1,后台启动java项目脚本:start.sh

nohup java -jar demo.jar --spring.profiles.active=prod --server.port=$1 --node_mark=app$1 >/dev/null 2>&1 & 

        启动命令: sh start.sh 8080

2,进阶版本 run.sh,jar包放在子目录./jar下

#!/bin/sh# 定义常量
JAR_NAME="demo.jar"
JAR_PATH=./jar/$JAR_NAME# 查找进程ID的函数
find_pid() {ps -ef | grep "$JAR_NAME" | grep "$1" | grep -v grep | awk '{print$2}'
}# 使用说明,用来提示输入参数
usage() {echo "Usage: sh run.sh [start|stop|restart] port (version)"exit 1
}# 启动方法
start() {if [ -z "$2" ]; thenecho "Error: Version number is required."return 1fi# 查找进程IDPID=$(find_pid "$1")if [ -n "$PID" ]; thenecho "Service is already running on port $1,nothing to do."elsenohup java -jar $JAR_PATH.$2 --spring.profiles.active=prod --server.port=$1 --node_mark=app$1 >/dev/null 2>&1 &echo "Service:$! started on port $1"fi
}# 停止方法
stop() {# 查找进程IDPID=$(find_pid "$1")if [ -z "$PID" ]; thenecho "No service running on port $1"elsekill -15 $PIDecho "Service stopping on port $1..."# 等待进程退出while kill -0 $PID 2>/dev/null; doecho "Waiting for process to terminate..."sleep 1doneecho "Service stopped on port $1"fi
}# 重启方法
restart() {# 先停止stop $1# 再启动start $1 $2
}# 根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in"start")start $2 $3;;"stop")stop $2;;"restart")restart $2 $3;;*)usage;;
esac

        启动命令:sh run.sh 8080

        停止命令:sh run.sh stop

        重启命令:sh run.sh restart 8080

http://www.lqws.cn/news/520777.html

相关文章:

  • 惯性导航——陀螺仪
  • 解决git pull,push 每次操作输入账号密码问题
  • 基于STM32的个人健康助手的设计
  • 鸿蒙应用开发中的数据存储:SQLite与Preferences全面解析
  • 基于 opencv+yolov8+easyocr的车牌追踪识别
  • Kotlin 协程:全面解析与深度探索
  • 工业“三体”联盟:ethernet ip主转profinet网关重塑设备新规则
  • python哈尔滨中心医院用户移动端
  • Docker安装教程-linux
  • LinkAOS网上开户系统解析与开发实践
  • 初学python的我开始Leetcode题10-3
  • 2025学年湖北省职业院校技能大赛 “信息安全管理与评估”赛项 样题卷(二)
  • 掌握CIS基准合规性:通过自动化简化网络安全
  • 【Lua 基础学习】
  • P2840 纸币问题 2(动态规划)
  • 7.Spring框架
  • “Ubuntu 18.04.6 LTS“ 配置网卡静态IP
  • BGP边界网关协议
  • 【视频芯片选型】
  • Bugku-CTF-web(适合初学者)
  • 50. Pow(x, n)快速幂算法
  • 使用 WSL 启动ubuntu.tar文件
  • ubuntu中53端口被占用导致dnsmasq无法使用。已解决。
  • 51c嵌入式~PCB~合集1
  • 《从0到1:C/C++音视频开发自学完全指南》
  • vue3用js+css实现轮播图(可调整堆叠程度)
  • UI前端大数据处理技巧:如何高效处理海量异构数据?
  • DDNS-GO 使用教程:快速搭建属于自己的动态域名解析服务(Windows 版)
  • 如何在 Manjaro Linux 的图像界面上安装 Stremio 而不是使用命令行
  • 3 大语言模型预训练数据-3.2 数据处理-3.2.3 隐私消除——使用正则表示方法过滤个人隐私信息数据(包括邮件、电话、地址等)