Zatrzymaj wykonywanie skryptu Ruby


103

Czy istnieje metoda, taka jak exitlub diew PHP, która zatrzymuje wykonywanie skryptu Ruby?

Odpowiedzi:


103

Albo abortczy exitpomoże.


3
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.


7

abortnadal 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

0

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:3000na wypadek, gdybyś nie uruchomił serwera na innym porcie, w przeciwnym razie powinieneś zmienić port3000

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.