Ever wondered what's running on a particular port? lsof
(list of open files)
is a handy command for asking questions like that. After all, in Unix-speak, a
socket is a file.
Handy as it is, I don't use lsof
often enough to remember its flags, so I
added this little alias to my zsh configuration.
# See what is listening on a given port: `whoport 80`
function whoport(){ lsof -i :$1 } # may need sudo
That should give you output something like this, which shows I have Redis running on port 6379 and some Ruby processes connected to it. (Note: this is on OSX.)
$: whoport 6379
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ruby 19109 yourname 13u IPv4 0xbaac0f9da5f0de31 0t0 TCP localhost:53398->localhost:6379 (ESTABLISHED)
ruby 19109 yourname 14u IPv4 0xbaac0f9da0621e31 0t0 TCP localhost:53399->localhost:6379 (ESTABLISHED)
redis-ser 19110 yourname 4u IPv4 0xbaac0f9da16b7649 0t0 TCP *:6379 (LISTEN)
redis-ser 19110 yourname 5u IPv4 0xbaac0f9da16c7649 0t0 TCP localhost:6379->localhost:53390 (ESTABLISHED)
...