miércoles, enero 11, 2012

Forzar el stop de un servicio en Windows XP

El día de hoy se me presentó el problema de que un servicio (Telephony) por alguna razón no podía ser detenido en mi sistema usando la opción stop en el administrador de servicios (services.msc) de Win XP, simplemente se queda la barra de avance indicando que está esperando a que termine, pero después de un tiempo me mandaba el mensaje con un error 1053 de que el servicio no estaba respondiendo por lo cual no se pudo detener.

Me puse a investigar como poder hacerlo de manera forzada y esto es lo que encontré en dos sencillos pasos:

1. Obtener el identificador del proceso PID asignado al servicio que se quiere detener, usando el siguiente comando:

sc queryex <servicename>

Donde <servicename> es el nombre del servicio, OJO no es el display name que se ve en services.msc. Para obtenerlo en services.msc da clic derecho sobre el servicio y propiedades verás el verdadero nombre del servicio.

Por ejemplo en mi caso el display name del servicio que quiero detener es Telephony (ese es el nombre a desplegar para que sea amigable para el usuario no el nombre real del servicio), pero si me voy a botón derecho y propiedades veo que el verdadero nombre del servicio para el sistema es: TapiSrv

Entonces ejecuté:

sc queryex TapiSrv

Lo cual me regresó:

SERVICE_NAME: TapiSrv
        TYPE               : 20  WIN32_SHARE_PROCESS
        STATE              : 7  PAUSED
                                (STOPPABLE,PAUSABLE,IGNORES_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0
        PID                : 1272
        FLAGS              :

Aquí el dato importante es el PID : 1272

2. Ya con el PID usamos el siguiente comando para detenerlo de manera forzada:

taskkill /F /PID <PID>

-Donde <PID> es el que obtuvimos en el paso anterior, por lo cual ejecuté lo siguiente:

taskkill /F /PID 1272

-El comando regresó lo siguiente:

SUCCESS: The process with PID 1272 has been terminated.

Misión cumplida


No hay comentarios.:

Publicar un comentario