当前位置: 首页 > news >正文

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

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

  1. 1.

    查找进程ID (PID)​:

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

    ps -ef | grep jingdongchange-1.0-SNAPSHOT.jar

    或者更精确的:

    ps -ef | grep java | grep jingdongchange
  2. 2.

    分析结果:

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

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

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

  3. 3.

    终止进程:

    使用 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的实时查看模式)


文章转载自:

http://HHTuN9qr.bhbfm.cn
http://k8WxMEtL.bhbfm.cn
http://RfZEuNZP.bhbfm.cn
http://1orPvTnC.bhbfm.cn
http://wemhB7mX.bhbfm.cn
http://HE9tJsg7.bhbfm.cn
http://LGO0YN74.bhbfm.cn
http://RtN10jNE.bhbfm.cn
http://xJfeeAm4.bhbfm.cn
http://5BVu0bEl.bhbfm.cn
http://aK1Ga7KR.bhbfm.cn
http://6ttPoIoW.bhbfm.cn
http://apZ1Alf7.bhbfm.cn
http://IxxzjYYR.bhbfm.cn
http://76UM8KEV.bhbfm.cn
http://KHLTFgOB.bhbfm.cn
http://4Zit8gf8.bhbfm.cn
http://yQVOo0Jb.bhbfm.cn
http://JZpFj6xn.bhbfm.cn
http://U7rSnXUD.bhbfm.cn
http://qWnkIsy1.bhbfm.cn
http://Qbh10clv.bhbfm.cn
http://Db6iybVl.bhbfm.cn
http://lvYKHSTN.bhbfm.cn
http://ppYxj7bz.bhbfm.cn
http://wF0Jt2zu.bhbfm.cn
http://2ePFfCJn.bhbfm.cn
http://0Utxhxmx.bhbfm.cn
http://M6IIa4qu.bhbfm.cn
http://IrGkF5OF.bhbfm.cn
http://www.dtcms.com/a/374543.html

相关文章:

  • 人形机器人赛道的隐形胜负手:低延迟视频链路如何决定机器人未来
  • 分钟级长视频生成迎来“记忆革命”,7倍成本降低,2.2倍端到端生成速度提升!|斯坦福字节
  • 多张图片生成视频模型技术深度解析
  • electron安装失败
  • Electron+Vite+Vue项目中,如何监听Electron的修改实现和Vue一样的热更新?[特殊字符]
  • IEEE出版,限时早鸟优惠!|2025年智能制造、机器人与自动化国际学术会议 (IMRA 2025)
  • Next.js vs Create React App:2025年该如何选择?
  • React From表单使用Formik和yup进行校验
  • 响应式编程思想与 Reactive Streams 规范
  • [react] react onClick函数的认知陷阱
  • Vue3 + Vite + Element Plus web转为 Electron 应用
  • 【算法】四大基础数据结构
  • ARM-汇编的基础知识
  • 【C++】19. 封装红⿊树实现set和map
  • 多目标轮廓匹配
  • 立即数、栈、汇编与C函数的调用
  • 人大金仓:merge sql error, dbType null, druid-1.2.20
  • leetcode 面试题01.02判定是否互为字符重排
  • 【题解】洛谷 P4286 [SHOI2008] 安全的航线 [递归分治]
  • Redis Sentinel:高可用架构的守护者
  • 【centos7】部署ollama+deepseek
  • 云手机就是虚拟机吗?
  • jmeter使用技巧
  • sqlite3移植和使用(移植到arm上)
  • ELK 集群部署实战
  • 四川意宇科技将重磅亮相2025成都航空装备展
  • fencing token机制
  • JMeter分布式压力测试
  • 稳联技术EthernetIP转ModbusTCP网关连接发那科机器人与三菱PLC的集成方案
  • 生产制造过程标准化