清除打印队列积压

如果需要清除打印队列积压,那么必须停止 qdaemon 并且检查 /var 文件系统是否已满。

您必须已作为 root 用户登录。

如果 /var 文件系统已满,请使用以下过程清除队列目录并重新启动 qdaemon

  1. 如果可能,让当前运行的所有打印作业完成打印或取消它们。 要取消打印作业,请发出 lpstat 命令以获取打印作业号,然后使用 enq 命令取消打印作业。
    enq -x JobNumber
    lpstat 命令显示关于行式打印机的当前状态信息。 enq 命令将文件加入队列。
  2. 发出以下命令以停止 qdaemon:
    stopsrc -s qdaemon
  3. 发出以下命令以验证 qdaemon 是否未派生其他进程:
    ps -ef | grep qdaemon
    ps -ef | grep pio

    ps 命令显示进程的当前状态。 grep 命令在文件中搜索模式。

    如果从上述每个 grep 命令中返回一行,请跳过步骤 4and 转至步骤 5。 如果您获得多行,请转至步骤 5。

  4. 如果 ps -ef 命令返回了其他 qdaemons 或 pios ,请通过发出带有每个进程标识的以下命令来终止这些进程:
    kill -9 pid

    以下示例显示了 ps -ef返回的 qdaemon。 进程标识为 3357。

    root 3357 2288 0 13:32:21 - 0:04 dtterm
    要终止此进程标识,请在命令行中输入 kill -9 3357
  5. 仅当必须保护当前打印作业不被删除时才执行此步骤。 否则,继续步骤 7。

    如果打印作业在下列其中一个目录中排队,请制作该作业的副本,并将其放在 /tmp中。 您可以在排队系统再次运行时打印它。

    /var/spool/qdaemon
    /var/spool/lpd
    注: 在这些目录中,文件将具有不熟悉的系统名称。
  6. 如果 /var 文件系统已满,那么您可能会迂到 qdaemon 或假脱机程序问题。 较大的打印作业可能会失败,或者长度为 0 的 00root 文件可能出现在您的 qdir 目录中。 在这种情况下,重新引导系统可能不会清除文件或重新启动 qdaemon

    输入 df 命令并在 %used 列中查找 /var 以查看文件系统是否已满。 按需要释放文件系统的空间。

    df 命令显示文件系统的总空间和可用空间信息。

  7. 更改目录如下:
    cd /var/spool/lpd/qdir
  8. 发出 pwd 命令以验证您是否在正确的目录中。 然后,使用 rm 命令除去此目录中的所有文件:
    rm * 
    pwd 命令将当前目录的完整路径名(从根目录)写到标准输出。 rm 命令从目录中除去指定的一个或多个文件的条目。
  9. 再次更改目录:
    cd /var/spool/lpd/stat
  10. 发出 pwd 命令以验证您是否位于正确的目录中。 然后,除去此目录中的所有文件:
    rm * 
  11. 再次更改目录:
    cd /var/spool/qdaemon
  12. 发出 pwd 命令以验证您是否位于正确的目录中。 然后,除去此目录中的所有文件:
    rm *
  13. 如果您在远程队列或 lpd方面迂到问题,请执行此步骤。 更改目录:
    cd /var/spool/lpd
    发出 pwd 命令验证您在正确的目录中。 然后,使用 rm 命令除去此目录中的所有文件:
    rm *
    注: rm 命令不会除去子目录。
  14. 启动 qdaemon:
    startsrc -s qdaemon

    排队系统应该正常启动。 如果某些队列仍未运行,请输入以下命令使其运行:

    enable QueueName