AIX命令参考大全,卷 2,d - h - enq 命令

[ 页的底部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]

AIX命令参考大全,卷 2,d - h

enq 命令

用途

对一个文件排队。

语法

处理一个文件

enq [ - ] [ -B CharacterPair ] [ -c ] [ -C ] [ -G ] [ -j ] [ -m Text ] [ -M File ] [ -n ] [ -N Number ] [ -o Option ] [ -P Queue ] [ -r ] [ -R Number ] [ -t "User" ] [ -T Title ] [ -Y ] [ -Z Name ] File

改变打印作业的优先级

enq -a Number -# JobNumber

显示状态

enq [ -q | -A ] [ -L | -W ] [ -e ] [ -# JobNumber ] [ -u Name ] [ -w Seconds ] [ -s]

改变队列和队列守护进程的状态

enq [ -d ] [ -D ] [ -G ] [ -K ] [ -L ] [ -q | -A ] [ -U ]

取消选项

enq [ -X ] [ -xNumber ] [ -PPrinter ]

将一个打印作业保持、释放或者移动到另外的队列

enq { -h | -p | -Q NewQueue } { -# JobNumber [ -P Queue ] | -u User | -P Queue }

排队并保持打印作业

enq -H File ...

描述

enq 命令是用来为向共享资源(典型是打印机设备)的请求进行排队的通用实用程序。使用 enq 命令对请求进行排队,取消请求,改变请求的优先级并显示队列和设备的状态。

enq 命令有五个不同的语法图,因为全部的标志不是说一起工作。一些标志用作文件处理并接受 FileName 作为一个选项。其他的标志用来改变打印作业的优先级、显示状态、改变队列或队列守护进程的状态以及取消打印作业。

要想对特定队列中的文件进行排队,请使用 -P 标志(-P Queue)。如果有超过一个设备对一个队列服务,您还可以通过在队列名后面指定该设备(:device)来请求一个特定的设备。如果您没有指定一个设备,则该作业被送到第一个可用的设备中。如果您没有指定文件,enq 命令会将标准输入拷贝到一个文件中,并对它进行排队打印。

enq 命令的请求可以带有运算符消息。这个功能在分布式环境或者多用户系统中是很有用的。这些消息用来作为一个请求告诉打印机运算符这样的信息,在允许作业打印之前要往打印机装入特殊的表单或者不同颜色的纸张。这些消息由 -m-M 标志来指定。qdaemon命令会处理 enq 命令的请求。当 qdaemon 准备开始一个具有相关消息的请求时,系统会在 qdaemon 进程运行所在的机器的控制台上显示这个消息。消息文本伴随着一个提示,告诉打印机操作程序该如何通知该请求继续执行或者如何取消该请求。

enq -A 生成的显示包含了远程队列的两个条目。第一个条目包含了客户机的本地队列和本地设备名以及它的状态信息。第二个条目紧跟其后;它包含了客户机的本地队列名(再次)和其后的远程队列名。任何提交给远程队列的作业在本地会首先显示,并因为该作业被远程机器处理移动到远程设备上。

由于状态命令会同远程机器进行通信,因此状态显示可能偶然会在等待远程机器的响应时挂起。如果不能在两台机器上建立连接的话,该命令将最终超时。

注意:
  1. 在您可以对一个文件排队之前,您必须拥有对它的读取访问权。要想除去一个文件(见 -r 标志)您也必须有对包含该文件的目录的写访问权
  2. 如果在您发布 enq 命令后但是还没有打印之前您还想继续改动该文件的话,您必须使用 -c 标志。
  3. 当在打印机上对文件进行排队时,标志可以按照任何顺序进行分布。
  4. -d-G 标志会立即执行。在该命令行中的标志出现之前的语法错误被报告出来。在命令行中的这些标志之后出现的语法错误会被忽略。

标志

文件处理选项

如果您给于 enq 命令一个文件名的列表,它会对它们全部进行排队,以在缺省的设备或者指定的设备上进行文件处理

- 导致 enq 命令当作过滤器来操作。如果您没有指定一个文件或者多个文件,enq 命令自动读取标准输入。然而,如果您指定了一个文件的话,您还可以使用短划线(-)来强制 enq 命令读取标准输入。短划线(-)实际上不是一个标志,而是一种特殊类型的文件名。因此,它必须位于该命令行所有指定的其他的标志之后。
-B CharacterPair 按照后面的方式,根据 CharacterPair 的值控制分段页面的打印。(n = never, a = always, g = group. 第一个字符用作报头,第二个字符用作报尾。)
HT
描述
nn
没有报头,没有报尾
na
没有报头,每个文件中有报尾
ng
没有报头,在该作业的末尾有报尾
an
在每个文件中有报头,没有报尾
aa
作业中每个文件中都有报头和报尾
ag
每个文件有报头,作业之后有报尾
gn
在作业起始处有报头,没有报尾
ga
在作业的起始处有报头,在每个文件的后面有报尾
gg
在作业的起始处有页头,在作业的结束处有报尾

/etc/qconfig 文件中的报头和报尾节定义了缺省的分段页面的处理方法。

注意:在远程打印环境中,缺省值是打印报头页而不是报尾页。
-c 拷贝文件。为了节省磁盘空间,enq 命令会记住文件名称但不会真的拷贝文件本身。如果您想在等待当前拷贝打印的时候继续修改文件,请使用 -c 标志。
-C 指定了 mail 命令用作错误消息和作业完成的通知,而不是 write 命令。(使用该标志对于写 PostScript 应用程序很有用,因为它允许从打印机得到更好的反馈)。错误消息和作业完成的消息 (都是由 piobe 命令生成的)以及任何从打印机读入的数据也会用邮件送回。

-C标志只适用于本地打印作业。如果在送到远程打印机的作业完成时您还想得到通知,请使用 -n 标志来接收邮件消息。

注意: 有些消息用任何方式都不能从 qdaemon 和打印机后端重新定向。这些是系统错误,会被直接送到 /dev/console 文件中。
-j 指定将消息 Job number is: nnn(其中 nnn 是指定的作业号)显示给标准输出。仅在作业提交到本地打印队列中时才会发生这种情况。
-m Text enq 命令请求提交一个操作程序报文。指定的文本包含了这个报文。
-M File enq 命令请求提交一个操作程序报文。指定的文件包含了该报文的文本。
-n 当您的作业完成时通知您。如果 -t标志也被使用的话,enq 命令还会通知该请求的用户(见-t 标志)。
-N Number 打印文件的 Number 个拷贝。通常,一个文件只打印一次。
-o Option 指定将针对后端的标志传送到后端。这样,对于每个队列,有本文章中没有介绍可以包括在 enq 命令行中的标志。参考 piobe 命令获取这些标志的列表。
-P Queue 指定作业要送到的队列。可以通过输入 -P Queue:Device. 来指定队列中的一个特定的设备。
-r 在成功完成打印后除去该文件。
-R Number 将当前作业的优先级设置成 Number。这个标志在作业提交的时候用到。利用 -a 标志来在作业提交后改变其优先级。越大的数指定越高的优先级。默认的优先级为15。对大多数用户来说最大的优先级为 20,有 root 用户权限的用户的最大的优先级为 30。
-t "User" 对要分发给 User 的输出加标签。通常,该输出被标记以分发给发布 enq 命令请求的用户名。User 的值必须是一个单字,符合规则用户标识的同样的要求。
-T Title 将标题放到报头页中,并在 -q 标志被指定时显示出来。通常,作业的标题就是该文件的名称。如果 enq 命令是从标准输入中读取的话,作业的标题就是 STDIN.#,这里 #enq 命令的进程 ID。
-Y 告诉 enq 命令忽略该标志之后的命令行其余的部分。这对发现队列是否有效是很有用的(如果它是在 /etc/qconfig 文件中的话)。例如,输入 enq -P lp4 -Y 会返回出口值 0,如果行打印机lp4 是有效队列的话;否则会返回一个非零值。使用这个标志对于强制 qdaemon 命令再消化 /etc/qconfig 文件是很有用的。
-Z Name 指定远程打印作业的始发站。

打印作业优先级选项

-a Number 将指定作业的优先级改变成 Number。该作业必须在输入带有该标志的 enq 命令之前已经被提交打印。参考 -R 标志获取优先级的描述。用 -# 标志来指定作业的编号。该标志仅对本地打印作业有效。
-# JobNumber 指定 enq -q 命令或者 enq -a 命令使用的作业编号,并只显示在状态输出中指定的作业。

注意:
  1. 指定 -P Queue 来覆盖缺省的目的打印机。
  2. 如果作业 1、2 和 3 在打印机队列中,并且您指定了您想在作业 1 运行的时候得到作业 3 的状态的话,则状态信息将会显示作业 1 和作业 3而不是仅仅是作业 3。
  3. 如果您指定了一个不存在的作业编号的话,系统会显示队列里的当前作业编号,而不是错误消息。

显示状态选项

-A 为所有的队列提供状态。这就象对 qconfig 文件中每个队列运行一次 enq -q 命令一样。
-e 将不是在 qdaemon 命令的控制下的队列处来的状态信息排除在外。从这样的队列处得到的状态可能有不同的格式。-e 标志可以同任何标志的组合一起使用。
-L 指定长状态。该标志可以与 -A 标志或者 -q 标志一起使用。它不能同 -W 标志一起使用。如果 -L 标志和 -W 标志同时被使用的话,先指定的那个占先。使用 -L 标志来显示要在一个打印作业中打印的多个文件。
-q 显示缺省队列的状态。LPDESTPRINTER 环境变量控制着缺省打印机的名。如果 LPDEST 环境变量包含了一个值的话,那么这个值永远都是最先使用。如果 LPDEST 变量没有值,则 enq 命令会使用 PRINTER 环境变量。如果 PRINTER 环境变量没有包含任何值,那么 enq命令会使用系统缺省值。

声明:
  1. 使用 -P Queue 标志和 -q 标志一起来显示一个特定队列的状态。
  2. 任何目标命令行选项会覆盖 LPDESTPRINTER 环境变量。
-s 获取打印队列的状态,而不列出任何文件。
-u Name 指定打印作业状态的用户名。
-w Seconds 指定队列状态的连续输出,每隔指定的 Seconds 就更新一次屏幕,直到队列为空(见 lpq 命令)。当队列为空时,进程停止。该标志只能与 -q标志或者-A 标志或者 -L 标志一起使用。
-W 指定宽状态格式,它具有更长的队列名、设备名和作业编号。作业编号的信息在 AIX 4.3.2 中或者更后面的版本中可得。该标志可以同 -A 标志或 -q 标志一起使用。它不能同 -L 标志一起使用。如果 -L 标志和 -W 标志同时被使用的话,先指定的那个占先。

改变队列和队列守护进程状态选项。

-d 运行 digest 命令,该命令存在于 /etc/qconfig 文件中。一旦 digest 完成,任何对 /etc/qconfig 文件的改变都会反应到 /etc/qconfig.bin 文件中。用户必须有 root 用户权限才能运行这个选项。

除了对所有用户可用的前面的那些标志之外 enq 命令还接受下列标志,当它们由具有 root 用户权限的用户输入时。root 用户权限意味着您是 root 用户或者您属于 printq 组。

注意: 下列标志只能用在本地打印作业中。
-D 设备关闭。关闭与队列相关的设备。qdaemon 进程不再向该设备发送作业,并且输入 enq -q 命令会显示状态为 DOWN。任何当前运行在该设备上的作业都允许完成。
-G 优雅死亡。在所有当前运行的作业完成时结束 qdaemon 进程。这个标志的使用是唯一的将 qdaemon 进程关闭的干净的方式。kill 命令的使用可能会引发问题,如作业挂在队列中。

如果 qdaemon 进程正运行在 srcmstr 下的话(缺省配置),enq -G 不会防止 qdaemon 自动重启动。您必须使用 chssys 命令,这个命令会改变缺省的配置并且防止 qdaemon 进程的自动重启。下列命令 :

chssys -s qdaemon -O

enq -G 之前发布,防止 qdaemon 的自动重启。

下列命令 :

startsrc -s qdaemon

会手动重新启动 qdaemon 进程。

-K -D 标志的操作相同,除了所有当前的作业被杀死之外。它们留在队列中,当设备打开时会重新运行。
-L 指定长状态。该标志可以与 -A 标志或者 -q 标志一起使用。使用 -L 标志来显示要在一个打印作业中的多个文件。
-U 提出与队列相关的设备。qdaemon 进程重新向它发送作业,输入 enq -q 命令会显示它的状态是 READY。

注意:如果有多于一个设备同队列相关的话,当您使用 -D 标志, -K 标志和 -U 标志时您必须指定设备和队列。例如,只有当该队列中没有其他设备时输入 -P lp:lpd 才会指定相同的设备。

取消选项

-X 取消打印您的作业。如果您有 root 用户权限的话,则在该指定队列中的所有的作业都会被删除。该标志只有在本地打印作业中才有效。
-x Number 取消指定作业 Number 的打印
-P Printer 指定 Printer,这里或者所有的作业或者选定的作业编号要被取消。

注意:如果您拥有 root 用户权限并且没有指定队列的话,则在所有的队列中的所有的作业都会被删除。

保持和释放一个打印作业选项

-# JobNumber 指定要保持或释放的打印作业的编号。
-h 保持指定的打印作业
-H 对用 File 参数表示的文件进行排队和保持。
-p 释放指定的打印作业。
-P Queue 指定要被保持或释放的打印队列。
-u User 指定打印作业要被保持或释放的用户。

移动打印作业选项

-# JobNumber 指定要被移动的打印作业的编号
-P Queue 指定要被移动的打印队列。Queue 变量值可以是一个队列名或者有队列:设备名的形式。
-Q NewQueue 指定打印作业要移动到的目标队列。NewQueue 变量值可以是队列名的形式或者是队列:设备名的形式。
-u User 指定打印作业要被移动的用户。

安全性

审计的事件:

事件 信息
ENQUE_admin 队列名,设备名,作业名,用户名

示例

  1. 要想在缺省打印机上打印文件 memo ,请输入:

    enq memo
  2. 要想带页码打印文件 prog.c,请输入:

    pr prog.c | enq

    pr 命令在每页的顶部放置一个标题,该标题包含了文件最后修改日期、文件名和页码。enq 命令然后会打印该文件。

  3. 要想带页码打印一个从标准输入读入的文件,请输入:
    pr x | enq  -P bill  -n  -r fn1 - fn3
    短划线(-)特殊文件名告诉 enq 命令要从标准输入读取。如果在命令行中有文件名的话,一般 enq 命令不会从标准输入中读取。它还表示打印的顺序。pr 命令会为 x 文件创建一个页面编号了的版本,并将其传送到 enq 命令,这个命令会创建一个包含了 /var/spool/qdaemon 文件中输出的临时文件。

    enq 命令用四个文件创建了一个作业,并将其提交给名为 bill 的队列。它将打印 fn1 文件两次。然后它会打印,无论 pr 命令的输出是什么。最后它会打印 fn3 文件。那四个文件被当作用于分段页面的一个作业。当该作业完成时,会发送通知(-n 标志)。由于 -r 标志被指定,fn1fn3 文件在作业完成时被除去。由短划线(-)文件创建的临时文件总要删除。

    pr 命令在每页的顶部放置一个标题,该标题包含了文件最后修改日期,文件名和页码。enq 命令然后会打印该文件。

  4. 要想将 report 文件打印在下一个可用的为 fred 队列配置的打印机上,请输入:

    enq -P fred report
  5. 要想将以 sam 前缀开始的多个文件打印在为 fred 队列配置的下一个可用打印机上,请输入:

    enq -P fred sam*

    所有以 sam 前缀开头的文件都包含在一个打印作业中。通常状态命令只显示打印作业的标题,这种情况下就是队列中的第一个文件名除非 -T 标志指定了不同的值。要想列出打印作业中所有文件的名称,请使用长状态命令 enq -A -L.

  6. 要想检查打印队列看看文件是否还在等待打印,请输入:
    enq  -q
    这个命令会显示用户缺省队列的状态。如果该文件还没有被打印,那么它会出现在队列状态列表中。系统缺省的队列被定义成在 /etc/qconfig[.bin] 文件中的第一个队列。用户可以通过设置和导出用 PRINTER 环境变量将他们自己的缺省值覆盖。
  7. 要想显示非缺省队列lp0的状态, 请输入:
    enq  -q  -P lp0
  8. 要想获得长队列状态,请输入:
    enq  -L
  9. 要想获取所有队列的状态,请输入:
    enq  -A
  10. 要想获得所有队列的长状态,请输入:
    enq  -A  -L
  11. 要获取缺省队列的状态,请以宽格式输入:
    enq  -W
  12. 要获取所有队列的宽状态,请输入:
    enq  -W  -A
  13. 要想停止打印一个作业(一个作业就是一个或者多个文件),请输入:
    enq  -x 413
    该命令取消您以前的打印作业的请求。该编号是从输入 enq -q 命令获取的列表获得的。如果作业当前正在打印,则打印机会立即停止。如果作页还没有被打印,那么它会从队列中除去这样它就不会被打印了。如果作业不在队列中的话,enq 命令会显示一条和下面相似的消息:

    没有您的请求--或许它已经完成了?
  14. 要想将一个打印机从队列系统断开,请输入:
    enq  -P lp0:dlp0  -D
    输入这个命令会停止 enq 命令的请求被送到为 lp0 队列服务的打印机。如果一个文件当前正在打印,它会被允许打印完。您必须可以执行 qadm 命令来运行这个命令。

    注意:为一个给定队列服务的打印机是按照设备节名命名的,出现在 /etc/qconfig[.bin] 文件中。
  15. 要想使用缺省打印机上的 piobe 命令后端带页码打印文件,请输入:
    enq  -o -p filename
    -p 标志不被 enq 命令看见。-o 标志告诉 enq 命令把下一项(可以在引号内),传递到未改变的后端。因此,enq 命令会将 -p 标志传递给 qdaemon 进程,该进程接着传递到后端 piobe 上。-p 标志导致 piobe 执行 /usr/bin/pr 过滤器来在向设备提供数据之前将页码应用到文档中。多个选项可以在引号中给出,前面有 -o 标志,或者没有引号,每个前面有多个 -o 标志。
  16. 假定 qconfig 文件有下列信息:

    qname:
                   device = fred
    fred:
                   file = /tmp/hello
                   backend = /usr/bin/sh /usr/bin/diff

    并提供了下列命令:

    rm /tmp/hello
    touch /tmp/hello
    pr /etc/hosts|enq  -P qname:fred - /etc/hosts

    qdaemon进程用两个变量执行 /usr/bin/diff 程序,一个是临时文件名,另一个是 /etc/hosts 文件。两个文件之间唯一的区别就是其中一个是在 pr 命令中运行的。/tmp/hello 文件将包含两个文件之间的差异。qdaemon 进程不会创建 /tmp/hello 文件,如果它不存在的话。

  17. 下列命令:
    enq  -m'i want pink paper for this job' /etc/passwd
    会在打印作用要打印之前将指定的操作程序消息发送到操作程序的控制台上。操作程序必须对这个消息进行响应,来取消或者继续该作业。
    enq  -M pink /etc/passwd
    这个命令完成同样的事,只有消息包含在名为 pink 的文件中。
  18. 要想取消在 fred 队列中的所有的作业,请输入:
    enq  -X  -P fred
    如果输入该命令的用户有 root 用户权限,则所有 fred 队列中的作业都被删除。如果用户没有 root 用户权限,则只有该队列中的用户的作业会被删除。
  19. 要想对名为 MyFile 的文件进行排队并返回 MyFile 作业编号到 jdf 文件中,请输入:
    enq  -j MyFile
  20. 要想保持打印作业编号 310,请输入:
    enq  -h  -#310
    要想释放被保持的打印作业编号 310,请输入:
    enq  -p -#310
  21. 要想保持队列 lp0 中的所有的打印作业,请输入:
    enq  -h  -P lp0
    要想释放 lp0 队列,请输入:
    enq  -p -P lp0
  22. 要想保持由 fred 创建的所有打印作业,请输入:
    enq  -h  -u fred
    要想释放由 fred 创建的打印作业,请输入:
    enq  -p -u fred
  23. 要想将作业编号 318 移动到队列 lp0 中,请输入:
    enq  -Q lp0  -#318
    控制移动打印作业的标志同保持打印文件的标志的工作方式是一样的。保持标志和变量在前面的示例中介绍了。

文件

/usr/sbin/qdaemon 对守护进程排队
/etc/qconfig 对配置文件排队.
/var/spool/lpd/qdir/* 对请求排队.
/var/spool/lpd/stat/* 设备状态的信息.
/var/spool/qdaemon/* 队列中文件的临时拷贝.
/etc/qconfig.bin /etc/qconfig 文件的摘要的二进制版本

相关信息

chquedev命令、lsque命令、mkque命令和 rmque命令。

qconfig文件。

AIX 5L Version 5.2 Guide to Printers and Printing 中的 Changing / Showing Queue Characteristics

AIX 5L Version 5.2 Guide to Printers and Printing 中的 Printer Overview for System Management

AIX 5L Version 5.2 Guide to Printers and Printing 中的 Printer-Specific Information

AIX 5L Version 5.2 Guide to Printers and Printing 中的 Printer Support

AIX 5L Version 5.2 Guide to Printers and Printing 中的 Spooler Overview for System Management

AIX 5L Version 5.2 Guide to Printers and Printing 中的 Virtual Printer Definitions and Attribute

AIX 5L Version 5.2 Guide to Printers and Printing 中的 Printer Colon File Conventions

[ 页的顶部 | 上一页 | 下一页 | 目录 | 索引 | 法律条款 ]