164

当我从 VS 启动 VS 的 Experimental 实例进行调试并停止调试(有时直接从父 VS)时,一个僵尸 devenv.exe 进程仍在运行,我无法杀死它。它保留了我的许多 dll。

当我以管理员身份登录到这台 64 位 Win7 机器时,我希望能够杀死任何我想杀死的进程。

I tried (from Administrator command prompt):

End Task from Task Manager.
TASKKILL /F /IM devenv.exe
PSKILL devenv.exe

None 返回任何错误并TASKKILL返回PSKILL终止/终止进程的成功消息。但是 devenv.exe 仍然运行,它不会重新生成,因为它PID保持不变。它仅在重新启动系统时消失,这不是一个很好的解决方案。

笔记。LockHunter 显示 devenv 已锁定自身。而且它无法解锁。

进程监视器显示 devenv 处于某种“进程分析”循环中

上面的屏幕截图是 Process Monitor 的输出,显示 devenv 处于某种“Process Profiling”循环中(右键单击它并单击在新选项卡中打开图像以正确查看它)。

任何想法如何在 Windows 上终止这样的进程?

4

29 回答 29

93

如果任何产生的子进程成功杀死您的进程,您也必须杀死子进程

taskkill /IM "process_name" /T /F

/T = kills child process

/F = forceful termination of your process
于 2013-10-15T12:51:59.110 回答
54

taskkill 和 powershell (kill) 方法对我不起作用;它仍然说“拒绝访问”。

我有更好的运气:

wmic process where "name='myprocessname.exe'" delete
于 2016-08-04T03:04:58.560 回答
38

Reboot is the only solution that worked for me (so far).

The ever excellent Mark Russonovich has a good explanation for unkillable processes.

To summarise, it's quite possible it is due to unprocessed I/O requests that hasn't been handled properly (by a device driver your program has possibly accessed)

https://techcommunity.microsoft.com/t5/windows-blog-archive/unkillable-processes/ba-p/723389

于 2015-03-22T18:34:19.520 回答
35

刚刚在 Windows Server 2008 R2 上遇到了同样的问题,没有任何帮助,不是 taskmanager 或 taskkill。但是,windows powershell 以管理员身份运行,使用“kill -id pid”

于 2014-10-02T13:31:54.720 回答
10

I know it's late but taskkill /im devenv.exe /t /f should work. the /t kills child processes too.

于 2013-10-13T01:51:25.607 回答
9

就我而言,经过几天的努力解决这个问题(它发生在 VirtualBox 和 µTorrent 进程上),我发现它是由网络驱动程序问题引起的,由 Windows 更新补丁KB4338818 (Windows 7 x64) 引起。卸载该补丁后,一切恢复正常。我只是认为它可能对其他人有用。

于 2018-07-31T17:35:39.610 回答
6

我可以通过杀死 explorer.exe 来解决我的问题,而 explorer.exe 又沉迷于我想要杀死的进程。我想如果进程通过可能被锁定的钩子打开接口,这也可能发生。

于 2013-09-20T16:49:56.393 回答
6

本机tskill <pid>(或tskill.exe <pid>)在 Windows 10 上为我工作,没有其他本机答案。

就我而言,我有一些 chrome.exe 进程,任务管理器的“结束任务”正在为其工作,但taskkill /F /T /PID <pid>powershell 都没有kill -id <pid>工作(即使两个 shell 都以管理员身份运行)。

这很奇怪,因为taskkill据称它是一个更好的 api-and-does-more 版本tskill

就我而言,要杀死我使用的某个任务的所有实例FOR /F "usebackq tokens=2 skip=2" %i IN (`TASKLIST /FI "IMAGENAME eq name_of_task.exe"`) DO tskill %i

于 2017-07-17T19:09:44.700 回答
5

我已经看过几次了,我唯一的解决方案是重新启动。

您可以尝试使用 PowerShell:Get-Process devenv | 杀

但如果其他方法失败了,这可能也会失败。:-(

于 2012-09-21T11:24:50.953 回答
4

我将在这里提出一些建议,因为我最近遇到了同样的问题,并且我在答案中尝试了所有可能的事情,但没有任何效果。我收到了类似的错误

错误:无法终止 PID 为 23908 的进程。原因:没有正在运行的任务实例。

使用命令提示符。电源外壳也没有帮助。它只会执行命令而没有响应,进程仍在运行。

直到我决定删除相关的“.exe”文件。由于该文件处于活动状态,Windows 不允许删除,但在那个警告窗口中,它给了我阻止我想要杀死的任务的进程的名称。我能够杀死原始任务,从而杀死错误的过程。

如果没有一个解决方案有效,那绝对值得一试。

于 2017-12-27T21:23:58.840 回答
3

我得到了以下结果taskkill

>taskkill /im "MyApp.exe" /t /f
ERROR: The process with PID 32040 (child process of PID 54176) could not be terminated.
Reason: There is no running instance of the task.

>taskkill /pid 54176  /t /f
ERROR: The process "54176" not found.

对我有用的是sysinternal 的 pskill

>pskill.exe -t 32040

PsKill v1.15 - Terminates processes on local or remote systems
Copyright (C) 1999-2012  Mark Russinovich
Sysinternals - www.sysinternals.com

Process 32040 killed.

您可以pskillsysinternal 的实时站点获取

于 2018-03-14T22:50:34.630 回答
2

某些 Exe 文件依赖于某些服务,

因此,您需要先找到相应的服务并停止。

于 2012-09-21T11:51:09.587 回答
2

对我来说,它的工作方式是我必须杀死父进程。找出父进程并杀死它

taskkill /IM "parent_process_name.exe" /T /F
于 2019-05-04T14:25:56.800 回答
2

关于 Java 进程,我在 VirtualBox 中也遇到了同样的问题。

就我而言,这是由于 Windows Update 补丁 KB4338818 (Windows 7 x64) 中的一个错误。

我通过执行以下操作解决了它:

  • 卸载 Windows 更新补丁 KB4338818
  • 安装 Windows 更新补丁 KB4338821
于 2018-08-28T22:30:12.500 回答
2

如果taskkill /F /T /PID <pid>不起作用。尝试使用Run as Administrator.

在 Windows 菜单中搜索cmd,然后右键单击Run as Administrator,然后再次运行该命令。这对我有用。

于 2018-02-19T04:02:27.907 回答
2

以管理员身份运行对我有用:

1.cmd在windows中搜索

2.右键cmd选择“以管理员身份运行”

3.netstat -ano | findstr :8080

4.taskkill/pid (your number) /F

我的结果

于 2018-08-26T21:09:06.583 回答
2

就我而言,这里的解决方案都不起作用。我最终发现有问题的程序在尝试轮询 USB 音频接口时被冻结。所以我拔掉了我连接的 USB DAC,令我惊讶的是应用程序立即退出。弗朗西斯的回答提到这可能是“未正确处理的未处理 I/O 请求(由您的程序可能访问的设备驱动程序)”的结果,这可能解释了为什么会修复它。

我想这真的取决于程序在冻结时正在做什么,但如果其他解决方案都不起作用,请尝试断开所有 USB 设备,看看其中一个是否可能是原因。

于 2020-02-11T19:03:26.383 回答
1

我遇到了同样的问题,这里的许多其他人都说正常的 Kill 命令都不起作用。我的问题文件是远程桌面服务器上的用户从网络共享运行的可执行文件。在工作日重新启动多个共享用户并不是一件容易的事。即使用户注销,exe 仍然列在任务管理器中。我发送到共享文件夹的服务器,并从计算机管理 - > 会话发现会话的用户仍然从该 RDP 服务器打开,即使他已注销。右键单击-> 关闭会话并释放文件锁定。

打败我为什么我不能结束任务。当我尝试删除文件时,我最初收到的错误消息是“操作无法完成,因为文件已在系统中打开”

希望这对其他人有帮助。

于 2019-03-01T02:25:49.253 回答
1

我遇到了完全相同的问题,在另一个站点上找到了此修复程序:powershell.exe "Get-Process processname| Stop-Process" 它对我有用,我在同一条船上我必须重新启动,/T 不起作用.

于 2018-02-17T22:04:17.543 回答
1

我在提升的 powershell 上执行了以下操作:

PS C:\Windows\system32> wmic.exe /interactive:off process where "name like `'java%'`" call terminate

命令输出:

Executing (\\SRV\ROOT\CIMV2:Win32_Process.Handle="3064")->terminate()
Method execution successful.

输出参数:

instance of __PARAMETERS
{ReturnValue = 0; };

我得到了一些语法信息:https ://community.spiceworks.com/topic/871561-wmic-error-like-invalid-alias-verb

于 2018-05-18T12:22:43.960 回答
1

正如弗朗西斯所提到的,一些进程不能被终止,因为

“未处理的 I/O 请求”

根据我的经验,我正在处理错误的图形驱动程序,这会导致我的游戏崩溃并且无法关闭它,作为最后的手段,我禁用了图形驱动程序并且该过程最终消失了。

如果您的应用程序正在等待来自wifi 或图形等驱动程序的资源,请尝试在设备管理器中禁用它们,您需要深入挖掘以查看它们挂在哪里。

当然不建议这样做,但有时您再也没有什么可失去的了。

于 2018-11-21T18:50:13.220 回答
1

NirSoft 的NirCmd为我完成了这项工作:

nircmd killprocess "process name.exe"

killprocess 手册页在这里

于 2017-02-23T11:54:47.227 回答
1

如果您下载免费的 sysinternals 套件,它有一个适用于这些类型任务的 pskill.exe 应用程序: pskill.exe "process_name" 即使不使用 -t 选项,它也适用于这些进程。

于 2018-04-05T18:57:24.823 回答
1

我在 Code::Blocks 中使用 gdb 调试进程时遇到问题。一旦它在意外进入源代码范围之外的指令时挂起(作为没有源代码或系统功能的库),您既不能从 Code::Blocks 也不能从任务管理器退出调试。

我认为这是在 Code::Blocks 中实现 gdb 的错误,但也可能在 gdb 中;)

我的解决方案:

taskkill /F /IM process.exe /T

这显示了父进程的PID。现在杀死父母:

taskkill /PID yyyy

两个都没了。

完毕。

于 2016-09-07T23:34:07.297 回答
0

taskkill /f /im "process.exe"

以管理员身份运行 cmd 或 .bat 文件为我工作

于 2021-09-02T01:45:57.840 回答
0

要杀死在 Windows 中运行的 PID 任务:

TASKKILL  /PID "Taskname"  /F
于 2022-01-26T08:06:09.567 回答
0

我遇到了同样的问题,我在端口 3000 中启动了一个节点应用程序,但它没有正确关闭,并且即使在重新启动后进程仍然运行。

在管理员模式下运行的 taskkill 或 powershell 命令都不适合我。

我使用了 MS Process Expoler > Properties > Image > Current directory(应该是我的项目目录)。

最后,我不得不在安全模式下重新启动并重命名项目文件夹并重新启动。消耗 3000 端口的 Node 进程自行杀死。

于 2017-09-08T16:16:53.467 回答
-6

以管理员身份运行 CMD 将解决问题

于 2019-05-20T11:02:10.953 回答
-9
  1. 打开任务管理器
  2. 选择服务选项卡
  3. 选择要杀死的进程(devenv.exe)并单击服务按钮
  4. 就在进程中,选择属性并禁用它...
于 2013-11-17T13:21:01.527 回答