Отключающий крюк не срабатывает при работе с «lein run»
У меня есть следующий код:
(ns test-hook.core)
(defn -main []
(.addShutdownHook (Runtime/getRuntime) (Thread. #(println "shutdown")))
(println "start")
(doseq [i (range 1 6)]
(Thread/sleep 1000)
(println i)))
и следующий project.clj
(defproject test-hook "1.0.0-SNAPSHOT"
:aot :all
:main test-hook.core
:description "FIXME: write description"
:dependencies [[org.clojure/clojure "1.2.0"]])
когда я запускаю его с «lein run» хук завершения работы выполняется только при нормальном выполнении программы, а не при получении SIGINT (Ctrl-C)
тот же код, когда он выходит за пределы lein, успешно выполняет ловушку отключения даже при получении SIGINT.
как можно выполнить хук отключения при запуске из lein и прерывании работы с помощью Ctrl-C?