菜鸟科技网

如何彻底删除卡住的打印任务?

Windows 系统

在 Windows 中,没有像 rmdel 那样直接针对单个打印任务的命令行工具,但我们可以通过 命令提示符PowerShell 来调用系统功能实现。

如何彻底删除卡住的打印任务?-图1
(图片来源网络,侵删)

方法1:使用命令提示符 (最常用)

这是最接近“命令行”删除任务的方法。

  1. 打开命令提示符

    • Win + R 键,输入 cmd,然后按回车。
    • 或者,在开始菜单搜索“cmd”并打开。
  2. 查看打印队列

    • 你需要知道你的打印任务所在的打印机名称和任务ID。

      如何彻底删除卡住的打印任务?-图2
      (图片来源网络,侵删)
    • 运行以下命令列出所有打印机和它们的队列:

      net print
    • 你会看到类似下面的输出:

      Printer queues
      ---------------
      [打印机名称1]
          [作业ID]      [用户名]      [大小]  [ submitted]
          1             UserA         100      2025-10-27 10:00
      [打印机名称2]
          [作业ID]      [用户名]      [大小]  [ submitted]
          3             UserB         200      2025-10-27 11:00
    • 记下你要删除的任务所在的 打印机名称作业ID (3)。

  3. 删除指定打印任务

    如何彻底删除卡住的打印任务?-图3
    (图片来源网络,侵删)
    • 使用以下语法删除任务:
      net print \\计算机名\打印机名称 /delete 作业ID
    • 注意
      • 如果打印机是连接在你自己的电脑上,\\计算机名\ 通常可以省略,直接写 net print "打印机名称" /delete 作业ID
      • 如果打印机名称包含空格,请用引号括起来。
    • 示例: 假设打印机名称是 HP_LaserJet_Pro,作业ID是 3,命令如下:
      net print "HP_LaserJet_Pro" /delete 3

方法2:使用 PowerShell (更强大)

对于熟悉 PowerShell 的用户,这是一个更现代和强大的方法。

  1. 打开 PowerShell

    • Win + X 键,选择“Windows PowerShell”或“终端”。
  2. 获取打印队列信息

    • 使用 Get-PrintJob cmdlet,你需要指定打印机名称。
      Get-PrintJob -PrinterName "HP_LaserJet_Pro"
    • 你会看到打印任务的详细信息,包括 JobId (作业ID) 和 Owner (所有者)。
  3. 删除打印任务

    • 使用 Remove-PrintJob cmdlet,需要提供打印机名称和作业ID。
      Remove-PrintJob -PrinterName "HP_LaserJet_Pro" -JobId 3

方法3:使用图形界面 (最简单)

如果你不执着于命令行,图形界面是最直观的。

  1. 打开 “设置” -> “蓝牙和其他设备” -> “打印机和扫描仪”
  2. 找到你的打印机,点击它旁边的 “打开队列”
  3. 在弹出的打印队列窗口中,右键点击要删除的任务,选择 “取消”
  4. 或者,选中任务后,点击菜单栏的 “文档” -> “取消”

macOS 系统

macOS 主要使用 lpcancel 命令来管理打印任务。

查看打印队列

你需要知道你的打印任务ID。

  • 查看所有用户的打印队列:

    lpstat -o

    输出示例:

    HP_LaserJet_Pro-1 is idle.  enabled since [日期]
        "用户A的文档.pdf"      123
        "用户B的报告.docx"      124
    • 123124 就是你要删除的 作业ID
  • 查看当前用户的打印队列:

    lpstat -o -u

删除打印任务

使用 cancel 命令,后跟作业ID或打印机名称。

  • 删除指定ID的作业:

    cancel 123
  • 清空指定打印机的所有作业:

    cancel -a "HP_LaserJet_Pro"
    • 注意:打印机名称中的空格要用引号括起来。
  • 强制删除一个可能卡住的作业(需要管理员权限):

    sudo cancel 123

图形界面方法

  1. 打开 “系统设置” -> “打印机与扫描仪”
  2. 在左侧列表中选择你的打印机,然后点击 “打开打印队列” 按钮。
  3. 在打印队列窗口中,选中要删除的任务,点击工具栏的 “删除” 按钮 (一个垃圾桶图标)。

Linux 系统

Linux 的打印系统通常是 CUPS (Common UNIX Printing System),其命令与 macOS 类似,也是 lpcancel

查看打印队列

  • 查看所有打印队列:

    lpq

    输出示例:

    Rank   Owner      Job  File(s)         Total Size
    active userA      123  用户A的.pdf      10000 bytes
    2nd    userB      124  用户B.docx      20000 bytes
    • 123124 作业ID
  • 查看特定打印机的队列:

    lpq -P "打印机名称"

删除打印任务

使用 lprm (remove print job) 或 cancel 命令。

  • 删除当前用户的指定作业:

    lprm 123
  • 删除指定用户的作业(需要root权限):

    sudo lprm -P "打印机名称" userB
  • 使用 cancel 命令删除:

    cancel 123
  • 清空打印机的所有作业(需要root权限):

    sudo lprm - -P "打印机名称"
    # 或者
    sudo cancel -a "打印机名称"

图形界面方法

大多数 Linux 发行版(如 Ubuntu 的 GNOME, Fedora 的 KDE)都提供了与 macOS 和 Windows 类似的图形界面。

  1. 进入 “设置” -> “打印机”
  2. 选择你的打印机,通常会有一个“查看打印队列”或类似的选项。
  3. 在队列窗口中,右键点击任务选择“取消”或选中后点击删除按钮。

操作系统 核心命令 示例 备注
Windows net print / Remove-PrintJob net print "MyPrinter" /delete 5 需要知道打印机名和作业ID。
macOS cancel / lprm cancel 5 系统原生支持,简洁高效。
Linux cancel / lprm lprm 5 依赖于 CUPS 系统,与 macOS 命令相似。

对于普通用户来说,图形界面 通常是最简单直接的方法,但对于需要自动化管理或远程操作服务器打印任务的情况,命令行 是必不可少的工具。

分享:
扫描分享到社交APP
上一篇
下一篇