Reiniciar el servidor de Rails

Algunas veces cuando estamos trabajando en Rails, el servidor Webrick queda activo en memoria, aún cuando supuestamente hemos matado el proceso con CTRL+C, lo que hace que al querer iniciarlo, obtengamos un error diciendo que el puerto 3000 está ya en uso


usuario@servidor:~/Labs/prototipo$ rails s
=> Booting WEBrick
=> Rails 3.1.3 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-12-30 11:21:01] INFO WEBrick 1.3.1
[2011-12-30 11:21:01] INFO ruby 1.9.2 (2011-07-09) [x86_64-linux]
[2011-12-30 11:21:01] WARN TCPServer Error: Address already in use - bind(2)
Exiting
/home/usuario/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/utils.rb:73:in `initialize': Address already in use - bind(2) (Errno::EADDRINUSE)

La solución? Pues sacar la pistola y matar el proceso ‘a mano’

$ lsof -wni tcp:3000

Eso nos dirá qué proceso está usando el puerto 3000 y su PID (ID del Proceso). Luego, usando ese PID ejecutamos

$ kill -9 PID

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *