windows services - update - Detener un servicio de Windows cuando la opción de detención está en gris
net stop was (8)
Abra el símbolo del sistema con acceso de administrador y escriba los siguientes comandos allí.
un)
tasklist
muestra una lista de todos los servicios disponibles. Allí puede ver el servicio que desea detener / iniciar / reiniciar. Recuerde el valor PID del servicio que desea forzar detener.
b) Ahora escribe
taskkill /f /PID [PID value of the service]
y presiona enter. En caso de éxito obtendrá el mensaje "ÉXITO: el proceso con PID ha finalizado".
Ex : taskkill /f /PID 5088
Esto matará por la fuerza el servicio congelado. Ahora puede regresar al Administrador del servidor y reiniciar el servicio.
He creado un servicio de Windows y en el servicio en el panel de control -> herramientas administrativas -> servicios, su estado está comenzando.
Quiero detener este servicio, pero la opción de detención está atenuada. ¿Cómo puedo iniciar / detener el servicio?
Cada vez que reinicio, se detiene y puedo eliminarlo.
Como Aaron mencionó anteriormente, algunos servicios no aceptan los mensajes SERVICE_ACCEPT_STOP
, cuando se desarrolló. Y eso está codificado en el ejecutable. Período. Un workaroud sería no haberlo iniciado, y como no puede cambiar sus propiedades, haga lo siguiente a la fuerza:
- Arranque en modo seguro (los usuarios de Windows 10 pueden necesitar msconfig> boot> safe boot)
- Regedit en HKLM> Sistema> ControlSet001> Servicios
- Ubique su entrada de servicio
- Cambia la tecla ''Inicio'' a 3 (inicio manual) o 4 (desactivado)
Si no puede cambiar la entrada, haga clic derecho en el nombre de su servicio en el panel izquierdo, seleccione ''Permisos'', verifique que ''Todos'' tenga acceso completo y pruebe el paso 4 nuevamente.
¡No olvide deshabilitar el inicio seguro desde msconfig nuevamente y reiniciar!
Podrías hacerlo en una línea (útil para ci-environments):
taskkill /fi "Services eq SERVICE_NAME" /F
Filter -> Services -> ServiceName es igual a SERVICE_NAMES -> Force
Fuente: https://technet.microsoft.com/en-us/library/bb491009.aspx
Resolví el problema con los siguientes pasos:
Abra "services.msc" desde el comando / Windows RUN.
Encuentra el servicio (que está atenuado).
Haga doble clic en ese servicio y vaya a la pestaña "Recuperación".
Asegurarse de que
- La acción First Failure se selecciona como "No realizar ninguna acción".
- La segunda acción de falla se selecciona como "No realizar ninguna acción".
- La acción de Fallas posteriores se selecciona como "No realizar ninguna acción".
y presione OK.
Ahora, el servicio no intentará reiniciarse y usted podrá eliminar el servicio gris de la lista de servicios (es decir, el gris desaparecerá).
Si ejecuta el comando:
sc queryex <service name>
dónde es el nombre del servicio, no el nombre para mostrar (cola de impresión, no cola de impresión), en el símbolo del sistema cmd devolverá el PID del proceso en el que se está ejecutando el servicio. Toma ese PID y ejecuta
taskkill /F /PID <Service PID>
para forzar al PID a detenerse. Algunas veces, si el proceso se detiene al detener la GUI, no le permitirá hacer nada con el servicio.
Si la opción de detención está atenuada, entonces su servicio no indicó que estaba aceptando SERVICE_ACCEPT_STOP
cuando llamó por última vez a SetServiceStatus
. Si está utilizando .NET, debe configurar la propiedad CanStop
en ServiceBase
.
Por supuesto, si acepta solicitudes de suspensión, entonces será mejor que se asegure de que su servicio pueda manejar esas solicitudes de manera segura, especialmente si su servicio todavía está progresando a través de su código de inicio.
Use el Administrador de tareas para encontrar el Servicio y elimínelo desde allí utilizando la Tarea final. Siempre hace el truco para mí.
Si usted mismo ha creado el servicio, considere eliminar las operaciones de ejecución prolongada del evento OnStart, generalmente eso es lo que hace que el Servicio no responda.
Yo tuve el mismo problema. Si no es administrador en la computadora, debe ejecutar Servicios como administrador.