linux后台运行java项目/ jar包:nohup 命令

1.提出问题

我们把一个 SpringBoot 工程导出为 jar 包,jar 包上传到阿里云 ECS 服务器上,使用 java -jar xxx-xxx.jar 命令启动这个 SpringBoot 程序。此时我们本地的 xshell 客户端必须一直开着,一旦 xshell 客户端关闭,java -jar xxx-xxx.jar 进程就会被结束,SpringBoot 程序就访问不了了。

所以我们希望启动 SpringBoot 的 jar 包之后,对应的进程可以一直运行,不会因为 xshell 客户端关闭而被结束。

2.解决方案

2.1 前台、后台运行

默认情况下 Linux 命令都是前台运行的,前台运行的特点是前面命令不执行完,命令行就一直被前面的命令占用,不能再输入、执行新的命令。

但是以后台方式运行并不能解决前面提出的问题:我们的 shell 客户端(例如:xshell)和服务器断开连接后,SpringBoot 进程会随之结束,这显然不满足我们部署运行项目的初衷。

2.2 不挂断运行

所谓"不挂断"就是指客户端断开连接后,命令启动的进程仍然运行。nohup 命令就是"no hang up"的缩写。使用nohup 命令启动 SpringBoot 微服务工程的完整写法是:

shell 复制代码
nohup java -jar spring-boot-demo.jar>springboot.log 2>&1 &
相关推荐
wniuniu_12 小时前
object->osd
android·java·数据库
猫头虎12 小时前
IntelliJ IDEA 2025.3 最新变化:值得更新吗?
java·开发语言·ide·人工智能·intellij-idea·idea·gitcode
猫豆~12 小时前
ceph分布式存储——1day
java·linux·数据库·sql·云计算
爱吃烤鸡翅的酸菜鱼12 小时前
Spring Boot 注解全栈指南:涵盖 Bean 注册、配置加载、请求映射、事务控制、数据校验等一网打尽
java·开发语言·spring boot·后端·spring
running up12 小时前
Spring IOC与DI核心注解速查表
java·后端·spring
YDS82912 小时前
SpringCloud —— Sentinel详解
java·spring cloud·sentinel
洛阳泰山12 小时前
快速上手 MaxKB4J:开源企业级 Agentic 工作流系统在 Sealos 上的完整部署指南
java·人工智能·后端
guslegend12 小时前
SpringSecurity授权原理与实战
java
原来是好奇心12 小时前
深入Spring Boot源码(七):测试框架原理与最佳实践
java·源码·springboot
embrace9912 小时前
【C语言学习】预处理详解
java·c语言·开发语言·数据结构·c++·学习·算法