Parar o serviço do Windows não mata processos (o serviço usa ant)

7

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?

    
por user35042 08.10.2011 / 01:01

3 respostas

6

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.

    
por 08.10.2011 / 15:00
2

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.

    
por 08.10.2011 / 06:21
1

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 ...

    
por 08.10.2011 / 18:49