cancel 命令
用途 (行式打印机请求)
取消行式打印的请求。
语法 (行式打印机请求)
cancel { JobID ... | PrinterName }
或
cancel JobID QueueName
描述 (行式打印机请求)
cancel 命令取消由 lp 命令作出的行式打印请求。
指定以下内容会取消本地打印作业:
- JobID 取消打印请求,即使是当前正在打印的请求。
- PrinterName 取消指定队列上作业的打印。 (如果具有 root 用户权限,可删除队列上的所有作业。)
在 enq、qchk、lpstat、lpq 状态命令中使用 -W 标志以显示更多的作业号数字。
如果队列显示出重复的三位数的作业号,使用 qchk -W 可以更精确地列出作业号。 然后可取消特定作业。
例如,qchk可能显示作业号123两次qchk -W将显示作业号1123和2123。如果要取消作业号 2123 ,请指定cancel 123,导致 qdaemon 取消它在其内部列表中找到的第一个匹配的作业号,这可能是1123. 通过 -W 标志提供的附加信息,您可以取消特定的作业号。
至于远程打印作业,必须指定 JobID 和远程 QueueName 以明确地取消远程队列上的作业。
- 您必须具有 root 用户权限,或者必须是 print 组的成员,才能取消当前标识未提交的打印请求。
- JobID 必须是数字。
- 如果您输入cancel -?,系统会显示以下错误消息:
enq: (FATAL ERROR): 0781-048: Bad queue or device name: -?
退出状态 (行式打印机请求)
本命令返回以下退出值:
| 项 | 描述 |
|---|---|
| 重大安全事件数量 | 成功完成。 |
| > 0 | 发生错误。 |
安全性 (行式打印机请求)
RBAC 用户注意: 此命令可以执行特权操作。 只有特权用户才能执行特权限定的操作。 有关与该命令相关联的特权和权限的列表,请参阅 lssecattr 命令或 getcmdattr 子命令。
文件 (行式打印机请求)
| 项 | 描述 |
|---|---|
| /var/spool/qdaemon/* | 包含已排队文件的临时副本。 |
| /var/spool/lpd/qdir/* | 包含打印作业的作业描述文件。 |
| /usr/bin/cancel | 包含命令文件。 |
用途 (打印请求)
取消打印请求
语法 (打印请求)
取消 [request-IDs] [打印机]
取消-u 登录 ID[打印机]
描述 (打印请求)
cancel 命令允许用户取消先前使用 lp 命令发送的打印请求。 cancel 的第一种形式允许基于这些请求的 reprewt-ID 来取消请求。 cancel 的第二种形式允许基于请求所有者的 login-ID 来取消请求。
- 取消打印请求
cancel 命令取消由 lp 命令作出的打印作业请求。 第一种形式允许用户指定一个或多个要取消的打印作业的 request-ID。 同样地,用户可以指定一个或多个 printers,据此,只有当前正在打印的作业会被取消(如果它是用户的作业)。
cancel 的第二种形式取消在 login-ID 中指定的用户的所有作业。 在此种形式中,printers 选项可用于限制打印机(用户作业将在其上被取消)。 注意在此形式中,当使用了 printers 选项,那么用户为这些打印机所排列的所有作业都将被取消。 打印机类不是有效的参数。
没有特权的用户仅可以取消与他或她自己的登录标识关联的请求;要取消请求,用户需发出命令:cancel -u login-ID [printer]此命令会取消与发出此请求的用户的 login-ID 相关联的所有打印请求(缺省情况下,为所有打印机上的请求;或者在指定打印机上的请求)。
具有适当特权的管理用户可以通过发出以下一类命令来取消由任意用户提交的作业:
- 取消'-u"登录-ID-列表”
- 取消由指定用户发出的所有请求(在所有相关打印机上的请求),包括当前正在打印的那些作业。 如果列表包含空格,那么在 login-ID-list 周围必须使用双引号。 参数 login-ID-list 可包括任一或所有以下结构:
- 登录标识
- 本地系统上的一个用户
- system-name! login-ID
- 系统 system-name 上的一个用户
- system-name! 全部
- 系统 system-name 上的所有用户
- 全部!登录标识
- 所有系统上的一个用户
- all
- 本地系统上的所有用户
- 全部! 全部
- 所有系统上的所有用户
远程作业仅当它源于客户机系统时才能被取消;即,服务器系统可以取消来自客户机的作业,而客户机系统可以取消它发送给服务器的作业。
- cancel-u"login-ID-list" printer-1 printer-2
- 取消指定用户对于指定打印机的所有请求,包括当前正在打印的那些作业。 (要获取系统上可用打印机的完整列表,执行 lpstat -p 命令。)
在所有这些情况中,取消当前正在打印的请求都能使打印机自由执行下一个打印请求。
RBAC 环境
此命令实现并可以执行特权操作。 只有特权用户才能执行此类特权操作。 要复审与该命令相关的特权和权限列表,请参阅 /etc/security/privcmds 数据库。