The Non-Sucking Service Manager, algo así como el Administrador de Servicios que no Apesta.

NSSM, del autor Iain Patterson, es una utilidad que utiliza la API de Windows y convierte una app en un servicio de Windows, lo monitorea y reincia si éste se muere. Ah, y también escribe en los eventos del sistema.

NSSM es open source y está disponible en modo de release, en código fuente e incluso como paquete de Chocolatey

Esta herramienta me dio la posibilidad de convertir una app de línea de comando que usaba conjunto al Tareas Programadas de Windows, lo cual si bien es confiable, éstas tareas muchas veces dejan de correr en muchas ocaciones. Luego de adaptar la aplicación parar correr indefinidamente (-y no a cierto horario-), la instalé como servicio usando NSSM.

The Non-Sucking Service Manager posee una interfaz de usuario opcional, ya que la configuración básica se puede hacer desde la terminal.

Si ejecutamos nssm.exe desde el modo gráfico, veremos las indicaciones del autor:

NSSM

Entonces, a modo de ejemplo creamos el servicio servicio_demo en el modo asistente, esto es, sólo pasandole el nombre del servicio que queremos crear:

Nota: Requiere elevación de privilegios

PS> nssm install servicio_demo

NSSM

Repasaré todas las opciones en el futuro, pero los dejo con lo básico.

Seleccionamos el Path, el ejecutable y el Startup directory, que en el 99% de los casos es la misma ruta dónde reside el ejecutable (pero se agradece la opción!); y los argumentos, en caso de ser necesarios.

Con esas 3 cosas, podemos Install Service y ya nos quedará disponible. Sólo nos queda iniciarlo ya que se crea en estado Detenido.

Helas