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 如何恢复到以前的mac地址

    通过 ifconfig 或 ip 命令重新设置MAC地址,具体命令根据系统

    2025年8月18日
    13700
  • Linux如何退出文件编辑的正确操作步骤?

    在Linux系统中,编辑文件后退出是日常操作的核心环节,不同文本编辑器的退出方式各有差异,掌握这些方法能提升操作效率,本文将详细介绍主流编辑器(vi/vim、nano、gedit)的退出逻辑、命令及常见问题处理,帮助用户灵活应对不同场景,vi/vim编辑器:模式化操作的核心vi/vim是Linux中最常用的命令……

    2025年8月27日
    15800
  • linux 如何查看rpm包

    Linux 中,可以使用 `rpm -qp

    2025年8月19日
    14800
  • Linux下如何转换U盘文件系统?

    准备工作备份数据:将U盘中的重要文件复制到其他存储设备,插入U盘:连接U盘到Linux电脑,确保系统识别(通常自动挂载在/media/目录),打开终端:按 Ctrl+Alt+T 启动终端,确认U盘设备标识符使用命令查看所有存储设备: sudo fdisk -l输出示例: /dev/sdb1 * 2048 156……

    2025年6月22日
    17300
  • Linux如何操作jar文件内容?

    在Linux系统中,JAR(Java Archive)文件是一种常见的归档格式,通常用于打包Java类文件、资源文件(如配置文件、图片、音频等)和依赖库,操作JAR文件内容是Java开发中常见的任务,包括查看、解压、修改、创建和运行等,本文将详细介绍Linux环境下操作JAR文件内容的具体方法和常用命令,查看J……

    2025年10月3日
    3.4K00

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信