偶尔,Windows机器上的程序会发疯,只是挂起.所以我将调用任务管理器并点击"结束进程"按钮.但是,这并不总是有效; 如果我尝试了足够多次,那么它通常会最终死亡,但我真的希望能够立即杀死它.在Linux上我可以kill -9保证一个进程会死掉.
这也可用于编写批处理脚本,编写批处理脚本是编程.
Windows中是否有一些程序或命令会一直杀死进程? 一个免费的第三方应用程序没问题,虽然我更愿意能够在我第一次坐下来的机器上这样做.
pil*_*lif 317
进程选项卡调用中的"结束进程" TerminateProcess是Windows知道杀死进程的最终方式.
如果它没有消失,它当前锁定等待一些内核资源(可能是一个有缺陷的驱动程序)并且没有任何东西(没有重启)你可以做以使该过程消失.
在以下情况下看看这篇博客文章:http://blogs.technet.com/markrussinovich/archive/2005/08/17/unkillable-processes.aspx
像Linux这样的基于Unix的系统也存在这样的问题,即kill -9如果它们处于所谓的"不间断睡眠"(由top和ps显示为状态D),则进程可以存活,此时进程会睡得很好,以至于它们无法处理传入的信号(这是什么kill- 发送信号).
通常情况下,不间断睡眠不应该持续很长时间,但是在Windows下,破坏的驱动程序或破坏的用户空间程序(vfork没有exec)可能会D永远沉睡.
Jos*_*ons 228
taskkill /im myprocess.exe /f
Run Code Online (Sandbox Code Playgroud)
"/ f"代表"强制".如果你知道PID,那么你可以指定,如:
taskkill /pid 1234 /f
Run Code Online (Sandbox Code Playgroud)
还有很多其他选项,只需输入taskkill /?对于他们所有人."/ t"选项可以杀死进程和任何子进程; 这可能对你有用.
Meh*_*dad 37
Process Hacker有许多方法可以杀死进程.

(右键单击该进程,然后转到Miscellaneous-> Terminator.)
Dhr*_*hok 23
JosepStyons是对的.打开cmd.exe并运行
taskkill /im processname.exe /f
Run Code Online (Sandbox Code Playgroud)
如果有错误说,
错误:无法终止带有PID 1234的进程"process.exe".原因:访问被拒绝.
然后尝试以管理员身份运行cmd.exe.
Iai*_*der 22
从sysinternals(现在是Microsoft)获取进程资源管理器
Process Explorer - Windows Sysinternals | Microsoft Docs
Rob*_*ker 15
一个效果很好的技巧是附加一个调试器,然后退出调试器.
在XP或Windows 2003上,您可以使用开箱即用的ntsd执行此操作:
ntsd -pn myapp.exe
Run Code Online (Sandbox Code Playgroud)
ntsd将打开一个新窗口.只需在窗口中键入"q"即可退出调试器并取出该过程.
即使任务管理器似乎无法杀死进程,我也知道这可以工作.
不幸的是,ntsd已经从Vista中移除了,你必须为windows安装免费的debbugging工具以获得合适的调试器.
小智 6
设置AT命令以将任务管理器或进程资源管理器作为SYSTEM运行.
AT 12:34 /interactive "C:/procexp.exe"
Run Code Online (Sandbox Code Playgroud)
如果进程资源管理器在你的根C驱动器中,那么这将打开它作为SYSTEM,你可以杀死任何进程而不会获得任何访问被拒绝错误.将此设置为将来的一分钟,然后它会弹出给你.
| 归档时间: |
|
| 查看次数: |
581835 次 |
| 最近记录: |