una rutas rails que paso mundo hola estructura crear comandos botones aplicacion ruby-on-rails

ruby on rails - rutas - El servidor de Rails dice que el puerto ya está usado, ¿cómo matar ese proceso?



rails paso a paso (9)

Algunas veces existe la posibilidad de que el servidor de rieles no se cierre correctamente. Se puede encontrar el proceso utilizado por los rieles.

ps aux | carriles grep

La salida será como

user 12609 9.8 0.5 66456 45480 pts/0 Sl+ 21:06 0:02 /home/user/.rvm/rubies/ruby-2.2.0-preview1/bin/ruby bin/rails s

Aquí se utiliza process_id 12609 por su servidor de rieles.

Puedes matarlo fácilmente por comando

matar -9 12609

Estoy en un mac, haciendo:

servidor de rieles

Yo obtengo:

2010-12-17 12:35:15] INFO WEBrick 1.3.1 [2010-12-17 12:35:15] INFO ruby 1.8.7 (2010-08-16) [i686-darwin10.4.0] [2010-12-17 12:35:15] WARN TCPServer Error: Address already in use - bind(2) Exiting

Sé que puedo comenzar uno en un nuevo puerto, pero quiero terminar este proceso.


Debe obtener el ID de proceso del programa usando el puerto 3000 de TCP. Para obtener el ID de proceso

lsof -i tcp:3000 -t

Y luego, utilizando ese identificador de proceso, simplemente elimine el proceso utilizando el comando kill de ubuntu.

kill -9 pid

O simplemente ejecute el comando de combinación mencionado anteriormente. Primero buscará pid y luego matará ese proceso.

kill -9 $(lsof -i tcp:3000 -t)


Escribir:

man lsof

Luego busca -w, -n, y -i

-i: cosas de internet -n: lo hace más rápido -w: alterna las advertencias

Hay muchos más detalles en las páginas del manual.


Para cualquier persona que se encuentre con esta pregunta que no está en una Mac: suponiendo que sepa que su servidor se está ejecutando en el puerto 3000, puede hacerlo de una sola vez ejecutando lo siguiente:

fuser -k 3000/tcp

Pero como mencionó Toby, la implementación del fusor en Mac OS es bastante primitiva y este comando no funcionará en mac.


Si estás en Windows Machine sigue estos pasos.

c:/project/ cd tmp c:/project/tmp cd pids c:/project/tmp/pids dir

Ahí encontrarás un archivo llamado server.pid

bórralo.

c:/project/tmp/pid> del *.pid

Eso es.

EDITAR: por favor refiérase a esto


Suponiendo que está buscando matar a cualquier cosa que esté en el puerto 3000 (que es lo que normalmente utiliza webrick), escriba esto en su terminal para averiguar el PID del proceso:

$ lsof -wni tcp:3000

Luego, use el número en la columna PID para finalizar el proceso:

$ kill -9 PID


Todas las respuestas anteriores son realmente buenas, pero necesitaba una forma de escribir lo menos posible en el terminal, así que creé una gema para eso. Puedes instalar la gema solo una vez y ejecutar el comando ''shutup'' cada vez que quieras finalizar el proceso de Rails (mientras estés en la carpeta actual).

gem install shutup

Luego vaya a la carpeta actual de su proyecto de rieles y ejecute

shutup # esto matará el proceso de Rails actualmente en ejecución

Puedes usar el comando ''shutup'' cada vez que quieras

DICLAIMER: Soy el creador de esta gema

NOTA: si está utilizando rvm, instale la gema globalmente

rvm @global do gem install shutup


ps aux | grep rails usa este comando puedes matar el servidor


kill -9 $(lsof -i tcp:3000 -t)