393

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

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

Windows 附带的某些程序或命令是否总是会杀死进程? 一个免费的第三方应用程序就可以了,尽管我更希望能够在我第一次坐下的机器上做到这一点。

4

10 回答 10

328

Processes-Tab 调用上的“结束进程”,TerminateProcess这是 Windows 知道终止进程的最终方式。

如果它没有消失,它当前被锁定在等待某些内核资源(可能是一个有问题的驱动程序),并且没有什么(除了重新启动之外)可以使进程消失。

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

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

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

于 2008-09-08T15:52:09.643 回答
252
taskkill /im myprocess.exe /f

“/f”代表“力”。如果您知道 PID,那么您可以指定它,如下所示:

taskkill /pid 1234 /f

许多其他选项是可能的,只需键入 taskkill /? 为他们所有人。"/t" 选项杀死一个进程和所有子进程;这可能对你有用。

于 2008-09-08T15:49:17.170 回答
38

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

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

于 2014-06-07T08:17:03.220 回答
27

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

taskkill /im processname.exe /f

如果说有错误,

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

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

于 2014-05-03T07:28:39.837 回答
22

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

进程资源管理器 - Windows Sysinternals | 微软文档

于 2008-09-08T15:49:45.250 回答
16

一个行之有效的技巧是附加一个调试器,然后退出调试器。

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

ntsd -pn myapp.exe

ntsd 将打开一个新窗口。只需在窗口中输入“q”即可退出调试器并退出进程。

即使任务管理器似乎无法终止进程,我也知道这可以工作。

不幸的是,ntsd 已从 Vista 中删除,您必须为 windows 安装(免费)调试工具才能获得合适的调试器。

于 2008-09-08T16:00:11.590 回答
6

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

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

如果进程资源管理器在您的根 C 驱动器中,那么这将以 SYSTEM 身份打开它,您可以终止任何进程而不会出现任何拒绝访问错误。将其设置为未来一分钟,然后它会为您弹出。

于 2012-12-15T16:46:03.723 回答
1

我也有这个问题,我是这样解决的。

1/ 打开«任务管理器« 

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

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

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

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

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

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

8/ 删除所有用户的权限

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

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

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

于 2021-04-21T03:03:29.143 回答
0

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

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

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

ZeroWave 具有三种终止模式,并且通过“INSANE”模式可以终止可以在 Windows 上运行的任何类型的进程。

ZeroWave 好像杀不死 avp.exe

于 2011-12-13T04:59:05.853 回答
0

仅供参考,您有时可以使用 SYSTEM 或 Trustedinstaller 来终止任务;)

谷歌 quickkill_3_0.bat

sc config TrustedInstaller binPath= "cmd /c TASKKILL /F  /IM notepad.exe
sc start "TrustedInstaller"
于 2019-02-28T16:35:00.027 回答