shutdown hook doesn't fire when running with "lein run"
clojure, clojure-java-interop, leiningen, shutdown-hook
Solution
Have you tried running it with trampoline?
lein trampoline run
Seems to work for me.
AFAIK "lein trampoline" doesn't nest the JVM, so your Ctrl-C isn't caught by leiningen, but by your code.
Problem
I have the following code: ``` (ns test-hook.core) (defn -main [] (.addShutdownHook (Runtime/getRuntime) (Thread. #(println "shutdown"))) (println "start") (doseq [i (range 1 6)] (Thread/sleep 1000) (println i))) ``` and the following 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"]]) ``` when I run it with "lein run" the shutdown hook only gets executed on normal program execution, not when receiving SIGINT (Ctrl-C) the same code when ran outside of lein successfully executes the shutdown hook even when receiving SIGINT. how can I have the shutdown hook executed when running from lein and aborting with Ctrl-C?