The Core Technologies Blog

Professional Software for Windows Services / 24×7 Operation


Essential Windows Services: Spooler

Print Spooler

What is the Spooler service?

The Windows Print Spooler is a key operating system component that manages all printing on your computer. It is started when your PC boots and runs unattended, 24×7 as a Windows Service.

The Windows Service is named Spooler and its display name is Print Spooler. The service runs inside a process called spoolsv.exe:

Spooler Windows Service

The Spooler:

  • Runs silently in the background

  • The Spooler does not show any windows or tray icons. It is an invisible technical component that presents an Application Programming Interface (API) to programs looking to manage printing.

  • Accepts files to be printed, from all applications

  • The Spooler is always listening for print requests. It accepts documents from any application running on your computer.

    The process of handing off a document to the Spooler is called Spooling. Once an application is done spooling a document, the Spooler is responsible for the actual printing. The application can go back to its normal tasks.

    For example, let’s say you’re printing a spreadsheet from Microsoft Excel. You will notice a brief period as Excel prepares the document and hands off the print request to the Spooler. And during that time, a helpful window will announce that Excel is printing. However Excel is really sending the spreadsheet to the Spooler (i.e. spooling):

    Excel printing/spooling

    After the window has disappeared (i.e. Excel is done spooling), you will be free to edit your spreadsheet while the actual printing proceeds simultaneously. You can even close Excel! None of that matters to the Spooler, which will ensure that your spreadsheet makes it to the printer — independent of Excel.

  • Facilitates concurrent printing

  • Ever printed several, lengthy documents at the same time? The Spooler makes that possible — without overwhelming your printers.

    The Spooler maintains a queue of requests (a print queue) for each printer on your computer. When you print a document, the Spooler:

    • Adds a new item (a print job) to the print queue.
    • Sends the print job to the printer (when the printer is ready).
    • Monitors the printer as it produces pages.
    • Removes the job from the queue once the printer has produced all pages.

    Windows allows you to see (and manage) each printer’s queue. To open a print queue:

    1. Open the Control Panel (available from the Start menu).

    2. Type the word printers into the search box and click the View devices and printers link on the left:

      Find printers in Control Panel
    3. Find your printer in the list. Right click the printer and select See what’s printing from the menu:

      Select see what's printing
    4. A window showing all pending print jobs will come up. Here we see one item for Administrator — a text file printed from the Notepad application:

      The print queue window

      From there, you can cancel all print jobs (“clear the queue”), pause a specific job or stop printing altogether.

  • Will do everything in its power to ensure that documents are printed

  • The Spooler’s mission is to make sure that all your documents are printed — even if there is a brief outage or interruption.

    For example, if your printer temporarily disappears from the network, the Spooler will wait a reasonable time for the device to come back before declaring a failure.

    And if your request to print a single page is stuck behind a 200-page behemoth, the Spooler will ensure that your document gets its turn, eventually.

What happens if I stop the Spooler service?

Nothing can be printed when the Spooler service is stopped. And if you try to print without the service running, Windows will insist that no printers are installed:

No printers when Spooler is stopped

Indeed, when the service is running, printers show up as ready and waiting. Printing works fine:

Spooler service running, printers connected

But all printers become inaccessible the instant the service is stopped:

Spooler service stopped, printers not connected

Is it safe to disable the Spooler service?

If you don’t have any physical printers attached to your computer and you and never plan to do any printing, you can safely disable the Spooler service.

However, watch out for applications that silently use the printing API. They will also fail when the service is disabled.

What should I do if the Spooler service isn’t working?

If the Spooler is misbehaving, you should restart it. You can do so from the Services Control Panel application, or by running a couple of NET commands:

NET STOP Spooler
NET START Spooler

Be sure to run those commands from an elevated command prompt, otherwise they will fail with permissions errors.

I made a mistake. How do I cancel all printing?

To clear all printing, open the printer queue (see above) and select Cancel All Documents from the Printer menu:.

Select Cancel All Documents

Give the Spooler (and your printer) a few seconds to respond to the request.

Canceling didn’t work. Is there another way to clear out all pending documents?

Try running this sequence of commands to stop the Spooler, remove all files from the print queue, and restart the service. You will need to have admin rights:

NET STOP Spooler
DEL /Q /F /S C:\Windows\System32\spool\PRINTERS\*
NET START Spooler

The Spooler service won’t start (Error 1053)

As reported in Microsoft’s technical forum, the problem may be with “desktop interaction” — an obscure windows service setting.

To fix the issue:

  1. Open the Spooler service (from the Services Control Panel application)
  2. Switch to the Log On tab
  3. Un-check the Allow service to interact with desktop box:
    Un-check interact with desktop
  4. Click OK to save your change.

Afterwards, you should be able to start the service.

The Spooler service is stuck in the “Stopping” state — Help!

In that unusual situation, find and terminate the spoolsv.exe process from the Task Manager (admin rights required):

Task Manager: Terminate spoolsv.exe

The service should transition to the stopped state.

The Spooler service keeps stopping for no reason. How do I keep it running?

Our Service Protector utility may be able to help. Please follow this step-by-step tutorial showing how to protect the Spooler service.

Questions? Problems?

If you would like to know more about the Windows Print Spooler service, or you have a specific problem, please feel free to get in touch. We will do our best to help you!

Posted in Windows Services | Tagged , , , , , | 3 Comments

3 Responses to Essential Windows Services: Spooler

  1. NOTE: A critical vulnerability has been discovered in the Windows Print Spooler service.

    As reported by the Cybersecurity & Infrastructure Security Agency (CISA), an attacker can exploit this vulnerability — nicknamed PrintNightmare — to take control of an affected system.

    Until this vulnerability has been resolved, CISA encourages administrators to disable the Windows Print Spooler service in Domain Controllers and systems that do not print.

  2. Federico says:

    hi, thanks for the well documented article. If I print from my Windows PC using an internett portal running its own printer can I stop my local print spooler?
    can I send more than one printout at the same time if my print spooler is off?
    regards

  3. Hi Federico.

    If I print from my Windows PC using an internett portal running its own printer can I stop my local print spooler?

    Probably not. Definitely not if the printing happens from a browser (and is available on non-Windows PC’s).

    can I send more than one printout at the same time if my print spooler is off?

    If you’re using the Internet printing, then you should be able to send as many requests as you like…

Leave a Reply

Your email address will not be published. Required fields are marked *