Cómo determinar qué servicios se ejecutan en un proceso SVCHOST.EXE


¡Vea el video complementario de Windows XP SVCHOST aquí !
¡Vea el video complementario de Windows Vista y Windows 7 SVCHOST aquí !

Introducción

Una pregunta muy común que vemos aquí en Guía Total involucra a personas preocupadas porque hay demasiados procesos SVCHOST.EXE ejecutándose en su computadora. La confusión generalmente se debe a la falta de conocimiento sobre SVCHOST.EXE, su propósito y los servicios de Windows en general. Este tutorial aclarará esta confusión y proporcionará información sobre qué son estos procesos y cómo encontrar más información sobre ellos. Antes de continuar aprendiendo sobre SVCHOST, obtengamos una pequeña introducción a los servicios de Windows.

Los servicios son programas de Windows que se inician cuando Windows se carga y que continúan ejecutándose en segundo plano sin la interacción del usuario. Para aquellos familiarizados con los sistemas operativos Unix / Linux, los servicios de Windows son similares a los demonios * nix. En su mayor parte, los servicios de Windows son archivos ejecutables (.EXE), pero algunos servicios también son archivos DLL. Como Windows no tiene una forma directa de ejecutar un archivo DLL, necesita un programa que pueda actuar como lanzador para este tipo de programas. En esta situación, el iniciador de servicios DLL es SVCHOST.EXE, también conocido como Proceso de host genérico para servicios Win32 . Cada vez que ve un proceso SVCHOST, en realidad es un proceso que administra uno o más servicios DLL de Windows distintos.

A continuación se describen tres métodos, dependiendo de su versión de Windows, para ver qué servicios está controlando un proceso SVCHOST.EXE en su computadora, así como algunos conocimientos técnicos avanzados sobre svchost para aquellos que estén interesados.

 

Determinación de los servicios que se ejecutan en un proceso SVCHOST.EXE mediante Process Explorer

Process Explorer, de Sysinternals , es un programa de administración de procesos que le permite ver los procesos en ejecución en su computadora y una gran cantidad de información sobre cada proceso. Una de las características interesantes de Process Explorer es que también le brinda la capacidad de ver qué servicios está controlando un proceso SVCHOST.EXE en particular.

Primero debe descargar Process Explorer desde el siguiente sitio:

Explorador de procesos

Descarga el archivo y guárdalo en tu disco duro. Cuando haya terminado de descargarse, extraiga el archivo en su propia carpeta y haga doble clic en procexp.exe para iniciar el programa. Si es la primera vez que ejecuta el programa, se mostrará un acuerdo de licencia. Acepte el acuerdo de licencia y el programa continuará. Cuando termine de cargarse, se le presentará una pantalla que contiene todos los procesos en ejecución en su computadora, como se muestra en la siguiente figura. Recuerde que los procesos que ve en esta imagen no serán los mismos que los que se están ejecutando en su computadora.

Pantalla del explorador de procesos

Desplácese por la lista de procesos hasta que vea los procesos SVCHOST.EXE. Para saber qué servicios se están ejecutando dentro de un proceso SVCHOST.EXE en particular, necesitamos examinar las propiedades del proceso. Para hacer esto, haga doble clic en la entrada SVCHOST.EXE en Process Explorer y verá la pantalla de propiedades para el proceso como en la imagen a continuación.

Propiedades de SVCHOST.EXE

Finalmente, para ver los servicios que se ejecutan en este proceso, haga clic en la pestaña Servicios . Ahora verá una pantalla similar a la siguiente.

Ficha Servicios

Esta ventana muestra los servicios administrados por este proceso SVCHOST.EXE en particular. Como puede ver, el SVCHOST.EXE que estamos viendo actualmente en este tutorial está administrando el iniciador de procesos del servidor DCOM y los servicios de terminal.

Con este método, puede determinar qué servicios está controlando un proceso SVCHOST.EXE en su computadora.

 

Determinación de los servicios que se ejecutan en un proceso SVCHOST.EXE mediante la Lista de tareas

Para aquellos a quienes les gusta jugar en una ventana de consola / símbolo del sistema de Windows, y tienen Windows XP Pro o Windows 2003, existe un programa de Windows llamado tasklist.exe que se puede usar para enumerar los procesos y servicios en ejecución en su computadora . Para usar la lista de tareas para ver los servicios que está cargando un proceso SVCHOST.EXE en particular, simplemente siga estos pasos:

1. Haga clic en el botón Inicio y luego haga clic en el comando de menú Ejecutar .

2. En el campo Abrir: escriba cmd y presione Intro .

3. Ahora se le presentará una ventana de consola. En el símbolo del sistema, escriba tasklist / svc / fi “imagename eq svchost.exe” y presione la tecla Intro . Verá una lista de los procesos en su computadora, así como los servicios que administra un proceso SVCHOST.EXE. Esto se puede ver en la imagen de abajo.

Salida de TaskList / svc

Cuando haya terminado de examinar la salida, puede escribir exit y presionar la tecla Intro para cerrar la ventana de la consola.

 

Determinar los servicios que se ejecutan en un proceso SVCHOST.EXE en Windows Vista y Windows 7

Windows Vista y Windows 7 han mejorado su Administrador de tareas de Windows y una de sus características nos permite ver fácilmente qué servicios están siendo controlados por un proceso SVCHOST.EXE en particular. Para comenzar, simplemente inicie el administrador de tareas haciendo clic derecho en la barra de tareas y luego seleccionando Administrador de tareas. Cuando se abra el Administrador de tareas, haga clic en la pestaña Procesos . Ahora se le presentará una lista de procesos que su cuenta de usuario ha iniciado, como se muestra en la imagen a continuación.

. Procesos de usuario actuales de Windows 7

Sin embargo, necesitamos ver todos los procesos que se ejecutan en la computadora. Para hacer esto, haga clic en el botón etiquetado Mostrar todos los procesos . Al hacer esto, Windows puede solicitarle que permita la autorización para ver todos los procesos como se muestra a continuación.

Mostrar todos los procesos de confirmación

Presione el botón Continuar y el Administrador de tareas se recargará, pero esta vez mostrando todos los procesos que se ejecutan en el sistema operativo. Desplácese hacia abajo por la lista de procesos hasta que vea los procesos SVCHOST como se muestra en la imagen a continuación.

Todos los procesos de Windows 7

Haga clic con el botón derecho en un proceso SVCHOST y seleccione la opción de menú Ir a servicios . Ahora verá una lista de servicios en su computadora con los servicios que se ejecutan bajo este proceso particular de SVCHOST resaltados. Ahora puede determinar fácilmente qué servicios está ejecutando un proceso SVCHOST en particular en Windows Vista o Windows 7.

 

Determinar los servicios que se ejecutan en un proceso SVCHOST.EXE en Windows 8

El Administrador de tareas de Windows 8 hace que sea mucho más fácil encontrar qué servicios se están ejecutando en una instancia particular de SVCHOST.exe. Para acceder al Administrador de tareas, escriba Administrador de tareas desde la pantalla de inicio de Windows 8 y luego haga clic en la opción Administrador de tareas cuando aparezca en los resultados de búsqueda. Esto abrirá el Administrador de tareas básico como se muestra en la captura de pantalla a continuación.

Sugerencia: También puede usar la combinación de teclado Ctrl + Shift + Esc para abrir automáticamente el Administrador de tareas desde cualquier pantalla de Windows.

 

 

Para ver la lista de procesos, haga clic en la opción Más detalles .

 

 

Desplácese hacia abajo hasta que vea la categoría Procesos de Windows y busque las entradas del Host de servicio como se muestra en la imagen a continuación.

 

 

Junto a cada proceso de fila de Host de servicio habrá una pequeña flecha. Haga clic en esta flecha para expandir esa entrada de Host de servicio en particular y ver qué servicios se están ejecutando debajo de ella.

 

 

En el Host de servicio expandido, ahora verá la lista de servicios que se ejecutan debajo de él. Esto le permite determinar fácilmente qué servicios está administrando un proceso SVCHOST en particular en Windows 8.

 

Información avanzada sobre SVCHOST.EXE

Ahora que sabemos que un solo proceso SVCHOST.EXE puede cargar y administrar múltiples servicios, ¿qué determina qué servicios se agrupan bajo una instancia de SVCHOST? Estos grupos están determinados por la configuración de la siguiente clave del Registro de Windows:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ SVCHOST

Bajo esta clave hay un conjunto de valores que agrupan varios servicios bajo un nombre. Cada grupo es un valor de registro REG_MULTI_SZ que contiene una lista de nombres de servicios que pertenecen a ese grupo. A continuación, verá los grupos estándar que se encuentran en XP Pro.

Nombre del grupo

Servicios en el grupo

Servicio local

Alerta, WebClient, LmHosts, RemoteRegistry, upnphost, SSDPSRV

Servicio de red

DnsCache

netsvcs

6to4, AppMgmt, AudioSrv, Navegador, CryptSvc, DMServer, DHCP,
ERSvc, EventSystem, FastUserSwitchingCompatibility, HidServ, Ias,
Iprip, Irmon, LanmanServer, LanmanWorkstation, Messenger, Netman,
Nla, Ntmssvc, NWoCWorkman, Remote
Programación, Inicio de sesión, SENS, Sharedaccess, SRService, Tapisrv, Temas, TrkWks,
W32Time, WZCSVC, Wmi, WmdmPmSp, winmgmt, TermService, wuauserv,
BITS, ShellHWDetection, helpvc, xmlprov, wscsPvc, WmdmSp

rpcss

RpcSs

imgsvc

StiSvc

termsvcs

TermService

HTTPFilter

HTTPFilter

DcomLaunch

DcomLaunch, TermService

Cada uno de los nombres de servicio en estos grupos corresponde a una entrada de servicio bajo la clave del Registro de Windows:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services

Debajo de cada una de estas entradas de servicio hay una subclave de parámetros que contiene un valor ServiceDLL que corresponde a la DLL que se utiliza para ejecutar el servicio.

Cuando Windows se carga, comienza a iniciar los servicios que están configurados como habilitados y tienen un inicio automático. Algunos servicios se inician con el comando SVCHOST.exe. Cuando Windows intenta iniciar uno de estos tipos de servicios y actualmente no hay una instancia de svchost ejecutándose para ese grupo de servicios, creará una nueva instancia de SVCHOST y luego cargará la DLL asociada con el servicio. Si, por otro lado, ya hay un proceso SVCHOST en ejecución para ese grupo, simplemente cargará el nuevo servicio utilizando ese proceso existente. Un servicio que usa SVCHOST para inicializarse, proporciona el nombre del grupo como parámetro para el comando svchost.exe. Un ejemplo sería:

C: \ WINDOWS \ system32 \ svchost.exe -k DcomLaunch

En la línea de comando anterior, el proceso svchost buscará el ServiceDLL asociado con el nombre del servicio del grupo DcomLaunch y lo cargará.

Esto puede resultar confuso, así que usemos un ejemplo. Existe un servicio de Windows llamado Distributed Link Tracking Client que tiene un nombre de servicio TrkWks. Si examinamos la tabla anterior, podemos ver que el servicio TrkWks es parte del grupo netsvcs . Si miramos la clave del Registro para este servicio, vemos que su ServiceDLL es % SystemRoot% \ system32 \ trkwks.dll . Por lo tanto, usando esta información y lo que aprendimos anteriormente, sabemos que el comando ejecutable para el servicio TrkWks debe ser:

C: \ WINDOWS \ system32 \ svchost.exe -k netsvcs

Cuando se inicia el servicio TrkWks, Windows verificará si hay un proceso SVCHOST para el grupo netsvcs ya creado. De lo contrario, creará una instancia de uno para manejar los servicios en el grupo netsvcs. El proceso SVCHOST para netsvcs iniciará el servicio ejecutando % SystemRoot% \ system32 \ trkwks.dll . Una vez que SVCHOST haya cargado la DLL, el servicio estará en un estado iniciado.

 

Conclusión

Ahora que comprende qué es SVCHOST.EXE y cómo administra ciertos servicios de Windows, ver múltiples instancias en su lista de procesos ya no debería ser un misterio o una preocupación. No es raro ver numerosas entradas de SVCHOST, a veces hasta 8 o 9 entradas, ejecutándose en su computadora. Si le preocupa lo que se está ejecutando en estos procesos, simplemente siga los pasos descritos anteriormente para examinar sus servicios. Si no está seguro de lo que hace un servicio en particular y necesita ayuda, no dude en hacer cualquier pregunta que pueda tener en nuestros foros de Windows .

Deja un comentario