Jak @webwurst mówi w drugiej odpowiedzi, użyj abort, aby określić nieudane zakończenie skryptu i zakończ, aby zakończyć pomyślnie.
Jrgns
85
abortjest aliasem, Kernel.exit(false)którego wykonanie natychmiast kończy wykonywanie.
exitjest aliasem Kernel.exit(true)i zgłasza SystemExitwyjątek, który może zostać przechwycony. at_exitDziała również i finalizerssą uruchamiane przed zakończeniem.
abort
jest aliasem,Kernel.exit(false)
którego wykonanie natychmiast kończy wykonywanie.exit
jest aliasemKernel.exit(true)
i zgłaszaSystemExit
wyjątek, który może zostać przechwycony.at_exit
Działa również ifinalizers
są uruchamiane przed zakończeniem.źródło
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:źródło
FYI dla ruby on rails, możesz po prostu użyć tego klejnotu
shutup
, w katalogu rails uruchom to polecenie w terminalu bashgem 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
źródło