# Windows – the difference between “shutdown /r” and “shutdown /g”

cmd.exeshutdownwindows

I was reading some of the options for the shutdown command in windows, when I stumbled across the following option descriptions:

/r         Full shutdown and restart the computer.
/g         Full shutdown and restart the computer. After the system is
rebooted, restart any registered applications.


I thought that when Windows restarts, every application would be closed on the shutdown procedure, and then started again on system boot.

Some possible considerations that come to mind for me are:

• Carryover from previous versions of Windows that performed some restart trickery
• Temporarily override the default behavior of system configuration

Is it any of these? None of these?

### What is shutdown /g?

The /g option will restart applications that are registered for restart with the RegisterApplicationRestart API.

The Windows Restart Manager (introduced in Windows Vista) supports gracefully shutting down and restarting applications that registered for restart with the RegisterApplicationRestart API.

This functionality is used by Windows Update – thanks to the Restart Manager, when I come yawning to my desktop PC in the morning, even following a system restart, I have my Outlook, browser windows, OneNote, Visual Studio, and Messenger all lined up as they were when I went to bed.

Suppose you want to initiate one of these “automagically restart everything after restart” restarts. As of a few weeks ago, I had it in my head that you have to write a small app that uses the Restart Manager APIs (e.g. RmStartSession and RmShutdown) to do this.

And then it hit me that the shutdown command must have support for doing this. And indeed, it has:

shutdown /g