While most of us probably give little thought to all that is happening each time we shut our computers down, what is actually going on ‘under the hood’ during the shutdown process? Today’s SuperUser Q&A post has the answers to a curious reader’s question.

Today’s Question & Answer session comes to us courtesy of SuperUser—a subdivision of Stack Exchange, a community-driven grouping of Q&A web sites.

The Question

SuperUser reader RACING121 wants to know what is actually happening when a Windows computer is shutting down:

What is actually happening when a Windows computer goes through the shutdown process?

What is actually going on during this stage?

If I recall correctly, in Windows XP it would say something like Saving Settings before powering off. However, what settings are there to actually save here? For example,  if you have applied a theme or completed some other action, it has already been “saved” when you clicked Apply or Ok.

If it is unmounting the hard drive, then surely it would be the same as forcing a shutdown by pulling the plug, right?

The Answer

SuperUser contributors Keltari and zzarzzur have the answer for us. First up, Keltari:

Followed by the answer from zzarzzur:

Checking to see if any user applications have not been closed yet (like an unsaved document) and prompt the user if necessary Stopping background services Waiting for the termination signal from services and applications that are open or running Flushing the cache to disk Writing log files All users are logged out Ending the shell Start installing Windows updates and tell the system to finish the update process during the next system start-up if necessary Send the ACPI shutdown signal (this is what turns the machine off)

Have something to add to the explanation? Sound off in the comments. Want to read more answers from other tech-savvy Stack Exchange users? Check out the full discussion thread here.

Here is an excerpt from a document that Microsoft released:

System session shutdown. This phase includes the pre-shutdown notification and shutdown notification sub-phases. Pre-shutdown notification. Windows serially shuts down all services that registered to receive pre-shutdown notifications. Ordered services—services that have set up the shutdown order of dependent services—are shut down before non-ordered services. Shutdown notification. All services that registered to receive shutdown notifications are shut down in parallel. If all services have not exited after 20 seconds (in Windows Vista) or 12 seconds (in Windows 7 client operating systems), the system continues the shutdown. Processes and services that do not shut down in a timely manner are left running as the system shuts down. Kernel shutdown. The remainder of the system, such as all devices and drivers, are shut down during the kernel shutdown phase.

Basically, what you are waiting on is each individual service to clean up and exit. Each service is given 12 seconds to exit before it is killed.

Half of the shutdown time is dedicated to shutting down system services. If you are really interesting in seeing what time is dedicated to whatever during a shutdown, Windows includes a tool for tracing shutdown time.

xbootmgr -trace shutdown -numRuns 3 -resultPath %systemdrive%\traces -postBootDelay 180 -traceFlags base

And to make sense of the generated file (be sure to run in %systemdrive%\traces)

xperf -i trace. etl -o summary. xml -a shutdown

Sources

Windows On/Off Transition Performance Analysis Document [Microsoft]

Windows On/Off Transitions Solutions Guide Document [Microsoft]