Qual é o processo de host de serviço (svchost.exe) e por que tantos deles são executados?

0
43


Se você já navegou pelo Gerenciador de Tarefas, deve ter se perguntado 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, o que eles são?

Ciclos de SQL como se usan
Ciclos de SQL como se usan

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 em uma instância diferente do processo host do 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!

Qual é o processo de 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 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 DLLs. 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 uma DLL diretamente do Windows da mesma forma que pode iniciar 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 nasceu o processo Service Host (svchost.exe).

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

RELACIONADO: O que é esse processo e por que ele está sendo executado no meu PC?

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 estivessem sendo executados em um processo de Host de Serviço, uma falha de um serviço poderia causar a falha de todo o Windows. Em vez disso, eles são separados.

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

Processo de host de serviço que executa serviços de chamada de procedimento remoto.

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

RELACIONADO: Você deve desabilitar os serviços do Windows para acelerar o seu PC?

Honestamente, não muito. Nos dias do Windows XP (e anteriores), quando os PCs tinham recursos muito mais limitados e os sistemas operacionais não eram tão ajustados, muitas vezes era recomendado impedir que o Windows executasse serviços desnecessários. Atualmente, não recomendamos mais a desativação de serviços. 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 nas versões modernas (e quais serviços são executados) foi simplificada, e a remoção de serviços que você acha que não precisa realmente não tem mais muito 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 examinar os serviços específicos envolvidos. Isso pode pelo menos dar uma ideia de onde começar a solucionar problemas. Existem algumas maneiras de ver exatamente quais serviços estão sendo hospedados por uma instância de Host de Serviço específica. Você pode verificar as coisas no Gerenciador de Tarefas ou usar um ótimo aplicativo de terceiros chamado Process Explorer.

Verifique os serviços relacionados no Gerenciador de Tarefas

Se você estiver usando o Windows 8 ou 10, os processos serão listados na guia “Processos” do Gerenciador de Tarefas por seus nomes completos. Se um processo hospedar vários serviços, você poderá visualizar esses serviços simplesmente expandindo o processo. Isso torna muito fácil identificar quais serviços pertencem a qual instância do processo Service Host.

Você pode clicar com o botão direito do mouse em qualquer serviço individual para interrompê-lo, visualizá-lo no aplicativo “Serviços” do Painel de Controle ou até mesmo pesquisar informações on-line 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 agrupava processos da mesma maneira, nem exibia nomes de processos regulares; apenas mostrou todas as instâncias de “svchost.exe” em execução. Tive que fazer algumas explorações 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 do mouse em um processo “svchost.exe” específico e escolha a opção “Ir para o serviço”.

Isso o levará à guia “Serviços”, onde todos os serviços executados nesse processo “svchost.exe” são selecionados.

Gerenciador de tarefas do Windows 7 com todos os serviços em execução

Você pode ver o nome completo de cada serviço na coluna “Descrição”, para poder optar por desabilitar o serviço se não quiser que ele seja executado ou solucionar o motivo pelo qual 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 entender o Process Explorer para obter mais informações.

RELACIONADO: O que é um aplicativo “portátil” e por que é importante?

No entanto, para nossos propósitos aqui, 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 listados na coluna “Descrição”. Você também pode passar o ponteiro do mouse sobre qualquer um dos processos “svchost.exe” para ver uma janela pop-up com todos os serviços relacionados a esse processo, mesmo aqueles que não estão em execução no momento.

Esse processo pode 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, é altamente improvável. Se quiser ter certeza, você pode verificar a localização 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 System32 do Windows, você pode ter certeza de que não é um vírus.

RELACIONADO: Qual é o melhor antivírus para Windows 10 e 11? (O Microsoft Defender é bom o suficiente?)

Dito isto, se você ainda quiser um pouco mais de tranquilidade, você sempre pode verificar vírus com seu verificador de vírus preferido. Melhor prevenir do que remediar!