Windows机器上的程序偶尔会疯狂地挂起。所以我将调用任务管理器并点击“End Process”按钮。然而,这并不总是有效;如果我尝试足够多的次数,那么它通常最终会死亡,但我真的希望能够立即杀死它。在Linux上,我可以只kill -9来保证进程将死亡。
kill -9
这也可以用于编写批处理脚本,而编写批处理脚本就是编程。
一个免费的第三方应用程序就可以了,尽管我更希望能够在我第一次坐下来的机器上做到这一点。
taskkill /im myprocess.exe /f
“/f”代表“力”。 如果你知道PID,那么你可以指定它,如:
taskkill /pid 1234 /f
还有很多其他选项,只要输入taskkill /?对所有人来说。"/t"选项杀死一个进程和所有子进程;这可能对你有用。
从sysinternals(现在的Microsoft)获取进程资源管理器
进程资源管理器- Windows Sysinternals |微软文档
Process - tab上的“End Process”调用TerminateProcess,这是Windows知道的杀死进程的最终极方式。
TerminateProcess
如果它没有消失,它目前被锁定在等待一些内核资源(可能是一个有bug的驱动程序),并且没有什么(除了重新启动)可以让进程消失。
看看这篇来自wayback的博客文章:http://blogs.technet.com/markrussinovich/archive/2005/08/17/unkillable-processes.aspx
基于Unix的系统,如Linux也有这样的问题,如果进程处于所谓的“不可中断睡眠”(由top和ps显示为状态D),那么进程可以在kill -9中存活,此时进程睡眠得非常好,以至于它们无法处理传入信号(这就是kill所做的-发送信号)。
D
kill
通常情况下,不间断睡眠不会持续很长时间,但在Windows下,损坏的驱动程序或损坏的用户空间程序(vfork没有exec)可能会永远睡在D中。
vfork
exec
一个很有效的技巧是附加一个调试器,然后退出调试器。
在XP或Windows 2003上,你可以使用ntsd来完成这个任务:
ntsd -pn myapp.exe
安全运输科会打开一个新窗口。只需在窗口中输入'q'退出调试器并取出进程。
我知道,即使在任务管理器似乎无法终止进程时,这种方法也能起作用。
不幸的是,ntsd已经从Vista中删除了,你必须安装(免费的)Windows的调试工具来获得合适的调试器。
当ntsd访问被拒绝时,尝试:
ZeroWave被设计成一个简单的工具,可以为任何类型的进程提供多级终止。
ZeroWave也是一个易于使用的程序,由于其简单的安装和非常友好的图形界面。
ZeroWave有三种终止模式,“疯狂”模式可以终止任何类型的进程,可以在Windows上运行。
ZeroWave似乎不能杀死avp.exe
设置AT命令以SYSTEM方式运行任务管理器或进程资源管理器。
AT 12:34 /interactive "C:/procexp.exe"
如果进程资源管理器在您的根C驱动器中,那么这将以SYSTEM方式打开它,您可以杀死任何进程而不会出现任何拒绝访问的错误。把这个设置为未来的一分钟,然后它就会跳出来。
约瑟夫·斯蒂恩斯是对的。打开cmd.exe并运行
taskkill /im processname.exe /f
如果出现错误,
ERROR: PID为1234的进程“process.exe”不能存在 终止。 原因:Access is denied. .访问失败
ERROR: PID为1234的进程“process.exe”不能存在 终止。 原因:Access is denied.
然后尝试以管理员身份运行cmd.exe。
< em >过程黑客< / em >有许多杀死进程的方法。
.
(右键单击进程,然后转到Miscellaneous->终结者。)
供您参考,您有时可以使用SYSTEM或Trustedinstaller来终止任务;)
谷歌quickkill_3_0.bat
sc config TrustedInstaller binPath= "cmd /c TASKKILL /F /IM notepad.exe sc start "TrustedInstaller"
我也有这个问题,下面是我解决它的方法。
1/打开«任务管理器»
2/在列表中找到应用程序名称
3/一旦找到,右键单击它的名称,然后单击«properties»
4/在属性界面中,单击«security«
5/单击«edit»更改权限
6/«拒绝»所有用户的所有权限,单击«应用»然后«确定»
7/单击«高级»进行特殊权限设置
8/删除所有用户的权限
9/点击«apply»,然后«ok»
10/再次点击«apply»然后«ok»
11/你现在可以在任务管理器上杀死进程,以及卸载你想要的应用程序。
wmic process where processid="11008" call terminate