How to kill a process running on particular port in Linux?
I tried to close the tomcat using
./shutdown.sh from tomcat
/bin directory. But found that the server was not closed properly. And thus I was unable to restart
My tomcat is running on port
I want to kill the tomcat process running on
8080. I first want to have the list of processes running on a specific port (8080) in order to select which process to kill.
Use the command
sudo netstat -plten |grep java
grep java as
java as their processes.
It will show the list of processes with port number and process id
tcp6 0 0 :::8080 :::* LISTEN 1000 30070621 16085/java
the number before
/java is a process id. Now use
kill command to kill the process
kill -9 16085
-9 implies the process will be killed forcefully.
fuser 8080/tcp will print you PID of process bound on that port.
fuser -k 8080/tcp will kill that process.
Works on Linux only. More universal is use of
lsof -i4 (or 6 for IPv6).
Read more... Read less...
To list any process listening to the port 8080:
To kill any process listening to the port 8080:
kill $(lsof -t -i:8080)
or more violently:
kill -9 $(lsof -t -i:8080)
-9 corresponds to the
SIGKILL - terminate immediately/hard kill signal: see List of Kill Signals and What is the purpose of the -9 option in the kill command?. If no signal is specified to
kill, the TERM signal a.k.a.
soft kill is sent, which sometimes isn't enough to kill a process.).
A One-liner to kill only LISTEN on specific port:
kill -9 $(lsof -t -i:3000 -sTCP:LISTEN)
You can use the lsof command. Let port number like here is 8090
This command returns a list of open processes on this port.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ssh 75782 eoin 5u IPv6 0x01c1c234 0t0 TCP localhost:8090 (LISTEN)
To free the port, kill the process using it(the process id is 75782)…
kill -9 75782
This one worked for me. here is the link from the original post: link
If you want to kill a process running on port number 8080 then first you need to find the 8080 port process identification number(PID) and then kill it. Run the following command to find 8080 port number PID:
sudo lsof -t -i:8080
- sudo - command to ask admin privilege(user id and password).
- lsof - list of files(Also used for to list related processes)
- -t - show only process ID
- -i - show only internet connections related process
- :8080 - show only processes in this port number
So you can now easily kill your PID using following command:
sudo kill -9 <PID>
- kill - command to kill the process
- -9 - forcefully
You can use one command to to kill a process on a specific port using the following command:
sudo kill -9 $(sudo lsof -t -i:8080)
For more you can see the following link How to kill a process on a specific port on linux
Best way to kill all processes on a specific port;
kill -9 $(sudo lsof -t -i:8080)