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

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

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


当前回答

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

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

其他回答

taskkill /im myprocess.exe /f

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

taskkill /pid 1234 /f

还有很多其他选项,只要输入taskkill /?对所有人来说。"/t"选项杀死一个进程和所有子进程;这可能对你有用。

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

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

Wmic进程processid="11008"调用终止

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

谷歌quickkill_3_0.bat

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

进程选项卡上的“结束进程”调用TerminateProcess,这是Windows知道的终止进程的最终极方式。

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

看看这个来自wayback的博客条目:http://blogs.technet.com/markrussinovich/archive/2005/08/17/unkillable-processes.aspx

基于Unix的系统,如Linux,也有这样的问题,如果进程处于所谓的“不可中断睡眠”(由top和ps显示为状态D),那么它们可以在kill -9时存活,此时进程睡眠得非常好,以至于它们不能处理传入信号(这是kill所做的-发送信号)。

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