qconfig 文件
用途
配置在系统中排队的打印机。
描述
/etc/qconfig文件描述了可供 "enq命令和 "qdaemon命令使用的队列和设备。 enq命令将请求放入队列,"qdaemon命令从队列中移除请求并进行处理。 qconfig文件是一个属性文件。
此文件中的某些节描述队列,而其他节描述设备。 文件中的每个队列节后必须紧跟一个或多个设备节。 第一个队列节描述缺省队列。 除非设置了LPDEST或PRINTER环境变量,否则 "enq命令在没有收到队列参数时将使用该队列。 如果 LPDEST 包含一个值,那么该值将优先于 打印机 环境变量。 目标命令行选项始终覆盖两个变量。
队列字段的名称长度必须在 1 到 20 个字符之间。 以下字段是 "qconfig文件队列部分的字段:
| 字段 | 定义 |
|---|---|
acctfile |
标识用于保存 "print命令会计信息的文件。 默认值为FALSE,表示抑制记账。 如果命名的文件不存在,则不进行核算。 |
device |
标识有关设备节的符号名称。 |
discipline |
定义为算法提供服务的队列。 默认值为fcfs,表示先到先得。 sjn表示下一个最短工作。 |
up |
定义队列的状态。 默认值TRUE表示队列正在运行。 值FALSE表示不运行。 |
recovery_type |
允许用户在打印队列出现故障时指定恢复选项。 默认情况下,队列处于停机状态,需要用户干预。 其他选项可以通过使用以下值来指定:
|
lp是伯克利软件发行版(BSD)标准保留队列名称,不得用作 "qconfig文件中的队列名称。下面列出了远程队列 "qconfig文件中出现的一些字段及其可能的值:
| 项 | 描述 |
|---|---|
host |
指示在其中找到远程队列的远程主机。 |
s_statfilter |
指定用于翻译远程队列状态格式的简短版本过滤器。 以下是可能的值:
|
l_statfilter |
指定用于转换远程队列状态格式的长版本过滤器。 以下是可能的值:
|
rq |
指定远程队列名称。 在远程打印环境中,客户端配置必须指定远程队列名称或服务器。 使用默认远程队列名称可能会导致无法预测的结果。 |
如果省略某个字段,那么将采用其缺省值。 下屏显示队列协议的默认值:
discipline = fcfs
up = TRUE
acctfile = FALSE
recovery_type = queuedown 不能省略该设备字段。
设备分节的名称是任意的,长度必须在 1 到 20 个字符之间。 以下字段是 "qconfig文件设备字段中的字段:
| 字段 | 定义 |
|---|---|
access |
指定后端对文件字段中指定文件的访问类型。 如果后端对文件具有写访问权,那么访问权值为 write; 如果后端同时具有读访问权和写访问权,那么访问权值为 both。 如果文件字段的值为 FALSE ,那么将忽略此字段。 |
align |
指定如果打印机空闲,那么在启动作业前后端是否发送换页控制。 缺省值为 true。 |
backend |
指定后端的完整路径名,然后是要传递给它的标志和参数(如有)。 最常用的路径名是本地打印的 "/usr/lib/lpd/piobe和远程打印的 "/usr/lib/lpd/rembak。 |
feed |
指定设备闲置时要打印的分隔页数。 默认值为 "从不",表示后台不打印分隔页。 |
file |
标识后端输出重定向的特殊文件。 默认值FALSE表示不重定向,文件名为 "/dev/null。 这种情况下,后端打开输出文件。 |
header |
指定在每个作业或一组作业前是否打印头页面。 header字段可以有以下值:
|
trailer |
指定在每个作业或一组作业后是否打印尾页面。 trailer字段可以有以下值:
|
qdaemon流程会将 "feed、"header、"trailer"和 "align字段中包含的信息放入一个状态文件中,然后发送到后台。 不更新状态文件的后端不会使用其中包含的信息。
如果省略某个字段,那么将采用其缺省值。 后端字段不能被省略。 下屏显示了设备字段的默认值:
file = FALSE
access = write
feed = never
header = never
trailer = never
align = TRUE
- 输入以下命令,停止AIX打印机子系统:
#stopsrc -s qdaemon - 输入以下命令启动AIX打印机子系统:
#startsrc -s qdaemon -e printer_scalability=ON - 输入以下命令启动 "lpd守护进程:
#startsrc -s lpd -e printer_scalability=ON - 输入以下命令,将打印机可扩展性环境变量设置为ON:
#export printer_scalability=ON打印机可扩展性环境变量仅为当前会话设置。
- 要提高AIX打印机子系统的可扩展性,请完成前面介绍的所有步骤。 未完成任何步骤都可能导致打印机子系统出现未定义的行为。
- 为保持AIX打印机子系统的可扩展性,可创建队列数量的最佳限制为 10,000。
编辑包括手动编辑和使用 "mkque、"rmque、"chque、"mkquedev、"rmquedev或 "chquedev命令。 建议使用这些命令对 "qconfig文件进行所有修改。 不过,如果要手动编辑,首先要发出 "enq -G命令使队列系统停止运行,并在所有任务处理完毕后发出 "qdaemon命令停止运行。 然后编辑 "qconfig文件,并使用新配置重新启动 "qdaemon命令。
示例
- 系统随附的批队列可能包含以下段落:
bsh: discipline = fcfs device = bshdev bshdev: backend = /usr/bin/ksh要使用批处理队列运行名为 "myproc的 shell 程序,请输入以下命令:
队列系统按照提交的顺序一次运行一个文件。 qdaemon进程将标准输入、标准输出和标准错误重定向到 "/dev/null文件。qprt -Pbsh myproc - 要允许两个批处理任务同时运行,请输入以下命令:
bsh: discipline = fcfs device = bsh1,bsh2 bsh1: backend = /usr/bin/ksh bsh2: backend = /usr/bin/ksh - 要设置远程队列 "
bsh,请输入以下命令:remh: device = rd0 host = pluto rq = bsh rd0: backend = /usr/lib/lpd/rembak - 要设置本地队列,以便在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 | 包含 "digest命令创建的 "/etc/qconfig文件的二进制版本。 |
| /dev/null | 提供对空设备的访问权。 |
| /usr/lib/lpd/piobe | 指定当地打印机后端的路径。 |
| /usr/lib/lpd/rembak | 指定该远程打印机后端的路径。 |
| /usr/lib/lpd/digest | 包含将 "/etc/qconfig文件转换为二进制格式的程序。 |