Delete print jobs jamming print queue in Windows 2000 and NT

Why certain print jobs can't be deleted in the conventional way and how to get rid of them.

The printer spooler service SPOOLSS.EXE (SPOOLSV in Windows 2000) manages jobs sent to printers connected to Windows NT and Windows 2000 machines. (If you're printing to a remote or networked printer, the Spooler service on the machine which the remote printer is attached to will handle the job.)

On occasion, a print job may refuse to work correctly and may jam the print queue. Worse, it may be impossible to delete the print job through conventional means, i.e., by right-clicking on the job and selecting Cancel, or by selecting Cancel All Documents from the Printer menu. If this happens, it usually means the job itself is corrupt and must be deleted manually.

If you're trying to delete a stuck print job, take note of the job's approximate time and date. Then:

  1. Close all open Printers folders.
  2. Stop the Spooler service. In Windows 2000, this is done through the Services icon in Administrative Tools (found in the Control Panel); in Windows NT 4.0, it's done through the Services icon in the Control Panel. You can also stop the Spooler by typing NET STOP SPOOLER at a command prompt. If you're using TCP/IP Printing Services, you'll need to stop that service as well.
  3. Open the %Winroot%\System32\SpoolPrinters directory (same in both operating systems). Make sure Explorer is set to view hidden and system files.
  4. Delete all *.SPL and *.SHD files in that directory that match the time/date stamp of the job you're trying to kill. If you're trying to purge everything, delete all files with those extensions.
  5. Close the Printers folder and restart the stopped services. You can restart the Spooler from the command line by typing NET START SPOOLER.

If you have too many "dead" spool files in the directory, you may also get this error whenever you try to print:

An application error has occurred and an application error log is being generated.
SPOOLSS.EXE (SPOOLSV.EXE in Win2K)
Exception: access violation (0xc0000005), Address: <Hex address>

This indicates that the directory may be overloaded with printer spooler files and needs to be cleaned. Also check into the system's TEMP directories and remove any *.TMP files. These can also be an obstacle; some printer drivers use the TEMP directory for rasterization of print jobs.


About the author: Serdar Yegulalp is editor of the  Windows Insight, (formerly the Windows Power Users Newsletter), a blog site devoted to hints, tips, tricks and news for users and administrators of Windows NT, Windows 2000, Windows XP, Windows Server 2003 and Vista. He has more than 12 years of Windows experience under his belt, and contributes regularly to SearchWinComputing.com and SearchSQLServer.com.

This was first published in August 2002

Dig deeper on Windows Server Virtualization and Microsoft Hyper-V

Pro+

Features

Enjoy the benefits of Pro+ membership, learn more and join.

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

-ADS BY GOOGLE

SearchServerVirtualization

SearchCloudComputing

SearchExchange

SearchSQLServer

SearchWinIT

SearchEnterpriseDesktop

SearchVirtualDesktop

Close