Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

The fuser command on Mac OS X is rather primitive and can't check for processes listening on a specific port. Does anybody know a good alternative? It it enough to know which process listening on that one port.

share|improve this question
1  
Try sudo lsof -i -P –  vcsjones Dec 23 '10 at 17:02
    
I was under the impression that lsof` only works when a task actually connects to the port. Besides one would need at least a | grep portno as well to get a meaningful result. –  Martin Dec 23 '10 at 18:09
add comment

1 Answer

As @vcsjones said in the comments, lsof is the tool for this:

$ sudo lsof -i tcp:80
COMMAND PID   USER   FD   TYPE     DEVICE SIZE/OFF NODE NAME
Safari  804 gordon   16u  IPv4 0x05a2cec8      0t0  TCP 192.168.6.3:50542->stackoverflow.com:http (ESTABLISHED)
httpd   874   root    3u  IPv6 0x05a2a940      0t0  TCP *:http (LISTEN)
httpd   878   _www    3u  IPv6 0x05a2a940      0t0  TCP *:http (LISTEN)

Without the -i, it shows all open files; with just -i it shows network files only; if you specify something after the -i you can restrict by any or all of: IPv4/6, TCP/UDP, hostname or IP, and port number/service name.

share|improve this answer
add comment

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.