Test qdaemon

Si la soumission de travaux au spouleur n'entraîne aucune activité spooler discernable, utilisez les informations suivantes pour déterminer et résoudre le problème.

Supposons qu'une file d'attente d'impression ASCII locale s'appelle Asc.

Le qdaemon est-il en cours d'exécution?

Exécutez la commande enq -Pasc /etc/motd. Si le qdaemon n'est pas actif, une variante du message suivant s'affiche:

enq: (WARNING): Cannot awaken qdaemon. (request accepted anyway)
enq: errno = 2:  No such file or directory
enq: (WARNING): Cannot awaken qdaemon. (request accepted anyway)
enq: errno = 2:  No such file or directory

Exécutez la commande ps -ef | grep qdaemon pour vérifier que le qdaemon n'est pas actif. Si le qdaemon n'est pas actif, vous devriez voir, tout au plus, une ligne de sortie représentant le grep lui-même. Il devrait ressembler à ceci:

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

Si le qdaemon est actif, ce qu'il ne sera presque certainement pas, vous verrez une variante de la ligne suivante:

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

Si le qdaemon n'est pas actif, exécutez la commande startsrc -s qdaemon pour redémarrer le qdaemon. Si le qdaemon s'est arrêté, il aurait dû être redémarré automatiquement par le processus srcmstr , mais cela ne fonctionne pas toujours. Par conséquent, redémarrez-le manuellement. Vous devriez voir une variante de ce message:

0513-059 The qdaemon Subsystem has been started. Subsystem PID is 3000.

Attendez une minute environ et relancez la commande ps -ef | grep qdaemon. Le qdaemon est-il toujours actif ou a-t-il démarré puis a-t-il quitté?

Il se peut que le qdaemon ne soit plus actif, bien que vous veniez de le redémarrer et que vous ayez reçu un message indiquant l'ID de processus (PID) de qdaemon. Vérifiez l'existence du fichier nommé /var/spool/lpd/stat/pid. Pour ce faire, exécutez la commande cat /var/spool/lpd/stat/pid. Ce fichier contient le PID d'un qdaemonactif. Lorsque qdaemon n'est pas actif, le fichier est censé être supprimé.

Si la commande cat affiche un numéro sur votre écran, doit être le PID d'un qdaemonactif. Si vous avez déjà déterminé que qdaemon n'est pas actif, supprimez le fichier /var/spool/lpd/stat/pid car une instance précédente de qdaemon s'est arrêtée sans que ce fichier soit supprimé. Si le fichier n'existe pas, vous devez voir un message comme suit:

cat: cannot open /var/spool/lpd/stat/pid

Le qdaemon était inactif, vous l'avez redémarré, il s'est arrêté à nouveau, le fichier /var/spool/lpd/stat/pid existait et vous avez supprimé ce fichier. Redémarrez à nouveau qdaemon à l'aide de la commande startsrc -s qdaemon. Attendez une minute environ et émettez à nouveau la commande ps -ef | grep qdaemon pour voir si le qdaemon est resté actif. Vous pouvez également émettre à nouveau la commande cat /var/spool/lpd/stat/pid pour voir si le fichier a été recréé et contient maintenant un PID valide.

Si la réponse à la question d'origine, Le démon qdaemon est-il en cours d'exécution?, était oui, c'est, puis il est possible que qdaemon attende la fin de tous les travaux en cours d'exécution avant d'afficher des signes d'acceptation de nouveaux travaux. Ce scénario se produit souvent lorsqu'une machine exécutant le système d'exploitation de base possède un grand nombre d'imprimantes (plus de 25) connectées à des adaptateurs asynchrones, tels que des adaptateurs 64 ports ou 128 ports.

Pour vérifier si le qdaemon attend la fin d'un travail avant d'exécuter d'autres travaux, utilisez la commande lpstat pour voir si des travaux ont le statut RUNNING. Si tel est le cas, vérifiez physiquement les imprimantes qui affichent les travaux EXÉCUTION et vérifiez qu'au moins un travail est en cours d'exécution. Si une ou plusieurs imprimantes affichent DEV_WAIT à cause de brouillages de papier ou parce qu'elles ne sont pas en papier, corrigent le problème et voyez si les imprimantes commencent à imprimer. S'ils ne commencent pas l'impression, utilisez à nouveau la commande lpstat pour voir si le statut de la file d'attente est RUNNING. Dans tous ces cas, le but de la vérification des imprimantes est de vérifier qu'au moins une imprimante est effectivement en cours d'impression même si qdaemon ne démarre pas de nouveaux travaux.

Soumettez maintenant un nouveau travail au spouleur à l'aide de la commande enq -Pasc /etc/motd.

Utilisez la commande lpstat pour examiner le statut de la file d'attente. Si le nouveau travail possède le numéro de travail NEW, qdaemon est, pour une raison quelconque, concentré sur l'exécution d'autres travaux et ne démarrera aucun nouveau travail tant que les travaux en cours ne seront pas terminés. Vous pouvez seulement attendre. Vous ne pouvez même pas annuler les travaux en cours d'exécution, car les demandes d'annulation de travaux sont également des travaux et qdaemon ne prend pas de nouveaux travaux.