Forzar el stop de un servicio en Windows XP


El día de hoy se me presentó el problema de que un servicio (SmcService) 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 smcService (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: smcService
Entonces ejecuté:
sc queryex SmcService
Lo cual me regresó:
SERVICE_NAME: SmcService
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
..
Mas informacion:

You can use the windows SC command to query / start / stop a service on remote machine

SC is a command line program used for communicating with the
Service Control Manager and services

For example:
sc \\machine stop “Service name”
sc \\machine start “Service name”

sc \\10.0.0.1 query “Symantec Antivirus”

c:.\>sc query “symantec antivirus”

ICE_NAME: symantec antivirus
TYPE               : 110  WIN32_OWN_PROCESS (interactive)
STATE              : 4  RUNNING
(STOPPABLE,NOT_PAUSABLE,ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE    : 0  (0x0)
SERVICE_EXIT_CODE  : 0  (0x0)
CHECKPOINT         : 0x0
WAIT_HINT          : 0x0

to stop ,use this cmd

sc \\10.0.0.1 stop ” Symantec Antivirus”