КАК УСТРОЕНА СИСТЕМА ПЕЧАТИ?
(описана система печати в System V)
Печатать, конечно, можно и так: cat file > /dev/lp. Но в
многопользовательской системе такой фокус не всегда пройдет.
Поэтому печатаемый файл ставят в очередь на печать.
Имеем принтер. У принтера есть ИМЯ_ПРИНТЕРА. ПОРТ_ПРИНТЕРА -
специальный файл в который надо выталкивать данные для печати.
ИНТЕРФЕЙСНАЯ_ПРОГРАММА - программа, которая как раз и будет
этим заниматься.
Если у нас нормально сконфигурирована система печати, то печататься
можно так:
lp -d имя_принтера file
или, если мы хотим напечатать на "default" принтере
cat file | lp
lpstat Посмотреть в каком состоянии очередь печати
cancel [идентификатор_запроса ...] [принтер ...]
Срубить запрос на печать
lp просто складывает файл в SPOOL КАТАЛОГ. ДЕМОН ПЕЧАТИ lpshed
обнаруживает вновь поступивший файл, ставит его в очередь на
печать, и, когда очередь доходит, запускает наконец
ИНТЕРФЕЙСНУЮ ПРОГРАММУ, вход которой берется из печатаемого
файла, а ее вывод перенаправляется на ПОРТ_ПРИНТЕРА.