LPRng-HOWTO: 15 Oct 2001 (For LPRng-3.7.9)
Prev | Chapter 15. Job Processing | Next

# 15.9. Abnormal Termination

Options used:

- `mail_from=`Mail from user name

- `mail_operator_on_error=`Mail to operator on error

- `send_try=`Maximum printing or transfer attempts

- `save_on_error` FLAG Do not delete on error

- `send_failure_action=`Action on Failure

- `sendmail=`sendmail path name and options

- `stop_on_abort` FLAG Stop processing queue on filter abort

If the job processing terminates abnormally, the following sequence of events occurs:

1. The job is marked as having an error during processing.

2. The lpd server will attempt to kill all filters and other associated processes by sending a SIGINT and SIGCONT (`kill -INT` and `kill -CONT`) to them.

3. If there is a `mail_operator_on_error` value, the specified operator will be mailed an error indication. The `sendmail` option specifies the pathname of the sendmail program and the options needed to have it read mail addresses from its standard input. For example, `sendmail=/usr/sbin/sendmail -oi -t` is a commonly used set of options.

4. The `mail_from` value specifies the user name used for mail origination. If not specified, the default is to use the print spool queue or printer name.

5. If there is a `send_failure_action` specified, then it is decoded and the corresponding action taken. If the value is `remove`, `hold`, `abort`, or `retry`, then the job is removed, held, aborted, or retried. If the value is `|/program`, the program is executed and the number of attempts are written to the filter STDIN. The exit status of the filter will be used to determine the consequent actions. That is, JSUCC (0) will be success, and the standard success action will be taken; JFAIL will cause retry, JREMOVE will cause the job to be removed, JHOLD will cause the job to be held, JABORT or other status will abort processing.

6. If the status is ABORT and the `stop_on_abort` flag is set, then further processing of jobs is terminated. The job is not removed from the queue.

7. If the error status indicates removal, and the `save_on_error` flag is clear then the job is removed from the spool queue.

8. If the error status indicates that no further operations should be performed on the queue, then the lpd server will stop processing jobs.

9. If the error code indicated that the job should be retried, and the `send_try` value is 0 or the number of attempts is less than the `send_try` value, then the job is retried. Between each attempt to transfer a job to a remote site. This pause will double after each attempt, reaching a maximum of `max_connect_interval` seconds. If `max_connect_interval` is 0, there is no limit on the interval value.

Prev | Home | Next
Normal Termination | Up | Forwarding Jobs