what-is-the-difference-between-shutdown-r-and-shutdown-g-in-windows-00

When you start digging into all the options available in Windows, you just might be surprised at what you can find. Take the shutdown /r and shutdown /g commands, for example. What is the difference between them? Today’s SuperUser Q&A post has the answer 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 gate_engineer wants to know what the difference between “shutdown /r” and “shutdown /g” in Windows is:

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

what-is-the-difference-between-shutdown-r-and-shutdown-g-in-windows-01

I thought that when Windows restarts, every application would be closed during the shutdown process, then started again after the system boots. Some possibilities that come to mind are:

  • A holdover from previous versions of Windows that performed some type of restart trickery
  • A temporary override of the system configuration’s default behavior

Is it either of these or something completely different?

What is the difference between “shutdown /r” and “shutdown /g” in Windows?

The Answer

SuperUser contributor DavidPostill has the answer for us:

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 show up to my desktop computer yawning in the morning (even following a system restart), I have my Outlook, browser, OneNote, Visual Studio, and messenger applications all lined up as they were when I went to bed.

Suppose that you want to initiate “automagically restarting” everything after a restart. As of a few weeks ago, I thought it was necessary to write a small application that uses the Restart Manager APIs (i.e. RmStartSession and RmShutdown) to do this. And then it hit me that the shutdown command must already have support for doing this. And indeed, it has:

  • shutdown /g

Source: Restart Windows and Restart All Registered Applications: shutdown -g [Microsoft]


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.