nssm monitora a execução do serviço e tentará reinicia-lo mediante alguma falha.
A promessa é que, com nssm, existe a certeza de que se um serviço está marcado como 'Em Execução', então ele realmente estará.
nssm registra logs no sistema de eventos do Windows, de tal forma que é possível acompanhar o comportamento de uma aplicação.
Para facilitar a configuração do serviço, nssm também possui uma interface gráfica.
Exclusão de serviço também é bem simples com nssm.
Instalação
Não é necessário instalar o nssm. Apenas, descompacte o arquivo e adicione uma chave no PATH.
A versão utilizada foi a 2.24.
Instalando um serviço
Para instalação de um serviço, use o comando:
nssm install
Uma janela contendo várias abas será exibida. Cada aba possui diversos parâmetros, sendo que a maioria já possui valores padrão. De tal forma, que é possível instalar um serviço apenas configurando a aba Aplicação (Application).
O exemplo a seguir é de um serviço que executa uma aplicação java. Ainda é possível verificar a passagem de parâmetros para a VM.
Após instalar o serviço com sucesso, confirme na ferramenta de controle de Serviços do Windows.
O comando equivalente para instalar o serviço é:
nssm install service-example "C:\Program Files\Java\jdk1.8.0_131\bin\java.exe" "-DBASE_LOG_PATH=C:\logs -jar C:\service-example.jar"
nssm set service-example AppDirectory "C:\PASTA_DO_APP"
#Melhor especificar uma pasta diferente de C:\Program Files\Java\jdk1.8.0_131\bin\