Después del envío de los mensajes de apagado, SCM espera hasta que todos los servicios notificados del apagado han terminado, hasta que el tiempo del indicador ha finalizado, o hasta que el valor de WaiToKillServiceTimeout se ha excedido. Services.exe en sí es detenido por Csrss.exe.
SCM no espera por inteligente, sino simplemente porque entra en un bucle examinando el estado de todos los servicios que han solicitado una notificación de apagado. Asimismo, para disminuir el tiempo de apagado, SCM no sigue un orden de dependencias durante el apagado de los servicios.
- Si el tiempo del indicador finaliza sin un servicio terminando, SCM determina si uno o más de los servicios que están esperando para terminar ha enviado un mensaje diciéndole que está progresando en su apagado.
- Si al menos un servicio ha hecho progresos, SCM esperará otra vez el tiempo del indicador. SCM continua ejecutando su bucle de espera hasta que todos los servicios hayan finalizado o que ninguno de ellos sobre el cual está esperando ha notificado progreso dentro del tiempo del periodo de espera del indicador.
Mientras SCM está ocupado comunicando a los servicios que se apaguen y espera que lo hagan, Csrss.exe espera a que SCM finalice.