Cuando Windows se cierra cada proceso tiene 20 segundos por defecto para realizar las operaciones necesarias antes de terminar su ejecución y para terminarse a si mismo.
Si un proceso no ha terminado su ejecución en esos 20 segundos de espera Windows nos muestra un cuadro de diálogo preguntándonos si queremos Esperar, Finalizar tarea o Cancelar.
Podemos hacer que el tiempo de espera necesario para que Windows decida matar a un proceso el mismo sea menor, de forma que el cierre de Windows será mas rápido, a cambio de que algunas veces se mate directamente a un proceso que podría haber terminado de forma correcta su ejecución con los 20 segundos de tiempo por defecto.
Para hacer esto abrimos el editor de registro (Inicio -> ejecutar, escribimos regedit) y nos movemos hasta HKEY_CURRENT_USER\\Control Panel\\Desktop
, localizando dentro de esta ruta la clave WaitTokillAppTimeout. Hacemos doble click sobre ella y cambiamos el valor de 20.000 (20.000 milisegundos, 20 segundos) a un valor menor (lo recomendado es 4.000 pero podeis probar otros valores).
Nos movemos ahora a HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control
y localizamos de nuevo una clave llamada WaitTokillAppTimeout. Doble click sobre ella y bajamos el tiempo de espera a 4.000 (si no existe, la creamos).
Podemos hacer lo mismo con los servicios de Windows, no solo con las aplicaciones, e indicar a Windows que mate los servicios directamente si este no ha respondido en x segundos. Para ello tenemos que modificar la clave WaitToKillServiceTimeout que se encuentra en HKEY_LOCAL_MACHINE\\System\\CurrentControlSet\\Control
. Podemos darle un valor de 4.000 si no tenemos servicios importantes.