Linux如何暂停打印任务?暂停操作方法详解

在Linux系统中,打印任务通常由CUPS(Common UNIX Printing System)服务管理,这是一个开源的打印系统,广泛用于各类Linux发行版,要暂停打印操作,可能涉及暂停特定打印任务、暂停整个打印机的打印服务,或临时阻止新任务进入队列,以下是详细的操作方法,涵盖命令行和图形界面两种方式,并包含注意事项和常见问题解答。

linux如何暂停打印

Linux打印系统基础

CUPS是Linux打印的核心,它通过监听631端口提供打印服务,支持本地和网络打印机,打印任务提交后,会进入打印队列,按顺序处理,暂停打印通常有两种场景:一是暂停队列中的某个任务(如用户误提交了错误文档),二是暂停整个打印机的打印服务(如打印机缺纸、卡纸需要维护),理解这两种场景的差异,有助于选择正确的操作方式。

命令行方法暂停打印

命令行是Linux系统管理的常用方式,尤其适用于服务器环境或无图形界面的系统,以下是常用命令及操作步骤:

查看打印队列状态

在暂停打印前,需先确认打印队列中的任务情况,使用lpstat命令可以查看打印机的状态和队列中的任务。

  • 查看所有打印机的状态

    lpstat -a

    输出示例:

    HP_LaserJet_Pro_M404n  accepting requests since Mon 01 Jan 2024 10:00:00 CST  
    Canon_PIXMA_G3000  accepting requests since Mon 01 Jan 2024 10:05:00 CST  

    accepting requests”表示打印机正在接受打印任务,“not accepting requests”则表示暂停接受新任务。

  • 查看队列中的打印任务

    lpstat -o

    输出示例:

    HP_LaserJet_Pro_M404n-1     user1      123     待处理  
    HP_LaserJet_Pro_M404n-2     user2      124     打印中  

    每个任务包含任务ID(123、124)、用户名和状态(待处理、打印中)。

暂停特定打印任务

如果只想暂停队列中的某个任务(如任务ID为123的任务),使用cancel命令:

linux如何暂停打印

cancel 123

执行后,该任务会被从队列中移除,若任务正在打印,则会立即停止,若需强制停止(即使任务处于打印中),可添加-f参数:

cancel -f 123

暂停整个打印机的打印服务

若需要暂停打印机接受所有新任务(如打印机维护),可通过修改打印机属性实现,使用lpadmin命令:

sudo lpadmin -p 打印机名称 -o pause

暂停名为“HP_LaserJet_Pro_M404n”的打印机:

sudo lpadmin -p "HP_LaserJet_Pro_M404n" -o pause

执行后,打印机状态会变为“not accepting requests”,新提交的任务会被拒绝进入队列,但队列中已有的任务仍会继续打印。

恢复打印服务

暂停打印机后,若需恢复打印服务,使用lpadmin命令取消暂停状态:

sudo lpadmin -p 打印机名称 -o resume
sudo lpadmin -p "HP_LaserJet_Pro_M404n" -o resume

使用cupsctl控制打印服务

CUPS还提供了cupsctl命令,用于动态调整打印服务的行为,临时暂停所有打印机的任务处理:

sudo cupsctl --set-device-uri=//no/printer

此命令会将所有打印机的设备URI设置为“//no/printer”,阻止数据发送到打印机,恢复时需重新设置正确的设备URI(可通过lpinfo -v查看打印机URI):

sudo cupsctl --set-device-uri=usb://HP/LaserJet_Pro_M404n?serial=xxx

图形界面方法暂停打印

对于使用图形界面的Linux用户(如Ubuntu、Linux Mint等),可通过系统设置或打印机管理工具暂停打印,操作更直观。

通过系统设置管理打印机

以GNOME桌面环境(Ubuntu默认)为例:

  • 打开“设置”→“打印机”,在列表中选择目标打印机(如“HP_LaserJet_Pro_M404n”)。
  • 点击“打印机选项”或“首选项”,找到“打印机状态”或“管理”选项。
  • 勾选“暂停打印”或“不接受新任务”,点击“应用”即可暂停打印机。
  • 恢复时取消勾选即可。

使用系统打印管理工具

部分发行版(如Fedora、CentOS)提供“打印机配置”工具(system-config-printer):

linux如何暂停打印

  • 在终端运行system-config-printer命令,打开图形界面。
  • 选择目标打印机,点击“打印机”菜单→“暂停打印”。
  • 恢复时再次点击“暂停打印”取消勾选。

暂停特定任务(图形界面)

在“打印机配置”工具中,切换到“队列”选项卡,可以看到所有打印任务,右键点击需暂停的任务,选择“暂停”或“取消”,即可暂停或移除该任务。

注意事项

  1. 权限问题
    命令行操作中,lpadmincupsctl需要管理员权限(sudo),普通用户只能管理自己提交的任务(如cancel 123只能取消当前用户的任务123)。

  2. 打印机状态检查
    暂停打印后,建议通过lpstat -a确认打印机状态是否变为“not accepting requests”,避免因状态未更新导致操作无效。

  3. 任务恢复
    使用cancel命令暂停的任务无法直接恢复,只能重新提交;暂停的打印机可通过lpadmin -p 打印机名称 -o resume恢复,但队列中的任务会继续处理。

  4. 网络打印机
    若为网络打印机,需确保CUPS服务允许远程连接(修改/etc/cups/cupsd.conf中的Listen 631Allow @LOCAL),否则无法远程管理打印任务。

常用命令速查表

命令 功能 示例
lpstat -a 查看所有打印机状态 lpstat -a
lpstat -o 查看队列中的打印任务 lpstat -o
cancel 任务ID 取消暂停指定任务 cancel 123
sudo lpadmin -p 打印机名称 -o pause 暂停整个打印机 sudo lpadmin -p "HP_LaserJet" -o pause
sudo lpadmin -p 打印机名称 -o resume 恢复打印机打印服务 sudo lpadmin -p "HP_LaserJet" -o resume
sudo cupsctl --set-device-uri=//no/printer 动态暂停所有打印机 sudo cupsctl --set-device-uri=//no/printer

相关问答FAQs

问题1:使用cancel命令取消任务时提示“cancel: Bad job ID”,怎么办?
解答:该错误通常是因为任务ID不存在或已处理完成,可通过lpstat -o查看当前队列中的有效任务ID,确保输入正确的ID,若任务已完成,则无需操作;若任务ID正确但仍报错,可能是CUPS服务异常,尝试重启CUPS服务:sudo systemctl restart cups

问题2:暂停打印机后,新提交的任务仍进入队列,是什么原因?
解答:可能是暂停操作未生效,检查打印机状态:lpstat -a | grep "打印机名称",若仍显示“accepting requests”,说明暂停命令执行失败,常见原因包括:① 未使用sudolpadmin需要管理员权限);② 打印机名称输入错误(可通过lpstat -p查看所有打印机名称);③ CUPS服务异常(重启服务:sudo systemctl restart cups),重新执行暂停命令并确认状态即可。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/28226.html

(0)
酷番叔酷番叔
上一篇 2025年9月22日 09:59
下一篇 2025年9月22日 10:24

相关推荐

  • 如何查看系统主配置文件?

    查看定时任务(cron jobs)当前用户的定时任务crontab -l # 列出当前用户的计划任务若显示 no crontab for [user],表示该用户无定时任务,修改任务:crontab -e(需谨慎操作),系统级定时任务系统管理员配置的任务通常位于以下目录:# 查看所有系统计划任务(包括子目录)l……

    2025年7月27日
    16600
  • Linux如何查看网卡信息?

    在Linux系统中,查看网卡信息是网络配置和故障排查的基础操作,无论是日常运维还是系统管理,掌握多种查看网卡的方法都能帮助我们快速定位问题,本文将详细介绍通过命令行工具、图形界面、配置文件等多种方式查看Linux网卡信息,并解释关键输出含义,最后附上常见问题解答,命令行工具查看网卡信息命令行是Linux环境下最……

    2025年9月20日
    13800
  • Linux考证路径怎么选?权威指南来支招

    在当今以云计算、大数据和人工智能为核心的技术浪潮中,Linux操作系统凭借其开源、稳定、安全和灵活的特性,已成为服务器、云计算平台、容器技术(如Docker/Kubernetes)乃至嵌入式系统领域的绝对基石,掌握Linux技能不仅是IT从业者的必备能力,更是通往高薪技术岗位(如系统工程师、运维工程师、DevO……

    2025年7月2日
    18500
  • 2016年Linux如何畅玩游戏?方法与技巧全解析?

    2016年,Linux系统在游戏领域的支持相较于以往有了显著进步,尽管仍面临一些挑战,但通过多种方式,用户已经能在Linux上享受不少游戏,这一年,Steam for Linux的持续优化、兼容层工具的成熟以及硬件驱动的改进,共同为Linux游戏生态奠定了基础,以下从多个方面详细说明2016年在Linux玩游戏……

    2025年8月25日
    18300
  • 为什么选择CPU版本安装?

    在Linux系统上安装MXNet的完整指南MXNet是由Apache基金会维护的高性能深度学习框架,广泛应用于计算机视觉、自然语言处理等领域,以下是在Linux系统(如Ubuntu、CentOS)上安装MXNet的详细方法,涵盖多种安装场景,安装前的准备工作系统要求支持Ubuntu 16.04+、CentOS……

    2025年6月18日
    17800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信