How to Kill Java Process in Windows

DISABLE ADBLOCK

ADBlock is blocking some content on the site

ADBlock errore

  •   windows  -  java  -  cmd  -  batch-file
  • |
  • |
  • ( words)

Question

I am a newbie in cmd, so please allow me to ask a stupid question: How can we stop a running Java process through Windows cmd?

For example, if we start Jetty (a mini web server) with the following command:

                start javaw -jar start.jar                              

How do we find the process and stop it later?

Obviously the following command does not work:

                stop javaw -jar start.jar                              

Solution

It is rather messy but you need to do something like the following:

                START "do something window" dir FOR /F "tokens=2" %I in ('TASKLIST /NH /FI "WINDOWTITLE eq do something window"' ) DO SET PID=%I ECHO %PID% TASKKILL /PID %PID%                              

Found this on this page.

(This kind of thing is much easier if you have a UNIX / LINUX system ... or if you run Cygwin or similar on Windows.)

OTHER TIPS

When I ran taskkill to stop the javaw.exe process it would say it had terminated but remained running. The jqs process (java qucikstart) needs to be stopped also. Running this batch file took care of the issue.

                taskkill /f /im jqs.exe taskkill /f /im javaw.exe taskkill /f /im java.exe                              

I like this one.

                wmic process where "name like '%java%'" delete                              

You can actually kill a process on a remote machine the same way.

                wmic /node:computername /user:adminuser /password:password process where "name like '%java%'" delete                              

wmic is awesome!

Normally I don't have that many Java processes open so

                taskkill /im javaw.exe                              

or

                taskkill /im java.exe                              

should suffice. This will kill all instances of Java, though.

In case you want to kill not all java processes but specif jars running. It will work for multiple jars as well.

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

Else taskkill /im java.exe will work to kill all java processes

                FOR /F "tokens=1,2 delims= " %%G IN ('jps -l') DO IF %%H==name.for.the.application.main.Class taskkill /F /PID %%G                              

name.for.the.application.main.Class - replace this to your application's main class (you can find it in second column of jps -l output)

Open the windows cmd. First list all the java processes,

                jps -m                              

now get the name and run below command,

                for /f "tokens=1" %i in ('jps -m ^| find "Name_of_the_process"') do ( taskkill /F /PID %i )                              

or simply kill the process ID

                taskkill /F /PID <ProcessID>                              

sample :)

                C:\Users\tk>jps -m 15176 MessagingMain 18072 SoapUI-5.4.0.exe 15164 Jps -m 3420 org.eclipse.equinox.launcher_1.3.201.v20161025-1711.jar -os win32 -ws win32 -arch x86_64 -showsplash -launcher C:\Users\tk\eclipse\jee-neon\eclipse\eclipse.exe -name Eclipse --launcher.library C:\Users\tk\.p2\pool\plugins\org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.401.v20161122-1740\eclipse_1617.dll -startup C:\Users\tk\eclipse\jee-neon\eclipse\\plugins/org.eclipse.equinox.launcher_1.3.201.v20161025-1711.jar --launcher.appendVmargs -exitdata 4b20_d0 -product org.eclipse.epp.package.jee.product -vm C:/Program Files/Java/jre1.8.0_131/bin/javaw.exe -vmargs -Dosgi.requiredJavaVersion=1.8 -XX:+UseG1GC -XX:+UseStringDeduplication -Dosgi.requiredJavaVersion=1.8 -Xms256m -Xmx1024m -Declipse.p2.max.threads=10 -Doomph.update.url=http://download.eclipse.org/oomph/updates/milestone/latest -Doomph.redirection.index.redirection=index:/->http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/ -jar C:\Users\tk\                              

and

                C:\Users\tk>for /f "tokens=1" %i in ('jps -m ^| find "MessagingMain"') do ( taskkill /F /PID %i )  C:\Users\tk>(taskkill /F /PID 15176  ) SUCCESS: The process with PID 15176 has been terminated.                              

or

                C:\Users\tk>taskkill /F /PID 15176  SUCCESS: The process with PID 15176 has been terminated.                              

start javaw -DSTOP.PORT=8079 -DSTOP.KEY=secret -jar start.jar

start javaw -DSTOP.PORT=8079 -DSTOP.KEY=secret -jar start.jar --stop

You can do this with PowerShell:

                $process = Start-Process "javaw" "-jar start.jar" -PassThru taskkill /pid $process.Id                              

The taskkill command will graceful close the application.

(on Windows OS without Service) Spring Boot start/stop sample.

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                              

start.bat

                @ECHO OFF call run.bat start                              

stop.bat:

                @ECHO OFF call run.bat stop                              

The answer which suggests something like taskkill /f /im java.exe will probably work, but if you want to kill only one java process instead of all, I can suggest doing it with the help of window titles. Expample:

Start

start "MyProgram" "C:/Program Files/Java/jre1.8.0_201/bin/java.exe" -jar MyProgram.jar

Stop

taskkill /F /FI "WINDOWTITLE eq MyProgram" /T

How to Kill Java Process in Windows

Source: https://www.generacodice.com/en/articolo/664208/How-can-we-stop-a-running-java-process-through-Windows-cmd

0 Response to "How to Kill Java Process in Windows"

Post a Comment

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel