LPRM(1) — USER COMMANDS
NAME
lprm − remove jobs from the line printer spooling queue
SYNOPSIS
lprm [ −Pprinter ] [ − ] [ job # ... ] [ username ... ]
DESCRIPTION
lprm removes a job, or jobs, from a printer’s spool queue. Since the spooling directory is protected from users, using lprm is normally the only method by which a user may remove a job.
lprm without any arguments will delete the currently active job if it is owned by the user who invoked lprm.
If the − flag is specified, lprm will remove all jobs which a user owns. If the super-user employs this flag, the spool queue will be emptied entirely. The owner is determined by the user’s login name and host name on the machine where the lpr command was invoked.
Specifying a user’s name, or list of user names, will cause lprm to attempt to remove any jobs queued belonging to that user (or users). This form of invoking lprm is useful only to the super-user.
A user may dequeue an individual job by specifying its job number. This number may be obtained from lpq. For example:
tutorial% lpq −Pimagen
imagen is ready and printing
RankOwnerJobFilesTotal Size
activewendy385standard input35501 bytes
tutorial% lprm −Pimagen 305
lprm announces the names of any files it removes and is silent if there are no jobs in the queue which match the request list.
lprm will kill off an active daemon, if necessary, before removing any spooling files. If a daemon is killed, a new one is automatically restarted upon completion of file removals.
The −P option may be used to specify the queue associated with a specific printer (otherwise the default printer, or the value of the PRINTER variable in the environment is used).
FILES
/etc/printcapprinter characteristics file
/usr/spool/∗spooling directories
/usr/spool/∗/locklock file used to obtain the pid of the current
daemon and the job number of the currently active job
SEE ALSO
DIAGNOSTICS
lprm: printer: cannot restart printer daemon
The connection to lpd on the local machine failed. This usually means the printer server started at boot time has died or is hung. Check the local socket /dev/printer to be sure it still exists (if it does not exist, there is no lpd process running). Use
tutorial% ps ax | fgrep lpd
to get a list of process identifiers of running lpd’s. The lpd to kill is the one which is not listed in any of the “lock" files (the lock file is contained in the spool directory of each printer). Kill the master daemon using the following commands:
tutorial% su Password:
tutorial# kill pid
Then remove /dev/printer and restart the daemon (and printer) with the following commands.
tutorial# rm /dev/printer
tutorial# /usr/lib/lpd
Another possibility is that the lpr program is not setuid root, setgid daemon. This can be checked with
tutorial# ls −lg /usr/ucb/lpr
BUGS
Since there are race conditions possible in the update of the lock file, the currently active job may be incorrectly identified.
Sun Release 3.0β — Last change: 23 September 1985