Encontre um processo que esteja escutando uma porta

Se às vezes, você fica deprimido porque o comando do servidor rails insiste em dizer a você que uma determinada porta já está em uso. Mas você tem certeza de fechar todo o processo Ruby?

Eu tenho uma dica para você.

Provavelmente, o processo foi desconectado do console, mas continua rodando em background, ou existe algum processo inicializado que você não sabe da existência, usando tal porta.

Normalmente tento resolver esse tipo de problema usando lsof , que é um comando nativo para MacOSX e Linux, que informa quais arquivos estão anexados a uma porta específica. Para saber mais sobre isso, consulte a página de manual http://unixhelp.ed.ac.uk/CGI/man-cgi?lsof+8

Então, você pode fazer algo assim:

$ lsof -i :80
COMMAND PID USER FD TYPE DEVICE SIZE
/OFF NODE NAME
apache2
511 www-data 3u IPv4 6470920 0t0 TCP *:www (LISTEN)
apache2
524 www-data 3u IPv4 6470920 0t0 TCP *:www (LISTEN)

Essa foi a minha primeira dica, e espero ter muito mais para compartilhar.

Felicidades.