springboot jar 服务 linux启动脚本

sopSh.sh
#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改
APP_NAME=sop.jar

APP_DIR=/usr/softService/sop/backend
#APP_DIR=`pwd`
 
#使用说明,用来提示输入参数
usage() {
 echo "Usage: sh sms.sh [start|stop|restart|status]"
 exit 1
}
 
#检查程序是否在运行
is_exist(){
 pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `

 echo "ps number is: ${pid}"
 #如果不存在返回1,存在返回0 
 if [ -z "${pid}" ]; then
 return 1
 else
 return 0
 fi
}
 
#启动方法
start(){
 is_exist
 if [ $? -eq "0" ]; then
 echo "${APP_NAME} is already running. pid=${pid} ."
 else
 nohup java -jar $APP_DIR/$APP_NAME > $APP_DIR/log.out 2>&1 &
 #nohup java -jar $APP_DIR/$APP_NAME
 echo "${APP_NAME} start success"
 fi
}
 
#停止方法
stop(){
 is_exist
 if [ $? -eq "0" ]; then
 kill -9 $pid
 else
 echo "${APP_NAME} is not running"
 fi 
}
 
#输出运行状态
status(){
 is_exist
 if [ $? -eq "0" ]; then
 echo "${APP_NAME} is running. Pid is ${pid}"
 else
 echo "${APP_NAME} is NOT running."
 fi
}
 
#重启
restart(){
 stop
 start
}
 
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
 "start")
 start
 ;;
 "stop")
 stop
 ;;
 "status")
 status
 ;;
 "restart")
 restart
 ;;
 *)
 usage
 ;;
esac

### Spring Boot JAR 文件在 Linux 中的启动命令 在 Linux 系统中,可以通过多种方式来启动Spring Boot生成的 JAR 文件。以下是几种常见的方法及其对应的命令: #### 方法一:通过 `java -jar` 命令直接运行 最简单的方式是使用 Java 的 `-jar` 参数直接运行 JAR 文件。这种方式适合于临时测试或开发环境。 ```bash java -jar your-springboot-app.jar ``` 此命令会以前台模式运行应用程序,直到手动终止进程为止[^2]。 #### 方法二:以后台模式运行(推荐生产环境) 为了使应用程序以后台服务的形式运行,可以结合 `nohup` 或者 `&` 符号一起使用。这样即使关闭终端窗口,程序仍然继续运行。 ```bash nohup java -jar your-springboot-app.jar > app.log 2>&1 & ``` 上述命令的作用如下: - `nohup`: 让程序忽略挂起信号 (SIGHUP),从而可以在后台持续运行。 - `> app.log`: 将标准输出重定向到名为 `app.log` 的文件中。 - `2>&1`: 将错误输出也追加到同一日志文件中。 - `&`: 表示将该任务放入后台执行[^4]。 #### 方法三:作为系统服务启动 对于更复杂的场景或者需要长期稳定运行的应用来说,建议将其注册为系统的 systemd 服务。这不仅可以让应用随操作系统自动启动,还能方便管理其生命周期。 创建一个新的 service 配置文件 `/etc/systemd/system/spring-boot-app.service` 并写入以下内容: ```ini [Unit] Description=Spring Boot Application Service After=syslog.target [Service] User=root ExecStart=/usr/bin/java -jar /path/to/your-springboot-app.jar SuccessExitStatus=143 Restart=on-failure [Install] WantedBy=multi-user.target ``` 完成编辑之后,启用并启动这个新定义的服务单元: ```bash sudo systemctl enable spring-boot-app.service sudo systemctl start spring-boot-app.service ``` 以上步骤能够确保每次重启机器后都会重新加载指定的 Spring Boot 应用实例[^1]。 #### 方法四:赋予脚本执行权限并通过 Shell 脚本调用 当存在专门用于初始化项目的 shell 脚本时,则需先确认它具有足够的访问权利再尝试执行之。比如下面的例子展示了如何修改权限以及实际触发过程: ```bash chmod +x startup.sh ./startup.sh ``` 这里假设 `startup.sh` 是一个含了正确启动逻辑的批处理指令集合[^5]。 --- ### 总结 综上所述,在不同的需求背景下可以选择不同形式的操作流程去激活基于 Spring Boot 构建出来的 jar 体;无论是简单的即时调试还是构建完整的运维体系结构都有相应的解决方案可供采纳。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值