Um serviço preso em Parando...
O snap-in mostra Parando e nunca sai do lugar. A resposta de sempre é o Gerenciador de Tarefas, um palpite sobre em qual svchost.exe ele vive e Finalizar tarefa - o que encerra também todos os outros serviços daquele processo, sem dizer quais eram.
Por que acontece
- O serviço não está respondendo ao pedido de parada. O Windows pede com educação e espera. Um serviço que travou, ou que espera algo que não vai voltar, nunca responde.
- Algo que depende dele ainda está em execução. O gerenciador recusa a parada em vez de quebrar o outro, e o snap-in mostra isso como uma espera.
- Ele divide o processo com outros. A maioria dos serviços do Windows vive dentro de um
svchost.execompartilhado. Encerrar esse processo encerra todos eles, que é exatamente o que o Gerenciador de Tarefas faz sem nomeá-los.
Olhe antes de encerrar qualquer coisa
Pergunte o que encerrá-lo levaria junto. Nada acontece até você tirar o --dry-run.
$ bws kill Spooler --dry-run
A pré-visualização nomeia o processo pelo número, nomeia todos os outros serviços que vivem nele e mostra duas etapas em vez de uma: pedir ao serviço que pare e, somente se isso não funcionar, encerrar o processo. Um serviço que para sozinho nunca é encerrado.
--forcepula a etapa educada e encerra o processo na hora. Muda o plano e não a execução dele, de modo que a pré-visualização mostra uma etapa em vez de duas e a diferença fica visível antes de qualquer coisa acontecer.--restarttraz tudo de volta depois que o processo some - a entrada sobre a qual você perguntou e tudo o que dividia o processo dela. Sem ele, a máquina fica com esses serviços parados, e o relatório diz como iniciá-los de novo.
- A recusa vem antes do botão. Um driver, um processo que o sistema protege, um serviço para o qual o gerenciador não aceita parada - recusados quando o plano é construído, com o motivo, em vez de depois de uma espera de sessenta segundos.
- Um aviso quando importa. Se a entrada é daquelas sem as quais a máquina não funciona, o plano diz isso - pará-la derruba a máquina, não só o serviço.
Encerrar um processo é a única coisa que esta ferramenta faz que ninguém pode recusar em nome da máquina. É por isso que é um comando próprio, por isso a pré-visualização nomeia todos os serviços que ele leva junto, e por isso a etapa educada vem primeiro, a menos que você diga o contrário.
A ordem mais segura
- Ver o que é.
bws show Spooler- o processo, o que depende dele, do que ele depende e se aceita pedidos de parada. - Tentar a parada comum, como plano.
bws stop Spooler --dry-run --dependents. Se a resposta for uma recusa, ela diz qual dos três motivos é. - Se não parar, olhar o que custa encerrá-lo.
bws kill Spooler --dry-run, e ler a lista de serviços que dividem aquele processo. - Depois fazer, com um caminho de volta.
bws kill Spooler --restart. O relatório termina com o que não funcionou e os comandos que colocam as coisas de volta.
Os quatro funcionam do mesmo jeito na janela: clique com o botão direito em uma linha, escolha Force stop..., leia o plano, e o botão embaixo tem o nome do que vai fazer.
Por que não usar simplesmente o Gerenciador de Tarefas
Porque ele responde a outra pergunta. O Gerenciador de Tarefas conhece processos e este problema é sobre serviços, e os dois não se correspondem um a um.
Um svchost.exe compartilhado pode guardar uma dúzia de serviços. O Gerenciador de Tarefas o encerrará sem dizer quais doze, nenhum volta sozinho e nada diz depois o que parou. Um EDR que sinaliza um processo encerrando o svchost.exe está fazendo o seu trabalho, e não consegue distinguir o seu clique de qualquer outro.