Victor Wagner escribió:
Читалки магнитных карточек предполагается пока использовать 2, соответственно для выхода и входа. Запись ведется в базу данных, возможно в лог файл, и на принтер. Принтер в данном случае рассматривается как дублирующий узел, для создания hardcopy в наглядной форме. Не бирюльки же считаем, а зарплату, человек должен видеть что его "посчитали".
Беда в том что любой спулер работает на уровне страниц, а не строк.
Исходя из того что я накопал, предполагаю, что спулер занимается исключительно фильтрованием документа и передачей его на принтер, а что и как там напечатается зависит всецело от формата (т.е. исходных данных и конкретного фильтра, в случае raw фильтр отсутствует) Если посылать ascii текст в raw (опция -l у lpr), то страница не выплевывается. Это можно сделать несколько раз подряд разными вызовами, и все напечатается на одной и той-же странице (если поместится, конечно).

С точки зрения стандартного спулера - ресурс захвачен - начата печать,
но страница не закончена и не выкинута из принтера.
после cat textfile.txt | lpr -l купс рапортует что name: stdin, status: completed, страница не выплюнута и остается в принтере, система готова к следующей распечатке, даже если напечатана всего одна строчка. Насколько я понял, с тем же успехом можно заменить lpr на lp, только синтакс меняется.

Данная задача больше напоминает по логике своей работы вывод на консоль.
Может быть в эту сторону посмотреть? В ядре есть опция Enable console on
line printer.

Мне приходило такое в голову, операция действительно напоминает консоль, но не то.

Почему не то? Вывод логов - типичная задача для консоли. Включить
консоль на line printer и получить устройство по свойствам аналогичное
tty, куда и писать.
О записи в файл-устройство я как-то не подумал, хоти и начинал с этого (:
Пока больше склоняюсь к системному вызову lpr (вкусности с изменением шрифтов, печать на удаленный принтер и т.д.)... Если не удовлетворит, буду играть с консолью.
Ее можно модулем сделать?
И чтоб никакого мусора туда никто не слал (syslog, stderr, dmesg и т.д.)?
А у нее буффер есть? Если я посылаю что-то на консоль а принтер недоступен, это теряется или засылается в буффер пока я не включу принтер?


--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Ответить