No es que se cierre solo, es que termina y el comportamiento por defecto de un programa terminado es cerrarse. O lo inicias desde cmd o haces una pausa al final de tu programa, por ejemplo, usando alguna función que recoja algo por teclado de modo que hasta que no pulse intro no se terminará.