Print Queue Stuck: Jobs Won't Print or Delete
Print jobs pile up and won't print or delete. The queue locks up. This fix clears the deadlock without rebooting the server.
When This Happens
You're a print server admin. Someone sends a big job—say a 50-page PDF—and it spools. Then another user sends a smaller job. The first job gets stuck at "Spooling" and never prints. The second job sits behind it. Now nobody can delete the jobs, not even as an admin. Right-click, click "Cancel", and nothing happens. The queue says "Deleting" but never finishes. That's a deadlock.
Why It Happens
The Windows Print Spooler service holds print jobs in memory. When a job gets stuck—usually because the printer driver crashes or the network connection drops at a bad time—the spooler locks up trying to process it. The queue becomes a deadlock. The spooler won't release the job until it finishes sending it to the printer, but the printer isn't listening. So the job sits forever, and you can't delete it because Windows thinks it's still being processed.
I've seen this on Server 2016 and Server 2019 mostly. It's rare on Server 2022 but still happens if you use an old driver. The real fix is to clear the queue manually by restarting the spooler service, then deleting the job files from disk.
The Fix: Step-by-Step
This works for Windows Server 2016, 2019, and 2022. You don't need to reboot the server. You'll stop the spooler service, delete the stuck jobs, then restart it.
- Stop the Print Spooler service.
Open Command Prompt as Administrator. (Right-click Start, select "Command Prompt (Admin)" or "Windows PowerShell (Admin)".)
Type this command and press Enter:
You should see: "The Print Spooler service is stopping." and then "The Print Spooler service was stopped successfully."net stop spooler - Clear the stuck jobs from disk.
Browse to this folder:
Delete everything inside that folder. Don't delete the folder itself, just the files inside. If you see a file named with a .SHD or .SPL extension, that's a stuck job. Delete it.C:\Windows\System32\spool\PRINTERS
Important: If Windows tells you a file is in use, you didn't stop the spooler properly. Go back to step 1 and make sure it stopped. - Restart the Print Spooler service.
Back in the Command Prompt, type:
You should see: "The Print Spooler service is starting." and then "The Print Spooler service was started successfully."net start spooler - Verify the queue is clear.
Open Print Management (runprintmanagement.mscfrom Run dialog). Check the queue for the printer that was stuck. It should show 0 documents. If it shows any, refresh and check again. - Test printing.
Send a small test job—like a notepad page—to the printer. It should print within a few seconds. If it doesn't, your printer might be offline or the driver is corrupt.
If It Still Fails
Sometimes clearing the spooler folder isn't enough. If the queue still shows stuck jobs after restarting the spooler, try this:
- Check the registry for orphaned jobs. Open Regedit, go to
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\. Find your printer key. Under it, you'll see a subkey namedJobs. Delete all values underJobs. Then restart the spooler again.
Warning: Back up the registry before editing. Messing up the registry can break the server. - Reinstall the printer driver. Corrupt drivers are the number one cause of deadlocks. Download the latest driver from the manufacturer's website. In Print Management, right-click the printer, select "Remove", then add it again with the new driver.
- Check the event log. Open Event Viewer, go to Windows Logs > System. Look for errors from source "Print" or "Spooler". The error usually says something like "The document ... failed to print" or "The spooler service terminated unexpectedly". That tells you if it's a driver issue or a hardware issue.
If none of that works, restart the server. That's the nuclear option, but it always works because it clears everything from memory. I've only had to do that twice in five years.
Pro tip: To avoid this in the future, set a print limit on large jobs. In the printer properties, under Advanced, check "Print spooled documents first" and set "Keep printed documents" to Off. This keeps the queue lean and prevents deadlocks from huge jobs.
Was this solution helpful?