Allora due cose da dire 1) non stiamo parlando di GUI 2) il tuo programma deve invocare i processi esplicitamente (almeno uno cioè quello principale) 3) Prevederei una uscita alternativa al brutale ctrl+c se possibile.
Detto questo devi usare la "trappola" per lo shutdown che sarebbe il metodo <i>addShutdownHook</i> della classe java.lang.Runtime. Trovi una esempio dettagliato qua:
http://www.esus.com/docs/GetQuestionPage.jsp?uid=39
e qua ma è poca roba (accetta l'https):
https://lists.xcf.berkeley.edu/lists/advanced-java/2000-August/011724.html
Se non fai così il tuo programma è alla mercé del ctrl+c visto che si tratterebe di un segnale di SO a chudersi (dopotutto il ctrl+c si usa per sbloccare i programmai piantatati).
Chip