Agendando o início de um serviço após outro serviço

Agendando o início de um serviço após outro serviço

Eu tenho um serviço que precisa ser iniciado apenasDEPOISoutro serviço. Existe alguma maneira de configurar o serviço para iniciar apenas quando outro terminar de iniciar?

Obviamente, eu poderia usar um início atrasado ou escrever um script em lote para fazer isso, mas ambas são soluções confusas/temporárias. Então eu me perguntei se posso agendar para que isso aconteça de alguma forma?

Isso pode ser feito?

Responder1

Na minha experiência, a melhor maneira de criar dependências de serviço, sem vasculhar o registro (algo que não é seguro, seguro ou facilmente programável == repetível) é usar SC.exe - o utilitário de controle de serviço fornecido com todas as versões do Windows desde Win2003.

Você pode abrir uma janela de comando e digitar scpara obter ajuda completa, mas a essência é:

sc create newservice binpath= c:\nt\system32\newserv.exe type= own start= auto depend= "netbios"

Cria um novo serviço, denominado "newservice", aponta para o seu caminho, faz com que ele inicie automaticamente e o torna dependente do serviço NetBIOS.

Leia mais sobre SCaqui.

Responder2

Você tem que usar o editor de registro (até onde eu sei) para fazer o serviço depender do outro servidor. Localize odependenteservice em HKLM\SYSTEM\CurrentControlSet\servicese adicione um REG_MULTI_SZvalor chamado DependOnService. Coloque o nome do serviço (não o nome de exibição, mas o mesmo nome da chave de registro) como um valor.

Quando você reinicia agora, o Windows só iniciará seu serviço dependente depois que o serviço do qual você depende for iniciado. Da mesma forma, se o serviço do qual ele depende falhar ao iniciar, o serviço dependente também não será iniciado.

Responder3

Contanto que o serviço seja implantado corretamente no webcontainer, quando você inicia o Tomcat, ele inicia automaticamente o serviço como qualquer outro aplicativo da web. Esteja ciente de que o webservice implantado no webcontainer nada mais é do que um serviço envolvido em um servlet que procura solicitações SOAP por HTTP como qualquer outro servlet.

Responder4

Você poderia tornar o segundo serviço dependente do primeiro serviço e, em seguida, iniciar o segundo serviço em vez do primeiro serviço. O Windows garantirá que o primeiro serviço seja iniciado antes de iniciar o segundo serviço.

informação relacionada