Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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 90 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

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.