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

相关推荐

  • 如何安全终止Linux中的sh脚本?

    前台运行脚本的终止(直接可见进程)若脚本在终端前台运行(例如通过 ./script.sh 启动):按下组合键:Ctrl + C立即发送 SIGINT 信号终止进程,适用于大多数情况,后台运行脚本的终止(需定位进程)步骤1:定位进程ID(PID)方法1:使用 ps 命令ps aux | grep sh输出示例:u……

    2025年8月4日
    4200
  • 如何查看Shell父进程PID?

    在Linux系统中,每个进程(除初始进程init外)都由另一个进程创建,创建者称为父进程,其唯一标识为PPID(Parent Process ID),查看父进程PID是诊断进程关系、排查异常进程或管理进程树的关键操作,以下是几种可靠的方法:使用 ps 命令(最常用)ps(Process Status)是基础工具……

    2025年8月4日
    3800
  • Linux系统中如何彻底卸载SVN及清除残留配置文件?

    在Linux系统中,卸载Subversion(SVN)通常涉及两个核心步骤:通过包管理器移除已安装的SVN软件包,以及手动清理可能残留的配置文件、数据目录和相关依赖,SVN作为版本控制工具,若不再使用或需要替换为其他工具(如Git),彻底卸载可释放系统资源并避免潜在冲突,以下将分场景详细说明卸载流程,涵盖主流L……

    2025年9月23日
    2400
  • linux 如何启动zk

    Linux 上启动 ZooKeeper,通常使用命令 zkServer.sh start。

    2025年8月13日
    3300
  • 如何正确安装Linux内核源码?详细步骤方法有哪些?

    安装Linux内核源码是进行内核开发、驱动编写或系统定制的基础工作,整个过程需确保系统环境兼容、操作步骤规范,以下是详细操作流程,涵盖环境准备、源码下载、解压配置等关键环节,环境准备在安装内核源码前,需确保系统已安装必要的编译工具和依赖库,否则后续编译或配置时可能报错,不同Linux发行版的依赖安装命令存在差异……

    2025年8月30日
    3400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信