Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'd like to be able to find out which process is currently using a certain port in Linux. Is there any way to do this?

share|improve this question
3  
On Windows, the command is : netstat -anb – djangofan Dec 11 '09 at 21:39
up vote 98 down vote accepted

You have a couple of options:

lsof -i tcp:80

will give you the list of processes using tcp port 80.

Alternatively,

sudo netstat -nlp

will give you all open network connections.

share|improve this answer
1  
lsof -i | grep {username} is also very useful, i.e. lsof -i | grep apache – LawrenceC Oct 30 '11 at 3:20
1  
@nagul: You sir, are a hero. – Abe Petrillo Dec 14 '12 at 12:57
1  
For anyone wondering, -n : don't resolve names, -l : display listening server sockets, -p : display PID/Program name for sockets. – yellavon May 12 '14 at 15:18
    
I usually add -P to lsof -i tcp:$PORTNUMBER so that the port gets printed back to me as a number. – js. Jun 23 '15 at 8:42
netstat -lp
share|improve this answer
4  
on mac you have to add a protocol option to -p. so something like: netstat -lp tcp. – vrish88 May 25 '10 at 14:59
    
On linux, -p lists the process owning the socket. – Jürgen Strobel Sep 28 '11 at 21:55

In Linux, To find a process running on a port, do below:

lsof -i :8080

example:

lsof -i :<port_number>
share|improve this answer
    
Thanks for trying to help. This command was mentioned in the accepted answer. If you have something new, please edit your post. – Ben N Jan 6 at 0:22

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .