If you experiencing the Windows operating system (including Windows 2000, Windows XP, Windows 2003, Windows Vista, Windows 7, and Windows Longhorn Server 2008/R2, Windows Server 2012/R2) shutdown slowly, and seems like always waiting for a long time before shutting down the computer. The behavior is due to Windows system waits for services to stop after notifying the service that the system is shutting down, when the user issues command to shut down, turn off or restart the computer. Other than that, Windows also wait for the timeout to kill open applications. You can make the Windows 2000, Windows XP, Windows 2003 and Windows Vista shutdown faster by changing the following settings.

Note: For modification involves registry, you can modify the registry value by using Registry Editor, which can be started by typing regedit in “Start” -> “Run” box, or by pressing “Windows + R” buttons.

Reduce the wait time for services to be killed

As mentioned above, Windows will wait for the services to shutdown and kill themselves after notifying the running services to shut down. If not, Windows will wait for the timeout and start killing the still running services. You can reduce the wait time for Windows to kill the persistent services.

Navigate to the following registry branch:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control

On the right pane, double click on WaitToKillServiceTimeout or right click on it and choose modify. Change the default value of WaitToKillServiceTimeout of 20000 to lesser value, such as 5000 or even 1000, depending on your preference.

When the value of WaitToKillServiceTimeout expires, the system notifies the user that the service has not stopped, and prompt the user with option to force the service task to stop or continue to wait.

Reduce the wait time for user processes and applications to be killed

As with services, Windows will also wait for a while, depending on WaitToKillAppTimeout setting, before starting to shut down and kill open applications and user processes when the user want to shutdown, restart or log off. The wait time or time out can be reduced to speed up the shutdown process.

Navigate to the following registry branch:

HKEY_CURRENT_USER\Control Panel\Desktop

On the right pane, double click on WaitToKillAppTimeout (or right click on the registry key and select Modify), and enter a new value which is less than the default value of 20000. The value can be 1000 or 5000 or any other numeric value, depending on your preference. When the WaitToKillAppTimeout registry entry timeout or expires, the End Task dialog box appears, stating that the process did not respond, and allowing user to End the task.

On the right pane also, double click on HungAppTimeout (or right click on the registry key and select Modify) and change the value to less numerical value than 5000 (default value), e.g. 1000. HungAppTimeout specifies how long the system waits for user processes to end after the user clicks the End Task command button in Task Manager or after the user has selected to restart or shutdown the system.

Then navigate to HKEY_USERS\.DEFAULT\Control Panel\Desktop\ registry branch, and do the same as above to change and modify the value of WaitToKillAppTimeout and HungAppTimeout registry keys.

Automatically end, terminate and kill user processes or tasks on shutdown or logoff

Even if you have set the HungAppTimeout registry entry to a very low value, what happen is that when HungAppTimeout time out due to a hung applications or unable to terminate tasks or not responding to the end task request, it will prompt user with a End Task dialog box to ask if user wish to end the process. By changing to the value of registry key AutoEndTasks to 1, we can ask Windows to end all processes that timeout when shut down or log out from Windows automatically, without asking for user input or interaction. Default value of the key is 0, which mean no user processes will end automatically.

AutoEndTasks is located at HKEY_CURRENT_USER\Control Panel\Desktop registry branch.