Всем привет. Вопрос к знатокам. Подскажите что делаю не так. Написал два одинаковых обработчика сигналов, но первый, который ловит SIGTERM отрабатывает нормально, а вот второй, который ловит SIGINT не отрабатывает совсем. То есть и не исполняеться, и не выдаёт ошибку.
Signal.trap("SIGTERM") do
log.write("Got a signal (SIGTERM). Terminating.")
@logfile.close
@database.close
abort "Terminating..."
end
# => "DEFAULT"
Signal.trap("SIGINT") do
log.write("Got a signal (SIGINT). Interrupting execution.")
@logfile.close
@database.close
abort "Interrupting execution..."
end
# => #<Proc:0x00000000054b36d8@C:/Ruby26-x64/lib/ruby/2.6.0/irb.rb:422>
В процессе изучении ситуации, я прогнал этот код построчно в irb и на выходе получил разный результат (собственно он и указан в коментариях после блоков с кодом). Нутром чую что подвох кроется в этом, но видимо мне не хватает каких то теоритических знаний.