LPD(8) FreeBSD システム管理者マニュアル LPD(8)
名称
lpd − ラインプリンタ・スプーラ・デーモン |
書式
lpd [−cdlpsW46] [port#] |
解説 |
lpd ユーティリティは、ラインプリンタのためのデーモン (スプール領域を管理 するプログラム) で、通常はブート時に rc(8) ファイルから起動されます。この デーモンは、接続されているプリンタの情報を printcap(5) ファイルを一通り読 み込むことによって取得し、クラッシュ後に残っていたファイルがあれば印刷し ます。その後、システムコールの listen(2) と accept(2) を用いてキュー内の ファイルの印刷・スプール領域へのファイル転送・キューの表示・キューからの ジョブの削除などの要求を受け付けます。何か要求があると lpd は子プロセスを fork してその要求を処理するので、親プロセスは続けて次の要求待ちをできるよ うになっています。 使用できるオプション: |
−c
デフォルトでは、リモートホストがローカルホスト上の lpd へ印刷を試 みた際にエラーが発生すると、 lpd はリモートホストに対してエラー メッセージのみを送信します。 −c フラグを使用すると、 lpd はこれら の接続エラーを syslog(3) で記録します。 −d −l −p −s −W −4 −6 −46 port# プリンタへのアクセス制限は二つの手段を用いて行われます。第一に、全ての要 求は /etc/hosts.equiv ファイルもしくは /etc/hosts.lpd ファイルに列挙され ているマシンからのものでなければなりません。第二に、アクセスされるプリン タに関する printcap(5) エントリに rs 特性の指定があると、 lpr からの要求 はそのプリンタが接続されているマシンにアカウントを持つユーザのものしか受 け付けられなくなります。 各スプールディレクトリ内に minfree というファイルを作成し、空きとして残し ておくディスクのブロック数を書いておけば、ラインプリンタキューがディスク を使い尽くしてしまわないようにできます。 minfree ファイルは任意のテキスト エディタを使って編集できます。 このデーモンは、プリンタへのアクセスを排他的に行うためのロック (後述) を 行ったうえでファイルの処理を開始し、スプールディレクトリの中に cf で始ま る名前のファイルがあるかどうかを調べます。 cf ファイルの内容は印刷すべき ファイルの名前もしくは印刷以外で行うべき何らかの動作を示しています。ファ イル中の各行はキー文字から始まっており、その行の残りの部分と合わせてどの ような動作を行うべきかを表しています。 J C L T H P M f l p t n r g c v r 1 2 3 4 W I U N Z 何らかのファイルがオープンできない場合、 syslog(3) を通じて LOG_LPR 機能 分類でメッセージが記録されます。 lpd ユーティリティは、最大 20 回まで目的 のファイルのオープンを試みますが、それでも失敗するとそのファイルに関わる 印刷処理は飛ばします。 lpd ユーティリティは、ロックファイルを排他的にアクセスする目的あるいは複 数のデーモンが同時にアクティブになるのを回避する目的で flock(2) を使用し ます。デーモンが kill されたり異常終了した場合でもロックファイルを削除す る必要はありません。ロックファイルは普通に読むことができる ASCII 形式で書 かれており、2 行からなります。 1 行目はデーモンのプロセスIDで、2 行目は現 在実行中であるジョブの制御ファイル名です。 2 行目は lpq(1) および lprm(1) が使用できるよう、常に lpd の現在の状態を示すように更新されています。 関連ファイル |
/etc/printcap
プリンタ記述ファイル 関連項目 |
lpq(1), lpr(1), lprm(1), setsockopt(2), syslog(3), hosts.lpd(5), printcap(5), chkprintcap(8), lpc(8), pac(8) |
4.2 BSD Line Printer Spooler Manual.
歴史
lpd プログラムは Version 6 AT&T UNIX から登場しました。 FreeBSD 10.0 June 6, 2001 FreeBSD 10.0 |