Ho un server Windows 2008R2 con NSClient ++. Per qualche ragione il servizio ha cambiato i suoi mutandoni e ha smesso di rispondere al sondaggio di Nagios.
Quando ho provato a riavviare il servizio, il gestore del servizio impiega molto tempo per provare a terminare il servizio, quindi alla fine rinuncia a un messaggio sulla falsariga di "il servizio ha impiegato troppo tempo per rispondere". Ma ... avvia anche una nuova istanza del servizio.
Se guardo in Task Manager o tasklist
ora posso vedere due istanze di nsclient++.exe
esecuzione.
Ho provato a uccidere entrambi usando:
tasto destro del mouse e "Termina processo" in Gestione attività - finge di interrompere il processo e non segnala errori (ad esempio Accesso negato) ma il processo è ancora lì.
taskkill /PID <proc id> /F
- segnalaSUCCESS: The process with PID 6672 has been terminated.
ma il processo è ancora in esecuzione.scaricato SysInternals PsTools ed eseguito
pskill <PID>
- rapportiProcess <PID> killed
- eppure il processo è ancora lì.esegui
at hh:mm pskill <PID>
perpskill
farlo come l'SYSTEM
account ... e hai indovinato che il processo è ancora in esecuzione.
Tutto quanto sopra è stato eseguito nel prompt dei comandi dell'amministratore.
A parte un riavvio che non è proprio l'ideale (la scatola è un server di produzione abbastanza mission-critical), cos'altro posso provare?
Il server non subisce alcuna pressione delle risorse (memoria, CPU, disco, ecc.) E tutto ciò che lo sta eseguendo sta andando bene.
Come una rapida occhiata alla scheda discussioni in SysInternals Process Explorer mostra che tutte queste nsclient++.exe
istanze sono bloccate durante lo scaricamento:
A parte questo, ho anche provato a uccidere tutte le connessioni TCP per questi processi zombie (?) (Con TCPView) nella speranza di poter avviare una nuova istanza e che sarebbe in grado di afferrare la porta 5666. Quindi potremmo riavviare il server quando le cose sono più tranquille, ma purtroppo non ha funzionato.
Stack
, come appare lo stack per i thread bloccati?