名称
lprm - 印刷ジョブをキューから削除する
書式
lprm [-Pprinter] [] [job # ...] [user ...]
解説
lprm は 1 つのジョブ、もしくは複数のジョブをプリンタの スプールキューから削除します。スプールディレクトリはユーザから保護され ているので、ジョブの削除は lprm を利用するのが唯一の手段です。 ジョブの所有者は、ユーザのログイン名と lpr(1) を実行した計算機のホスト名で決定されます。
オプションとしては以下のものがあります:
-P printer | |
printer を扱うキューを指定します (指定しない場合はデフォルトのプリンタを使います)。 | |
もし単一の - が与えられた場合、 lprm はユーザのすべてのジョブを削除します。 もしスーパユーザがこのオプションを使った場合、スプール キューは完全に空になります。 | |
user | lprm は、 user の所有するすべてのジョブを削除しようと 試みます。この lprm の呼び出し方は、スーパユーザだけに有用です。 |
job # | |
ユーザは、ジョブ番号を指定することで個々のジョブをキューから
削除することができます。この番号は
lpq(1)
プログラムから得ることができます。たとえば、以下のようになります。
% lpq -l
1st:ken [job #013ucbarpa]
(standard input) 100 bytes
% lprm 13
| |
もし、どのオプションも与えられなかったときは、 lprm を実行したユーザが持つアクティブなジョブを削除します。
lprm は削除するファイルの名前をアナウンスしますが、もしキュー内 に削除するジョブがないときには何もアナウンスしません。
lprm は、スプールのファイルを削除する前に、もし必要であればアクティブな デーモンを殺します。デーモンを殺した場合、ファイルを削除したあとで 新しいデーモンを自動的に再スタートさせます。
環境変数
もし、以下の環境変数が存在したならば、 lprm は利用します。
PRINTER | |
もし環境変数 PRINTER が存在し、プリンタを -P オプションで指定しなかった場合、デフォルトプリンタは PRINTER の値となります。 | |
関連ファイル
/etc/printcap | プリンタの特徴を記述するファイル |
/var/spool/* | スプールディレクトリ |
/var/spool/*/lock | 現在のデーモンのプロセス ID と、現在アクティブなジョブのジョブ番号を 得るためのロックファイル |
関連項目
診断
もし、自分が所有者でないファイルを削除しようとした時は、 Permission denied になります。
バグ
ロックファイルの更新時に、競争になる場合があるので、現在のアクティブ なジョブを正しく認識しないかもしれません。
歴史
lprm コマンドは BSD 3.0 から登場しました。