Tasklist
用来显示运行在本地或远程计算机上的所有进程,带有多个执行参数。使用格式:
Tasklist[/S system[/U username[/P[password]]]][/M[module]| /SVC | /V][/FI filter] [/FO format][/NH]
参数含义:
/S ystem 指定连接到的远程系统。
/U[omain]user 指定使用哪个用户执行这个命令。
/P[password]为指定的用户指定密码。
/M[module]列出调用指定的 DLL
模块的所有进程。如果没有指定模块名,显示每个进程加载的所有模块。
/SVC显示每个进程中的服务。
/V 显示详细信息。
/FIfilter 显示一系列符合筛选器指定的进程。
/FOformat 指定输出格式,有效值:TABLE、LIST、CSV。
/NH指定输出中不显示栏目标题。只对 TABLE和CSV格式有效。
Taskkill
结束一个或多个任务或进程。可以根据进程 ID 或图像名来结束进程。
语法
taskkill [/s Computer [/u Domain/UserName [/p Password]]] {[/fi Filter [/fi Filter [ ...]]] [{/pid ProcessID | /im ImageName}] | /pid ProcessID | /im ImageName} [/f] [/t]
参数
/s Computer
指定远程计算机名称或 IP 地址(不能使用反斜杠)。该默认值是本地计算机。
/u Domain/UserName
使用 UserName 或 Domain/UserName 指定的用户的帐户权限运行该命令。仅在指定 /s 后才能指定 /u。默认值是当前登录发布命令的计算机的用户具有的权限。
/p Password
指定在 /u 参数中指定的用户帐户的密码。
/fi Filter
指定将要终止或不终止的进程的类型。可以指定多个筛选器。使用通配符 (*) 指定所有任务或图像名称。
/pid ProcessID
指定将终止的进程的进程 ID。
/im ImageName
指定将终止的进程的图像名称。使用通配符 (*) 指定所有图像名称。
/f
指定将强制终止的进程。对于远程进程可忽略此参数,所有远程进程都将被强制终止。
/t
终止指定的进程与该进程启动的任何子进程。
/?
在命令提示符下显示帮助。
注释
• 指定远程系统时,不支持“WindowTitle”和“Status”筛选器。
• 只有与筛选器一起指定时,通配符 (*) 才能被接受。
• 无论是否指定 /f 参数,都会始终强制执行对远程进程的终止操作。
• 向 HOSTNAME 筛选器提供计算机名将导致关机和中止所有进程。
• 使用 tasklist 确定要终止的进程的进程 ID (PID)。
• Taskkill 替代了 Kill 工具。
示例
下面的示例说明如何使用 taskkill 命令:
taskkill /pid 1230 /pid 1241 /pid 1253
taskkill /f /fi "USERNAME eq NT AUTHORITY/SYSTEM" /im notepad.exe
taskkill /s srvmain /f /im notepad.exe
taskkill /s srvmain /u maindom/hiropln /p p@ssW23 /fi "IMAGENAME eq note*" /im *
taskkill /s srvmain /u maindom/hiropln /fi "USERNAME ne NT*" /im *
taskkill /pid 2134 /t /fi "username eq administrator"
taskkill /f /fi "PID ge 1000" /im *
ntsd
只有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。