¿Qué es el proceso Host de Servicio (svchost.exe) en Windows? ¿Por qué hay tantos ejecutándose?

Si alguna vez has navegado por el Administrador de Tareas, te habrás preguntado por qué hay tantos procesos Host de Servicio en ejecución.

No puedes matar estos procesos, y no corresponden a ninguna aplicación que hayas abierto, así que probablemente te preguntes… ¿qué son?

¿Qué es el proceso Host de Servicio (Svchost.exe)?

Según Microsoft, Svchost.exe es «un nombre de proceso host genérico para servicios que se ejecutan desde bibliotecas de vínculos dinámicos».

Pero esa descripción no ayuda mucho a entender qué es. Hace algún tiempo, Microsoft comenzó a cambiar gran parte de la funcionalidad de Windows, pasando de depender de los servicios internos de Windows (que se ejecutaban desde archivos EXE) a utilizar archivos DLL en su lugar.

Desde el punto de vista de la programación, esto hace que el código sea más reutilizable y posiblemente más fácil de mantener actualizado. El problema es que no se puede iniciar un archivo DLL directamente desde Windows del mismo modo que un archivo ejecutable. En su lugar, se utiliza un shell que se carga desde un archivo ejecutable para alojar estos servicios DLL. Así nació el proceso Service Host (svchost.exe).

¿Por qué se ejecutan tantos Host de Servicio (Svchost.exe)?

Si alguna vez ha echado un vistazo a la sección Servicios del Panel de control, probablemente te habrás dado cuenta de que Windows necesita muchos servicios. Si todos y cada uno de los servicios se ejecutaran bajo un único proceso de host de servicios, un fallo en uno de ellos podría hacer que Windows dejara de funcionar. Por eso, están separados.

Los servicios se organizan en grupos lógicos que están relacionados de alguna manera y, a continuación, se crea una única instancia de host de servicio para alojar cada grupo. Por ejemplo, un proceso de host de servicios ejecuta los tres servicios relacionados con el cortafuegos. Otro proceso de host de servicio puede ejecutar todos los servicios relacionados con la interfaz de usuario, y así sucesivamente.

En la imagen siguiente, por ejemplo, se pueden ver tres proceso de host de servicio ejecutando varios servicios relacionados.

Administrador de tareas

¿Es Svchost.exe un virus?

El proceso en sí es un componente oficial de Windows. Aunque es posible que un virus haya sustituido el Service Host real por un ejecutable propio, es muy poco probable.

Si quieres estar seguro, puedes comprobar la ubicación del archivo subyacente del proceso. En el Administrador de Tareas, haz clic con el botón derecho en cualquier proceso del Anfitrión de Servicio y elige la opción «Abrir ubicación del archivo».

Si el archivo se almacena en la carpeta Windows\System32, entonces puede estar bastante seguro de que no se trata de un virus.