终端命令管理macos打印队列更彻底高效:用lpstat查看状态,cancel精准取消任务,sudo cancel -a清空全部,cupsaccept/reject控制打印机启停,必要时重启cups服务。
直接用终端命令管理 macos 打印队列,比图形界面更彻底、响应更快,尤其适合处理卡死、灰显、重复报错的任务。所有操作基于系统原生 cups 服务,无需安装额外工具。
查看全部队列与错误任务
先确认当前有哪些待处理作业和异常状态:
- 运行 lpstat -o 查看所有打印机的排队任务,含文档名、页数、提交时间及任务 ID
- 运行 lpstat -a 列出所有已配置打印机及其是否“启用”“接受作业”
- 运行 lpstat -p 检查每台打印机当前状态(如 idle、paused、connecting-to-device)
- 若某任务长期显示 “processing” 却无进展,或状态栏出现 “error”“stopped”,即为错误项
精准取消指定错误任务
不依赖界面响应,直接按 ID 或打印机名终止问题作业:
- 取消单个任务:cancel [任务ID](如 cancel 127)
- 取消某台打印机下的特定任务:cancel -P [打印机名称] [任务ID](如 cancel -P HP_LaserJet 127)
- 取消某台打印机下所有任务:cancel -a -P [打印机名称](如 cancel -a -P Canon_iP8700)
- 注意:任务 ID 来自 lpstat -o 输出,打印机名称来自 lpstat -a 或「系统设置→打印机与扫描仪」中显示的名称
强制清空全部本地队列
适用于批量错误、界面失灵或准备重置前的兜底操作:
- 清空所有打印机的所有待处理任务:cancel -a
- 若提示权限不足,加 sudo:sudo cancel -a(需输入管理员密码,输时不显示字符)
- 该命令不删除打印机配置,仅清除 /var/spool/cups/ 下的作业文件,安全可靠
暂停/恢复打印机并检查底层状态
部分错误源于打印机被系统主动挂起,需同步调整服务状态:
- 暂停某台打印机接收新任务:cupsreject [打印机名称]
- 恢复其接收能力:cupsaccept [打印机名称]
- 查看某台打印机详细状态(含错误日志线索):lpstat -p [打印机名称]
- 若状态持续为 “paused” 且无法恢复,可能需配合重启 CUPS 服务(见下条)
配合重启CUPS服务解决深层阻塞
当任务反复重建、新作业发不出、或 cancel 命令无反应时,说明 CUPS 后台进程已僵死:
- 停用服务:sudo launchctl stop org.cups.cupsd
- 启动服务:sudo launchctl start org.cups.cupsd
- 更彻底清理(可选):sudo rm /var/spool/cups/*(仅删作业文件,不碰配置)
- 重启后立即运行 lpstat -o 验证队列是否为空、状态是否回归正常











