Desafortunadamente, a SRVANY é uma merda. Existe uma alternativa que é o "Gerenciador de serviços não-sugadores" (NSSM) - ele encerrará sua inscrição e todas as crianças processos no sinal de parada de serviço.
Eu tenho um serviço do Windows no Windows Server 2008 R2 que eu configurei usando instsrv
no executável srvany.exe
. Os três valores na chave Parameters
são definidos da seguinte maneira:
AppDirectory C:\selenium-grid
Application C:\ant\bin\ant.bat
AppParameters launch-hub
O serviço inicia bem e dois processos Java aparecem no Gerenciador de Tarefas quando ele é iniciado (um processo é formiga e o outro é uma classe Java iniciada por ant). Quando eu paro o serviço, o status do serviço muda para parado, mas os dois processos Java não desaparecem.
Como faço para que os processos parem quando paro o serviço?
Desafortunadamente, a SRVANY é uma merda. Existe uma alternativa que é o "Gerenciador de serviços não-sugadores" (NSSM) - ele encerrará sua inscrição e todas as crianças processos no sinal de parada de serviço.
Infelizmente, o srvany.exe não fornece nenhum método para matar o (s) processo (s) quando o serviço é interrompido, portanto, basicamente, as opções são: (a) procurar uma alternativa de terceiros que forneça essa funcionalidade ou (b) ) escreva esse substituto você mesmo.
Talvez outro leitor saiba sobre uma boa alternativa de terceiros, ou você pode ter sorte com uma pesquisa no Google. Se você decidir ir com a opção (b) eu posso ser capaz de lhe dar uma vantagem, então me mande um e-mail se você quiser - meu endereço está no meu perfil. Ou você poderia postar uma pergunta no StackOverflow.
O Srvany tem algumas falhas bem conhecidas, uma das quais não encerra o processo começa .
Não deixe de ler sobre outros possíveis problemas em esta página, comparando o Srvany ao AlwaysUp (nosso aplicativo comercial que fechará todos os sub-processos como você espera) para reduzir as surpresas ...