【Linux】Linux服务器高效关闭JAR包服务的绝妙技巧

createh52个月前 (02-01)技术教程10

本文介绍以下几种方法有效地在Linux服务器上关闭正在运行的JAR包服务。

在Linux服务器上关闭JAR包服务,可以通过以下几种方法实现:

一、使用ps和kill命令

查找JAR包进程ID:

ps aux | grep your-jar-file.jar

或者

ps -ef | grep java

这将列出所有包含指定JAR文件名或Java关键字的进程,记下相应的进程ID(PID)。

  • 使用ps命令结合grep命令来查找正在运行的JAR包进程。例如:

终止进程:

kill 

这里的应替换为实际的进程ID。默认情况下,kill命令会发送一个TERM信号,请求进程正常退出。如果进程没有响应,可以使用-9选项强制关闭:

kill -9 

但请注意,强制关闭可能会导致数据丢失或其他副作用。

  • 使用kill命令来终止找到的进程。例如:

二、使用jps和kill命令

列出Java进程:

jps -l

这将列出所有Java进程及其主类的全名,找到与你的JAR文件对应的进程名。

  • 使用jps命令(Java Virtual Machine Process Status Tool)来列出当前用户启动的所有Java进程。例如:

终止进程:

kill -9 

同样,应替换为实际的进程ID。

  • 使用kill命令终止找到的Java进程。例如:

三、使用systemctl或service命令(适用于系统服务)

如果JAR文件作为系统服务运行,可以使用systemctlservice命令来管理它。

停止服务:

sudo systemctl stop my-jar-service

或者

sudo service my-jar-service stop
  • 假设服务名为my-jar-service,可以使用以下命令停止服务:

验证服务状态:

sudo systemctl status my-jar-service

或者

 sudo service my-jar-service status
  • 为了确保服务已成功停止,可以检查其状态:

四、注意事项

  1. 权限问题:
  • 在执行上述命令时,确保你具有足够的权限来关闭进程。有些情况下,你可能需要以管理员身份运行命令。
  1. 数据保存:
  • 在强制关闭进程之前,请确保已经保存了重要数据,因为强制关闭可能会导致数据丢失。
  1. 验证进程是否已关闭:
  • 可以通过再次运行psjps命令来检查是否还有相关的Java进程在运行,或者使用netstat命令检查是否还有端口在监听。

通过以上方法,你可以有效地在Linux服务器上关闭正在运行的JAR包服务。


相关文章

java小知识-ShutdownHook(优雅关闭)

作者:京东物流 崔冬冬一、先提出一个问题我们如果在JVM退出的时候做一些事情,比如关闭远程链接,怎么实现呢?二、ShutdownHook简介java里有个方法Runtime.getRuntime#ad...

如何优雅地停止Java进程(如何停止java运行)

目录理解停止Java进程的本质应该如何正确地停止Java进程如何注册关闭钩子使用关闭钩子的注意事项信号量机制总结理解停止Java进程的本质我们知道,Java程序的运行需要一个运行时环境,即:JVM,启...

使用 kill 命令杀死 java进程,你用对了吗?

原文地址:https://dwz.cn/E88v8sLN作者: 占小狼在本地调试agent相关功能,需要经常性的杀掉Java进程,验证一些极端情况。每次都是本能执行如下步骤jpskill -9rebo...

经验分享|程序员成功转行IC,我终于不用再吃“青春饭”

近期后台收到了一位同学的私信,转行IC后他的薪资涨了很多,这位同学之前是程序员,经过不断努力成功转行到IC后端。我是西安一所普通的一本毕业,学的是自动化专业,大学跟大多数人一样过得浑浑噩噩,对自己的职...

扫盲 JVM 安全退出机制:shutdownHook,signalHandler

1. 背景线上跑的 Java 服务,总有退出的时候,而且还很频繁(想想每天服务发布多少次吧,每次发布 JVM 都会退出再重启或者干脆换一台机器启动)。那么思考下,如果 JVM 退出的时候,有以下问题怎...

Spring正确关闭线程池姿势——优雅停机

前言前几天看到一篇文章,关于线程池关闭的知识点,有点收获;给大家分享一下线程池正确关闭方式我们直接用个案例,公布方法上面就是常规的线程池的使用为简化讨论的复杂性,本文的线程池均是指JDK中的java....