linux下后台启动关闭springboot项目

本文介绍在服务器上后台启动SpringBoot项目的两种方法:使用nohup命令和shell脚本。nohup命令能忽略挂断信号,使进程在后台持续运行。shell脚本则提供启动、停止和重启应用的一体化解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我们在使用java -jar来运行的时候,并非后台运行。

下面我们来说说服务器上如何后台启动springboot项目。实际上,实现的方法有很多种

这里就列两种还比较好用的方式:

nohup

该方法主要通过使用nohup命令来实现,该命令的详细介绍如下:

nohup 命令

用途:不挂断地运行命令。

语法:nohup Command [ Arg … ][ & ]

描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 &到命令的尾部。

示例:

1

nohup java -jar xxx.jar &

这样执行后,nohup会把执行结果中的日志输出到当前文件夹下面的nohup.out文件中,通常情况下我们使用以上命令即可。 
我们也可以手动指定一个参数来规定日志文件的输出地点,如:

1

nohup java -jar xxx.jar > catalina.out  2>&1 &

如果不需要输出日志,可以使用如下命令

1

nohup java -jar xxx.jar >/dev/null &

所以,我们只需要使用nohup java -jar yourapp.jar &命令,就能让yourapp.jar在后台运行了

 

SHELL脚本

关闭脚本stop.sh

#!/bin/bash
PID=$(ps -ef | grep yourapp.jar | grep -v grep | awk '{ print $2 }')
if [ -z "$PID" ]
then
    echo Application is already stopped
else
    echo kill $PID
    kill $PID
fi

启动脚本start.sh

#!/bin/bash
nohup java -jar yourapp.jar --server.port=8888 &

整合了关闭和启动的脚本:run.sh

由于会先执行关闭应用,然后再启动应用,这样不会引起端口冲突等问题,适合在持续集成系统中进行反复调用。

#!/bin/bash
echo stop application
source stop.sh
echo start application
source start.sh

 

 

 

 

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 项目启动关闭脚本。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值