Відповіді:
abort
псевдонім, Kernel.exit(false)
який негайно припиняє виконання.
exit
є псевдонімом Kernel.exit(true)
і викликає SystemExit
виняток, який може бути спійманий. Також at_exit
функціонує і finalizers
запускається до припинення.
abort
все ще може повіситись, якщо чекають теми. Якщо ви дійсно хочете припинити негайно, спробуйте:
Process.kill 9, Process.pid
FYI для рубіну на рейках, ви можете просто скористатися цією дорогоцінною каменем
shutup
, в каталозі rails запустіть цю команду в терміналі bash
gem install shutup
він знайде PID сервера рейлів і вб'є його.
а також ви можете це зробити, lsof -wi tcp:3000
якщо ви не запустили сервер на іншому порту, інакше вам слід змінити порт3000