diff --git a/README.md b/README.md index 4cd8f5d..9fa0332 100644 --- a/README.md +++ b/README.md @@ -142,6 +142,7 @@ smart people at [Hashrocket](http://hashrocket.com/). - [All The Environment Variables](zsh/all-the-environment-variables.md) - [Cat A File With Line Numbers](zsh/cat-a-file-with-line-numbers.md) +- [Check If A Port Is In Use](zsh/check-if-a-port-is-in-use.md) - [Clear The Screen](zsh/clear-the-screen.md) - [Create A File Descriptor with Process Substitution](zsh/create-a-file-descriptor-with-process-substitution.md) - [Killing A Frozen SSH Session](zsh/killing-a-frozen-ssh-session.md) diff --git a/zsh/check-if-a-port-is-in-use.md b/zsh/check-if-a-port-is-in-use.md new file mode 100644 index 0000000..fbc4e05 --- /dev/null +++ b/zsh/check-if-a-port-is-in-use.md @@ -0,0 +1,18 @@ +# Check If A Port Is In Use + +The `lsof` command is used to *list open files*. This includes listing +network connections. This means I can check if a particular port is in use +and what process is using that port. For instance, I can check if my rails +application is currently running on port 3000. + +``` +$ lsof -i TCP:3000 +COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME +ruby 13821 jbranchaud 12u IPv6 0xdf2e9fd346cc12b5 0t0 TCP localhost:hbci (LISTEN) +ruby 13821 jbranchaud 13u IPv4 0xdf2e9fd33ca74d65 0t0 TCP localhost:hbci (LISTEN) +``` + +I can see that a ruby process (my rails app) is using port 3000. The PID +and a number of other details are included. + +See more details with `man lsof`.