gancho de desligamento não dispara ao executar com "lein run"

Eu tenho o seguinte código:

(ns test-hook.core)

(defn -main []
  (.addShutdownHook (Runtime/getRuntime) (Thread. #(println "shutdown")))
  (println "start")
  (doseq [i (range 1 6)]
    (Thread/sleep 1000)
    (println i)))

e o seguinte projeto.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"]])

quando eu o executo com "lein run" o gancho de desligamento só é executado na execução normal do programa, não quando estiver recebendo o SIGINT (Ctrl-C)

o mesmo código, quando executado fora de lein, executa com sucesso o gancho de encerramento, mesmo quando recebe SIGINT.

Como posso ter o gancho de desligamento executado ao executar a partir de lein e abortar com Ctrl-C?

questionAnswers(1)

yourAnswerToTheQuestion