服务器更换jar包,重启后端服务

第一步:找到并终止当前正在运行的进程

    1. 查找进程ID (PID)​:

    在终端中运行以下命令,通过名称来查找对应的进程:

    复制代码
    ps -ef | grep jingdongchange-1.0-SNAPSHOT.jar

    或者更精确的:

    复制代码
    ps -ef | grep java | grep jingdongchange
    1. 分析结果:

    命令会返回一行或几行信息,其中第二列就是进程ID (PID)。看起来会类似这样:

    复制代码
    youruser  12345     1  0 Sep08 pts/0    00:00:00 java -jar jingdongchange-1.0-SNAPSHOT.jar

    在这个例子中,12345就是你要找的PID。

    1. 终止进程:

    使用 kill命令并跟上你找到的PID来结束进程。​强烈建议 先使用 kill <PID>尝试正常结束,等待几秒后如果进程还在,再使用 kill -9 <PID>强制结束。

    复制代码
    kill 12345
    # 等待几秒钟,如果进程还在,再执行下面的强制命令
    kill -9 12345

    注意 ​:kill -9是强制终止信号,应作为最后手段使用,因为它可能会阻止程序进行正常的清理工作(如关闭文件、保存状态等)。

第二步:重新启动进程

终止旧进程后,你可以选择以下两种方式之一来启动它:

方式一:在后台启动(推荐用于服务)​

使用 nohup命令可以让进程在您退出终端后继续运行,并将输出重定向到日志文件(如图中的 nohup.outoutput.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的实时查看模式)

相关推荐
yunfuuwqi5 小时前
OpenClaw✅真·喂饭级教程:2026年OpenClaw(原Moltbot)一键部署+接入飞书最佳实践
运维·服务器·网络·人工智能·飞书·京东云
代码游侠5 小时前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
你真是饿了5 小时前
6.库制作与原理
linux·服务器
Zach_yuan6 小时前
深入浅出 JSONCpp
linux·服务器·网络·c++
马猴烧酒.7 小时前
【面试八股|JAVA多线程】JAVA多线程常考面试题详解
java·服务器·数据库
熊延7 小时前
麒麟V10系统安装部署elasticsearch
linux·运维·服务器·elasticsearch·搜索引擎·全文检索
松涛和鸣9 小时前
72、IMX6ULL驱动实战:设备树(DTS/DTB)+ GPIO子系统+Platform总线
linux·服务器·arm开发·数据库·单片机
爱吃生蚝的于勒11 小时前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习
The森11 小时前
Linux IO 模型纵深解析 01:从 Unix 传统到 Linux 内核的 IO 第一性原理
linux·服务器·c语言·经验分享·笔记·unix
期待のcode11 小时前
Redis的主从复制与集群
运维·服务器·redis