Beenden Sie die Ausführung des Ruby-Skripts

102

Gibt es eine Methode wie exitoder diein PHP, die die Ausführung eines Ruby-Skripts stoppt?

adaxa
quelle

Antworten:

103

Entweder abortoder exitwird helfen.

Icid
quelle
3
Wie @webwurst in der anderen Antwort sagt, verwenden Sie abort, um ein fehlgeschlagenes Ende des Skripts anzugeben, und beenden Sie das Programm für ein erfolgreiches Ende.
Jrgns
84

abortist ein Alias, für Kernel.exit(false)den die Ausführung sofort beendet wird.

exitist ein Alias ​​für Kernel.exit(true)und löst die SystemExitAusnahme aus, die abgefangen werden kann. Auch at_exitFunktionen und finalizerssind vor Beendigung laufen.

Webwurst
quelle
7

abortkann immer noch hängen, wenn Threads warten. Wenn Sie wirklich sofort beenden möchten, versuchen Sie:

Process.kill 9, Process.pid
pguardiario
quelle
0

Zu Ihrer Information für Ruby on Rails können Sie dieses Juwel einfach verwenden. shutupFühren Sie im Rails-Verzeichnis diesen Befehl im Bash-Terminal aus

gem install shutup

Es findet die PID des Rails-Servers und beendet sie.

Sie können dies auch tun, lsof -wi tcp:3000wenn Sie den Server nicht an einem anderen Port gestartet haben. Andernfalls sollten Sie den Port ändern3000

m1 e1r0r
quelle