在我们的生产环境中,我有一台打印机,用户可以从一个名为 iMX(基于 Java 和 Oracle Forms,如果这很重要)的 Unix(AIX)应用程序进行打印,官方文档页面在那里 http://www.codix.eu/download.php?language=eng如果您需要任何非常一般的信息。
问题在于,在一天中的某个时间点,通常是当负载变高时,打印机会停止打印 iMX 发送的文档,因为其中一个文档会“卡住”。
我们每一个最终用户都有:
- 他们用来在 Windows XP 工作站上打开会话的登录名/密码
- 打开 iMX 客户端后,他们专门使用不同的登录名/密码来连接 iMX
iMX 的服务器端在 AIX 服务器上运行,使用通用帐户“imxUser”,该帐户用于处理来自 iMX 用户的打印请求(请参阅下面的 lpstat)。
故障打印机也可以通过 Windows(主要是 XP)客户端直接访问,也就是说,人们可以在打印机管理器中“看到”它。他们可以从工作站打印 Word 文档或其他东西,这些打印机始终可以正常工作。请注意,这台故障打印机与我们使用的大多数打印机属于不同的品牌。供应商来检查过打印机一次,但没有任何结果。
Lpstat(我删除了文件和用户信息):
Queue Dev Status Job Files User PP % Blks Cp Rnk
------- ----- --------- --- ------------------ ---------- ---- -- ----- --- ---
pName @pName CONNECT 545 xx.user.xx imxUser 25 1 1
: (WARNING) Connection to server timed out after retrying.
rembak: errno = 79: Connection refused
pName pName HOST_DOWN
- ping pName 工作正常。
- 如果“imxUser”使用“lp -d pName filename”从终端打印某些内容,该内容就会被排队,并永远停留在队列中,至少直到作业 545 被手动取消(通过终端中的“取消”,或通过单击打印机远程网络访问上的“重新初始化打印机”)。
我无法随意重现此问题,它每天可重现一两次(当负载足够高时)。当发生这种情况时,最终用户只需将他们的工作站配置为使用不同的打印机作为 iMX 的默认打印机,因此此问题不会阻塞。然而,我们最终将不得不求助于切换到不同品牌的打印机,尽管我们甚至不能确定这是否能解决问题。
陷入困境的工作彼此之间没有任何共同之处。
我在这里很茫然,因为我对打印机/Unix 的了解有限(我可以检查一些东西,但我不能冒险破坏生产服务器上的任何东西),依赖于最终用户操作的可重复性非常差,以及我不太熟悉的网络环境和配置(不是我做的,我也没有实际的控制权)。
这里正确的方法是什么?需要寻找的正确事物是什么?
非常重要的编辑(抱歉,我忘了在第一个答案之前说这一点):
- 当人们告诉我他们不能再打印时,如果我手动取消当前作业,我就可以解开这些卡住的东西,但这必须手动完成并且无法解释。
- 我没有服务器上的 root 访问权限(我只能访问 imxUser 和我自己的个人用户,可能无能为力),如果我必须以 root 身份执行操作,则必须将它们转发给其他人。
附言:如果您需要更多信息,请咨询
答案1
我在其他(非 AIX)Unix 系统上使用 LPR/LPD 协议时也遇到过类似的打印队列问题。原因似乎是主机系统(您的 AIX 系统)与打印机通信时出现问题,最终放弃该打印机并将该打印机标记为“关闭”
重启队列
有时您可以通过取消停滞的打印作业来重新启动队列。据推测这会刺激服务器检查打印机是否仍然处于“关闭”状态。
有时,您可以通过停止并重新启动打印队列子系统来处理打印队列。如果 AIX 有lpshut
,lpsched
请尝试以 root 身份运行这些命令。
使用不同的协议
有时您可以通过切换到备用打印协议来防止问题的发生。
直接端口打印
大多数联网打印机还支持直接端口打印(例如,通过将数据发送到 HP 打印机或 HP Jetdirect 打印服务器的 TCP 端口 9100)。在 AIX 上可能存在设置此功能的方法。解决方案通常使用netcat
。不同的制造商使用不同的端口。
专有协议
HP 还有一种称为 HPNP 的专有协议 - 如果您的打印机是 HP 或通过 HP Jetdirect 盒连接,可能值得看看 AIX 是否支持该协议。
基于 FTP 的打印 一些打印服务器曾经支持使用 FTP 协议进行打印。我不太愿意尝试,但这可能是一个选择。通常,您可以配置 Unix 打印系统以使用自定义脚本进行打印,这样,您甚至可以设置 FTP 之类的东西作为系统正常打印过程的一部分。
解决原因
可以说最好的解决方案是修复导致 AIX 将打印机标记为“关闭”的网络不可靠性 - 但这可能需要一些精力来追踪和诊断。
建议
我会尝试直接端口打印。