有些时候任务管理器是无法结束一些进程的,比如病毒木马,特别是一些以cnnic和网络猪为代表的流氓软件,那么这个时候我们就需要一个功能更强大的 结束进程的工具,其实这样的工具windows本身就有:强制结束进程的命令行Windows操作系统中只有System、SMSS.E XE和CSRSS.EXE不能杀。前两个是纯内核态的,最后那个是Win32子系统,ntsd本身需要它。ntsd从2000开始就是系统 自带的用户态调试工具。被调试器附着(attach)的进程会随调试器一起退出,所以可以用来在命令行下终止进程。使用ntsd自动就获得 了debug权限,从而能杀掉大部分的进程。ntsd会新开一个调试窗口,本来在纯命令行下无法控制,但如果只是简单的命令,比如退出(q ),用-c参数从命令行传递就行了。Ntsd按照惯例也向软件开发人员提供。只有系统开发人员使用此命令。有关详细信息,请参阅NTSD 中所附的帮助文件。用法:开个cmd.exe窗口,输入:【ntsd-cq-ppid】如果能知道进程的pid,比如expl orer.exe的pid为196,运行cmd后输入"ntsd-cq-p136"即可杀掉如果你不知道进程的ID,任务管理器- >进程选项卡->查看->选择列->勾上"PID(进程标识符)",然后就能看见了。或者用下面的方法【ntsd-cq-pn进程 名】比如explorer.exe,运行cmd后输入"ntsd-cq-pnexplorer.exe"即可杀掉。但是,如果同一 个进程(比如iexplorer.exe)开了多个,就会出现错误,所以,ntsd每次只能结束一个单独出现的进程。以为翻译的帮助文件 ,仅供参考。【command-line】在dubugger模式下运行【--】默认为执行【-G-g-o-p-1-d- pd】参数【-aDllName】设置默认的扩展dll【-c】执行后面的dubugger命令【-clines】numberof linesofoutputhistoryretrievedbyaremoteclient【-failinc】失败时 产生不完全的符号和模型【-d】通过DbgPrint向kernel(核心)发送debugger输出信息注:-d不可与debug gerremoting同用-d只能在kernel(核心)debugger可以用时才能使用【-g】在debuggee下忽略初始 化断点【-G】忽略程序结束时的最终断点【-hd】规定debug命令集不能用于(dubuggee)创建的程序。该参数只能作用在Win dowsWhistler(windowsxp的测试版本)系统上【-o】debug所有由debuggee载入的程序【-ppi d】指定要绑定的进程的十进制ID(就是pid)【-pd】指定debugger自动与绑定的程序分离【-pe】规定任何绑定都要对应 一个存在的debug端口【-pt#】指定中断超时时间【-pv】指定任何绑定都是封闭的,不对外共享【-r】指定0-3等级的中断 (SeeSetErrorLevel)【-robp】允许在只读内存中设置断点【-t】指定显示0-3级的错误(SeeSetError Level)【-w】指定在一个单独的VDM(DOS虚拟机)中debug16位应用程序【-x】在AV排除项中设置第二个可选断点 -x{e|d|n|i}为指定的事件设置中断状态【-2】为debuggee创建一个单独核心的窗口XP下还有两 个好用的工具tasklist和tskill。tasklist能列出所有的进程,和相应的信息。tskill能查杀进程,语法很简单:tskill程序名! |
|