真的在Windows中查杀一个进程

偶尔在Windows机器上的程序变得疯狂,只是挂起。 所以我会调用任务pipe理器并点击“End Process”button。 但是,这并不总是奏效。 如果我尝试了足够多的时间,那么最终会死的,但是我真的希望能够立即杀死它。 在Linux上,我可以kill -9来保证进程将会死亡。

这也可以用于编写批处理脚本和编写批处理脚本。

是否有一些程序或命令与Windows一起总是会杀死一个进程? 一个免费的第三方应用程序可以,但我宁愿能够在我第一次坐下的机器上做到这一点。

Processes-Tab上的“End Process”调用TerminateProcess,这是Windows知道杀死进程的最终方法。

如果它没有消失,它当前被locking在等待某个内核资源(可能是一个错误的驱动程序),并且没有任何东西(很less重新启动),你可以做,使过程消失。

看看这个博客的入口时间: http : //blogs.technet.com/markrussinovich/archive/2005/08/17/unkillable-processes.aspx

像Linux这样的基于Unix的系统也存在这样的问题,如果进程在所谓的“不间断睡眠”(由顶部和ps表示为状态D)中,那么进程可以经受住死亡-9的存活,此时进程睡得很好, t处理传入的信号(这是什么杀 – 发送信号)。

通常情况下,不可中断的睡眠不应该持续很长时间,但是在windows下,破坏的驱动程序或者破坏的用户空间程序(没有exec的vfork)可能会永远睡在D中。

 taskkill /im myprocess.exe /f 

“/ f”是“force”。 如果你知道PID,那么你可以指定,如:

 taskkill /pid 1234 /f 

许多其他选项是可能的,只需键入taskkill /? 为他们所有。 “/ t”选项杀死进程和任何subprocess; 这可能对你有用。

Process Hacker有多种杀死进程的方法。

(右键点击进程,然后进入Miscellaneous-> Terminator。)

从sysinternals(现在微软)获取进程资源pipe理器

http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

JosepStyons是对的。 打开cmd.exe并运行

 taskkill /im processname.exe /f 

如果有错误说,

错误:具有PID 1234的进程“process.exe”无法终止。 原因:访问被拒绝。

然后尝试以pipe理员身份运行cmd.exe。

一个好办法就是附加一个debugging器,然后退出debugging器。

在XP或Windows 2003上,您可以使用开箱即用的ntsd来做到这一点:

 ntsd -pn myapp.exe 

ntsd将打开一个新的窗口。 只需在窗口中input“q”即可退出debugging程序并取出进程。

即使任务pipe理器似乎无法杀死一个进程,我也知道这个工作。

不幸的是ntsd从Vista中删除,你必须安装(免费) 的窗口debibugging工具来获得一个合适的debugging器。

设置AT命令以SYSTEM身份运行任务pipe理器或进程pipe理器。

 AT 12:34 /interactive "C:/procexp.exe" 

如果进程pipe理器在你的根C驱动器,那么这将打开它作为系统,你可以杀死任何进程没有得到任何访问被拒绝的错误。 将其设置为将来的一分钟,然后它会popup为你。

当ntsd访问被拒绝时,请尝试:

ZeroWave的devise是一个简单的工具,将提供任何types的过程的多级终止。

由于其简单的安装和非常友好的graphics界面,ZeroWave也是一个易于使用的程序。

ZeroWave有三种终止模式,“INSANE”模式可以终止任何可以在Windows上运行的进程。

似乎ZeroWave不能杀死avp.exe

我试图使用Mem Reduct ,它帮助了我。
我试图等待几个小时,但没有帮助,这个过程继续使用2Gb的内存。 然后我用那个程序“减less”了内存,这个过程就消失了。 真的不知道,如果真的有帮助,你…

尝试杀死explorer.exe。 它可以作为一个父母的过程,保护他的孩子不致死亡。 您可以通过taskmanager中的“file> run>'explorer'”菜单重新启动它。