Guia

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

  • --force pula 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.
  • --restart traz 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

  1. Ver o que é. bws show Spooler - o processo, o que depende dele, do que ele depende e se aceita pedidos de parada.
  2. 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 é.
  3. 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.
  4. 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.