Spooler backends
A spooler backend is a collection of programs (a pipeline) started by the spooler's qdaemon command to manage a spooler job that is queued for processing.
When the backend is for a print queue, the spooler backend typically performs the following functions:
- Receives from the qdaemon command a list of one or more jobs to be processed.
- For print jobs, uses printer and formatting attributes from the database, overridden by any flags specified on the command line.
- Initializes the printer before processing a print job.
- Provides filters for simple formatting of ASCII documents.
- Uses filters to convert print job data stream to a format supported by the printer.
- Provides support for printing national language characters.
- Passes the filtered data stream of a print job to the printer device driver.
- Generates header and trailer pages for print jobs, if requested.
- Generates multiple copies of print jobs, if requested.
- Reports paper-out, intervention-required, and printer-error conditions.
- Reports problems detected by the filters.
- Cleans up after a job is cancelled.
- For print jobs, provides an environment that you can customize to address specific printing needs.
You typically do not run printer backend programs directly, although backends such as compilers can clearly be run directly from the command line. The qdaemon runs the backend, sending it the names of files and any job control flags that you specify. The backend communicates with the qdaemon through a status file in the /var/spool/lpd/stat directory. You can use a queue status query command such as qchk or lpstat to display status information, including, in the case of a print job, the printer status, the number of pages printed, and the percentage of the job that is finished.
In the base operating system, piobe is the standard spooler backend for processing local print jobs.