1.ntsd.exe 
怎么才能关掉一个用任务管理器关不了的进程?大多数人想到的都是专门工具,如IceSword。其实用Windows自带的工具就能杀大部分进程: 
  c:/>ntsd -cq -p PID 
只有System、SMSS.EXE和CSRSS.EXE不能杀。前两个是纯内核态的,最后那个是Win32子系统,ntsd本身需要它。ntsd从2000开始就是系统自带的用户态调试工具。被调试器附着(attach)的进程会随调试器一起退出, 所以可以用来在命令行下终止进程。使用ntsd自动就获得了debug权限,从而能杀掉大部分的进程。ntsd会新开一个调试窗口,本来在纯命令行下无法控制,但如果只是简单的命令,比如退出(q),用-c参数从命令行传递就行了。Ntsd 按照惯例也向软件开发人员提供。只有系统开发人员使用此命令。有关详细信息,请参阅 NTSD 中所附的帮助文件。用法:开个cmd.exe窗口,输入: 
  ntsd -cq -p PID 
把最后那个PID,改成你要终止的进程的ID。如果你不知道进程的ID,任务管理器->进程选项卡->查看->选择列->勾上"PID(进程标识符)",然后就能看见了。 
2.taskkill.exe 
TASKKILL [/S system [/U username [/P [password]]]] 
{ [/FI filter] [/PID processid | /IM imagename] } [/T] [/F] 
描述: 
使用该工具按照进程 ID (PID) 或映像名称终止任务。 
参数列表: 
/S system 指定要连接到的远程系统。 
/U [domain/]user 指定应该在哪个用户上下文执行这个命令。 
/P [password] 为提供的用户上下文指定密码。如果忽略,提示 
输入。 
/FI filter 应用筛选器以选择一组任务。 
允许使用 "*"。例如,映像名称 eq acme* 
/PID processid 指定要终止的进程的 PID。 
使用 TaskList 取得 PID。 
/IM imagename 指定要终止的进程的映像名称。通配符 '*'可用来 
指定所有任务或映像名称。 
/T 终止指定的进程和由它启用的子进程。 
/F 指定强制终止进程。 
/? 显示帮助消息。 
筛选器: 
筛选器名 有效运算符 有效值 
----------- --------------- ------------------------- 
STATUS eq, ne RUNNING | 
NOT RESPONDING | UNKNOWN 
IMAGENAME eq, ne 映像名称 
PID eq, ne, gt, lt, ge, le PID 值 
SESSION eq, ne, gt, lt, ge, le 会话编号。 
CPUTIME eq, ne, gt, lt, ge, le CPU 时间,格式为 
hh:mm:ss。 
hh - 时, 
mm - 分,ss - 秒 
MEMUSAGE eq, ne, gt, lt, ge, le 内存使用量,单位为 KB 
USERNAME eq, ne 用户名,格式为 [domain/]user 
MODULES eq, ne DLL 名称 
SERVICES eq, ne 服务名称 
WINDOWTITLE eq, ne 窗口标题 
说明 
---- 
1) 只有在应用筛选器的情况下,/IM 切换才能使用通配符 '*'。 
2) 远程进程总是要强行 (/F) 终止。 
3) 当指定远程机器时,不支持 "WINDOWTITLE" 和 "STATUS" 筛选器。