在 Linux 中,直接通过 java -jar 启动服务后关闭 SSH 客户端(如 Xshell)会导致服务终止,因为进程默认与当前终端会话绑定。以下是几种解决方案,确保服务在后台持久运行:
(1)使用nohup命令,让进程忽略挂断信号,并在后台运行。
ps -ef | grep xxx.jar 或者 ps -ef | grep java 查看java或者jar包相关的进程是否在运行
lsof -i:8080 查看指定安全策略端口号进程
kill -9 进程id号 杀掉进程
nohup java -jar xxx.jar 重启服务
或者 nohup java -jar xxx.jar > logs.log & 命令可以让程序忽略挂起信号,在后台持续运行,其中,logs.log 是指定的输出日志文件。
或者 nohup java -jar your-app.jar > output.log 2>&1 &
> output.log:将标准输出重定向到 output.log 文件。
2>&1:将错误输出合并到标准输出。
&:后台运行进程。
(2)screen 是一个终端复用器,可以