马克写道一条评论为我
我不知道如何让杯子不假脱机,即如何使 lpr 命令仅在打印机驱动程序运行后退出。
打印中的“假脱机”是什么意思?
谷歌表示,这是一个动词,意思是“发送(用于在外围设备上打印或处理的数据)到中间存储”。 Printing spool 代表什么中间存储,例如通过lpr
命令打印时
马克似乎将线轴的含义与阻塞联系起来。但我无法通过查看谷歌给出的定义来弄清楚这一点。
谢谢。
答案1
简而言之,假脱机程序由以下部分组成:
- 一个后台程序
- 每台打印机一个目录
- 每个打印作业一个文件
在你的情况下,前台程序(lpr
) 将其打印作业发送到cups
,它存储它,然后使用串行、并行、USB、网络……通信来实际启动打印过程。
所以这就是为什么现在即使打印机缺纸你仍然可以继续使用你的电脑,而当我还是个孩子时,在 CP/M 上,整个电脑都被锁定,直到你添加更多纸张......
为什么叫“假脱机”?
因为在那个时代,大型计算机使用磁带来存储此类文件,因为磁盘太昂贵,所以当您在机房数据中心内工作时,您首先听到的是磁带开始旋转,并且只有在经过一段时间后,您会听到磁带开始旋转。第二或 3-4 打印机将开始打印(如果你幸运的话)。;-)
注1:“线轴”是一个名词,意思是“可以缠绕磁带的圆柱形装置”,因此“线轴”是旋转和缠绕磁带的圆柱形装置......
答案2
A打印线轴实际上是一个缓冲区,按作业进行管理,其中有一个程序(假脱机程序)负责从提交程序接收作业并将其提供给一台或多台打印机。假脱机的目的是处理两个不同速度的系统之间的通信,并控制对共享设备的访问。前者意味着程序可以按照需要的速度提交打印作业,并且这些作业的处理速度与打印机可以处理的速度一样快(或慢)。后者(如指出经过罗恩·约翰)确保作业得到连贯处理:因此在打印时,作业不会混淆。
联网打印机提供自己的假脱机,打印服务器(CUPSlpd
等)也实现假脱机。大多数打印系统还处理访问控制、配额、横幅、打印选项等。线轴用于其他环境;例如,基于磁带的备份服务器现在将来自网络主机的备份数据存储在基于磁盘的快速存储系统上,以便它们能够以所需的极快速度为现代磁带驱动器提供数据,以避免磁带擦鞋。
在评论的上下文中,假脱机的相关性在于它使打印作业提交与其实现脱钩。不假脱机意味着提交只会在打印作业完成时完成,因此您的lpr
命令只有在作业完成后才会完成。卸下计算机上的线轴可能不会达到预期的结果,因为打印机本身也可能出现线轴!
答案3
首先,让我们从“假脱机”一词的含义开始:有时文档的大小大于打印机的内存,因此“打印机假脱机”允许将多个文档发送到打印机并将所有这些文档放入队列中。
现在,Unix 下有两种打印系统:
- BSD 假脱机系统使用
lpd
守护进程来安排打印作业。 - SVR4 假脱机系统用作
lpsched
调度程序。
杰夫·莱塞姆的USAIL:Unix系统管理自主学习有一节关于Unix下打印它提供了 BSD 和 SVR4 系统的良好概述:
这BSD 假脱机系统
可以很好地扩展到大型异构网络,允许许多计算机共享打印机。
在 BSD 假脱机系统下,对打印机的访问由
lpd
守护进程和lpr
程序控制。lpr
是 BSD 系统上唯一可以对文件进行排队打印的程序。
lpr
接受要打印的数据,将其放入假脱机目录中,并通知lpd
守护程序。对于每个打印作业,lpr
在假脱机目录中创建两个文件,一个控制文件 (cfxxx) 和一个数据文件 (dfxxx),xxx 表示唯一的作业 ID。控制文件包含处理打印作业的信息,包括所有者的身份。数据文件包含要打印的实际数据。守护
lpd
程序检查/etc/printcap
文件以识别目标打印机。如果目标打印机是本地设备, 请确保该打印队列上正在运行守护程序lpd
的副本。lpd
否则,lpd
打开与打印机所连接的远程主机的连接,并向其传输控制文件和数据文件。
lpd
打印作业按照先进先出 (FIFO) 原则进行调度。然而,系统管理员可以使用 lpc 命令来更改打印队列中作业的优先级。
SVR4 假脱机系统由 Solaris 和 HP-UX 使用。它提供了更多的控制和灵活性,但不是为网络打印而设计的,并且设置起来更复杂。
在 SVR4 假脱机系统下,该
lp
命令接受要打印的数据,并在与目标关联的假脱机目录中复制该数据。目标由打印机名称和打印机所属类别的可选规范组成。当指定的打印机繁忙时,作业将发送到同一级别的另一台打印机。通常,假脱机目录/var/spool/lp/request/printer-name
和打印文件都会被赋予唯一的名称来标识作业和用户。对打印机的访问由守护进程控制
lpsched
。它从假脱机目录中获取作业,并在可用时将它们发送到适当的目的地。 lpsched 还保留一个日志,通常为/usr/spool/lp/log
.日志文件将指示处理打印作业中的任何错误以及用户名,
答案4
假脱机是一个相当古老的学校术语。现在您会看到“打印队列”被更频繁地使用。
To Queue是英国谚语“排队等候”。因此打印作业是“排队”的,即排队等待打印。
作业完成假脱机后(打印行之间可能有很长的“思考”时间),然后进行打印,通常以 FIFO 为基础,但打印作业优先级可以覆盖它。
可以暂停打印线轴和队列,以便操作员更换纸张。如果某些页面损坏,也可以重新启动。