qconfig 文件

用途

配置打印机排队系统。

描述

/etc/qconfig 文件描述了可供 enq 命令 (将请求放置在队列上) 和 qdaemon 命令 (从队列中除去请求并处理请求) 使用的队列和设备。 Qconfig 文件是一个属性文件。

此文件中的某些节描述队列,而其他节描述设备。 每个队列节都需要一个或多个设备节紧跟在文件中的后面。 第一个队列节描述缺省队列。 除非设置了 LPDEST打印机 环境变量,否则 恩格 命令在未接收到任何队列参数时使用此队列。 如果 LPDEST 包含一个值,那么该值将优先于 打印机 环境变量。 目标命令行选项始终覆盖两个变量。

队列节的名称长度可从 1 到 20 个字符。 以下是可能出现在此文件中的一些字段及其可能值:

字段 定义
acctfile 标识用于保存打印记帐信息的文件。(缺省值) 指示禁止记帐。 如果该名称的文件不存在,不完成记帐。
device 标识有关设备节的符号名称。
discipline 定义队列服务算法。 缺省值 fcfs 表示 "先来后到"。 表示下一个最短的作业。
up 定义队列的状态。,缺省值,指示队列正在运行。 指示它未在运行。
recovery_type 当打印队列关闭时,使用户能够指定恢复选项。 缺省情况下,队列仍处于关闭状态,等待用户干预。
可以使用以下值来指定其他选项:
runscript < 路径名 >
当队列关闭时,将运行用户定义的脚本。 该脚本所执行的操作由系统管理员自行决定。
重试 -T < 延迟时间 > -R < 重试次数 >
该队列将在 延迟 中指定的时间段内停机 (以分钟为单位)。 随后,它将被收回,并且将重试该作业。 这将重复进行,直至达到 重试中指定的重试次数。 在作业故障是由于可能在特定时间段内解决的临时条件 (例如,出纸条件或临时网络故障或速度减慢) 的情况下,此功能尤其有用。
sendmail <用户名>
当队列关闭时,指定的用户将接收到邮件,通知他或她特定打印机已关闭。
注: 勒普 是 BSD 标准保留队列名称,并且不应在 Qconfig 文件中用作队列名称。

以下列表显示了远程队列的 Qconfig 文件中出现的一些字段及其可能的值:

描述
host 指示在其中找到远程队列的远程主机。
s_statfilter 指定用于转换远程队列状态格式的简短版本过滤器。 以下是可能的值:
/usr/lib/lpd/bsdshort
BSD 远程系统
/usr/lib/lpd/aixv2short
资源 远程系统
/usr/lib/lpd/attshort
AT&T远程系统
l_statfilter 指定用于转换远程队列状态格式的长版本过滤器。 以下是可能的值:
/usr/lib/lpd/bsdlong
BSD 远程系统
/usr/lib/lpd/aixv2long
资源 远程系统
/usr/lib/lpd/attlong
AT&T远程系统
rq 指定远程队列名称。 在远程打印环境中,客户机配置应指定远程队列名称或者服务器。 使用缺省远程队列名称可能会导致不可预测的结果。

如果省略某个字段,那么将采用其缺省值。 队列节的缺省值如下所示:

discipline   = fcfs
up           = TRUE
acctfile     = FALSE
recovery_type = queuedown 

不能省略该设备字段。

设备节的名称是任意的,长度可以为 1 到 20 个字符。 可以出现在节中的字段为:

字段 定义
access 指定后端对文件字段指定的文件具有的访问权类型。 如果后端对文件具有写访问权,那么访问权值为 write; 如果后端同时具有读访问权和写访问权,那么访问权值为 both。 如果文件字段的值为 FALSE ,那么将忽略此字段。
align 指定如果打印机空闲,那么在启动作业前后端是否发送换页控制。 缺省值为 true。
backend 指定后端的完整路径名,可选地后跟要传递给它的标志和参数。 最常用的路径名是 /usr/lib/lpd/piobe (对于本地打印) 和 /usr/lib/lpd/rembak (对于远程打印)。
feed 指定在设备变为空闲时要打印的分隔符页面数,或者指定值 从不(缺省值) ,它指示后端不打印分隔符页面。
file 标识要将后端的输出重定向到的特殊文件。缺省值 FALSE表示没有重定向,文件名为 /dev/null。 这种情况下,后端打开输出文件。
header 指定在每个作业或一组作业前是否打印头页面。 值 从不(缺省值) 表示完全不存在任何标题页。 始终 表示每个作业之前的标题页。 表示同一用户的每个作业组前的头。 在远程打印环境中,缺省操作是打印标题页,而不打印尾部页。
trailer 指定在每个作业或一组作业后是否打印尾页面。 值为 从不(缺省值) 表示完全没有尾部页面。 始终 表示每个作业后的尾部页面。 表示在同一用户的每组作业后显示一个尾部页面。 在远程打印环境中,缺省操作是打印标题页,而不打印尾部页。

qdaemon 进程将包含的信息放置在feed,header,traileralign发送到后端的状态文件中的字段。 未更新状态文件的后端不使用它所包含的信息。

如果省略某个字段,那么将采用其缺省值。 后端字段不能被省略。 设备节中的缺省值为:

file    = FALSE
access  = write
feed    = never
header  = never
trailer = never
align   = TRUE
当二进制版本缺失或低于 ASCII 版本时, 恩格 命令将自动将 ASCII Qconfig 文件转换为二进制格式。 二进制版本位于 /etc/qconfig.bin 文件中。
注: 当任何队列中都有活动作业时,不应编辑 Qconfig 文件。 任何时候更改 Qconfig 文件时,在更改之前提交的作业都将在更改之后提交的作业之前进行处理。

编辑功能包括手动编辑和使用 姆克姆姆克奇克姆克杰夫Rmquedev奇克德夫 命令。 建议使用这些命令来进行对 Qconfig 文件的所有更改。 然而,若需手动编辑,请先执行 enq 命令 -G ,在所有作业处理完毕后停止队列系统和 qdaemon 进程。 然后,编辑 Qconfig 文件,并使用新配置重新启动 qdaemon

示例

  1. 随系统一起提供的批处理队列可能包含以下节:
    bsh:
      discipline = fcfs
      device = bshdev
    bshdev:
      backend = /usr/bin/ksh
     
    运行调用的 shell 过程myproc使用此批处理队列,请输入:
    qprt -Pbsh myproc
    排队系统一次运行一个文件,按提交的顺序运行。 qdaemon 进程将标准输入,标准输出和标准错误重定向到 /dev/null 文件。
  2. 要允许同时运行两个批处理作业,请输入:
    bsh:
      discipline = fcfs
      device = bsh1,bsh2
    bsh1:
      backend = /usr/bin/ksh
    bsh2:
      backend = /usr/bin/ksh
  3. 要设置远程队列,请执行bsh,请输入:
    remh:
      device = rd0
      host = pluto
      rq = bsh
    rd0:
      backend = /usr/lib/lpd/rembak
      
  4. 4 4. 要设置本地队列,以便在邮件关闭时将其发送到 user1@xyz.com ,请输入:
    ps:
           recovery_type = sendmail user1@xyz.com
            device = lp0
    lp0:
            file = /dev/lp0
            header = never
            trailer = never
            access = both
            backend = /usr/lib/lpd/piobe
    

文件

描述
/etc/qconfig 包含配置文件。
/etc/qconfig.bin 包含 /etc/qconfig 文件的摘要二进制版本。
/dev/null 提供对空设备的访问权。
/usr/lib/lpd/piobe 指定当地打印机后端的路径。
/usr/lib/lpd/rembak 指定该远程打印机后端的路径。
/usr/lib/lpd/digest 包含将 /etc/qconfig 文件转换为二进制格式的程序。