tutorial software rails ejemplos descargar curso caracteristicas ruby-on-rails

ruby on rails - software - No se puede detener el servidor de rieles



ruby on rails tutorial (18)

Además, asegúrese de estar haciendo el comando Cntrl + C en el mismo terminal (pestaña) que se utiliza para iniciar el servidor.

En mi caso, tenía 2 pestañas, pero me olvidé de detener el servidor de la pestaña correcta y me preguntaba por qué Cntrl + C no funciona.

Soy nuevo en rails y estoy usando una máquina ubuntu y el IDE rubymine. El problema es que no puedo detener el servidor de los rieles. Traté de detener el servidor matando el proceso de los rieles. Pero, cuando ejecuto pgrep -l rails , no se encuentra tal proceso. Entonces, solo puedo matar procesos de ruby, pero el servidor no se detiene.

Intenté ./script/server stop (desde que lo inicié ejecutando ./script/server start ), pero eso no funcionó. Busqué en Google y encontré algunas publicaciones stackoverflow, intenté cambiar el puerto de escucha del puerto localhost pero sin éxito. ¿Alguien podría ayudar?


Ctrl-Z normalmente debería hacer el truco.


Cuando el servidor Rails no se inicia significa que ya se está ejecutando, entonces puede comenzar utilizando un nuevo puerto, por ejemplo.

rails s -p 3001

o se inicia y se detiene en el caso de que desee eliminar la carpeta temporal en la estructura de directorios de los rieles , inicia el servidor de rieles.


Elimine server.pid de la carpeta tmp / pids. En mi caso, el error fue: Un servidor ya se está ejecutando. Compruebe /home/sbhatta/myapp/tmp/pids/server.pid.

Entonces, elimino server.pid

rm /home/sbhatta/myapp/tmp/pids/server.pid luego ejecuta rails s


En mi MAC, los killall -9 rails no funcionan. Pero killall -9 ruby hace.


Es tarde para esta pregunta. Aquí está mi 2 centavos. Hice una tarea de rake para detener el servidor cuando no tengo acceso a él. Pero solo probé en Mac.

Con esto, simplemente puede agregarlo a su proyecto y luego ejecutar el comando rake.

Aqui tienes:

Enlace de Gist: la versión más pequeña estará aquí. https://gist.github.com/houmanka/289184ca5d8d92de0499#file-server-rake

Algún código aquí:

# Make a file under: `project_root/lib/tasks/server.rake` # Then paste the following code namespace :server do desc "Stop the running server by killing the PID" task :kill do STDOUT.puts "Enter port number: " post_number = STDIN.gets.strip system "pid=$(lsof -i:#{post_number.to_i} -t); kill -TERM $pid || kill -KILL $pid" end end # Then to use it in the terminal: `rake server:kill`


Generalmente uso:

killall ruby

O

pkill -9 ruby

que matará a todos los procesos relacionados con ruby ​​que se están ejecutando como rails server rails console , rails console , etc.


Lo he notado en Windows (estoy usando 10 pero no estoy seguro si lo mismo para oler). Si usa cmd.exe y ctrl + c, el servidor Raisl se detiene correctamente.

Sin embargo, si usas Git Bash, no es así. Dice que sí, pero cuando observas las tmp pids, sigue ahí.

Tal vez un error con git bash?


Los siguientes son los pasos para matar el proceso del servidor:

1. lsof -i tcp:3000

2. kill -9 1234

donde 1234 es el PID del proceso: localhost: 3000 en el paso 1.

O

Elimine el archivo (server.pid) en Rails.root/tmp/pids/ y reinicie el servidor.

O

abra la aplicación en otro puerto usando el comando:

rails s -p 3001


Puede usar otros puertos como los siguientes:

rails server -p 3001

Normalmente en su terminal puede intentar Ctrl + C para apagar el servidor.

La otra forma de matar el servidor predeterminado de Ruby on Rails (que es WEBrick ) es:

kill -INT $(cat tmp/pids/server.pid)

En su terminal para averiguar el PID del proceso:

$ lsof -wni tcp:3000

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

Por ejemplo:

$ kill -9 PID

Y algunas de las otras respuestas que encontré son:

Para detener el servidor de rieles mientras se está ejecutando, presione:

CTRL-C CTRL-Z

Tendrás control de vuelta a bash . Luego escribe (sin $ ):

$ fg

Y esto volverá al proceso, y luego saldrá de Rails s correctamente.

Es un poco molesto, pero esto es mejor que matar el proceso manualmente. No es tan malo y es lo mejor que pude descubrir.

Respuesta actualizada:

Puede usar los killall -9 rails para matar todas las aplicaciones en ejecución con " rails " en el nombre.

killall -9 rails


Una manera muy fácil sería

gem install shutup

luego ve a la carpeta actual de tu proyecto de carriles y ejecuta

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

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

DICLAIMER: Soy el creador de esta joya

NOTA: si está utilizando rvm instale la gema globalmente

rvm @global do gem install shutup


Use ctrl+c para apagar su servidor Webrick.

Lamentablemente, si no funciona, cierre con fuerza el terminal y reinícielo.

Otro truco es que

1. open your system-monitor(a gui application) on ubuntu 2. Select processes tab 3. Then look for a process having name ''ruby'' 4. End that process


puedes usar el comando grep de la siguiente manera,

ps aux | grep rails

y entonces

kill -9 {process_id}


revisa el /tmp/tmp/server.pid

hay un pid dentro.

Por lo general, haré "matar -9 THE_PID" en el cmd


killall -9 rails como sugirió Sri y no funcionó. Ajusté el comando para killall -9 ruby y el servidor se cerró de inmediato.

Tl; dr: killall -9 ruby


pkill -9 rails para matar todo el proceso de rieles

Respuesta actualizada

ps aux|grep ''rails''|grep -v ''grep''|awk ''{ print $2 }''|xargs kill -9

Esto matará cualquier proceso de raíles en funcionamiento. Reemplaza los "rieles" con otra cosa para eliminar cualquier otro proceso.


1. Simplemente elimine el archivo pid del directorio de la aplicación Rails

Rails_app -> tmp -> pids -> pid file

Eliminar el archivo y ejecutar

rails start

2. Para Rails 5.0 y superior, puede usar este comando

rails restart


Paso 1: encuentre cuáles son los artículos que consumen 3000 puertos.

lsof -i:3000

Paso 2: Encuentra el proceso llamado

Para Mac

ruby TCP localhost:hbci (LISTEN)

Para Ubuntu

ruby TCP *:3000 (LISTEN)

Paso 3: Encuentra el PID del proceso y mátalo.

kill -9 PID