本文标签:,

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

    杀进程很容易,随便找个工具都行。比如IceSword。关键是找到这个进程的启动方式,不然下次重启它又出来了。顺便教大家一招狠的。其实用Windows自带的工具就能杀大部分进程:

    方法一:   

    其实Windows XP下有两个好工具tasklist和taskkill。taskkill能列出所有的进程,和相应的信息。taskkill能查杀进程,语法很简单:taskkill 程序名!!  其详细的命令格式如下

TASKKILL [/S system [/U username [/P [password]]]]
         { [/FI filter] [/PID processid | /IM imagename] } [/F] [/T]

描述:
    这个命令行工具可用来结束至少一个进程。
    可以根据进程 id 或图像名来结束进程。

参数列表:
    /S    system           指定要连接到的远程系统。

    /U    [domain\]user    指定应该在哪个用户上下文
                           执行这个命令。

    /P    [password]       为提供的用户上下文指定
                           密码。如果忽略,提示输入。

    /F                     指定要强行终止
                           进程。

    /FI   filter           指定筛选进或筛选出查询的
                           的任务。

    /PID  process id       指定要终止的进程的
                           PID。

    /IM   image name       指定要终止的进程的
                           图像名。通配符 '*'
                           可用来指定所有图像名。

    /T                     Tree kill: 终止指定的进程
                           和任何由此启动的子进程。

    /?                     显示帮助/用法。

筛选器:
    筛选器名      有效运算符                有效值
    -----------   ---------------           --------------
    STATUS        eq, ne                    运行 | 没有响应
    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                    窗口标题

注意: 只有带有筛选器的情况下,才能跟 /IM 切换使用通配符 '*'。

注意: 远程进程总是要强行终止,
      不管是否指定了 /F 选项。

例如:
    TASKKILL /S system /F /IM notepad.exe /T
    TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
    TASKKILL /F /IM notepad.exe /IM mspaint.exe
    TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
    TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
    TASKKILL /S system /U domain\username /FI "USERNAME ne NT*" /IM *
    TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"
    方法二:

    使用ntsd命令来搞定,命令格式为ntsd -c q -p PID

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

    ntsd命令是从2000开始的系统自带的调试工具。被调试器附着(attach)的进程会随调试器一起退出,所以可以用来在命令行下终止进程。    

    使用ntsd自动就获得了debug权限,从而能杀掉大部分的进程。ntsd会新开一个调试窗口,本来在纯命令行下无法控制,但如果只是简单的命令,比如退出(q),用-c参数从命令行传递就行了。NtsdNtsd 按照惯例也向软件开发人员提供。只有系统开发人员使用此命令。有关详细信息,请参阅 NTSD 中所附的帮助文件。用法:开个cmd.exe窗口,输入:    

    ntsd -c q -p PID     

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

 » 订阅本站:http://feed.x2009.net