Arrêter l'exécution du script Ruby

103

Existe-t-il une méthode comme exitou dieen PHP qui arrête l'exécution d'un script Ruby?

adaxa
la source

Réponses:

103

Soit abortou exitaidera.

Glacial
la source
3
Comme @webwurst dit dans l'autre réponse, utilisez abort pour spécifier une fin d'échec du script et quittez pour une fin réussie.
Jrgns
85

abortest un alias pour Kernel.exit(false)lequel se termine immédiatement l'exécution.

exitest un alias pour Kernel.exit(true)et lève l' SystemExitexception, qui peut être interceptée. at_exitFonctionne également et finalizersest exécuté avant la fin.

Webwurst
la source
7

abortpeut toujours se bloquer s'il y a des threads en attente. Si vous voulez vraiment terminer immédiatement, essayez:

Process.kill 9, Process.pid
pguardiario
la source
0

Pour info pour ruby ​​on rails, vous pouvez simplement utiliser cette gemme shutup, dans le répertoire rails exécutez cette commande dans le terminal bash

gem install shutup

il trouvera le PID du serveur de rails et le tuera.

et vous pouvez également le faire lsof -wi tcp:3000au cas où vous n'auriez pas démarré le serveur sur un autre port sinon vous devriez changer le port3000

m1 e1r0r
la source