Odpowiedzi:
abort
jest aliasem, Kernel.exit(false)
którego wykonanie natychmiast kończy wykonywanie.
exit
jest aliasem Kernel.exit(true)
i zgłasza SystemExit
wyjątek, który może zostać przechwycony. at_exit
Działa również i finalizers
są uruchamiane przed zakończeniem.
abort
nadal może się zawiesić, jeśli są wątki, które oczekują. Jeśli naprawdę chcesz natychmiast zakończyć działanie, spróbuj:
Process.kill 9, Process.pid
FYI dla ruby on rails, możesz po prostu użyć tego klejnotu
shutup
, w katalogu rails uruchom to polecenie w terminalu bash
gem install shutup
znajdzie PID serwera rails i go zabije.
a także możesz to zrobić lsof -wi tcp:3000
na wypadek, gdybyś nie uruchomił serwera na innym porcie, w przeciwnym razie powinieneś zmienić port3000