真的在Windows中杀死一个进程

时间:2008-09-08 15:48:31

标签: windows

偶尔,Windows机器上的某个程序会发疯,只是挂起。所以我将调用任务管理器并点击“结束进程”按钮。但是,这并不总是有效;如果我尝试了足够多次,那么它通常会最终死亡,但我真的希望能够立即杀死它。在Linux上我只能kill -9来保证进程会死掉。

这也可以用于编写批处理脚本,编写批处理脚本就是编程。

是否有一些程序或Windows附带的命令会一直杀死进程?免费的第三方应用程序会没问题,但我更愿意能够在我第一次坐下来的机器上做到这一点。

10 个答案:

答案 0 :(得分:313)

进程选项卡上的

“结束进程”调用TerminateProcess,这是Windows知道杀死进程的最终方式。

如果它没有消失,它当前锁定等待一些内核资源(可能是一个有缺陷的驱动程序),并且没有任何东西(没有重启)你可以做的让这个过程消失。

在以下时间查看此博客条目:http://blogs.technet.com/markrussinovich/archive/2005/08/17/unkillable-processes.aspx

像Linux这样的基于Unix的系统也存在这样的问题:如果进程处于所谓的“不间断睡眠”(由top和ps显示为状态kill -9),那么进程可以在D中存活。这些过程睡得很好,以至于它们无法处理输入信号(这是kill所做的 - 发送信号。)

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

答案 1 :(得分:220)

taskkill /im myprocess.exe /f

“/ f”代表“强制”。 如果你知道PID,那么你可以指定,如:

taskkill /pid 1234 /f

还有很多其他选项,只需键入taskkill /?对于他们所有人。 “/ t”选项可以杀死进程和任何子进程;这可能对你有用。

答案 2 :(得分:37)

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

(右键单击该过程,然后转到Miscellaneous-> Terminator。)

答案 3 :(得分:22)

从sysinternals(现在是Microsoft)获取进程资源管理器

Process Explorer - Windows Sysinternals | Microsoft Docs

答案 4 :(得分:20)

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

taskkill /im processname.exe /f

如果说错误,

  

错误:进程" process.exe"与PID 1234不可能   终止。       原因:访问被拒绝。

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

答案 5 :(得分:15)

一个效果很好的技巧是附加一个调试器,然后退出调试器。

在XP或Windows 2003上,您可以使用开箱即用的ntsd执行此操作:

ntsd -pn myapp.exe

ntsd将打开一个新窗口。只需在窗口中输入'q'即可退出调试器并取出该过程。

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

不幸的是,ntsd已从Vista中移除,您必须安装(免费)debbugging tools for windows才能获得合适的调试器。

答案 6 :(得分:6)

设置AT命令以将任务管理器或进程资源管理器作为SYSTEM运行。

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

如果进程资源管理器位于您的根C驱动器中,那么这将打开它作为SYSTEM并且您可以在不获取任何访问被拒绝错误的情况下终止任何进程。将此设置为将来的一分钟,然后会弹出给你。

答案 7 :(得分:1)

我也遇到了这个问题,这是我的解决方法。

1/ 打开 « 任务管理器 «

2/ 在列表中找到应用名称

3/ 找到后,右键单击其名称,然后单击“属性”

4/ 在属性界面中,点击 « security «

5/ 点击«编辑»更改权限

6/“拒绝”所有用户的所有权限,点击“应用”,然后点击“确定”

7/ 点击«高级»进行特殊权限设置

8/ 删除所有用户的权限

9/点击«应用»然后«确定»

10/ 点击«应用»,然后再次点击«确定»

11/ 您现在可以在任务管理器上终止进程并卸载您想要的应用程序。

答案 8 :(得分:0)

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

ZeroWave被设计成一个简单的工具,可以提供任何类型过程的多级终止。

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

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

看来ZeroWave无法杀死avp.exe

答案 9 :(得分:0)

仅供参考,有时您可以使用SYSTEM或Trustedinstaller杀死任务;)

google quickkill_3_0.bat

sc config TrustedInstaller binPath= "cmd /c TASKKILL /F  /IM notepad.exe
sc start "TrustedInstaller"