Unfortunately, the format of the ".SHD" file is officially undocumented (see for some reverse engineered documentation), so figuring out "which file is which" in the spool directory and deleting only the "corrupt" print jobs is very difficult, at best. This header information file contains the details about which printer the job is being sent to.ĭeleting the matching pair of the "SPL" and "SHD" files for a given print job effectively deletes that job. Printing isn't sexy, but it's often business critical.)Įach print job is represented in the spool directory by a ".SPL" file (containing the print job data in EMF or raw format) and a matching ".SHD" file, containing "header" information about the job. The print spooler service has languished in a state of relatively little enhancement throughout the last few releases of Windows. (As an aside: Microsoft could do a lot of enhancemnet of the print spooler service, IMO, to alleviate situations like you're seeing. You're not going to lose any jobs that are already queued for other printers by bouncing the spooler service (you can demonstrate this yourself on another server or a client- pause a printer, put some jobs in queue, and stop / restart the spooler serivce), but if you find that you have to go the route of deleting job files from the spool directory you'll have a hard time locating them amid the other spooled files for jobs you intend to keep. In my experience, some jobs get "jammed" in a queue so "severely" as to require stopping the spooler server, clearing the files that represent the jobs out of the %SystemRoot%\System32\Spool\Printers folder, and re-starting the spooler service. If you don't have access to the physical printer you can use his method.īouncing the spooler service is the only viable choice that I'm aware of. If you have physical access to the printer and it is convenient to turn it off you can use my method. The key is in his way of dealing with it the spool service has to be stopped in dealing with it my way the spooler has to be started. You can use the print queue on Windows (start - settings - printers or start - printers) and delete the job from the print queue using the Document menu - Cancel option. I can't promise you that your situation matches this experience but I think its worth considering the behaviour observed and the implications to how the process of printing/print spooling hands things along.Įdit: In the opposite take to Evan's manipulation of the spool files. If you don't do 1-4 in exactly that order you get stuck in an endless loop fighting with a-c. the printer won't print any other job until the corrupt job is completed or deleted. the print spooler won't let you delete the corrupt job through the GUI if the spooler is stoppedĬ. The print spooler won't stay started as long as the corrupt print job is present and the target printer is onī. Occasionaly I've had experience with a corrupt print job in a printer queue. More importantly I wanted to share this with you: In general I would say it is safe to restart the service on the fly. End users will notice but it won't be as bad as silently dropping a print job. Restarting the print spooler generally doesn't drop print jobs it just stops accepting new ones.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |