Detener la ejecución del script Ruby

102

¿Existe un método como exito dieen PHP que detenga la ejecución de un script Ruby?

adaxa
fuente

Respuestas:

103

Ya sea aborto exitserá de ayuda.

Icid
fuente
3
Como dice @webwurst en la otra respuesta, use abortar para especificar un final fallido del script y salga para un final exitoso.
Jrgns
84

abortes un alias Kernel.exit(false)cuya ejecución finaliza inmediatamente.

exites un alias para Kernel.exit(true)y genera la SystemExitexcepción, que puede detectarse. También at_exitfunciona y finalizersse ejecuta antes de la terminación.

webwurst
fuente
7

aborttodavía se puede colgar si hay hilos esperando. Si realmente desea terminar de inmediato, intente:

Process.kill 9, Process.pid
pguardiario
fuente
0

FYI para ruby ​​on rails, simplemente puede usar esta gema shutup, en el directorio rails ejecute este comando en la terminal bash

gem install shutup

encontrará el PID del servidor de rieles y lo matará.

y también puede hacerlo lsof -wi tcp:3000en caso de que no haya iniciado el servidor en otro puerto, de lo contrario, debe cambiar el puerto3000

m1 e1r0r
fuente