命令行清空打印队列用哪个命令?Windows、macOS 与 Linux 实操对
打印机卡住、命令任务一直显示“正在打印”却不出纸,行清是空打办公场景里很常见的问题。图形界面点“取消”有时毫无反应,印队任务排队越积越多,列用令最后连新文档都发不出去。个命这时用命令行清空打印队列往往更快、实操更彻底。命令本文按 Windows、行清macOS、空打Linux 三类系统分别说明该用哪个命令、印队怎么确认清空成功,列用令以及清不掉时的个命排查方向。
先说结论:不同系统命令并不相同。实操Windows 主要用 net stop spooler 停服务后清理后台打印文件夹,命令再 net start spooler 重启;macOS 和 Linux 使用 CUPS 体系,核心命令是 cancel -a 配合 lpstat 查看队列。下面逐个展开,命令均以系统自带工具为准,具体界面与权限提示以当地系统版本为准。
Windows:先停打印后台处理程序,再删队列文件
Windows 的打印任务由“Print Spooler(打印后台处理程序)”统一管理,队列文件存放在 C:\Windows\System32\spool\PRINTERS。任务卡死时,先停服务、清空该目录、再启动服务,是最稳妥的顺序。请以管理员身份打开命令提示符或 PowerShell,否则停服务会提示拒绝访问。
net stop spooler。看到“Print Spooler 服务已停止”即成功。del /Q /F %systemroot%\System32\spool\PRINTERS\*。该目录里是待打印的临时文件,删除不会影响已安装的打印机驱动。net start spooler。如果 del 提示文件被占用,说明服务没有真正停掉,可先用 sc query spooler 确认状态,或改用 PowerShell 的 Remove-Item "$env:SystemRoot\System32\spool\PRINTERS\*" -Force。若停服务时报“依赖服务无法停止”,通常是某些打印厂商的辅助服务在占用,需在“服务”管理器里一并处理,具体名称以本机安装的厂商软件为准。
另外,只想取消单个任务而非清空全部时,不必停服务。PowerShell 可用 Get-PrintJob -PrinterName "打印机名称" 列出任务,再用 Remove-PrintJob -PrinterName "打印机名称" -ID 任务号 精确删除。打印机名称要带引号,且与系统里显示的名称完全一致。
macOS 与 Linux:用 CUPS 的 cancel 命令清队列
macOS 和多数 Linux 发行版都用 CUPS 作为打印系统,因此命令基本通用。先用 lpstat -o 查看当前排队的任务,它会列出任务编号、所属打印机和文件名;如果输出为空,说明队列本来就是干净的,问题可能出在打印机硬件或网络连接上。
清空全部任务用 cancel -a。若只想清空某一台打印机,用 cancel -a 打印机名,打印机名可从 lpstat -p 的输出里获取。若只想取消某个任务,用 cancel 任务编号,编号来自 lpstat -o 的第一列。
权限方面,普通用户通常只能取消自己的任务;清空他人任务或整台打印机的队列,需要在命令前加 sudo,并按提示输入密码。执行后再跑一次 lpstat -o 验证,若无输出即为清空成功。部分桌面环境还会在系统设置里提供“重置打印系统”的选项,效果等同于删除全部队列与自定义打印机配置,操作前请确认是否还需要保留原有打印机,具体入口以当前系统版本界面为准。
如果 cancel 执行后任务仍在,常见原因是后台的 cupsd 进程状态异常。可尝试重启打印服务(不同发行版命令不同,常见为 sudo systemctl restart cups),或直接在系统设置的打印机面板中删除该打印机再重新添加。macOS 上还可在“打印机与扫描仪”里右键选择“重置打印系统”。
清空后仍不出纸,按这几个方向排查
清空队列只是解决“软件层排队”的问题。如果队列已空、重新发送文档仍无反应,建议依次检查:打印机是否处于脱机或暂停状态(Windows 在队列窗口的“打印机”菜单里可取消“暂停打印”和“脱机使用打印机”);网络打印机 IP 是否变化导致端口失效;USB 连接是否松动或换过接口;纸张、墨粉、卡纸等硬件告警是否未清除。这几项在队列窗口和打印机面板上通常都有直接提示。
还要提醒两点边界。第一,删除 PRINTERS 目录下的文件属于常规维护,但不要手动删除打印机驱动相关目录,否则可能导致设备无法识别。第二,在多人共用的打印服务器上执行“清空全部队列”,会一并取消同事正在排队的文档,操作前最好先确认,避免影响他人。若涉及公司统一管理的打印系统,权限与操作方式以本单位 IT 规定为准。
小结一下可执行的做法:Windows 记住“停服务—删队列文件—启服务”三步;macOS 和 Linux 记住 lpstat -o 查看、cancel -a 清空。执行完务必再查一次队列确认结果,若依旧不出纸,就把排查重点从软件队列转到连接与硬件状态上。命令本身不复杂,关键是顺序和权限别弄错。