Taskkill / f不会杀死进程

时间:2012-09-21 10:41:11

标签: windows windows-7 process windows-7-x64 devenv

当我从VS启动VS的实验实例以进行调试并停止调试时(有时直接从父VS),zombile devenv.exe进程仍在运行,我无法杀死。它坚持我的许多dll。

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

I tried (from Administrator command prompt):

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

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

请注意。 LockHunter显示devenv已经锁定了自己。它无法解锁。

Process Monitor shows devenv to be in some kind of 'Process Profiling' loop

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

有关如何在Windows上杀死此类进程的任何想法?

29 个答案:

答案 0 :(得分:69)

你必须杀死子进程,如果有人成功杀死你的进程

taskkill /IM "process_name" /T /F

/T = kills child process

/F = forceful termination of your process

答案 1 :(得分:26)

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

答案 2 :(得分:23)

Reboot是唯一对我有用的解决方案(到目前为止)。

杰出的Mark Russonovich对不可杀戮的过程有很好的解释。

总而言之,很可能是由于未经处理的I / O请求(由您的程序可能访问的设备驱动程序)未正确处理而导致的。

http://blogs.technet.com/b/markrussinovich/archive/2005/08/17/unkillable-processes.aspx

答案 3 :(得分:21)

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

我运气好了:

wmic process where "name='myprocessname.exe'" delete

答案 4 :(得分:9)

我知道现在已经很晚了但是taskkill /im devenv.exe /t /f应该可行。 /t也会杀死子进程。

答案 5 :(得分:5)

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

答案 6 :(得分:5)

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

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

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

答案 7 :(得分:5)

对于我来说,经过数天的时间解决此问题(发生在VirtualBox和µTorrent进程中)后,我发现这是由Windows Update补丁KB4338818引起的网络驱动程序问题引起的(Windows 7 x64)。卸载该补丁后,一切恢复正常。我只是认为这可能对其他人有用。

答案 8 :(得分:3)

原生tell application "Finder" set x to path to desktop make new folder at x with properties {name:"_XNB_Extract"} set y to path to "desktop:_XNB_Extract:" make new folder at y with properties {name:"Packed"} end tell (或tskill <pid>)在Windows 10上为我工作,没有其他本机答案。

在我的情况下,我有一些chrome.exe进程,任务管理器的“结束任务”正在运行,但tskill.exe <pid>和powershell的taskkill /F /T /PID <pid>都没有工作(即使两个shell都以管理员身份运行)。

这很奇怪,因为kill -id <pid>声称是taskkill更好的api和更多版本。

在我的案例中,我使用tskill

来杀死某项任务的所有实例

答案 9 :(得分:2)

我使用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's 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.

您可以从the sysinternal's live site

获取pskill

答案 10 :(得分:2)

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

这样的错误
  

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

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

直到我决定删除关联的&#39; .exe&#39;文件。由于文件处于活动状态,因此Windows不允许删除,但在该警告窗口中,它为我提供了阻止我想要杀死的任务的进程名称。 我能够杀死原始任务,从而杀死了错误的过程。

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

答案 11 :(得分:2)

我在一个高架的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

答案 12 :(得分:2)

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

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

我通过以下操作解决了该问题:

  • 卸载Windows Update补丁KB4338818
  • 安装Windows Update补丁KB4338821

答案 13 :(得分:2)

某些服务上的某些Exe文件依赖

所以你需要找到相应的服务并先停下来。

答案 14 :(得分:1)

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

taskkill /IM "parent_process_name.exe" /T /F

答案 15 :(得分:1)

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

答案 16 :(得分:1)

就我而言,这里没有解决方案。我最终发现有问题的程序被冻结,试图轮询USB音频接口。因此,我拔下了已连接的USB DAC,令我惊讶的是该应用程序立即退出。弗朗西斯(Francis)的回答提到,这可能是由于“未处理的I / O请求未得到正确处理(由您的程序可能访问过的设备驱动程序)导致的”,这可能解释了为什么对此进行了修复。

我想这实际上取决于程序冻结时的操作,但是如果其他解决方案都无法正常工作,请尝试断开所有USB设备的连接,以查看其中一个可能是原因。

答案 17 :(得分:1)

如果taskkill /F /T /PID <pid>不起作用。 尝试Run as Administrator打开你的终端。

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

答案 18 :(得分:1)

我在Code :: Blocks中遇到了使用gdb调试过程的问题。 一旦它意外地进入你的源范围之外的指令(如没有源代码或系统函数的lib),你就不能从Code :: Blocks或任务管理器退出调试。

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

我的解决方案:

taskkill /F /IM process.exe /T

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

taskkill /PID yyyy

两者都不见了。

完成。

答案 19 :(得分:0)

我有完全相同的问题,在另一个网站上发现此修复程序: powershell.exe“Get-Process processname | Stop-Process” 它对我有用,我在同一条船上,我不得不重新启动,/ T不起作用。

答案 20 :(得分:0)

我遇到了同样的问题,尝试运行cmd作为&#34;以管理员身份运行&#34;。

答案 21 :(得分:0)

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

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

我使用了MS Process Expoler&gt;属性&gt;图像&gt;当前目录(应该是我的项目目录)。

最后,我不得不重新启动SafeMode并重命名项目文件夹并重新启动。消耗端口3000的节点进程自行终止。

答案 22 :(得分:0)

NirSoft的NirCmd为我做了这份工作:

nircmd killprocess "process name.exe"

killprocess手册页是here

答案 23 :(得分:0)

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

1.search cmd在Windows中

2。右键单击cmd,选择“以管理员身份运行”

3。netstat -ano | findstr :8080

4。taskkill/pid (your number) /F

My result

答案 24 :(得分:0)

Francis所述,由于

,某些进程无法终止
  

“未处理的I / O请求”

根据我的经验,我正在处理有问题的图形驱动程序,这会导致我的游戏崩溃并无法将其关闭,因为我不得不禁用该图形驱动程序然后这个过程终于消失了。

如果您的应用程序正在等待驱动程序中的资源,例如wifi或图形,请尝试在设备管理器中禁用它们 >,您需要深入研究它们的悬挂位置。

当然不建议这样做,但是有时您再也不会失去任何东西了。

答案 25 :(得分:0)

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

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

希望这对其他人有帮助。

答案 26 :(得分:0)

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

答案 27 :(得分:-2)

此页面没有任何帮助,Anvir Task Manager确实如此。

但可能是我的进程在杀戮之前解冻了,所以如果它对你有帮助,请向上/向下投票。

答案 28 :(得分:-7)

  1. 打开任务管理器
  2. 选择服务标签
  3. 选择要杀死的进程(devenv.exe),然后单击“服务按钮”
  4. 在流程上,选择属性并禁用它......