How to Kill a Process on Windows



Unable to run a process on a perticular port on windows ?. Is your app / db servers failing to start ?. Is your spring boot app throwing PortInUseException Port 8081 is already in use ERROR ? BindException: Address already in use ? Here is the step by step procedure to fix the port issue.


		


org.springframework.boot.web.server.PortInUseException: Port 8081 is already in use
	at org.springframework.boot.web.server.PortInUseException.lambda$throwIfPortBindingException$0(PortInUseException.java:70) ~[spring-boot-2.4.0.jar:2.4.0]
	at org.springframework.boot.web.server.PortInUseException.lambda$ifPortBindingException$1(PortInUseException.java:85) ~[spring-boot-2.4.0.jar:2.4.0]
	at org.springframework.boot.web.server.PortInUseException.ifCausedBy(PortInUseException.java:103) ~[spring-boot-2.4.0.jar:2.4.0]
	at org.springframework.boot.web.server.PortInUseException.ifPortBindingException(PortInUseException.java:82) ~[spring-boot-2.4.0.jar:2.4.0]
	at org.springframework.boot.web.server.PortInUseException.throwIfPortBindingException(PortInUseException.java:69) ~[spring-boot-2.4.0.jar:2.4.0]
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:228) ~[spring-boot-2.4.0.jar:2.4.0]
	at org.springframework.boot.web.servlet.context.WebServerStartStopLifecycle.start(WebServerStartStopLifecycle.java:43) ~[spring-boot-2.4.0.jar:2.4.0]
	at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178) ~[spring-context-5.3.1.jar:5.3.1]
	at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54) ~[spring-context-5.3.1.jar:5.3.1]
	at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356) ~[spring-context-5.3.1.jar:5.3.1]
	at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[na:na]
	at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155) ~[spring-context-5.3.1.jar:5.3.1]
	at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123) ~[spring-context-5.3.1.jar:5.3.1]
	at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:942) ~[spring-context-5.3.1.jar:5.3.1]
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:591) ~[spring-context-5.3.1.jar:5.3.1]
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144) ~[spring-boot-2.4.0.jar:2.4.0]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:767) ~[spring-boot-2.4.0.jar:2.4.0]
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:759) ~[spring-boot-2.4.0.jar:2.4.0]
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:426) ~[spring-boot-2.4.0.jar:2.4.0]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:326) ~[spring-boot-2.4.0.jar:2.4.0]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1309) ~[spring-boot-2.4.0.jar:2.4.0]
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1298) ~[spring-boot-2.4.0.jar:2.4.0]
	at com.cts.sv.resource.mgmt.SVClientsApplication.main(SVClientsApplication.java:17) ~[classes/:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:na]
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
	at java.base/java.lang.reflect.Method.invoke(Method.java:566) ~[na:na]
	at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.4.0.jar:2.4.0]
Caused by: java.lang.IllegalArgumentException: standardService.connector.startFailed
	at org.apache.catalina.core.StandardService.addConnector(StandardService.java:231) ~[tomcat-embed-core-9.0.39.jar:9.0.39]
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.addPreviouslyRemovedConnectors(TomcatWebServer.java:282) ~[spring-boot-2.4.0.jar:2.4.0]
	at org.springframework.boot.web.embedded.tomcat.TomcatWebServer.start(TomcatWebServer.java:213) ~[spring-boot-2.4.0.jar:2.4.0]
	... 22 common frames omitted
Caused by: org.apache.catalina.LifecycleException: Protocol handler start failed
	at org.apache.catalina.connector.Connector.startInternal(Connector.java:1067) ~[tomcat-embed-core-9.0.39.jar:9.0.39]
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) ~[tomcat-embed-core-9.0.39.jar:9.0.39]
	at org.apache.catalina.core.StandardService.addConnector(StandardService.java:227) ~[tomcat-embed-core-9.0.39.jar:9.0.39]
	... 24 common frames omitted
Caused by: java.net.BindException: Address already in use: bind
	at java.base/sun.nio.ch.Net.bind0(Native Method) ~[na:na]
	at java.base/sun.nio.ch.Net.bind(Net.java:455) ~[na:na]
	at java.base/sun.nio.ch.Net.bind(Net.java:447) ~[na:na]
	at java.base/sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:227) ~[na:na]
	at java.base/sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:80) ~[na:na]
	at org.apache.tomcat.util.net.NioEndpoint.initServerSocket(NioEndpoint.java:228) ~[tomcat-embed-core-9.0.39.jar:9.0.39]
	at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:211) ~[tomcat-embed-core-9.0.39.jar:9.0.39]
	at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1141) ~[tomcat-embed-core-9.0.39.jar:9.0.39]
	at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:1227) ~[tomcat-embed-core-9.0.39.jar:9.0.39]
	at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:592) ~[tomcat-embed-core-9.0.39.jar:9.0.39]
	at org.apache.catalina.connector.Connector.startInternal(Connector.java:1064) ~[tomcat-embed-core-9.0.39.jar:9.0.39]
	... 26 common frames omitted

***************************
APPLICATION FAILED TO START
***************************

Description:

Web server failed to start. Port 8081 was already in use.

Action:

Identify and stop the process that's listening on port 8081 or configure this application to listen on another port.

		
		


Application failed to start on a port





# Windows Kill Process On Port:


Killing a process on Windows can be essential for troubleshooting unresponsive applications. Here are several methods you can use:


1. Using Command Prompt

You can also kill processes via Command Prompt:

Step#1

Open Command Promt and Run netstat -ano | findstr :&ltport>




netstat -ano | findstr :8081

Step#2

Run this command to kill process taskkill /PID 7720 /F




taskkill /PID 7720 /F

Step#3

Repeat Step#1 and make sure process is no more running on the port.






Command Line Log -

		
Microsoft Windows [Version 10.0.17763.1577]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\Users\798582>netstat -ano | findstr :8081
  TCP    0.0.0.0:8081           0.0.0.0:0              LISTENING       7720
  TCP    127.0.0.1:8081         127.0.0.1:50089        ESTABLISHED     7720
  TCP    127.0.0.1:8081         127.0.0.1:50090        ESTABLISHED     7720
  TCP    127.0.0.1:8081         127.0.0.1:50119        ESTABLISHED     7720
  TCP    127.0.0.1:8081         127.0.0.1:50120        ESTABLISHED     7720
  TCP    127.0.0.1:8081         127.0.0.1:50121        ESTABLISHED     7720
  TCP    127.0.0.1:8081         127.0.0.1:50122        ESTABLISHED     7720
  TCP    127.0.0.1:8081         127.0.0.1:50123        ESTABLISHED     7720
  TCP    127.0.0.1:8081         127.0.0.1:50124        ESTABLISHED     7720
  TCP    127.0.0.1:8081         127.0.0.1:50815        ESTABLISHED     7720
  TCP    127.0.0.1:8081         127.0.0.1:50823        ESTABLISHED     7720
  TCP    127.0.0.1:8081         127.0.0.1:50824        ESTABLISHED     7720
  TCP    127.0.0.1:8081         127.0.0.1:50825        ESTABLISHED     7720
  TCP    127.0.0.1:50089        127.0.0.1:8081         ESTABLISHED     12780
  TCP    127.0.0.1:50090        127.0.0.1:8081         ESTABLISHED     12780
  TCP    127.0.0.1:50119        127.0.0.1:8081         ESTABLISHED     12780
  TCP    127.0.0.1:50120        127.0.0.1:8081         ESTABLISHED     12780
  TCP    127.0.0.1:50121        127.0.0.1:8081         ESTABLISHED     12780
  TCP    127.0.0.1:50122        127.0.0.1:8081         ESTABLISHED     12780
  TCP    127.0.0.1:50123        127.0.0.1:8081         ESTABLISHED     12780
  TCP    127.0.0.1:50124        127.0.0.1:8081         ESTABLISHED     12780
  TCP    127.0.0.1:50815        127.0.0.1:8081         ESTABLISHED     12780
  TCP    127.0.0.1:50823        127.0.0.1:8081         ESTABLISHED     12780
  TCP    127.0.0.1:50824        127.0.0.1:8081         ESTABLISHED     12780
  TCP    127.0.0.1:50825        127.0.0.1:8081         ESTABLISHED     12780
  TCP    [::]:8081              [::]:0                 LISTENING       7720
  TCP    [::1]:8081             [::1]:50766            ESTABLISHED     7720
  TCP    [::1]:8081             [::1]:50767            ESTABLISHED     7720
  TCP    [::1]:8081             [::1]:50768            ESTABLISHED     7720
  TCP    [::1]:8081             [::1]:50769            ESTABLISHED     7720
  TCP    [::1]:8081             [::1]:50770            ESTABLISHED     7720
  TCP    [::1]:8081             [::1]:50840            ESTABLISHED     7720
  TCP    [::1]:50766            [::1]:8081             ESTABLISHED     18104
  TCP    [::1]:50767            [::1]:8081             ESTABLISHED     18104
  TCP    [::1]:50768            [::1]:8081             ESTABLISHED     18104
  TCP    [::1]:50769            [::1]:8081             ESTABLISHED     18104
  TCP    [::1]:50770            [::1]:8081             ESTABLISHED     18104
  TCP    [::1]:50840            [::1]:8081             ESTABLISHED     18104

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

C:\Users\798582>netstat -ano | findstr :8081

C:\Users\798582>taskkill /PID 7720 /F
		
		




2. Using Task Manager

To kill a process using Task Manager:

  1. Press Ctrl + Shift + Esc to open Task Manager.
  2. Find the process you want to kill under the Processes tab.
  3. Right-click the process and select End Task.
Task Manager - Kill process or End Task

3. Using PowerShell

To kill a process using PowerShell:

  1. Open PowerShell as an administrator.
  2. Run Get-Process to list all processes.
  3. Use Stop-Process -Name [process_name] or Stop-Process -Id [process_id] to kill the process.
PowerShell - Get-process and Stop it by process id or name

4. Troubleshooting Tips

If a process is not ending, ensure you have administrative privileges. Check for dependent services or software that may need to be stopped first.



Read Next :




Subscribe to Our Newsletter

Get the latest updates and exclusive content delivered to your inbox!