如何停止执行的Jar文件

时间:2013-06-18 09:09:54

标签: java jar executable-jar

这感觉就像一个愚蠢的问题,但我似乎无法弄明白。当我在Windows上运行* .jar文件时,它不会在任务管理器进程中出现。我怎么能终止它,我已经尝试过TASKKILL但它也不适用于我。

11 个答案:

答案 0 :(得分:18)

在Linux上

ps -ef | grep java

它将显示一个进程列表,其中一个将成为您的可执行jar。只需按进程ID终止该进程。

sudo kill -9 <pid>

有没有办法从同一个jar文件的java代码中执行此操作。就像过程完成后自杀一样。

答案 1 :(得分:9)

你是否试图杀死taskmanager中的java.exe进程?它应该停止。

答案 2 :(得分:9)

通过jps命令&amp;找到进程ID并通过taskkill命令杀死它们。

请注意,taskkill需要“-f”,或者它可能只是发送了一个终止信号而没有实际终止它。

enter image description here

答案 3 :(得分:6)

您可以通过查找“java”或“javaw”进程来识别taskmanager中的进程。如果您正在运行多个Java进程,则会出现问题。如果您能够识别您的过程,只需杀死/结束它。

其他方式:

运行

jps -lv

显示所有正在运行的Java进程的PID和命令行。确定要杀死的任务的PID。然后使用命令:

taskkill /PID <pid>

杀死你的jar进程。

答案 4 :(得分:3)

正如大家所说,它是java或javaw进程。问题是当你运行这样的多个应用程序时。一种解决方法可能是以不同方式命名流程,如下所述:

How can I set the process name for a Java-program?

答案 5 :(得分:2)

你可以打开jvisualvm来查看正在运行的java进程。 process-id显示在那里。现在打开任务管理器转到进程选项卡并添加要显示的进程ID列。现在你可以选择正确的java.exe或javaw.exe来杀死

答案 6 :(得分:2)

spring boot start / stop sample(在Windows操作系统上)。

<强>的start.bat

@ECHO OFF
call run.bat start

<强>的stop.bat:

@ECHO OFF
call run.bat stop

<强>的run.bat

@ECHO OFF
IF "%1"=="start" (
    ECHO start your app name
    start "yourappname" java -jar -Dspring.profiles.active=prod yourappname-0.0.1.jar
) ELSE IF "%1"=="stop" (
    ECHO stop your app name
    TASKKILL /FI "WINDOWTITLE eq yourappname"
) ELSE (
    ECHO please, use "run.bat start" or "run.bat stop"
)
pause

答案 7 :(得分:1)

如果您通过命令行运行 JAR 文件并且它正在运行。按,
在 Windows 中:
• Ctrl+C:关闭进程,(可能需要管理员权限)
在 Linux 中:
• Ctrl+ C:礼貌地要求进程立即关闭。
• Ctrl+ \ :无情地杀死当前在前台的进程。

答案 8 :(得分:0)

在Windows任务管理器中,您将看到名为“java.exe”的进程。杀死你的申请将会停止。

要知道该流程首先转到任务管理器中的应用程序,然后通过选择该应用程序进入流程。它将引导您完成该应用程序的确切过程。

此致 杰尼尔

答案 9 :(得分:0)

如果您使用的是jframe,并且希望在单击“X”时停止应用程序:

这是一个教程:http://tips4java.wordpress.com/2009/05/01/closing-an-application/

答案 10 :(得分:0)

这可能是在没有外部依赖(jps 或任何东西)的情况下终止进程的最简单方法。

wmic Path win32_process Where "CommandLine Like '%YourJarName.jar%'" Call Terminate

通过How can we stop a running java process through Windows cmd?