[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Руководство по принтерам и печати


Тестирование программы qdaemon

Сценарий: Передача заданий на выполнение в программу буферизации не приводит к ее запуску, если судить по внешним признакам. Предположим, что существует локальная очередь печати ASCII с именем asc.

Запущен ли процесс qdaemon?

Вызовите команду enq -Pasc /etc/motd. Если процесс qdaemon неактивен, то будет показано примерно следующее сообщение:

enq: (ПРЕДУПРЕЖДЕНИЕ) Невозможно
запустить qdaemon. (но запрос принят)
enq: errno =
2:  Указанный файл или каталог не найден
enq: (ПРЕДУПРЕЖДЕНИЕ) Невозможно
запустить qdaemon. (но запрос принят)
enq: errno =
2:  Указанный файл или каталог не найден

Вызовите команду ps -ef | grep qdaemon с целью убедиться, что процесс qdaemon действительно неактивен. Если процесс qdaemon неактивен, то будет показана только строка вывода, представляющая непосредственно grep. На экране будет показана примерно следующая информация:

root  2992 18792   0 12:46:39  pts/2  0:00 grep qdaemon

Если процесс qdaemon активен (что маловероятно), то на экране будет показана примерно следующая строка:

root  2980 3652    0 12:41:25   -   0:00 /usr/sbin/qdaemon

Если процесс qdaemon неактивен, то вызовите команду startsrc -s qdaemon для его повторного запуска. Если процесс qdaemon был завершен, то он должен был быть запущен автоматически процессом srcmstr, но поскольку этого не произошло, запустите его вручную. На экране будет показано примерно следующее сообщение:

0513-059 Подсистема
qdaemon запущена. PID подсистемы - 3000.

Подождите примерно одну минуту и повторно вызовите команду ps -ef | grep qdaemon. Процесс qdaemon еще активен, или он был прерван сразу после запуска?

Если процесс qdaemon неактивен, несмотря на то, что вы только что запустили его повторно и получили сообщение о его активности, то проверьте, существует ли файл /var/spool/lpd/stat/pid. Для этого вызовите команду cat /var/spool/lpd/stat/pid. Этот файл содержит PID активного процесса qdaemon. Если qdaemon неактивен, этот файл должен отсутствовать.

Если команда cat выдает некоторое число, это должен быть PID активного процесса qdaemon. Если вы уже определили, что qdaemon неактивен, то удалите файл /var/spool/lpd/stat/pid, так как процесс qdaemon был по тем или иным причинам прерван, а файл не был удален. Если файл не существует, то будет показано примерно следующее сообщение:

cat: невозможно открыть
/var/spool/lpd/stat/pid

Если вы обнаружили, что процесс qdaemon неактивен, вы запустили его повторно, но он опять был прерван, после чего вы нашли в системе файл /var/spool/lpd/stat/pid и удалили его, то запустите процесс qdaemon еще раз командой startsrc -s qdaemon. Подождите примерно одну минуту и вызовите команду ps -ef | grep qdaemon с целью проверить, остался ли активен процесс qdaemon. Вы можете также вызвать команду cat /var/spool/lpd/stat/pid и посмотреть, был ли этот файл создан повторно и содержит ли он правильный PID.

Если же изначально процесс qdaemon был активен, то, возможно, он ожидает завершения всех запущенных заданий, после чего процесс объявит о готовности принять новые задания. Эта ситуация обычно возникает в том случае, если к компьютеру с базовой операционной системой подключено слишком много (больше 25) принтеров через асинхронные адаптеры (например, 64- или 128-портовые).

Для того чтобы проверить, ожидает ли qdaemon завершения заданий, вызовите команду lpstat с целью выяснить, существуют ли задания, находящиеся в состоянии ВЫПОЛНЯЕТСЯ. Если такие задания существуют, то проверьте, выполняется ли на соответствующих принтерах хотя бы одно задание. Если какой-либо из принтеров выдает состояние ОЖИДАНИЕ_УСТРОЙСТВА из-за того, что бумагу заело или она закончилась, устраните неполадку и проверьте, начнет ли принтер печатать. Если да, вызовите команду lpstat еще раз и проверьте, находится ли очередь в состоянии ВЫПОЛНЯЕТСЯ. В любом случае необходимо убедиться, что по крайней мере один принтер выполняет печать, даже если демон qdaemon не запускает новые задания.

Теперь передайте новое задание в программу буферизации с помощью команды enq -Pasc /etc/motd.

С помощью команды lpstat определите состояние очереди. Если новому заданию присвоено значение НОВОЕ, то это означает, что процесс qdaemon по некоторой причине обрабатывает только выполняющиеся задания и не примет новые задания, пока старые не будут завершены. Остается только ждать. Выполняющиеся задания отменить нельзя, так как отмена задания также является заданием, а демон qdaemon не принимает новые задания.


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]