|
|
1.1 root 1: .TH LPD 8 "18 July 1983"
2: .UC 4
3: .ad
4: .SH NAME
5: lpd \- line printer daemon
6: .SH SYNOPSIS
7: .B /usr/lib/lpd
8: [ -l ] [ -L logfile ] [ port # ]
9: .SH DESCRIPTION
10: .I Lpd
11: is the line printer daemon (spool area handler) and is normally invoked
12: at boot time from the
13: .IR rc (8)
14: file. It makes a single pass through the
15: .IR printcap (5)
16: file to find out about the existing printers and
17: prints any files left after a crash. It then uses the system calls
18: .IR listen (2)
19: and
20: .IR accept (2)
21: to receive requests to print files in the queue,
22: transfer files to the spooling area, display the queue,
23: or remove jobs from the queue. In each case, it forks a child to handle
24: the request so the parent can continue to listen for more requests.
25: The Internet port number used to rendezvous
26: with other processes is normally obtained with
27: .IR getservbyname (3)
28: but can be changed with the
29: .IR port #
30: argument. The
31: .B \-L
32: option changes the file used for writing error conditions from the
33: system console to
34: .I logfile.
35: The
36: .B \-l
37: flag causes
38: .I lpd
39: to log valid requests received from the network. This can be useful
40: for debugging purposes.
41: .PP
42: Access control is provided by two means. First, All requests must come from
43: one of the machines listed in the file
44: .IR /etc/hosts.equiv .
45: Second, if the ``rs'' capability is specified in the
46: .I printcap
47: entry for the printer being accessed,
48: .I lpr
49: requests will only be honored for those users with accounts on the
50: machine with the printer.
51: .PP
52: The file
53: .I lock
54: in each spool directory is used to prevent multiple daemons from
55: becoming active simultaneously, and to store information
56: about the daemon process for
57: .IR lpr (1),
58: .IR lpq (1),
59: and
60: .IR lprm (1).
61: After the daemon has successfully set the lock, it scans the directory
62: for files beginning with
63: .IR cf .
64: Lines in each
65: .I cf
66: file specify files to be printed or non-printing actions to be
67: performed. Each such line begins with a key character
68: to specify what to do with the remainder of the line.
69: .in +3
70: .IP J
71: Job Name. String to be used for the job name on the burst page.
72: .IP C
73: Classification. String to be used for the classification line
74: on the burst page.
75: .IP L
76: Literal. The line contains identification info from
77: the password file and causes the banner page to be printed.
78: .IP T
79: Title. String to be used as the title for
80: .IR pr (1).
81: .IP H
82: Host Name. Name of the machine where
83: .I lpr
84: was invoked.
85: .IP P
86: Person. Login name of the person who invoked
87: .IR lpr .
88: This is used to verify ownership by
89: .IR lprm .
90: .IP M
91: Send mail to the specified user when the current print job completes.
92: .IP f
93: Formatted File. Name of a file to print which is already formatted.
94: .IP l
95: Like ``f'' but passes control characters and does not make page breaks.
96: .IP p
97: Name of a file to print using
98: .IR pr (1)
99: as a filter.
100: .IP t
101: Troff File. The file contains
102: .IR troff (1)
103: output (cat phototypesetter commands).
104: .IP d
105: DVI File. The file contains
106: .IR Tex (l)
107: output (DVI format from Standford).
108: .IP g
109: Graph File. The file contains data produced by
110: .IR plot (3X).
111: .IP c
112: Cifplot File. The file contains data produced by
113: .IR cifplot .
114: .IP v
115: The file contains a raster image.
116: .IP r
117: The file contains text data with FORTRAN carriage control characters.
118: .IP 1
119: Troff Font R. Name of the font file to use instead of the default.
120: .IP 2
121: Troff Font I. Name of the font file to use instead of the default.
122: .IP 3
123: Troff Font B. Name of the font file to use instead of the default.
124: .IP 4
125: Troff Font S. Name of the font file to use instead of the default.
126: .IP W
127: Width. Changes the page width (in characters) used by
128: .IR pr (1)
129: and the text filters.
130: .IP I
131: Indent. The number of characters to indent the output by (in ascii).
132: .IP U
133: Unlink. Name of file to remove upon completion of printing.
134: .IP N
135: File name. The name of the file which is being printed, or a blank
136: for the standard input (when
137: .I lpr
138: is invoked in a pipeline).
139: .in -5
140: .PP
141: If a file can not be opened, a message will be placed
142: in the log file (normally the console).
143: .I Lpd
144: will try up to 20 times
145: to reopen a file it expects to be there, after which it will
146: skip the file to be printed.
147: .PP
148: .I Lpd
149: uses
150: .IR flock (2)
151: to provide exclusive access to the lock file and to prevent multiple
152: deamons from becoming active simultaneously. If the daemon should be killed
153: or die unexpectedly, the lock file need not be removed.
154: The lock file is kept in a readable ASCII form
155: and contains two lines.
156: The first is the process id of the daemon and the second is the control
157: file name of the current job being printed. The second line is updated to
158: reflect the current status of
159: .I lpd
160: for the programs
161: .IR lpq (1)
162: and
163: .IR lprm (1).
164: .SH FILES
165: .nf
166: .ta \w'/etc/printcap 'u
167: /etc/printcap printer description file
168: /usr/spool/* spool directories
169: /dev/lp* line printer devices
170: /dev/printer socket for local requests
171: /etc/hosts.equiv lists machine names allowed printer access
172: .fi
173: .SH "SEE ALSO"
174: lpc(8),
175: pac(1),
176: lpr(1),
177: lpq(1),
178: lprm(1),
179: printcap(5)
180: .br
181: .ul
182: 4.2BSD Line Printer Spooler Manual
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.