Eu tenho um servidor Windows 2008R2 executando o NSClient ++. Por alguma razão, o serviço alterou suas calcinhas e parou de responder às pesquisas do Nagios.
Quando tentei reiniciar o serviço, o gerente de serviço leva muito tempo para tentar matá-lo e, em seguida, desiste de uma mensagem parecida com "o serviço demorou muito para responder". Mas ... também inicia uma nova instância do serviço.
Se eu procurar no Gerenciador de tarefas ou tasklist
agora posso ver duas instâncias de nsclient++.exe
execução.
Eu tentei matar os dois usando:
clique direito e "Finalizar processo" no gerenciador de tarefas - finge interromper o processo e não reporta erros (por exemplo, Acesso negado), mas o processo ainda está lá.
taskkill /PID <proc id> /F
- relatórios,SUCCESS: The process with PID 6672 has been terminated.
mas o processo ainda está em execução.baixou o SysInternals PsTools e executou
pskill <PID>
- relatóriosProcess <PID> killed
- mas o processo ainda está lá.execute
at hh:mm pskill <PID>
parapskill
fazer isso como aSYSTEM
conta ... e você adivinhou que o processo ainda está em execução.
Todos os itens acima foram executados em um prompt de comando do administrador.
Além de uma reinicialização que não é realmente ideal (a caixa é um servidor de produção bastante crítico), o que mais posso tentar?
O servidor não está sob nenhuma pressão de recurso (memória, CPU, disco, etc.) e tudo o que está sendo executado está funcionando perfeitamente.
Uma rápida olhada na guia de threads no SysInternals Process Explorer mostra que todas essas nsclient++.exe
instâncias estão descarregando emperradas:
Além disso, eu também tentei matar todas as conexões TCP para esses processos zumbi (?) (Com TCPView) na esperança de poder iniciar uma nova instância e poder pegar a porta 5666. Em seguida, poderíamos reiniciar o servidor quando as coisas estão mais calmas, mas infelizmente isso não funcionou.
Stack
, como é a pilha dos threads presos?