服务器更换jar包,重启后端服务
第一步:找到并终止当前正在运行的进程
- 1.
查找进程ID (PID):
在终端中运行以下命令,通过名称来查找对应的进程:
ps -ef | grep jingdongchange-1.0-SNAPSHOT.jar
或者更精确的:
ps -ef | grep java | grep jingdongchange
- 2.
分析结果:
命令会返回一行或几行信息,其中第二列就是进程ID (PID)。看起来会类似这样:
youruser 12345 1 0 Sep08 pts/0 00:00:00 java -jar jingdongchange-1.0-SNAPSHOT.jar
在这个例子中,
12345
就是你要找的PID。 - 3.
终止进程:
使用
kill
命令并跟上你找到的PID来结束进程。强烈建议先使用kill <PID>
尝试正常结束,等待几秒后如果进程还在,再使用kill -9 <PID>
强制结束。kill 12345 # 等待几秒钟,如果进程还在,再执行下面的强制命令 kill -9 12345
注意:
kill -9
是强制终止信号,应作为最后手段使用,因为它可能会阻止程序进行正常的清理工作(如关闭文件、保存状态等)。
第二步:重新启动进程
终止旧进程后,你可以选择以下两种方式之一来启动它:
方式一:在后台启动(推荐用于服务)
使用 nohup
命令可以让进程在您退出终端后继续运行,并将输出重定向到日志文件(如图中的 nohup.out
或 output.log
)。
nohup java -jar jingdongchange-1.0-SNAPSHOT.jar > output.log 2>&1 &
- •
nohup
: 让命令忽略挂起信号,在后台持续运行。 - •
> output.log
: 将标准输出重定向到output.log
文件。 - •
2>&1
: 将标准错误也重定向到标准输出(即同样写入output.log
)。 - •
&
: 在后台运行命令。
方式二:在前台启动
如果你希望实时看到程序的输出(例如用于调试),可以直接运行:
java -jar jingdongchange-1.0-SNAPSHOT.jar
按 Ctrl+C
可以停止这个前台进程。
第三步:验证进程是否成功启动
重启后,可以再次使用 ps
命令检查进程是否在运行:
ps -ef | grep jingdongchange
或者查看日志文件的最后几行,看看是否有新的输出(即程序启动的日志):
tail -f output.log
(使用 Ctrl+C
来退出 tail -f
的实时查看模式)