As configurações da guia "Desligamento" do NSSM controlam o que acontece quando o serviço recebe uma solicitação de parada. É improvável que as opções de processo Control-C e Terminate sejam úteis, mas como seu aplicativo está no .NET, ele deve receber e responder a WM_CLOSE
e / ou WM_QUIT
. Eu imagino que isso também é possível no .NET Core, embora eu não tenha certeza dos detalhes.
O Apache Commons Daemon pode ser mais adequado para você. Embora seja projetado principalmente para serviços escritos em Java, ele também pode executar executáveis arbitrários, e a opção --StopImage
permite executar uma linha de comando quando o serviço recebe uma solicitação de parada.
No entanto, seria mais elegante para seu aplicativo realmente ser um serviço, em vez de usar um wrapper de terceiros, como o NSSM ou o Apache Commons Daemon. Isso é fácil no .NET, mais difícil no .NET Core, mas uma pesquisa no Google apareceu Como criar o .NET Core Windows Serviços com o Visual Studio 2017 , o que deve ajudar você a começar.
Se você precisar de mais detalhes sobre como implementar um serviço diretamente, provavelmente deverá perguntar sobre o Stack Overflow, já que isso é mais sobre programação do Windows do que administração de sistemas.