Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
LPC(8)                  FreeBSD System Manager's Manual                 LPC(8)

     lpc -- line printer control program

     lpc [command [argument ...]]

     The lpc utility is used by the system administrator to control the opera-
     tion of the line printer system.  For each line printer configured in
     /etc/printcap, lpc may be used to:

           +o   disable or enable a printer,

           +o   disable or enable a printer's spooling queue,

           +o   rearrange the order of jobs in a spooling queue,

           +o   find the status of printers, and their associated spooling
               queues and printer daemons,

           +o   change the status message for printer queues (the status mes-
               sage may be seen by users as part of the output of the lpq(1)

     Without any arguments, lpc will prompt for commands from the standard
     input.  If arguments are supplied, lpc interprets the first argument as a
     command and the remaining arguments as parameters to the command.  The
     standard input may be redirected causing lpc to read commands from file.
     Commands may be abbreviated; the following is the list of recognized com-

     ? [command ...]
     help [command ...]
             Print a short description of each command specified in the argu-
             ment list, or, if no argument is given, a list of the recognized

     abort {all | printer}
             Terminate an active spooling daemon on the local host immediately
             and then disable printing (preventing new daemons from being
             started by lpr(1)) for the specified printers.

     bottomq printer [jobspec ...]
             Take the specified jobs in the order specified and move them to
             the bottom of the printer queue.  Each jobspec can match multiple
             print jobs.  The full description of a jobspec is given below.

     clean {all | printer}
             Remove any temporary files, data files, and control files that
             cannot be printed (i.e., do not form a complete printer job) from
             the specified printer queue(s) on the local machine.  This com-
             mand will also look for core files in spool directory for each
             printer queue, and list any that are found.  It will not remove
             any core files.  See also the tclean command.

     disable {all | printer}
             Turn the specified printer queues off.  This prevents new printer
             jobs from being entered into the queue by lpr(1).

     down {all | printer ...} -msg message ...
     down {all | printer} message ...
             Turn the specified printer queue off, disable printing and put
             message in the printer status file.  When specifying more than
             one printer queue, the -msg argument is required to separate the
             list of printers from the text that will be the new status mes-
             sage.  The message does not need to be quoted, the remaining
             arguments are treated like echo(1).  This is normally used to
             take a printer down, and let other users find out why it is down
             (the lpq(1) utility will indicate that the printer is down and
             will print the status message).

     enable {all | printer}
             Enable spooling on the local queue for the listed printers.  This
             will allow lpr(1) to put new jobs in the spool queue.

     quit    Exit from lpc.

     restart {all | printer}
             Attempt to start a new printer daemon.  This is useful when some
             abnormal condition causes the daemon to die unexpectedly, leaving
             jobs in the queue.  lpq(1) will report that there is no daemon
             present when this condition occurs.  If the user is the super-
             user, try to abort the current daemon first (i.e., kill and
             restart a stuck daemon).

     setstatus {all | printer} -msg message ...
             Set the status message for the specified printers.  The -msg
             argument is required to separate the list of printers from the
             text that will be the new status message.  This is normally used
             to change the status message when the printer queue is no longer
             active after printing has been disabled, and you want to change
             what users will see in the output of the lpq(1) utility.

     start {all | printer}
             Enable printing and start a spooling daemon for the listed print-

     status {all | printer}
             Display the status of daemons and queues on the local machine.

     stop {all | printer}
             Stop a spooling daemon after the current job completes and dis-
             able printing.

     tclean {all | printer}
             This will do a test-run of the clean command.  All the same
             checking is done, but the command will only print out messages
             saying what a similar clean command would do if the user typed it
             in.  It will not remove any files.  Note that the clean command
             is a privileged command, while the tclean command is not

     topq printer [jobspec ...]
             Take the specified jobs in the order specified and move them to
             the top of the printer queue.  Each jobspec can match multiple
             print jobs.  The full description of a jobspec is given below.

     up {all | printer}
             Enable everything and start a new printer daemon.  Undoes the
             effects of down.

     Commands such as topq and bottomq can take one or more jobspec to specify
     which jobs the command should operate on.  A jobspec can be:

     +o   a single job number, which will match all jobs in the printer's queue
         which have the same job number.  Eg: 17,

     +o   a range of job numbers, which will match all jobs with a number
         between the starting and ending job numbers, inclusive.  Eg: 21-32,

     +o   a specific userid, which will match all jobs which were sent by that
         user.  Eg: jones,

     +o   a host name, when prefixed by an `@', which will match all jobs in
         the queue which were sent from the given host.  Eg:,

     +o   a job range and a userid, separated by a `:', which will match all
         jobs which both match the job range and were sent by the specified
         user.  Eg: jones:17 or 21-32:jones,

     +o   a job range and/or a userid, followed by a host name, which will
         match all jobs which match all the specified criteria.  Eg: or or

     The values for userid and host name can also include pattern-matching
     characters, similar to the pattern matching done for filenames in most
     command shells.  Note that if you enter a topq or bottomq command as
     parameters on the initial lpc command, then the shell will expand any
     pattern-matching characters that it can (based on what files in finds in
     the current directory) before lpc processes the command.  In that case,
     any parameters which include pattern-matching characters should be
     enclosed in quotes, so that the shell will not try to expand them.

     /etc/printcap       printer description file
     /var/spool/*        spool directories
     /var/spool/*/lock   lock file for queue control

     ?Ambiguous command  abbreviation matches more than one command

     ?Invalid command  no match was found

     ?Privileged command  you must be a member of group "operator" or root to
     execute this command

     lpq(1), lpr(1), lprm(1), printcap(5), chkprintcap(8), lpd(8)

     The lpc utility appeared in 4.2BSD.

FreeBSD 6.2                      July 16, 2002                     FreeBSD 6.2


Want to link to this manual page? Use this URL:

home | help