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.
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
abort
est un alias pourKernel.exit(false)
lequel se termine immédiatement l'exécution.exit
est un alias pourKernel.exit(true)
et lève l'SystemExit
exception, qui peut être interceptée.at_exit
Fonctionne également etfinalizers
est exécuté avant la fin.la source
abort
peut toujours se bloquer s'il y a des threads en attente. Si vous voulez vraiment terminer immédiatement, essayez:la source
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 bashgem install shutup
il trouvera le PID du serveur de rails et le tuera.
et vous pouvez également le faire
lsof -wi tcp:3000
au cas où vous n'auriez pas démarré le serveur sur un autre port sinon vous devriez changer le port3000
la source