怎么让springboot项目在linux上持续运行,关闭连接后项目不关闭?

一般情况

一般我们启动springboot项目都是采用java -jar jar包名 的方式运行

如:java -jar ph-0.0.1-SNAPSHOT.jar ,这种方式运行的springboot项目在断开连接或者按了ctrl +c 之后就会结束运行。

目前需求:关闭连接后亦可以继续运行

用 nohup命令:
如:nohup java -jar ph-0.0.1-SNAPSHOT.jar >log.out 2>&1 &
解释:

  1. ph-0.0.1-SNAPSHOT.jar是项目的jar包,用cd命令切到jar包位置,再执行上述命令
  2. log.out是一个文件,和jar包在同一目录下,日志信息会保存在这里面。
Linux 上,可以使用 shell 脚本来编写 Spring Boot 项目的启动和关闭脚本。以下是编写启动和关闭脚本的步骤: 1. 编写启动脚本 在您的 Spring Boot 项目目录下,创建一个名为 `start.sh` 的 shell 脚本,并添加以下内容: ``` #!/bin/bash # 进入 Spring Boot 项目目录 cd /path/to/your/project # 启动 Spring Boot 项目 nohup java -jar your-project-name.jar > /dev/null 2>&1 & ``` 其中,`/path/to/your/project` 是您的 Spring Boot 项目所在的路径,`your-project-name.jar` 是您的 Spring Boot 项目的文件名。 这个脚本会进入 Spring Boot 项目目录并启动项目,`nohup` 命令可以让应用在后台运行,`> /dev/null 2>&1` 则可以将应用的输出重定向到空设备,避免输出干扰终端操作。 2. 编写关闭脚本 在您的 Spring Boot 项目目录下,创建一个名为 `stop.sh` 的 shell 脚本,并添加以下内容: ``` #!/bin/bash # 获取正在运行的 Spring Boot 项目的进程 ID pid=`ps -ef | grep your-project-name.jar | grep -v grep | awk '{print $2}'` # 如果进程 ID 不为空,则杀死进程 if [ -n "$pid" ]; then kill -9 $pid fi ``` 其中,`your-project-name.jar` 是您的 Spring Boot 项目的文件名。 这个脚本会获取正在运行的 Spring Boot 项目的进程 ID,并使用 `kill` 命令杀死进程。 3. 给脚本添加执行权限 给 `start.sh` 和 `stop.sh` 脚本添加执行权限: ``` chmod +x start.sh chmod +x stop.sh ``` 4. 启动和关闭应用 运行 `start.sh` 脚本来启动 Spring Boot 项目: ``` ./start.sh ``` 运行 `stop.sh` 脚本来关闭 Spring Boot 项目: ``` ./stop.sh ``` 至此,您已经成功编写了 Spring Boot 项目的启动和关闭脚本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值