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

createh53个月前 (02-01)技术教程17

本文介绍以下几种方法有效地在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...

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

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

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

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

如何优雅地关闭线程池?(关闭线程的方法)

在 Java的线程池管理中,shutdown()和shutdownNow()是用于关闭线程池的两种方法,尽管都是为了关闭线程池,但它们存在显著差异。这篇文章,我们将详细阐述它们的工作原理。shutdo...

实战!如何在退出登录时借助外力使JWT令牌失效?

大家好,我是不才陈某~今天这篇文章介绍一下如何在修改密码、修改权限、注销等场景下使JWT失效。文章的目录如下:解决方案JWT最大的一个优势在于它是无状态的,自身包含了认证鉴权所需要的所有信息,服务器端...

Linux系统怎么后台运行jar项目和关闭jar项目的方法

Linux后台运行和关闭jar项目该怎么操作呢?下面我们来讲一下!直接用下面这个命令java -jar xxx.jar当退出或关闭shell时,程序就会停止掉。以下方法可让jar运行后一直在后台运行。...