Это работает только в Windows.
at_exit
Идентификатор процесса, quit
, is unpredictable. However, this will always kill the currently running script, while printing an error message bordered by an unpredictable character like this:
exit
Конечно, ##################################################
# KILLING SCRIPT #
##################################################
or $$
сделайте то же самое, но этот принудительно убивает Ruby с помощью ОС! И это тоже обходит стороной if aTerribleErrorOccurredAndWeNeedToKillTheScriptNow
c = ($$ % 94 + 33).chr
puts "#{c * 50}\n#{c + "KILLING SCRIPT".center(48) + c}\n#{c * 50}"
`taskkill /PID #{$$} /F`
end
handlers.