IT技术博客大学习 共学习 共进步

用ntsd命令杀进程

PHPor 的Blog 2010-07-21 23:46:29 浏览 2,685 次

我前段时间发现我的机子里多了一个进程,只要开机就在,我用任务管理器却怎么关也关不了

杀进程很容易,随便找个工具都行。比如IceSword。关键是找到这个进程的启动方式,不然下次重启它又出来了。

顺便教大家一招狠的。其实用Windows自带的工具就能杀大部分进程:

c:\>ntsd -c q -p PID

只有System、SMSS.EXE和CSRSS.EXE不能杀。前两个是纯内核态的,最后那个是Win32子系统,ntsd本身需要它。

ntsd从2000开始就是系统自带的用户态调试工具。被调试器附着(attach)的进程会随调试器一起退出,所以可以用来在命令行下终止进程。使用ntsd自动就获得了debug权限,从而能杀掉大部分的进程。

ntsd会新开一个调试窗口,本来在纯命令行下无法控制,但如果只是简单的命令,比如退出(q),用-c参数从命令行传递就行了。

Ntsd按照惯例也向软件开发人员提供。只有系统开发人员使用此命令。有关详细信息,请参阅 NTSD 中所附的帮助文件。

用法:开个cmd.exe窗口,输入:

ntsd -c q -p PID

把最后那个PID,改成你要终止的进程的ID。
如果你不知道进程的ID,任务管理器-》进程选项卡-》查看-》选择列-》
勾上"PID(进程标识符)",然后就能看见了。

建议继续学习

  1. Oracle MTS模式下 进程地址与会话信息 (阅读 14,186)
  2. Linux内存点滴 用户进程内存空间 (阅读 12,945)
  3. 深入理解Nginx之调试优化技巧 (阅读 8,103)
  4. Linux上进程的表示以及入门 (阅读 7,642)
  5. Linux下进程绑定多CPU运行 (阅读 7,101)
  6. 分析进程内存分配情况,解决程序性能问题 (阅读 6,682)
  7. Linux下如何知道文件被那个进程写 (阅读 6,324)
  8. 使用GDB调试多进程程序 (阅读 6,241)
  9. 进程运行于不同的 CPU 核 (阅读 5,822)
  10. Linux进程的层次关系 (阅读 5,602)