La mejor manera de apagar con gracia un programa de línea de comandos de Java

Estoy interesado en diferentes enfoques para cerrar con gracia un programa de línea de comandos de Java. Enviar una señal de desactivación no es una opción.

Puedo pensar en algunos enfoques diferentes.

Abra un puerto y espere una conexión. Cuando se hace uno, apaga con gracia.Observe si se creará un archivo y luego apáguelo.Lea alguna entrada del terminal, como "ejecutar apagado".

El tercero no es ideal, ya que a menudo hay salida del programa bombeada a la pantalla. El primero requiere demasiado esfuerzo (soy perezoso). ¿La mayoría de los programadores usan la segunda opción? Si no, ¿qué más es posible / elegante / simple?

Respuestas a la pregunta(7)

Su respuesta a la pregunta