How to Restart the Print Spooler Service Properly on Windows 11
🔍 WiseChecker

How to Restart the Print Spooler Service Properly on Windows 11

Quick fix: Stop the Print Spooler service, delete every file in C:\Windows\System32\spool\PRINTERS, then start the Print Spooler again — this clears the queue cleanly and avoids the “spooler restarted but jobs reappeared” problem.

A stuck print job won’t cancel. The Print Spooler shows the document in the queue with status Deleting that never finishes. You restart the spooler from Services and the same phantom job comes back. The trick is the order of operations: just restarting the service isn’t enough — the queue folder needs to be emptied while the service is stopped, then the service started fresh.

Symptom: Print queue stuck with phantom jobs that won’t cancel; restarting Print Spooler doesn’t clear them; printing fails until the queue is empty.
Affects: Windows 11 (and Windows 10) print spooler subsystem.
Fix time: ~3 minutes.

ADVERTISEMENT

What causes this

Each print job creates two files in C:\Windows\System32\spool\PRINTERS: a .SHD file (job metadata) and a .SPL file (the spooled data ready to send to the printer). When the spooler service starts, it reads the contents of this folder and rebuilds the print queue from those files. If a job’s SHD or SPL file is corrupted, the spooler can’t complete or delete it, and the job reappears every time the service starts. A plain service restart picks the corrupted files right back up.

The fix is to stop the spooler, manually delete the files while the spooler isn’t holding handles on them, then start the spooler so it sees an empty queue.

Method 1: Stop spooler, empty queue folder, start spooler

The standard procedure. Always do this when the queue is stuck.

  1. Press Win + R, type services.msc, press Enter.
  2. Scroll to Print Spooler. Right-click and choose Stop.
  3. Open File Explorer and paste this path into the address bar: C:\Windows\System32\spool\PRINTERS. Press Enter.
  4. Select all files (Ctrl + A) and delete them (Shift + Delete to skip the Recycle Bin). The folder itself should remain.
  5. Return to services.msc. Right-click Print Spooler and choose Start.
  6. Right-click Print Spooler again, choose Properties, and confirm Startup type is set to Automatic. Close.

The queue is empty and the spooler is freshly started. Try printing — the test page should produce immediately, with no leftover phantom jobs.

ADVERTISEMENT

Method 2: Use PowerShell for a scripted reset

Useful for support scripts or if you do this often.

  1. Open Terminal (Admin) from the Start right-click menu.
  2. Run the full sequence:
    Stop-Service -Name Spooler -Force
    Remove-Item -Path "C:\Windows\System32\spool\PRINTERS\*" -Force -Recurse
    Start-Service -Name Spooler
  3. Verify the spooler is running:
    Get-Service Spooler | Format-Table Name, Status, StartType

    Status should read Running.

  4. List the queue to confirm it’s empty:
    Get-PrintJob -PrinterName *

    No output means no jobs.

This approach takes about three seconds end-to-end and is easier to put into a help-desk runbook.

Method 3: Restart spooler dependencies if it won’t start

Use this when the spooler won’t start after the queue is emptied, or starts and immediately stops (Event Viewer shows Service Control Manager errors).

  1. Open Terminal (Admin).
  2. Check the spooler’s dependencies (services it requires):
    Get-Service Spooler -RequiredServices
  3. The dependencies are typically Remote Procedure Call (RPC) and HTTP. Make sure both are running:
    Get-Service RpcSs, HTTP | Format-Table Name, Status
  4. If RpcSs is stopped, start it: Start-Service RpcSs.
  5. Try starting the spooler again: Start-Service Spooler.
  6. If the spooler still fails to start, check Event Viewer → Windows Logs → System for entries with source Service Control Manager. The most common error code is 1053 (timeout), often caused by a corrupted printer driver. In that case, uninstall recently-added printers from Settings → Bluetooth & devices → Printers & scanners and re-test.

If the spooler still won’t start with all dependencies running and no failing printers installed, an underlying file in C:\Windows\System32\spool\drivers is corrupt — see the escalation section.

How to verify the fix worked

  • Open Settings → Bluetooth & devices → Printers & scanners. Your printer should show as Ready.
  • Run Get-PrintJob -PrinterName * in PowerShell. Output should be empty.
  • Print a test page from Printer properties → General tab → Print Test Page. The job leaves the queue and the printer produces output within 30 seconds.

If none of these work

If the spooler keeps crashing on start, a corrupted printer driver in C:\Windows\System32\spool\drivers is the cause. To clear it: stop the spooler, then delete (or rename) the subfolders under C:\Windows\System32\spool\drivers\x64\3 and C:\Windows\System32\spool\drivers\x64\4 — these are driver stores for V3 and V4 print drivers. After cleaning, reinstall your printer through Settings → Printers & scanners → Add device. For chronic spooler crashes that survive driver cleanup, the issue may be a registered print monitor (DLL hooks added by third-party software like CutePDF, PrimoPDF, or some scanner suites) — run regedit, navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors, and remove any monitor entries other than the defaults (BJ Language Monitor, Local Port, Standard TCP/IP Port, USB Monitor, WSD Port). Restart the spooler — if it stays running, you’ve identified the bad monitor and can keep it removed.

Bottom line: Restarting the spooler service alone isn’t enough — empty the PRINTERS folder while the service is stopped, then start fresh. Phantom jobs disappear cleanly.

ADVERTISEMENT