Board logo

标题: 命令行下结束进程!!! [打印本页]

作者: lovehack2006     时间: 2007-2-25 03:29    标题: 命令行下结束进程!!!

各位大哥,,我想知道 关于命令行下结束进程的几个命令到底哪个好点!!


三个命令: tskill    taskkill    ntsd


三个命令的帮助我也看过了。现在发过来。。。我想知道的是他们的区别

什么时候用哪个会比较好点,希望能帮我一下。。。


tskill :

TSKILL processid | processname [/SERVER:servername] [/ID:sessionid | /A] [/V]

  processid           要结束的进程的 Process ID。
  processname         要结束的进程名称。
  /SERVER:servername  含有 processID 的服务器(默认值是当前值)。
                         使用进程名和 /SERVER 时,必须指定
                         /ID 或 /A
  /ID:sessionid       结束在指定会话下运行的进程。
  /A                  结束在所有会话下运行的进程。
  /V                  显示正在执行的操作的信息。

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: 终止指定的进程
                           和任何由此启动的子进程。

    /?                     显示帮助/用法。

ntsd :

只有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(进程标识符)",然后就能看见了。


[ Last edited by lovehack2006 on 2007-2-24 at 02:31 PM ]
作者: gne3     时间: 2007-2-25 03:57
taskkill好吧
作者: lovehack2006     时间: 2007-2-25 04:04
taskkill 是我用的最多的,不过tskill和ntsd都能用,谁能给出更详细的

说明吗???主要是区别。。。
作者: slore     时间: 2007-2-25 04:19


  Quote:
ntsd
只有System、SMSS.EXE和CSRSS.EXE不能杀。

一些杀毒软件的服务进程显示拒绝访问 =。=
作者: zw4123     时间: 2007-2-25 05:13
taskkill用的多~ taskkill不能杀的我用ntsd杀
作者: lxmxn     时间: 2007-2-25 08:21

  CMD 命令行下有:taskkill tskill ntsd;
  WMIC 命令行下有:process where <clause条件> call terminate;
  POWERSHELL 命令行下有:stop-process -name <process name>;
  PYTHON 命令下的忘记了!

作者: lovehack2006     时间: 2007-2-26 03:08
楼上的强,知道这么多。。。只是区别没有人知道吗??
作者: slore     时间: 2007-2-26 03:15
/?啊

能杀,但是还有别的功能,和使用上的不同,看你了。

比如ntsd需要知道PID,使用的时候我就觉得麻烦,其他的直接支持进程名。

区别就是/?下那些你比较一下……有的能筛选有的不能等……这些就算是区别。。。
作者: everest79     时间: 2007-2-26 06:00
ntsd支持名称 -pn就是
作者: slore     时间: 2007-2-26 06:30
o ,这样。不好意思