Qué es svchost.exe: el servicio de comprobación del sistema operativo de Windows

Si tu sistema Windows funciona correctamente, probablemente no tengas ningún motivo para preocuparte del administrador de tareas o de alguno de los procesos y los servicios. Al igual que los conductores abren con poca frecuencia el capó del coche, los usuarios de un ordenador tampoco suelen preocuparse de consultar los servicios en ejecución y los programas que se esconden detrás de ellos. Sin embargo, es útil tener algunos conocimientos básicos al respecto y conocer los programas del sistema más importantes, especialmente si dependes de que el sistema de tu ordenador funcione correctamente para realizar tu trabajo. Y es que los problemas suelen aparecer en los momentos menos adecuados. Si se da alguna de las siguientes señales, es aconsejable echar un vistazo a los procesos en ejecución:

  • Un uso del sistema inexplicablemente alto, como por ejemplo un uso de la CPU desproporcionadamente elevado
  • Caídas de los programas o ventanas que “se congelan”
  • Sospechas de virus
  • Programas que están instalados correctamente y no se pueden abrir

Al examinar los procesos en ejecución, en seguida notamos la presencia del proceso svchost.exe. El motivo es que normalmente aparece varias veces en la lista; a menudo varias docenas de veces. El nombre del programa es la abreviatura de Service Host (traducido como proveedor o literalmente “anfitrión” de servicios). Por lo tanto, se trata de un software que pueden utilizar otros programas o servicios. Por esta razón, el programa original que se encuentra detrás del proceso analizado no se puede reconocer de inmediato.

¿Cómo se integra svchost.exe en el sistema?

Como programa del sistema, svchost.exe se encuentra en la carpeta del sistema “\Windows\System32”. Se trata de una carpeta protegida a la que no tienen acceso los usuarios sin derechos de administrador. El programa lo ejecuta el administrador de control de servicios (SCM, por sus siglas en inglés) después del inicio del sistema. Este administrador gestiona una lista de los servicios que se deben iniciar en la base de datos de registros de Windows (registro). Después del inicio del sistema, el SCM ejecuta una instancia de svchost.exe como proceso para cada servicio incluido en esa lista.

Aquí existe la posibilidad, en principio, de agrupar varios servicios en un proceso. Sin embargo, en ordenadores potentes, Windows tiende a iniciar un proceso individual para cada servicio. De esta forma, los procesos pueden limitarse mejor unos de otros. Esto supone una ventaja si un proceso “se cae”; es decir, si entra en un estado sin definir. En estos casos, se puede cerrar la tarea defectuosa sin tocar otros programas.

Hecho

La base de datos de registros de Windows, a menudo también denominada simplemente Registro, es un lugar de almacenamiento central de muchos ajustes importantes del sistema operativo. Está organizada de forma jerárquica y se puede gestionar con el editor Regedit.

¿Para qué sirve svchost.exe?

Cabe preguntarse para qué se necesita un software adicional para iniciar algunos servicios. Esto tiene que ver con la eficiencia mejorada y con conceptos específicos como las denominadas bibliotecas de vínculos dinámicos (Dynamic Link Libraries, DLL). svchost.exe utiliza estas últimas para ejecutar un servicio. En general, estas bibliotecas son códigos de programas que utilizan distintos softwares y que, en caso necesario, pueden integrarse de forma dinámica (vincularse). Por un lado, esto ahorra espacio de almacenamiento, ya que no todos los software tienen que poseer las funciones correspondientes. Por otro lado, facilita la modularización. Los DLL se pueden ajustar y actualizar con independencia del software utilizado.

Nota

Cuando existen errores en un DLL, es posible que varios programas se vean afectados.

Con sus propiedades, las bibliotecas dinámicas apoyan a los programas habituales que necesitan extensos códigos de máquina para su ejecución autónoma. Además, solucionan el problema de que determinados recursos de programas (como las funciones incrustadas) no pueden activarse normalmente de forma directa por parte de otros programas. El sistema opta especialmente por disponer funcionalidades en forma de DLL cuando estas las necesitan varios programas.

Examinar un proceso de svchost.exe: varias opciones

Si determinas que un proceso de svchost.exe es el causante de problemas en tu sistema, existen diferentes posibilidades para examinarlo.

Administrador de tareas

Una herramienta muy útil es el administrador de tareas integrado de Windows, al que normalmente puedes acceder con la combinación de teclas [Control] + [Mayús] + [Esc]. Otra forma de acceder es introduciendo el concepto “administrador de tareas” en el campo de búsqueda e iniciar la aplicación a través del resultado de búsqueda que aparezca.

El administrador de tareas cuenta con varias pestañas. De forma estándar, la visualización de procesos se encontrará ya abierta. Allí se muestra para cada proceso iniciado, el uso porcentual del sistema, es decir, el consumo del rendimiento de la CPU, de la memoria, de red y del disco correspondiente. La organización se puede modificar haciendo clic en el criterio deseado. Los procesos reciben el nombre de los programas a los que corresponden. En Windows 10, los procesos de svchost.exe tienen la denominación antepuesta “Host del servicio”, seguida de la descripción del servicio realizado. En las versiones anteriores de Windows, el nombre svchost.exe aparecía directamente en la lista de procesos.

Servicios (services.msc)

Todos los servicios se pueden mostrar con la aplicación del sistema Servicios. Para abrir esta aplicación, simplemente tienes que abrir el diálogo “Ejecutar” en el menú de inicio (icono de Windows) e introducir lo siguiente:

services.msc

En el menú contextual de cualquier entrada, podrás encontrar el campo de selección “Propiedades”. Este campo muestra la ruta al archivo ejecutable vinculado. Además, se indica la denominación del servicio y una descripción corta. De esta forma, podrás determinar la función del servicio. En la pestaña con el mismo nombre podrás consultar la dependencia de otros servicios.

tasklist.exe

Si no te asusta utilizar las líneas de comando, el programa taskliste.exe es una buena alternativa. El programa está preinstalado en Windows 10 y es muy manejable Las versiones más antiguas contaban con un software similar, llamado “tlist.exe”. Para iniciarlo, se debe acceder al símbolo del sistema (cmd.exe). Para obtener una lista de todas las instancias de svchost.exe con el ID del proceso correspondiente y los servicios ejecutados, introduzca el siguiente comando en la línea de comandos de Windows:

tasklist /svc /fi "imagename eq svchost.exe"

Programas externos: Process Explorer

Microsoft ofrece de forma gratuita software adicional, como Process Explorer del conocido autor de libros especializados que cuenta con información privilegiada de Windows, Mark Russinovich. El programa se parece al administrador de tareas en su presentación, pero cuenta con una gama de funciones sustancialmente más amplia. De este modo, es fácil identificar qué procesos han iniciado otros procesos. Asimismo, el menú contextual, al que se puede acceder haciendo clic derecho, es mucho más completo. Así, por ejemplo, no solo muestra el programa perteneciente a un proceso, sino también la entrada del registro. Además, también es posible comprobar software directamente en la plataforma Virustotal.

¿Cómo se puede identificar si svchost.exe es un virus?

El proceso svchost.exe suele resultar sospechoso cuando se examina un sistema afectado por software malicioso. Una de las razones es que no siempre se puede identificar inmediatamente el servicio subyacente. Además, no se puede descartar que la función de este proceso esté siendo utilizada por software malicioso, y que este software se adhiera al proceso. Los ciberdelincuentes se han aprovechado en el pasado del hecho de que este proceso aparece de forma tan frecuente.

No es sencillo determinar en cada caso si se trata o no de un proceso legítimo: en primer lugar, debes comprobar que el nombre del proceso esté bien escrito. Los programas maliciosos suelen utilizar nombres parecidos, como scvhost.exe o svhost.exe. Además, se puede consultar el lugar de almacenamiento del archivo ejecutable de la forma descrita anteriormente. Este debe encontrarse únicamente en la ruta “\Windows\System32\”; de no ser así, no se trata de un proceso oficial del sistema.

Los servicios vinculados proporcionan más información. Si se trata de funciones del sistema Windows conocidas, la probabilidad de que el causante sea un programa malicioso es muy baja. Además, la pestaña “Detalles” del administrador de tareas ofrece todavía más información. En las propiedades, encontrarás una firma digital (certificado) del autor; en el caso de svchost.exe, solo puede tratarse de la firma de Microsoft.

¿Cómo se puede finalizar un proceso individual de svchost.exe?

Si un programa con una interfaz gráfica ya no reacciona, puede resultar útil finalizar manualmente el proceso correspondiente. Asimismo, también es posible que se hayan iniciado por equivocación varias instancias de un programa, por ejemplo, al hacer doble clic varias veces sobre el icono del programa. También en este caso se pueden finalizar los procesos redundantes para que el programa se pueda volver a utilizar normalmente. Los procesos como svchost.exe se pueden cerrar en el administrador de tareas. Para ello, lo único que tienes que hacer es clic derecho en la visualización de procesos sobre la entrada afectada y seleccionar la opción “Finalizar tarea”.

Nota

Ten en cuenta que, al finalizar procesos del sistema, pueden surgir problemas imprevistos en el sistema operativo en ejecución. Es imprescindible que guardes antes cualquier documento que tengas abierto o cualquier archivo de datos.

Si la instancia de svchost.exe sigue causando problemas después del reinicio, todavía queda la posibilidad de desactivar manualmente el proceso en la aplicación “Servicios”. En este caso, deberías informarte antes, en la medida de lo posible, sobre la función del servicio que vas a desactivar para no arriesgarte a que el sistema ya no funcione correctamente después de reiniciarlo.

svchost.exe: un proceso (que no es) como cualquier otro

Lo cierto es que svchost.exe es un proceso de lo más normal, pero, a su vez, diferente. Existe un buen motivo por el que lo encontrarás representado varias veces, por lo que, en principio, no significa que se trate de un funcionamiento erróneo de tu sistema o de un software malicioso activo. Hoy en día, es relativamente fácil consultar la finalidad de cada uno de los procesos en el administrador de tareas de Windows. Además, svchost.exe se puede finalizar manualmente en caso de necesidad, como cualquier otro proceso.