マークは コメント を書いてくれました
カップをスプールしないようにする方法、つまり、プリンタードライバーが実行された後にのみlprコマンドを終了させる方法は、わかりません。
印刷用の「スプール」とはどういう意味ですか?
グーグルはそれが「中間ストアへの送信(周辺機器での印刷または処理を目的としたデータ)」を意味する動詞であると言います。 lpr
コマンドで印刷するときなど、印刷スプールが表す中間ストアは何ですか
マークはスプールの意味とブロッキングを関連付けているようです。しかし、Googleの定義を見ても分かりません。
ありがとう。
印刷スプール は事実上、ジョブごとに管理されるバッファであり、プログラム(スプーラ)は、プログラムの送信からジョブを受け取り、それらを1つまたは複数のプリンタに供給する役割を果たします。スプールのポイントは、速度の異なる2つのシステム間の通信を処理し、共有デバイスへのアクセスを制御することです。前者は、プログラムが必要なだけ速く印刷ジョブを送信できることを意味し、それらのジョブはプリンターが処理できるのと同じくらい速く(またはゆっくりと)処理されます。後者( 指摘 によって RonJohn として)は、ジョブが一貫して処理されることを保証します。したがって、印刷時にジョブが混同されることはありません。
ネットワークプリンターは独自のスプールを提供し、プリントサーバー(CUPS、lpd
など)もスプールを実装します。ほとんどの印刷システムは、アクセス制御、クォータ、バナー、印刷オプションなども処理します。スプールは他のコンテキストで使用されます。たとえば、テープベースのバックアップサーバーは、ネットワークに接続されたホストからバックアップデータを高速なディスクベースのストレージシステムにスプールするようになりました。
コメントの文脈では、スプールの関連性は、印刷ジョブの送信をフルフィルメントから無相関にすることです。スプールしないと、送信は印刷ジョブでのみ完了するため、lpr
コマンドはジョブが完了した後にのみ完了することになります。プリンタ自体もスプールする可能性があるため、コンピュータのスプールを削除しても、望ましい結果が得られない場合があります。
簡単に言えば、スプーラは次のもので構成されます。
あなたの場合、フォアグラウンドプログラム( lpr
)はその印刷ジョブを cups
に送信し、それを保存してからシリアル、パラレルを使用します。 、USB、ネットワーク、...実際に印刷プロセスを開始するための通信。
だからこそ、今日プリンタが用紙切れになっても、引き続きコンピュータを使用できますが、私がCP/Mの子供だったときは、コンピュータ全体がロックされるまで、紙を追加しました...
「スプーリング」と呼ばれるのはなぜですか?
当時、大型のコンピューターはテープを使用してこれらの種類のファイルを保存していたため、ディスクが高すぎるため、 機械室 データセンターで最初に聞こえたのは、テープが回転し始めたということでした。2、3〜4秒後に初めてプリンターが印刷を開始します(運が良ければ)。 ;-)
注1:「スプール」は「磁気テープを巻き付けることができる円筒形のデバイス」を意味する名詞であるため、「スプール」は円筒形のデバイスですスピンアップしてテープを巻き上げています...
まず、「スプール」という用語の意味から始めましょう。ドキュメントのサイズがプリンタのメモリよりも大きい場合があるため、「プリンタのスプール」により、複数のドキュメントをプリンタに送信し、これらすべてのドキュメントをキューに入れることができます。
Unixでは、2つの印刷システムがあります。
lpd
デーモンを使用して印刷ジョブをスケジュールします。lpsched
をスケジューラーとして使用します。Jeff Lessemの SAIL:Unixシステム管理の独立した学習 には nixでの印刷 に関するセクションがあり、BSDおよびSVR4システムの両方の概要を提供しています。
BSDスプーリングシステム
大規模な異種ネットワークにも拡張でき、多くのコンピューターでプリンターを共有できます。
BSDスプールシステムでは、プリンタへのアクセスは
lpd
デーモンとlpr
プログラムによって制御されます。lpr
は、BSDシステムでファイルを印刷用にキューに入れることができる唯一のプログラムです。
lpr
は、印刷するデータを受け取り、それをスプールディレクトリに入れ、lpd
デーモンに通知します。各印刷ジョブについて、lpr
は制御ファイル(cfxxx)とデータファイル(dfxxx)の2つのファイルをスプールディレクトリに作成します。xxxは一意のジョブIDを示します。制御ファイルには、所有者のIDなど、印刷ジョブを処理するための情報が含まれています。データファイルには、印刷される実際のデータが含まれています。
lpd
デーモンは/etc/printcap
ファイルをチェックして、宛先プリンターを識別します。宛先プリンターがローカルデバイスの場合、lpd
はlpd
デーモンのコピーがその印刷キューで実行されていることを確認します。それ以外の場合、lpd
は、プリンターが接続されているリモートホストへの接続を開き、制御とデータファイルの両方をホストに転送します。印刷ジョブは、先入れ先出し(FIFO)ベースで
lpd
によってスケジュールされます。ただし、システム管理者はlpcコマンドを使用して、印刷キュー内のジョブの優先順位を変更できます。
SVR4スプーリングシステムは、SolarisおよびHP-UXで使用されます。より多くの制御と柔軟性を提供しますが、ネットワーク印刷用に設計されておらず、セットアップがより複雑です。
SVR4スプーリングシステムでは、
lp
コマンドは印刷するデータを受け入れ、宛先に関連付けられたスプールディレクトリにそのコピーを作成します。宛先は、プリンター名と、プリンターが属するクラスのオプション指定で構成されます。指定されたプリンターがビジーの場合、ジョブは同じクラスの別のプリンターに送信されます。スプールディレクトリは通常/var/spool/lp/request/printer-name
で、印刷ファイルには、ジョブとユーザーの両方を識別する一意の名前が付けられます。プリンターへのアクセスは、
lpsched
デーモンによって制御されます。スプールディレクトリからジョブを取得し、利用可能になったときに適切な宛先に送信します。 lpschedは、通常/usr/spool/lp/log
にログも保持します。ログファイルは、印刷ジョブの処理中のエラーとユーザー名を示します。
[〜#〜] spool [〜#〜]は[〜#〜] s [〜#〜] imultaneous [〜の頭字語です。 #〜] p [〜#〜]周辺[〜#〜] o [〜#〜]期間[〜#〜] o [〜#〜] n [〜#〜] l [〜#〜] ine。コンピューティングの初期(ただし初期ではない)の時代から、プロセッサーはプリンターが印刷できるよりも速く結果を生成しました。スプーリングがなければ、プロセッサーは印刷自体が完了するまで「印刷ジョブ」を完了できませんでした。これにより、プロセッサがアイドル状態になり、プリンタを待機することがよくありました。
アメリカの宇宙計画の間、スプーリングの大きな前進がありました。コンピューターの結果の生成が遅すぎたため、NASA専用の新しいスプーリングシステムが作成されました(ただし、すべてのIBMシステムに搭載されるまで、NASAとその後継機は人気を得ました)。 [〜#〜] h [〜#〜] ouston [〜#〜] a [〜#〜] utomatic [〜#〜 ] s [〜#〜]プーリング[〜#〜] p [〜#〜]ログラム、作成[〜#〜]ハスプ[〜#〜]最初のネストされた頭字語。
スプールのよい例えは、スレッドファクトリです。スレッドは高速で回転され、他の場所にスプールに格納されます。その後、糸のスプールは最終的にはミシンまたは他の機械にかけられ、非常に遅い速度で実行され、そこで完成品を作成するために使用されます。
スプーリングはかなり古い学期です。最近では、「プリントキュー」がより頻繁に使用されます。
キューイングはイギリス人が「列に並ぶ」ことを言っていることです。そのため、印刷ジョブは「キュー」に入れられます。つまり、印刷するためにインラインで待機します。
ジョブがスプーリングを終了した後(印刷行の間に長い「考える」時間が存在する可能性があります)、そのジョブは通常FIFOの基準で)印刷されますが、印刷ジョブの優先順位はそれを上書きできます。
オペレーターが用紙を交換するために、印刷スプールとキューを一時停止できます。一部のページが破損した場合も、を再起動できます。