Pagina inicial » como » O que é o processo do host de serviço (svchost.exe) e por que tantos correm?

    O que é o processo do host de serviço (svchost.exe) e por que tantos correm?

    Se você já navegou pelo Gerenciador de Tarefas, talvez tenha se perguntado por que existem tantos processos do Host de Serviço em execução. Você não pode matá-los, e com certeza não os iniciou. Então, o que eles são?

    O processo Host de Serviço serve como um shell para carregar serviços de arquivos DLL. Os serviços são organizados em grupos relacionados e cada grupo é executado dentro de uma instância diferente do Processo do Host de Serviço. Dessa forma, um problema em uma instância não afeta outras instâncias. Esse processo é uma parte vital do Windows que você não pode impedir de executar. 

    Este artigo faz parte de nossa série em andamento explicando vários processos encontrados no Gerenciador de Tarefas, como dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe e muitos outros. Não sabe quais são esses serviços? Melhor começar a ler!

    Então, o que é o processo do host de serviço?

    Aqui está a resposta, segundo a Microsoft:

    Svchost.exe é um nome de processo de host genérico para serviços executados a partir de bibliotecas de vínculo dinâmico.

    Mas isso não nos ajuda muito. Algum tempo atrás, a Microsoft começou a mudar grande parte da funcionalidade do Windows de depender de serviços internos do Windows (que eram executados a partir de arquivos EXE) para usar arquivos DLL. De uma perspectiva de programação, isso torna o código mais reutilizável e possivelmente mais fácil de se manter atualizado. O problema é que você não pode iniciar um arquivo DLL diretamente do Windows da mesma forma que um arquivo executável. Em vez disso, um shell que é carregado de um arquivo executável é usado para hospedar esses serviços DLL. E assim o processo do Service Host (svchost.exe) nasceu.

    Por que há tantos processos host de serviço em execução?

    Se você já deu uma olhada na seção Serviços no Painel de Controle, provavelmente já percebeu que o Windows requer muitos serviços. Se cada serviço fosse executado em um processo do Host de Serviço, uma falha em um serviço poderia derrubar todo o Windows. Em vez disso, eles são separados.

    Os serviços são organizados em grupos lógicos que são um pouco relacionados e, em seguida, uma única instância do Host de Serviço é criada para hospedar cada grupo. Por exemplo, um processo do Host de Serviço executa os três serviços relacionados ao firewall. Outro processo do Service Host pode executar todos os serviços relacionados à interface do usuário e assim por diante. Na imagem abaixo, por exemplo, você pode ver que um processo do Host de Serviço executa vários serviços de rede relacionados, enquanto outro executa serviços relacionados a chamadas de procedimento remoto..

    Existe alguma coisa para eu fazer com toda essa informação??

    Honestamente, não muito. Nos dias do Windows XP (e versões anteriores), quando os PCs tinham recursos muito mais limitados e os sistemas operacionais não eram tão afinados, impedir o Windows de executar serviços desnecessários era frequentemente recomendado. Atualmente, não recomendamos mais desativar os serviços. PCs modernos tendem a ser carregados com memória e processadores de alta potência. Acrescente isso ao fato de que a forma como os serviços do Windows são tratados em versões modernas (e quais serviços são executados) foi simplificada, e a eliminação de serviços que você acha que não precisa realmente não tem muito mais impacto.

    Dito isso, se você perceber que uma determinada instância do Service Host - ou um serviço relacionado - está causando problemas, como o uso contínuo excessivo de CPU ou RAM, verifique os serviços específicos envolvidos. Isso pode pelo menos dar uma ideia de onde começar a solução de problemas. Existem algumas maneiras de ver exatamente quais serviços estão sendo hospedados por uma instância específica do Host de Serviço. Você pode verificar as coisas no Gerenciador de Tarefas ou usar um ótimo aplicativo de terceiros chamado Process Explorer.

    Verificar serviços relacionados no Gerenciador de tarefas

    Se você estiver usando o Windows 8 ou 10, os processos serão exibidos na guia "Processos" do Gerenciador de tarefas pelos nomes completos. Se um processo servir de host para vários serviços, você poderá ver esses serviços simplesmente expandindo o processo. Isso torna muito fácil identificar quais serviços pertencem a cada instância do processo do Host de Serviço..

    Você pode clicar com o botão direito do mouse em qualquer serviço individual para parar o serviço, visualizá-lo no aplicativo "Serviços" do Painel de Controle ou até mesmo pesquisar on-line para obter informações sobre o serviço.

    Se você está usando o Windows 7, as coisas são um pouco diferentes. O Gerenciador de Tarefas do Windows 7 não agrupava os processos da mesma maneira, nem mostrava nomes de processos regulares - apenas mostrava todas as instâncias do “svchost.exe” em execução. Você teve que explorar um pouco para determinar os serviços relacionados a qualquer instância específica do “svchost.exe”.

    Na guia “Processos” do Gerenciador de Tarefas no Windows 7, clique com o botão direito do mouse em um determinado processo “svchost.exe” e, em seguida, escolha a opção “Ir para Serviço”..

    Isso irá levá-lo para a aba "Serviços", onde todos os serviços executados sob o processo "svchost.exe" são selecionados.

    Você pode então ver o nome completo de cada serviço na coluna "Descrição", para que você possa optar por desativar o serviço se não quiser executá-lo ou solucionar o problema..

    Verificar serviços relacionados usando o Process Explorer

    A Microsoft também fornece uma excelente ferramenta avançada para trabalhar com processos como parte de sua linha Sysinternals. Basta baixar o Process Explorer e executá-lo - é um aplicativo portátil, portanto, não é necessário instalá-lo. O Process Explorer fornece todos os tipos de recursos avançados - e recomendamos que você leia nosso guia para entender o Process Explorer para saber mais.

    Para nossos objetivos aqui, o Process Explorer agrupa os serviços relacionados sob cada instância do “svchost.exe”. Eles são listados por seus nomes de arquivos, mas seus nomes completos também são mostrados na coluna “Descrição”. Você também pode passar o ponteiro do mouse sobre qualquer um dos processos “svchost.exe” para ver um pop-up com todos os serviços relacionados a esse processo - mesmo aqueles que não estão atualmente em execução.

    Poderia este processo ser um vírus?

    O processo em si é um componente oficial do Windows. Embora seja possível que um vírus tenha substituído o host de serviço real por um executável próprio, é muito improvável. Se quiser ter certeza, você pode verificar o local do arquivo subjacente do processo. No Gerenciador de Tarefas, clique com o botão direito do mouse em qualquer processo do Host de Serviço e escolha a opção "Abrir Local do Arquivo"..

    Se o arquivo estiver armazenado na pasta Windows \ System32, você pode ter certeza de que não está lidando com um vírus.

    Dito isso, se você ainda deseja ter um pouco mais de tranquilidade, pode sempre procurar vírus usando seu antivírus preferido. Melhor prevenir do que remediar!