真的在Windows中杀死一个进程

Really killing a process in Windows

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

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

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


进程选项卡上的"结束进程"调用TerminateProcess,这是Windows知道杀死进程的最终方式。

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

在以下情况下看看这篇博客文章:http://blogs.technet.com/markrussinovich/archive/2005/08/17/unkillable-processes.aspx

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

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


1
taskkill /im myprocess.exe /f

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

1
taskkill /pid 1234 /f

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


Process Hacker有许多方法可以杀死进程。

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

<hr>
<p>
JosepStyons是对的。打开cmd.exe并运行
</p>
<div class=

1
taskkill /im processname.exe /f

如果有错误说,

ERROR: The process"process.exe" with PID 1234 could not be
terminated.
Reason: Access is denied.

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


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

Process Explorer - Windows Sysinternals | Microsoft Docs


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

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

1
ntsd -pn myapp.exe

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

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

不幸的是,ntsd已经从Vista中移除了,你必须为windows安装免费的debbugging工具以获得合适的调试器。


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

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

如果进程资源管理器在你的根C驱动器中,那么这将打开它作为SYSTEM,你可以杀死任何进程而不会获得任何访问被拒绝错误。将此设置为将来的一分钟,然后它会弹出给你。


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

谷歌quickkill_3_0.bat

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

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

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

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

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

似乎ZeroWave无法杀死avp.exe


推荐阅读

    linux进程运行命令?

    linux进程运行命令?,系统,工作,状态,地址,信息,进程,基础,命令,管理,软件,lin

    linux下看进程命令行?

    linux下看进程命令行?,系统,情况,软件,服务,状态,名称,环境,进程,命令,数据,

    linux进程与磁盘命令?

    linux进程与磁盘命令?,管理,系统,信息,情况,基础,增长,单位,地址,发行,命令,L

    linux的进程管理命令?

    linux的进程管理命令?,系统,实时,工作,管理,命令,地址,名称,进程,服务,基础,l

    linux端口进程命令?

    linux端口进程命令?,系统,情况,地址,网络,信息,状态,灵活,工具,端口,命令,如

    调用函数命令linux?

    调用函数命令linux?,系统,管理,网络,通用,统一,观察,地址,代码,设备,地方,怎

    linux进程的命令行?

    linux进程的命令行?,地址,工作,系统,信息,命令,管理,名称,进程,目录,服务,lin

    linux当前进程命令?

    linux当前进程命令?,系统,信息,工作,状态,命令,进程,情况,地址,软件,实时,lin

    linux下杀进程命令?

    linux下杀进程命令?,系统,管理,进程,命令,名称,代码,终端,结束,指令,信号,Lin

    linux关于的进程命令?

    linux关于的进程命令?,系统,进程,管理,命令,名称,代码,软件,信息,定期,状态,l

    linux内核总调用命令?

    linux内核总调用命令?,工作,地址,系统,信息,管理,策略,命令,目录,时间,基础,

    linux编程调用命令?

    linux编程调用命令?,系统,标准,管理,工作,基础知识,情况,环境,设备,基础,首

    linux终止进程命令键?

    linux终止进程命令键?,系统,管理,进程,软件,暂停,工具,命令,代码,名称,传播,l

    linux向进程发送命令?

    linux向进程发送命令?,通信,地址,系统,时间,工作,信息,管理,状态,进程,数据,l

    linux重启进程号命令?

    linux重启进程号命令?,工作,系统,地址,标准,命令,设备,工具,信息,基础,情况,L

    linux命令窗口调用?

    linux命令窗口调用?,系统,工具,首页,终端,命令,数据,盘中,代码,密码,快捷键,

    linux中调度进程命令?

    linux中调度进程命令?,系统,状态,策略,实时,信息,进程,数据,管理,时间,异常,L

    linux检测进程命令?

    linux检测进程命令?,系统,服务,地址,状态,信息,检测,进程,命令,第一,软件,lin

    linux进程中断命令行?

    linux进程中断命令行?,系统,软件,管理,进程,信息,名字,名称,平台,命令,结束,l

    linux进程有关命令?

    linux进程有关命令?,系统,状态,信息,时间,进程,命令,百分比,暂停,名称,定期,L