2013-06-18 110 views
10

这似乎是一个愚蠢的问题,但我似乎无法弄清楚。当我在Windows上运行* .jar文件时,它在taskmanager进程中没有运行。我怎么能终止它,我已经尝试过TASKKILL,但它也不适合我。如何停止执行的Jar文件

+0

问题尚不清楚。你能详细说明一下吗? – zEro

+3

它将显示为“java”或“javaw”。 – nikkatsa

+0

你在使用jframe吗? –

回答

9

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

+1

哦,但是如果我不想停止java ?,我只想停止当前进程 – susparsy

2

您可以通过查找“java”或“javaw”进程来确定taskmanager中的进程。如果你运行多个java进程,问题将会发生。如果你能够识别你的过程,只需杀死/结束它。

其他各地的道:

运行

jps -lv 

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

taskkill /PID <pid> 

杀死你的jar进程。

+0

您可以在任务管理器中显示PID。查看>选择列> PID – Lenymm

+0

@Lenymm jps适用于java进程。它只会显示你的java进程。这是更方便,因为你不需要像在任务管理器中那样在一个大的进程列表中搜索你的进程。 –

0

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

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

问候, Jaynil

2

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

+0

在我的小见解中,这是发布的最佳答案。我讨厌杀死整个java.exe进程的想法,直到我读到这个答案时,我认为这是唯一的方法。我一直想知道为什么没有用于管理运行* jar *的类似于任务管理器的界面,所以我很高兴听到它有一个!感谢您提供这个答案,cproinger。 – SpencerD

11

在Linux

ps -ef | grep java

它会显示ü进程列表出哪一个是你的可执行的JAR文件。只要通过进程ID来终止进程。

sudo kill -9 <pid>

3

查找JPS命令&进程ID,并通过TASKKILL命令杀死他们。

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

enter image description here

1

春天开机启动/停止样品(在Windows OS)。

的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