Print Spooler服务描述: 管理所有本地和网络打印队列及控制所有打印工作。如果此服务被停用,本地计算机上的打印将不可用。如果此服务被禁用,任何依赖于它的服务将无法启用。
可执行文件路径: c:\WINDOWS\system32\spoolsv.exe
Spooler(打印后台处理服务)的进程名是spoolsv.exe,WinXP Home/PRO默认安装的启动类型是自动,依赖于Remote Procedure Call。Spooler是为了提高文件打印效率,将多个请求打印的文档统一进行保存和管理,先将要打印的文件拷贝到内存,待打印机空闲后,再将数据送往打印机处理。这样处理速度更快些。建议将其设置为手动,有打印任务时再打开。如果没有打印机自然是禁用了。
出错实例:
1、Print Spooler 服务启动失败:Print Spooler 服务的默认启动方式为自动,由于Print Spooler服务的依赖关系里没有Server服务(可能是安装某些软件时造成了注册表项丢失),从而试图抢先在Server服务启动之前启动Print Spooler服务造成的,在注册表里给Print Spooler服务增加依赖项LanmanServer,再把Print Spooler服务的启动方式改为自动,出错现象得到了解决。
2、每次开机以后发现spoolsv.exe进程消耗了大量的cpu资源(70%),严重影响了系统的运行。
我们知道每当创建一个打印任务以后,会在 %systemroot%\system32\spool\printers 目录下创建2个文件,扩展名分别为 shd 和 spl。如果估计没错,肯定是这里出现问题了。远程控制,打开 %systemroot%\system32\spool\printers 目录检查,果然发现有2个文件,扩展名分别为 shd 和 spl,如果删除这2个文件会不会解决 spoolsv.exe 进程消耗大量的cpu资源的问题呢?
我们来进行故障处理:
尝试先把 print spooler 服务停止掉,然后再把 %systemroot%\system32\spool\printers 目录下的 shd 和 spl 文件删除,重新启动 print spooler 服务,故障排除。故障分析:
print spooler 服务启动的时候会检查打印队列,如果发现有未完成的队列则会尝试执行,如果队列文件被破坏,则可造成 print spooler 服务执行的时候出现死循环,导致 spoolsv.exe 进程消耗大量的cpu资源.
spl文件为当前脱机文件,包含当前打印任务。
shd文件为当前脱机打印的信息文件,包含谁发起了打印任务,打印任务中的队列信息,以及该打印任务发送到哪里等等信息。
此外还伴随一些tmp文件,如果spl、shd文件出现问题,或者打印队列送往无效打印机,又或者送往的打印驱动模块无法正确响应,这可能导致spoolsv.exe进行反复尝试,进而占用大量cpu资源,这个现象有可能导致系统挂起。