让Jar程序在云服务器上持续后台运行,不受终端界面关闭的影响,可通过以下两种方法实现:
方法1:使用 nohup 命令(简单快捷)
        
            
            
              bash
              
              
            
          
          # 进入Jar包所在目录(如/jar)
cd /jar
# 后台启动Jar程序,日志输出到ruoyi.log,关闭终端不影响运行
nohup java -jar ruoyi-admin.jar --spring.profiles.active=prod > ruoyi.log 2>&1 &- 说明:nohup表示"忽略挂断信号",&表示后台运行,日志会写入ruoyi.log文件,可通过tail -f ruoyi.log实时查看日志。
方法2:配置 systemd 服务(推荐,支持开机自启)
步骤1:创建systemd服务文件
            
            
              bash
              
              
            
          
          sudo vim /etc/systemd/system/ruoyi.service填入以下内容:
            
            
              ini
              
              
            
          
          [Unit]
Description=RuoYi Admin Service
After=network.target
[Service]
User=root
Type=simple
ExecStart=/usr/bin/java -jar /jar/ruoyi-admin.jar --spring.profiles.active=prod
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target步骤2:启动并启用服务
            
            
              bash
              
              
            
          
          # 重新加载systemd配置
sudo systemctl daemon-reload
# 启动服务
sudo systemctl start ruoyi
# 设置开机自启
sudo systemctl enable ruoyi步骤3:查看服务状态
            
            
              bash
              
              
            
          
          sudo systemctl status ruoyi- 若输出 active (running),说明服务已成功后台运行,且重启服务器后会自动启动。
两种方法的区别
| 特性 | nohup命令 | systemd服务 | 
|---|---|---|
| 后台运行 | 支持 | 支持 | 
| 开机自启 | 不支持 | 支持 | 
| 服务管理 | 需手动杀进程( ps + kill) | 可通过 systemctl管理(启动、停止、重启) | 
| 故障自动重启 | 不支持 | 支持(配置 Restart=on-failure) | 
推荐使用 ** systemd 服务 **,它更符合云服务器的生产环境管理规范,既能保证程序持续运行,又能在异常时自动重启,还支持开机自启。