Java News Tips Software
Java News Tips Software | Contact | Facebook | Twitter RSS

Find which process holds a port number using Ubuntu

Here is a simple tip to find out the process that has bounded a given port number. java.net.BindException: Address already in use - this is an error log message that software developers and deployment engineers encounter quite often since the same application or process is already running in the background occupying the port. Below we will locate a process based on the port.

1. Finding the process that holds the port

lsof -i <Internet address>

Let's find the process using the port "8080"

$ lsof -i :8080
COMMAND   PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java        14124   kamal   35u   IPv4  18493      0t0    TCP   *:http-alt (LISTEN)

If needed, we can extract just the PID by leaving out all other information as shown below.

$ lsof -i :8080 -t
14124

PID above is the process id that uses the port 8080.

Using this PID, you can view the process details using following command.

ps u -p <PID>

Let's find the process details of PID 14124

$ ps u -p 14124
USER  PID  %CPU %MEM    VSZ   RSS  TTY  STAT START TIME COMMAND
kamal 14124  6.6   7.2   2399340  588220 pts/0  Sl+   10:39   1:01  /usr/lib/jvm/java-6-sun/bin/java

2. Terminating the process using the process id

A process can be terminated using the kill command.

kill -9 <PID>

Let's kill the above process as follows.

$ kill -9 14124

Hope this helps, also make sure you read details of "lsof" command for further details.

Labels: , , , ,


2 Comments

  1. Good to know lsof :)
    I always do a "netstat -apn | grep " to get the pid of the process but netstat output is kind of verbose.

    Aj
  2. Yes exacty, netstat was my favourite until I came across lsof. :)
ABOUT AUTHOR
Page Views :
Email :
PREVIOUS ARTICLES
Select Month:
TOP
Free counter and web stats