AIX 作业假脱机程序(spooler)
2009-07-11 08:32:21 来源:WEB开发网核心提示: #lpstat-WQueueDeviceStatusbshbshdevREADYbshbshdev2READY如果使用多个作业假脱机,而且对备份作业进行假脱机,AIX 作业假脱机程序(spooler)(6),那么就无法确保在备份作业开始之前完成所有其他作业,运行以下命令创建一个 shell
# lpstat -W
Queue
Device
Status
----
----
----
bsh
bshdev
READY
bsh
bshdev2
READY
如果使用多个作业假脱机,而且对备份作业进行假脱机,那么就无法确保在备份作业开始之前完成所有其他作业。
运行以下命令创建一个 shell 脚本,以它为例演示跨多个作业队列设备的作业假脱机:
print -- '#!/usr/bin/ksh93
typeset -R2 T
T=${RANDOM}
print -- "${T} ${0}" > "${0}.out"
date >> "${0}.out"
sleep ${T}
date >> "${0}.out"
' > /tmp/tmp1.ksh
chmod 755 /tmp/tmp1.ksh
为了演示跨多个队列的作业假脱机(假设已经创建了第二个作业假脱机队列设备),运行下面的 “for” 循环,向 “bsh” 作业队列提交 10 个作业。
for i in 0 1 2 3 4 5 6 7 8 9
do
lp -d bsh /tmp/tmp1.ksh
done
现在,使用下面的 “while” 循环查看前面提交的作业的作业队列状态。在 lpstat -W 命令的每次执行之间睡眠 5 秒:
while true
do
lpstat -W
print -- “# Hit Control-C to end this loop”
sleep 5
done
查看完 lpstat -W 命令的输出之后,按 Control-C 中断 “while” 循环。“while” 循环的输出像下面这样。注意,有多个作业处于 RUNNING 状态;每当一个作业完成时,一个 QUEUED 作业就转移到作业假脱机设备队列中并执行。
更多精彩
赞助商链接