# Windows 强制关闭程序：Alt+F4、结束任务和 taskkill

在 Windows 上强制关闭程序，按 `Ctrl + Shift + Esc` 打开任务管理器，在「进程」页选中卡住的应用，再点 **结束任务**。在这之前先试试 `Alt + F4`，它会按正常方式关闭当前窗口，如果应用刚才正在保存、导出或同步，也多给它一点时间，标着「未响应」的窗口很多时候只是在忙，并没有真的死掉。

下面每一步都比上一步更强硬，留给应用保存工作的机会也更少，从最上面开始，只有温和的一步没有反应时再往下走。

## 先等一等，再按正常方式关闭

窗口 5 秒没有处理消息，Windows 就会认为它挂起了，微软的[挂起说明文档](https://learn.microsoft.com/en-us/previous-versions/windows/win32/win7appqual/preventing-hangs-in-windows-applications)讲到，这时桌面会换上一个「幽灵」窗口，标题栏写着「未响应」，你还能移动、最小化或关闭这个幽灵窗口，但改不了应用里的任何东西。不过 5 秒其实很短，保存一个大文件、读一块慢吞吞的网络盘、跑一段长计算都可能把窗口卡住，过一会儿又自己恢复；微软的 [Outlook 故障排查页面](https://support.microsoft.com/en-us/outlook/getstarted/outlook-for-windows-not-responding-hangs-freezes-or-stops-working)就建议，状态栏显示还有别的进程在运行时，先等两三分钟。

所以在强制结束之前：

1. 如果应用正在保存、导出、复制或同步，先等一分钟。
2. 点一下别的窗口，如果 Windows 其他部分都正常响应，问题就只在这个应用上。
3. 切回去按 `Alt + F4`，微软的[键盘快捷方式列表](https://support.microsoft.com/en-us/accessibility/windows/keyboard-shortcuts-in-windows)把它描述为「关闭活动窗口」。如果没有打开任何窗口，同样的按键会弹出关机提示，所以先看清楚最前面是哪个窗口。
4. 如果应用弹出了保存提示，就回答它，这说明应用又能干活了。

正常关闭和强制结束是两个不同的动作，而不是同一个动作的快慢两档，关闭请求会让应用把文档和设置写成一致的状态，强制结束则让进程停在它当时所在的地方。

## 从 Windows 11 任务栏结束任务

Windows 11 可以在右键点击任务栏按钮弹出的菜单里加上 **结束任务**，这个选项默认是关闭的，微软在[高级设置页面](https://learn.microsoft.com/en-us/windows/advanced-settings/)里把它列为一项任务栏设置，说明是「通过在任务栏上右键单击来结束任务」。

开关放在哪里，取决于 Windows 11 的版本：

- Windows 11 25H2 及更高版本：**设置 › 系统 › 高级**，然后打开任务栏下面的 **结束任务**。
- 更早的 Windows 11 版本：**设置 › 系统 › 开发者选项**，同一个开关，微软说明「开发者选项」页面在 25H2 中改名为「高级」。

单位统一管理的电脑可能通过策略把这个开关禁用了。打开之后，右键点击卡住应用的任务栏按钮，选 **结束任务**，Windows 10 上则改用任务管理器。

## 任务管理器：结束任务与结束进程树

按 `Ctrl + Shift + Esc`，或者右键点击「开始」选 **任务管理器**。微软的[任务管理器概览](https://support.microsoft.com/en-gb/accessibility/windows/use-a-screen-reader-to-navigate-windows-support-tools)提到，「进程」页把所有东西分成应用、后台进程和 Windows 进程三组，「结束任务」能让你「迅速终止无响应或占用大量资源的进程」。在 Windows 10 上，如果任务管理器打开时只是一个简短列表，先点 **详细信息**。

1. 在 **进程** 页的 **应用** 下面找到这个应用，挂起的应用状态一栏会显示「未响应」。
2. 选中它，点 **结束任务**。
3. 等几秒，正在和服务器通信的应用可能要过一会儿才会消失。

如果应用那一行已经不见了，但还有东西在运行，右键点击应用选 **转到详细信息**。**详细信息** 页按单个可执行文件列出，每个都带 PID，也就是 Windows 用来区分进程的编号，在这里可以结束单个进程，也可以右键点击选 **结束进程树**，把它和它启动的进程一起结束。

| 位置 | 结束什么 | 什么时候用 |
| --- | --- | --- |
| 进程 › 结束任务 | 应用本身和归在它下面的进程 | 应用卡住时的首选 |
| 详细信息 › 结束任务 | 单个可执行文件，按 PID | 窗口关掉后还残留的辅助进程 |
| 详细信息 › 结束进程树 | 这个进程和它的子进程 | 带着一堆辅助进程一直在跑的启动器或浏览器 |

结束之前，先在「进程」页展开应用的分组，比如浏览器会给网页和扩展各开独立的进程，结束分组里的某一行只会关掉一个标签页或扩展，浏览器本身还在。

## 在命令提示符里用 taskkill

任务管理器自己都画不出来的时候，命令照样能用。先在不改动任何东西的情况下查出映像名称：

```cmd
tasklist /fi "STATUS eq NOT RESPONDING"
tasklist /fi "IMAGENAME eq notepad.exe"
```

然后结束它。微软的 [taskkill 参考文档](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/taskkill)里，`/im` 是映像名称，`/pid` 是进程 ID，`/f` 表示「强制结束进程」，`/t` 表示结束「指定的进程以及由它启动的所有子进程」：

```cmd
taskkill /im notepad.exe
taskkill /f /im notepad.exe
taskkill /f /t /pid 1234
```

加 `/f` 之前先跑第一种写法。`/im` 会匹配所有同名进程，如果同一个应用开了两个窗口，两个都会被关掉，只有其中一个卡住时，改用 `tasklist` 查出来的 PID。[tasklist 参考文档](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/tasklist)还列出了其他筛选条件，比如 `WINDOWTITLE` 和 `USERNAME`。

## 会丢掉什么，又能找回什么

强制结束不给应用任何收拾的机会，微软的[进程终止文档](https://learn.microsoft.com/en-us/windows/win32/procthread/terminating-a-process)说线程会「立即终止，没有机会再运行任何代码」，所以还在内存里的东西都会丢：打了没保存的文字、录音最后几秒、写到一半的设置文件。同一页还提到，结束一个进程并不会结束它创建的子进程，这也是「结束进程树」和 `/t` 存在的原因。

有些应用自己会留恢复副本：

- **Microsoft Office。** 自动恢复按 **文件 › 选项 › 保存** 里设定的间隔定时保存恢复信息，微软的[崩溃保护指南](https://support.microsoft.com/topic/551c29b1-6a4b-4415-a3ff-a80415b92f99)建议把间隔设短一点，比如 5 或 10 分钟，同时仍然建议经常按 `Ctrl + S`，因为自动恢复只能保住它上一次保存时抓到的内容。崩溃后重新打开 Word、Excel 或 PowerPoint，可能会出现「文档恢复」窗格列出恢复的文件，想要哪一个就马上另存下来。
- **Microsoft Edge。** Edge 重新打开时会恢复标签页，如果没有恢复，微软的 [Edge 帮助](https://support.microsoft.com/en-us/edge/automatically-update-microsoft-edge-when-your-device-is-idle)说可以右键点击标题栏选 **还原窗口**，或者按 `Ctrl + Shift + T`，不过网页表单里打的字通常不在恢复范围内。

其他应用，先去看厂商文档里有没有自动保存或恢复文件夹，在结束进程之前看，而不是之后。

## 整个桌面都卡住时

如果没有任何窗口响应，连任务栏都没反应，问题就不只是一个应用了，按顺序试这些：

1. 按 `Ctrl + Alt + Del`，微软说它会切换到安全屏幕，「在这里可以锁定桌面、切换用户、注销、更改密码或打开任务管理器」，这个屏幕能出来，说明 Windows 本身还在运行。
2. 从这里打开任务管理器结束应用，或者重新启动 Windows 资源管理器，微软的[黑屏故障排查页面](https://support.microsoft.com/en-us/help/14106)给的正是这个办法：打开任务管理器，重新启动 Windows 资源管理器。
3. 如果屏幕黑着或者定住不动，按 `Win + Ctrl + Shift + B`，同一个微软页面说它会重置显卡驱动，「如果成功，你会听到一声提示音或看到屏幕闪一下」。
4. 如果都没用，在安全屏幕上选 **注销**，注销会关掉当前会话里的所有应用，所有应用里没保存的内容都可能丢。
5. 长按电源键是最后一步，留给连 `Ctrl + Alt + Del` 都没反应的时候。

## 为什么结束之后应用又回来了

结束进程只是让它停一次，并不改变是谁在启动它，如果应用又冒出来，通常是下面某一个在重新拉起它：

- **托盘图标或后台模式。** 很多聊天、同步和启动器类应用关掉窗口后仍在运行，从托盘图标的菜单里退出它们，而不是在任务管理器里结束。Edge 对此有自己的设置，见[为什么 Edge 一直在后台运行](/zh/windows/blog/edge-running-in-background)。
- **启动项。** 列在 **设置 › 应用 › 启动** 或任务管理器 **启动应用** 页里的应用每次登录都会启动，微软的[启动应用指南](https://support.microsoft.com/en-us/windows/experience/startup-boot/configure-startup-applications-in-windows)里有说明，哪些该关可以看[启动项整理指南](/zh/windows/blog/manage-windows-startup)。
- **服务或更新程序。** 服务可以自己把辅助进程重新拉起来，反复结束辅助进程解决不了问题，要改应用的设置，或者干脆卸载它。

如果同一个应用一再卡住，看看它卡住时在干什么，[CPU 占用高](/zh/windows/blog/windows-high-cpu-usage)和[内存占用高](/zh/windows/blog/windows-high-memory-usage)讲了怎么读这些数字。

## 哪些不要结束

任务管理器里有些进程就是 Windows 本身，微软的 [CRITICAL_PROCESS_DIED 参考文档](https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/bug-check-0xef--critical-process-died)把 csrss.exe、wininit.exe、smss.exe、services.exe 和 winlogon.exe 列为内置的关键系统进程，关键进程一旦终止，Windows 就会蓝屏停机。这些都别碰，还有 **System**、**Registry** 和归在 Windows 进程下的所有东西，哪怕旁边的数字看起来很高。

explorer.exe 是个特例，任务栏、「开始」和文件资源管理器窗口都是它画的，结束它会让你对着一片空桌面，直到它重新启动。任务栏或文件资源管理器卡住时，在「进程」页选中 **Windows 资源管理器**，用它的 **重新启动** 而不是结束任务，一步就能关掉再打开。

## Mole 能做什么

Mole for Windows 的「状态」页按所属应用分组列出正在运行的进程，后台辅助进程会显示成它所属应用的一部分，而不是一个陌生的名字。每一行的菜单里有 **终止** 和 **强制退出**，两者都会先请你确认，「终止」会请应用关闭自己的窗口，给它保存或弹出自己提示的机会，「强制退出」会立即结束进程，并提醒未保存的数据可能丢失。服务、从 Windows 文件夹运行的程序、Windows 不肯识别的进程以及 Mole 自己，这些行在那个位置显示的是「系统进程」，没有这两个操作。

正如 [Mole 帮助](/zh/windows/help)里说的，结束进程前先保存工作，确认它属于你想关的那个应用，系统进程和与其他应用共用的进程不要动。桌面本身卡住时 Mole 帮不上忙，那需要上面那些键盘操作。

## 常见问题

### Windows 上强制关闭程序最快的办法是什么？

按 `Ctrl + Shift + Esc` 直接打开任务管理器，选中应用，点 **结束任务**。`Ctrl + Alt + Del` 也行，但它先进入安全屏幕，任务管理器只是那里的选项之一。

### 结束任务和 Alt+F4 一样吗？

不一样。`Alt + F4` 是请当前窗口关闭，和点它的 X 一样，应用可以先保存或者先问你，任务管理器里的结束任务是给已经不再响应这个请求的应用用的。

### 不加 /f 的 taskkill 会强制关闭应用吗？

`/f` 是微软文档里用来强制结束进程的开关，不加它应用就不会被强制关闭。先不加试一次，之后进程还在列表里，再加上 `/f`。

### 为什么应用显示「未响应」，之后又恢复了？

窗口 5 秒没有处理消息，Windows 就会把它标成未响应，哪怕应用只是在忙而不是卡死。长时间的保存、导出或网络操作往往会完成，窗口也就回来了。


Canonical: https://mole.fit/zh/windows/blog/force-quit-app-windows
