首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux停止jar包的运行

在Linux系统中,停止正在运行的Java应用程序(通常以JAR文件形式存在)可以通过多种方式实现。以下是一些常见的方法:

基础概念

  • JAR文件:Java Archive,是一种归档文件格式,通常用于分发Java应用程序或库。
  • 进程管理:操作系统提供的功能,用于启动、监控和终止进程。

相关优势

  • 灵活性:可以通过多种命令行工具灵活管理Java进程。
  • 效率:快速停止应用程序,释放系统资源。

类型与应用场景

  • 后台运行:使用nohupscreen等工具在后台运行JAR包。
  • 系统服务:将JAR包配置为系统服务(如systemd),便于管理。

停止JAR包的方法

方法一:使用pskill命令

  1. 查找进程ID(PID)
  2. 查找进程ID(PID)
  3. 这将列出所有包含your-jar-file.jar的进程。找到对应的PID。
  4. 终止进程
  5. 终止进程
  6. PID替换为实际的进程ID。-9表示强制终止。

方法二:使用pkill命令

如果你知道JAR文件的名称,可以直接使用pkill

代码语言:txt
复制
pkill -f your-jar-file.jar

-f选项表示匹配完整的命令行。

方法三:使用systemd(如果配置了服务)

如果你将JAR包作为systemd服务运行,可以使用以下命令停止:

代码语言:txt
复制
sudo systemctl stop your-service-name

your-service-name替换为实际的服务名称。

示例代码

假设你的JAR文件名为example.jar,并且你希望将其作为后台服务运行并能够方便地停止它。

启动服务

创建一个systemd服务文件(例如/etc/systemd/system/example.service):

代码语言:txt
复制
[Unit]
Description=Example Java Application
After=network.target

[Service]
User=your-username
ExecStart=/usr/bin/java -jar /path/to/example.jar
SuccessExitStatus=143

[Install]
WantedBy=multi-user.target

然后启用并启动服务:

代码语言:txt
复制
sudo systemctl daemon-reload
sudo systemctl enable example.service
sudo systemctl start example.service

停止服务

代码语言:txt
复制
sudo systemctl stop example.service

可能遇到的问题及解决方法

  1. 进程无法终止
    • 确保使用正确的PID。
    • 尝试使用kill -15(默认信号)先发送,如果无效再使用kill -9
  • 权限问题
    • 使用sudo提升权限。
    • 确保运行服务的用户有权限终止进程。
  • 服务未找到
    • 检查服务名称是否正确。
    • 确保systemd配置文件路径和内容无误。

通过以上方法,你应该能够有效地停止Linux系统中的JAR包运行。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux 运行jar包命令

方式一: java -jar shareniu.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定?...方式二 java -jar shareniu.jar & &代表在后台运行。 特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。 继续改进,如何让窗口关闭时,程序仍然运行?...方式三 nohup java -jar shareniu.jar & nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行 当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到...可通过jobs命令查看后台运行任务 jobs 那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。 如果想将某个作业调回前台控制,只需要 fg + 编号即可。...fg 23 查看某端口占用的线程的pid netstat -nlp |grep :9181 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

6.9K20
  • linux运行jar包的命令_linux部署jar包的几种方式

    大家好,又见面了,我是你们的朋友全栈君。 要运行java的项目需要先将项目打包成war包或者jar包,打包成war包需要将war包部署到tomcat服务器上才能运行。...而打包成jar包可以直接使用java命令执行。 在linux系统中运行jar包主要有以下几种方式。...一、java -jar XXX.jar 这是最基本的jar包执行方式,但是当我们用ctrl+c中断或者关闭窗口时,程序也会中断执行。...二、java -jar XXX.jar & &代表在后台运行,使用ctrl+c不会中断程序的运行,但是关闭窗口会中断程序的运行。...三、nohup java -jar XXX.jar & 使用这种方式运行的程序日志会输出到当前目录下的nohup.out文件,使用ctrl+c中断或者关闭窗口都不会中断程序的执行。

    7.1K20

    Linux .sh脚本 启动、停止、重启、状态 Jar包

    # echo $0 restart 是重启服务 # echo $0 status 是查看服务状态 # 指定JAR包文件夹,将来运行的时候,此文件需要与jar包同级 AppName=你的jar名字.jar...# 此变量会获取到当前路径 等价于 Linux的pwd命令 APP_HOME=`pwd` # 日志路径 一定要有此路经的文件夹,没有此路径的文件夹,将不会有日志文件:$AppName.log,记得创建...esac 启动方式 步骤1:将你的jar包与你的.sh脚本放到同级目录 步骤2:修改上面的脚本的将 AppName 替换为Jar包名字 步骤3:在此目录下创建一个logs文件夹,如果不创建此文件夹,将不会有日志文件...步骤4:用命令运行脚本 # 启动你的服务 ./你的文件名.sh start # 停止你的服务 ./你的文件名.sh stop # 查看你的服务状态 ..../你的文件名.sh restart 演示 image.png 重启脚本,同时展示脚本运行时间 # 说明 我有4个sh文件,同时运行,并追加参数restart!

    10.1K30

    全网最全Linux 运行jar包的几种方式

    一、Linux 运行jar包的几种方式 方式一: java -jar xxx.jar 最常用的启动jar包命令,特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 方式二...: java -jar xxx.jar & &代表在后台运行 ,ctrl+c 后程序也会继续运行 方式三: nohup java -jar xxx.jar & nohup 即 no hang up 不挂断...,关闭SSH客户端连接,程序不会中止运行 缺省情况下该作业的所有输出被重定向到nohup.out的文件中,如何让输出的内容重定向到指定的文件呢?...> /dev/null 2>&1 & ​ 不输出日志 二、nohup 和 & 使用&后台运行程序: 结果会输出到终端 使用Ctrl + C,程序免疫 关闭session,程序关闭 使用nohup运行程序...Linux中代表什么 ​ 当Linux执行一个程序时,会自动打开三个流 ​ 0:标准输入流(默认是键盘) ​ 1:标准输出流(默认是屏幕) ​ 2:标准错误流(默认是屏幕) 名称 代码 操作符 java

    5.6K20

    windows 运行jar包 生成日志_jar包双击运行

    set SERVICE_NAME=%1 @rem 运行的服务jar包目录路径 set SERVICE_JAR_DIR=D:\MyWorks\IdeaProgramFiles\LjdProgramFiles...\logs\%SERVICE%.startup.log @rem 执行jar包的jdk路径 此方式可以适用没有配置java_home 变量的,或是需要指定版本的Jdk set JAVA_RUN_DIR=...可以使用 javaw.exe 做 # ljd-stream-msvs.jar 是需要运行的jar,可以放绝对路径的jar 例如:D:\usr\javaFiles\ljd-stream-msvs.jar...\startup.cmd ==> 运行项目的bat脚本路径 ljd-stream-msvs ===> 项目jar包的名称 CreateObject("Wscript.Shell").run "....停止服务 新建文本文件 shutdown.txt @echo off @rem %1 是脚本的参数,即项目运行的名称, 可以使用 jps 查看java项目的进程ID和运行的名称 echo "开始停止

    3K40

    Linux服务器后台运行jar包

    转载自https://juejin.im/post/5b47411ee51d45190570ce6d 最终的运行命令: nohup java -jar xxx.jar >logs.txt & 复制代码...1.首先最基本的运行jar包命令是: java -jar xxx.jar 复制代码 这个命令会锁定命令窗口,只能看到当前运行的输出信息。而无法发送其他指令。...2.让jar包后台运行 用"&"符号结尾表示,让程序在后台运行。 这样的话,命令窗口就不会被锁定,而可以发送其他指令,但是当窗口关闭时,后台运行的程序依然会被停止。...如果不写情况下(缺省),就回默认在jar包所在目录,创建nohup.out文件。...如果忘了进程号,可以通过 ps -ef|grep xxx.jar 复制代码 来查看当前运行的jar包程序进程号。

    4.6K10

    shell脚本运行jar包获取参数_linux加载一个目录下的所有jar包

    大家好,又见面了,我是你们的朋友全栈君。 当使用SpringBoot框架时,他自己集成了tomcat。在启动jar包时,经常需要复制一大段命令,尤其是在项目目录发生改变的时候,实在繁琐。.../bin/bash #这里替换为你自己的执行程序的名称 JAR_NAME=jar包名称 #lib目录 LOAD_PATH="-Dloader.path=/home/local/lib/" #项目配置文件...包名" #使用说明 usage(){ echo "Usage: sh 执行脚本.sh [start|stop|restart]" exit 1 } #检查程序是否在运行 is_exist(){...else nohup java $LOAD_PATH -jar $FILE_PATH $CONFIG_PATH > $LOG_PATH 2>&1 & fi } #停止方法 stop(){...包 sh 脚本名.sh start 以后就再也不用复制命令了,直接一键启动。。。。

    1.8K20

    【Maven学习】Maven打包生成普通jar包、可运行jar包、包含所有依赖的jar包

    使用maven构建工具可以将工程打包生成普通的jar包、可运行的jar包,也可以将所有依赖一起打包生成jar; 一、普通的jar包 普通的jar包只包含工程源码编译出的class文件以及资源文件,而不包含任何依赖...;同时还包括pom文件,说明该包的依赖信息; 在工程pom文件下这样写,可生成普通的jar包: jar 或者,不写,因为packaging默认打包类型为jar...二、包含所有依赖的jar包 普通的jar包,只在pom文件中包含依赖信息,而不包含真正的依赖,但同时maven也可以打包生成包含所有依赖的jar文件,可参考本博客文章 Maven打包生成包含所有依赖的...jar包 三、可运行jar包 可运行的jar包,除包含工程源码编译结果外,还包括所有依赖,可利用java -jar 命令直接运行。...(所有的依赖jar包直接变成了class) 使用maven生成可运行jar包,可参考本博客文章 maven打包生成可执行jar文件。

    5.9K20

    Linux jar 运行与关闭

    最近在做一个项目,由于项目团队很多人,分工给我打包了一个jar服务器端的文件,然后用本地测试可以,然后再服务器运行,由于服务器是Linux的,这就体现了java的可移植性强的优点,但是执行运行命令后,关闭...ssh窗口再次我请求数据的时候,程序自动关闭了,后来查阅资料才知道,这是Linux的原因。...一些简单的操作linux jar包命令 1、执行jar包的命令和在windows操作系统上是一样的,都是java -jar xxxx.jar。...2、将jar程序设置成后台运行,并且将标准输出的日志重定向至文件consoleMsg.log。...nohup java -jar arserver-0.0.1-SNAPSHOT.jar >consoleMsg.log 2>&1 & 3、如果想杀掉运行中的jar程序,查看进程命令为: ps aux|

    8K61

    Linux后台运行jar程序

    Linux后台运行jar程序在Linux系统中,有时候我们需要将Java程序以后台进程的方式运行,以便在关闭终端或退出登录时仍然保持程序的运行状态。...本文将介绍如何在Linux中后台运行一个Java的jar程序。准备工作在开始之前,确保您的Linux系统中已经安装了Java运行环境(JRE 或 JDK)。...java -jar YourProgram.jar是运行jar程序的命令。> output.log将程序的标准输出重定向到一个名为output.log的文件。...通过以上步骤,您就可以在Linux系统中成功地将一个Java的jar程序以后台进程的方式运行起来。示例代码,以帮助理解:shellCopy code#!...fi在上述示例代码中,我们首先通过cd命令进入了存放jar程序的目录。然后,使用pgrep命令检查是否已有同名的后台进程在运行。如果已经有同名的进程在运行,输出提示信息并结束脚本的执行。

    98910
    领券