Respostas:
abort
é um alias para o Kernel.exit(false)
qual termina a execução imediatamente.
exit
é um alias para Kernel.exit(true)
e levanta a SystemExit
exceção, que pode ser detectada. Também at_exit
funciona e finalizers
é executado antes do encerramento.
abort
ainda pode travar se houver tópicos em espera. Se você realmente deseja encerrar imediatamente, tente:
Process.kill 9, Process.pid
Para sua informação, para ruby on rails, você pode simplesmente usar esta gema
shutup
, no diretório rails, execute este comando no terminal bash
gem install shutup
ele encontrará o PID do servidor Rails e o matará.
e você também pode fazer isso com lsof -wi tcp:3000
caso não tenha iniciado o servidor em outra porta, caso contrário, você deve alterar a porta3000