lprm Command

The lprm command includes information for the AIX® Print Subsystem lprm and the System V Print Subsystem lprm.

AIX Print Subsystem lprm Command

Purpose

Removes jobs from the line printer spooling queue.

Syntax

lprm [ -P Printer ] [ JobNumber ] [ UserName ... ] [ - ]

Description

The lprm command removes one or more jobs from the spool queue of a printer.

You cannot run the lprm command without specifying a job number, the - (minus sign) flag, or at least one user name.

Specifying a UserName parameter, or list of names, causes the lprm command to attempt to remove any jobs queued belonging to that user (or users).

You can remove an individual job from a queue by specifying its JobNumber. This job number is obtained by using the lpq command.

Flags

Item Description
- Removes all jobs a user owns. Someone with root user authority can use this flag to remove all jobs from a queue. This flag is not valid for remote print.
-P Printer Specifies the queue associated with a specific Printer variable. If this flag is not specified, the following conditions occur:
  • If the LPDEST environment variable is set, then lprm uses the value specified by the LPDEST variable. If set, this value is always used, even if the PRINTER variable is also set.
  • If the PRINTER variable is set and no LPDEST variable is set, then lprm uses the value specified by the PRINTER environment variable.

If neither the LPDEST nor the PRINTER variable is set, the lprm command removes jobs from the default queue.

Note: Any destination command line options override both the LPDEST and the PRINTER environment variables.

Security

Attention RBAC users and Trusted AIX users: This command can perform privileged operations. Only privileged users can run privileged operations. For more information about authorizations and privileges, see Privileged Command Database in AIX Version 7.1 Security. For a list of privileges and the authorizations associated with this command, see the lssecattr command or the getcmdattr subcommand.

Examples

  1. To remove job number 13 from the default printer queue, enter:
    lprm 13
  2. To remove job number 13 from printer queue lp0, enter:

    lprm  -P lp0 13

  3. To remove a job from the printer queue for a certain user, enter:
    lprm guest

Files

Item Description
/usr/bin/lprm Contains the lprm command.
/etc/qconfig Contains the configuration file.

Related Information

The lpq command, lpr command, qcan command.

Canceling a print job (qcan command) in AIX Version 7.1 Operating system and device management.

System V Print Subsystem lprm Command

Purpose

(BSD) Remove jobs from the printer queue

Syntax

/usr/bin/lprm [-Pprinter] [-] [job # ...] [username...]

Description

The lprm command removes a job or jobs from a printer's spooling queue. Since the spool directory is protected from users, using lprm is normally the only method by which a user can remove a job.

Without any arguments, lprm deletes the job that is currently active, provided that the user who invoked lprm owns that job.

When the privileged user specifies a username, lprm removes all jobs belonging to that user.

You can remove a specific job by supplying its job number as an argument, which you can obtain using lpq. For example:
   lpq  -Phost
   host is ready and printing
   Rank         Owner   Job     Files           Total Size
   active       wendy   385     standard input  35501 bytes
   lprm -Phost 385

lprm reports the names of any files it removes, and is silent if there are no applicable jobs to remove.

lprm Sends the request to cancel a job to the print spooler, LPSCHED.

An active job may be incorrectly identified for removal by an lprm command issued with no arguments. During the interval between an lpq command and the execution of lprm, the next job in queue may have become active; that job may be removed unintentionally if it is owned by you. To avoid this, supply lprm with the job number to remove when a critical job that you own is next in line.

Only the privileged user can remove print jobs submitted from another host.

Flags

-Pprinter
Specify the queue associated with a specific printer. Otherwise the value of the PRINTER variable in the environment is used. If this variable is unset, the queue for the default printer is used.
-
Remove all jobs owned by you. If invoked by the privileged user, all jobs in the spool are removed. Job ownership is determined by the user's login name and host name on the machine where the lpr command was executed.

Security

Attention RBAC users and Trusted AIX users: This command can perform privileged operations. Only privileged users can run privileged operations. For more information about authorizations and privileges, see Privileged Command Database in AIX Version 7.1 Security. For a list of privileges and the authorizations associated with this command, see the lssecattr command or the getcmdattr subcommand.

Files

/var/spool/lp/*
spooling directories

Error Codes

lprm: printer: unknown printer
The printer was not found in the System V LP database. Usually this is a typing mistake; however, it may indicate that the printer does not exist on the system. Use lpstat -p to get the status of printers.
lprm: error on opening queue to spooler
The connection to lpsched on the local machine failed. This usually means the printer server started at boot time has died or is hung. Check if the printer spooler daemon /usr/lib/lp/lpsched is running.
lprm: Can't send message to the LP print service
lprm: Can't receive message from the LP print service
These indicate that the LP print service has been stopped. Get help from the system administrator.
lprm: Received unexpected message from the LP print service
It is likely there is an error in this software. Get help from system administrator.
lprm: Can't cancel request
You are not allowed to remove another user's print request.