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 &
相关推荐
灯澜忆梦11 小时前
【Linux】#7 | vi/vim 编辑器
linux·编辑器·vim
Escalating_xu11 小时前
【Linux 网络编程】UDP Socket 编程(上):从地址与字节序到完整回显服务器
linux·服务器·网络
重生之小比特11 小时前
【Linux系统】08 进程切换
linux·运维·服务器
kyle~11 小时前
Linux --- 内存管理内核子系统
linux·运维·服务器
昌原的儿子LEO11 小时前
嵌入式 Linux I2C 驱动开发核心知识总结:设备树与 platform 架构全解析
linux·驱动开发·架构
程序员-Benothing11 小时前
Linux内存管理详解:free、vmstat、buff/cache、swap
linux·运维·服务器
顽疲11 小时前
Java vue 养老系统源码详解:入住核算单 live-check 缴费入账与预交金收据实践
java·vue.js·python·java 养老·springboot 养老·vue养老
_不会dp不改名_11 小时前
leetcode_3727 最大平方交替和
linux·算法·leetcode
Lsetea11 小时前
OpenSSL报certificate revoked:error 23与CRL吊销层级排查
linux·https·ssl证书·openssl·crl
共饮一杯无11 小时前
LiveKit本地录制落盘路径排查与修复实践
java·go·livekit