O que é o processo do host do serviço (svchost.exe) e por que tantos estão em execução?

Se você já navegou pelo Gerenciador de Tarefas, deve estar se perguntando por que há tantos processos de Host de Serviço em execução. Você não pode matá-los e com certeza não os iniciou. Então, quais são eles?

O processo Service Host 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 de Host de Serviço. Dessa forma, um problema em uma instância não afeta outras instâncias. Este processo é uma parte vital do Windows que você não pode impedir de ser executado. 

Este artigo faz parte de nossa série contínua que explica vários processos encontrados no Gerenciador de Tarefas, como  dwm.exe , ctfmon.exemDNSResponder.exe , conhost.exe , rundll32.exeAdobe_Updater.exe e muitos outros . Não sabe o que são esses serviços? Melhor começar a ler!

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

Aqui está a resposta, de acordo com a Microsoft:

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

Mas isso realmente não nos ajuda muito. Algum tempo atrás, a Microsoft começou a mudar muitas das funcionalidades do Windows de depender de serviços internos do Windows (que rodavam 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 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 carregado de um arquivo executável é usado para hospedar esses serviços DLL. E assim nasceu o processo Service Host (svchost.exe).

Recomendado:  Como verificar as políticas de privacidade de seus aplicativos instalados para iPhone

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

Se você já deu uma olhada na seção Serviços no Painel de Controle, provavelmente notou que o Windows requer muitos serviços. Se todos os serviços fossem executados em um único processo de 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 estão todos de alguma forma relacionados e, em seguida, uma única instância do Host de serviço é criada para hospedar cada grupo. Por exemplo, um processo de Host de serviço executa os três serviços relacionados ao firewall. Outro processo do Host de serviço 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 de Host de serviço executa vários serviços de rede relacionados, enquanto outro executa serviços relacionados a chamadas de procedimento remoto.

Há algo que eu possa fazer com todas essas informações?

Honestamente, não muito. Na época do Windows XP (e nas versões anteriores), quando os PCs tinham recursos muito mais limitados e os sistemas operacionais não eram tão ajustados, era recomendável interromper a execução de serviços desnecessários pelo Windows. 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 maneira como os serviços do Windows são tratados nas versões modernas (e quais serviços são executados) foi simplificada, e eliminar os serviços que você acha que não precisa realmente não tem mais impacto.

Dito isso, se você perceber que uma instância específica do Host de serviço – ou um serviço relacionado – está causando problemas, como uso excessivo contínuo de CPU ou RAM, você pode verificar os serviços específicos envolvidos. Isso pode pelo menos dar uma ideia de por 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 usando um ótimo aplicativo de terceiros chamado Process Explorer.

Recomendado:  Ninguém sabia que o 3D Touch existia e agora está morto

Verifique os serviços relacionados no Gerenciador de tarefas

Se você estiver usando o Windows 8 ou 10, os processos são mostrados na guia “Processos” do Gerenciador de Tarefas por seus nomes completos. Se um processo servir como 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 do Serviço.

Você pode clicar com o botão direito do mouse em qualquer serviço individual para interromper o serviço, visualizá-lo no aplicativo “Serviços” do Painel de controle ou até mesmo pesquisar online por informações sobre o serviço.

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

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

imagem

Isso o levará para a guia “Serviços”, onde os serviços em execução no processo “svchost.exe” estão todos selecionados.

imagem

Em seguida, você pode ver o nome completo de cada serviço na coluna “Descrição”, para que possa optar por desabilitar o serviço se não quiser que ele seja executado ou solucionar por que ele está causando problemas.

Verifique os serviços relacionados usando o Process Explorer

A Microsoft também oferece 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 há necessidade de instalá-lo. O Process Explorer fornece todos os tipos de recursos avançados – e é altamente recomendável ler nosso guia para compreender o Process Explorer para saber mais.

Recomendado:  Compatível com G-SYNC vs. G-SYNC: Qual é a diferença?

Para nossos propósitos aqui, entretanto, o Process Explorer agrupa serviços relacionados em cada instância de “svchost.exe”. Eles são listados por seus nomes de arquivo, 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 em execução no momento.

imagem

Este processo pode ser um vírus?

O próprio processo é 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 você quiser ter certeza, pode verificar a localização do arquivo subjacente do processo. No Gerenciador de Tarefas, clique com o botão direito em qualquer processo do Host do Serviço e escolha a opção “Abrir Local do Arquivo”.

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

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