|
|
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.