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

Índice:

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?

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

Vídeo: O que é o processo do host de serviço (svchost.exe) e por que tantos correm?
Vídeo: iPhone ou Android como Webcam para seu PC Windows/Mac/Ubuntu (GRÁTIS) - YouTube 2024, Maio
Anonim
Se você já navegou pelo Gerenciador de Tarefas, talvez tenha se perguntado por que há tantos processos do Host de Serviço em execução. Você não pode matá-los, e com certeza você não os iniciou. Então, o que são eles?
Se você já navegou pelo Gerenciador de Tarefas, talvez tenha se perguntado por que há tantos processos do Host de Serviço em execução. Você não pode matá-los, e com certeza você não os iniciou. Então, o que são eles?

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, qual é o processo do host de serviço?

Aqui está a resposta, segundo a Microsoft:

Svchost.exe is a generic host process name for services that run from dynamic-link libraries.

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 percebeu que o Windows exige muitos serviços. Se cada serviço fosse executado em um processo de um 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 todos 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 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 do Host de Serviço executa vários serviços de rede relacionados, enquanto outro executa serviços relacionados a chamadas de procedimento remoto.

Image
Image

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 gerenciados nas 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 da CPU ou da RAM, você pode verificar 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ê usa o Windows 8 ou 10, os processos sã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 interromper o serviço, visualizá-lo no aplicativo "Serviços" do Painel de Controle ou até pesquisar on-line para obter informações sobre o 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é pesquisar on-line para obter informações sobre o serviço.
Image
Image

Se você usa 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 - mostrava apenas 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 o levará para a aba “Serviços”, onde todos os serviços executados sob o processo “svchost.exe” estão selecionados.
Isso o levará para a aba “Serviços”, onde todos os serviços executados sob o processo “svchost.exe” estão selecionados.
Depois, você pode ver o nome completo de cada serviço na coluna "Descrição". Assim, você pode optar por desativar o serviço se não quiser que ele seja executado ou solucionar o motivo do problema.
Depois, você pode ver o nome completo de cada serviço na coluna "Descrição". Assim, você pode optar por desativar o serviço se não quiser que ele seja executado ou solucionar o motivo do 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 fazer o download do 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 em 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 em execução no momento.

Image
Image

Este processo poderia 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 você quiser ter certeza, pode conferir 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".

Recomendado: