菜鸟科技网

cmd如何快速精准关闭指定进程?

使用 taskkill 命令(最常用、最推荐)

taskkill 是专门用来终止进程的命令,功能强大且灵活。

cmd如何快速精准关闭指定进程?-图1
(图片来源网络,侵删)

基本语法

taskkill /PID 进程ID [/F] [/T]

或者

taskkill /IM 进像名称 [/F] [/T]

参数详解

  • /PID 进程ID:
    • 指定要终止的进程的数字ID
    • 如何找到 PID?使用 tasklist 命令(见下文)。
  • /IM 映像名称:
    • 指定要终止的进程的名称notepad.exe, chrome.exe)。
    • /IM 可以省略,直接写进程名即可。
  • /F:
    • 强制关闭,这是一个非常重要的参数。
    • 如果进程正在运行或无响应,不加 /F 可能会失败,加上 /F 可以强制关闭,即使程序没有响应。
    • 使用 /F 时要小心,可能会导致未保存的数据丢失。
  • /T:
    • 终止指定进程和它启动的子进程
    • 某些父进程会创建子进程,单独关闭父进程可能无效,使用 /T 可以一并清除。

使用 tasklist 命令(查找进程)

在关闭进程之前,你通常需要先找到它的 PID 或名称。tasklist 命令就是用来列出当前正在运行的进程的。

基本语法

tasklist [/FI 筛选器] [/FO 格式] [/NH]

常用参数

  • /FI "筛选器": 按条件筛选进程。
    • 筛选器示例:
      • IMAGENAME eq notepad.exe (筛选映像名为 notepad.exe 的进程)
      • PID gt 1000 (筛选 PID 大于 1000 的进程)
      • STATUS eq RUNNING (筛选状态为“正在运行”的进程)
      • USERNAME eq WIN10-PC\Administrator (筛选特定用户运行的进程)
  • /FO 格式: 指定输出格式。
    • TABLE (表格形式,默认)
    • LIST (列表形式)
    • CSV (逗号分隔值,方便导入Excel)
  • /NH: 不显示列标题(当使用 LISTCSV 格式时非常有用)。

实战操作步骤

我知道进程名,想关闭它(关闭记事本)

  1. 打开 CMD:按 Win + R,输入 cmd,回车。
  2. 查找进程
    tasklist | findstr notepad.exe
    • | findstr notepad.exe 是管道操作,只显示包含 "notepad.exe" 的行,让输出更简洁。
    • 你会看到类似这样的输出:
      notepad.exe        1234  Console                    1      1,028 K

      这里 1234 就是记事本的 PID。

  3. 关闭进程
    • 方法A (通过PID):
      taskkill /PID 1234
    • 方法B (通过名称):
      taskkill /IM notepad.exe
    • 如果无响应,使用强制关闭:
      taskkill /F /IM notepad.exe

我想关闭某个用户启动的所有 Chrome 浏览器

  1. 查找 Chrome 进程: 假设你的用户名是 MyUser
    tasklist /FI "USERNAME eq MyUser" /FI "IMAGENAME eq chrome.exe"
  2. 关闭所有找到的 Chrome 进程: 由于 taskkill 可以接受多个 PID,我们可以先列出所有 PID,然后传递给 taskkill,但更简单的方法是直接使用 /IM 并强制关闭。
    taskkill /F /IM chrome.exe
    • 这个命令会强制关闭系统中所有用户(包括其他用户)的 chrome.exe 进程,如果你只想关闭当前用户的,可以结合 wmic 命令实现更精确的控制,但对于大多数情况,直接使用 /F /IM 已经足够。

我想通过 PID 关闭一个进程

  1. 列出所有进程
    tasklist
  2. 找到你想要关闭的进程及其 PID
  3. 使用 PID 关闭
    taskkill /PID 9876 /F

进阶技巧

在一个命令中查找并关闭(使用 for 循环)

如果你想关闭所有 PID 大于 5000 的进程,可以这样做:

cmd如何快速精准关闭指定进程?-图2
(图片来源网络,侵删)
for /F "tokens=2" %P in ('tasklist ^| findstr "some_process_name"') do taskkill /F /PID %P

解释

  • for /F "tokens=2": 循环读取每一行,并只取第二个token(即PID)。
  • in ('...'): 在括号内的命令输出中循环。
  • tasklist ^| findstr "...": ^ 是转义符,使得 能在 for 命令中被正确识别,这条命令会先查找进程,然后只输出匹配的行。
  • do taskkill /F /PID %P: 对每一个找到的 PID (%P),执行强制关闭操作。

注意: 在 CMD 窗口里直接执行时,变量用 %P,如果将此命令写成批处理文件(.bat),则需要使用 %%P

使用 wmic 命令(更强大的进程管理)

wmic (Windows Management Instrumentation Command-line) 是一个更底层的工具,功能非常强大。

  • 列出所有进程
    wmic process list brief
  • 通过进程名关闭
    wmic process where name="notepad.exe" call terminate
  • 通过 PID 关闭
    wmic process where processid="1234" call terminate

    wmic 的优点是可以进行更复杂的查询和操作,但语法比 taskkill 稍显复杂。

    cmd如何快速精准关闭指定进程?-图3
    (图片来源网络,侵删)

总结表格

命令 功能 示例
tasklist 列出当前运行的进程 tasklist (所有进程)
tasklist /FI "IMAGENAME eq chrome.exe" (筛选Chrome)
taskkill /PID [id] 通过PID关闭进程 taskkill /PID 1234
taskkill /IM [name] 通过进程名关闭进程 taskkill /IM notepad.exe
taskkill /F /IM [name] 强制通过进程名关闭进程 taskkill /F /IM chrome.exe (推荐用于无响应程序)
taskkill /T /IM [name] 关闭进程及其子进程 taskkill /T /IM parent.exe
wmic process 通过WMI管理进程 (更高级) wmic process where name="notepad.exe" call terminate

对于绝大多数日常使用场景,tasklist 查找,taskkill /F /IM [进程名] 关闭,这套组合拳就足够了。

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