Solaris のシステム管理 (印刷)

障害メッセージ

lp.tell プログラムを使用すると、LP 印刷サービスに障害メッセージを送信できます。このプログラムは、標準プリンタインタフェースコード内の LPTELL シェル変数によって参照されます。プログラムは標準入力を取り込んで LP 印刷サービスに送信します。LP 印刷サービスは、標準入力をメッセージに入れて、管理者にプリンタ障害を警告します。標準入力が空であれば、lp.tell プログラムは警告を開始しません。lp.tell プログラムの例として、次のコメントの直後の標準プリンタインタフェースコードを確認してください。

# Set up the $LPTELL program to capture fault messages here

特殊な終了コード 129 または lp.tell プログラムを使用すると、プリンタインタフェースプログラムはプリンタ自体を使用不可にする必要がありません。インタフェースプログラムは、プリンタを直接使用不可にすることもできます。しかし、その場合は障害警告メカニズムが無効になります。LP 印刷サービスがプリンタ障害を検出した場合にのみ警告が送信され、特殊終了コードと lp.tell プログラムはその主要検出ツールです。

LP 印刷サービスがいずれかの時点でファイルの印刷を中断しなければならない場合は、TERM 信号 (トラップ番号 15) を使用してインタフェースプログラムを終了させます。詳細は、kill(1) および signal(3C) のマニュアルページを参照してください。プリンタインタフェースプログラムが他の信号を受信して終了した場合、LP 印刷サービスはその後の印刷要求は影響されないものとみなします。その結果、LP 印刷サービスはそのプリンタを使用し続けます。LP 印刷サービスは、要求を依頼したユーザーに、その要求が正常に終了しなかったことを通知します。

インタフェースが最初に呼び出されると、信号 HUP、INT、QUIT、PIPE (トラップ番号 1、2、3、13) は無視されます。標準インタフェースは、信号が適切な時期にトラップされるように、このデフォルト動作を変更します。標準インタフェースは、これらの信号の受信をプリンタの問題を示す警告として解釈します。標準インタフェースは、信号を受信すると障害警告を発します。