如果你用的是WinXP操作系统,有两个非常有用的命令tasklist和taskkill,这两个命令不仅能查看和kill本地进程,而且能查看 和kill远程主机的进程喔,呵呵,当然你要知道那台机器的administrators组的一个用户名和密码先。
同样的tasklist 和 taskkill 也可以通过 加参数 /? 来查看帮助
========================================
C:\Documents and Settings\Administrator>cd \
C:\>tasklist /?
TASKLIST [/S system [/U username [/P [password]]]][/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]
描述:
这个命令行工具显示应用程序和本地
或远程系统上运行的相关任务/进程的
列表。
参数列表:
/S system 指定连接到的远程系统。
/U [domain\]user 指定应该在哪个用户上下文执行这个命令。
/P [password] 为提供的用户上下文指定 密码。如果忽略,提示输入。
/M [module] 列出所有其中符合指定模式名的 DLL 模块的所有任务。如果没有指定模块名,则
显示每个任务加载的所有模块。
/SVC 显示每个进程中的服务。
/V 指定要显示详述信息。
/FI filter 显示一系列符合筛选器指定的标准的任务。
/FO format 指定输出格式。 有效值: "TABLE"、"LIST"、"CSV"。
/NH 指定栏标头不应该在 输出中显示。只对 "TABLE" 和 "CSV" 格式有效。
/? 显示帮助/用法。
筛选器:
筛选器名 有效操作符 有效值
----------- --------------- --------------
STATUS eq, ne 正在运行 | 没有响应
IMAGENAME eq, ne 图像名
PID eq, ne, gt, lt, ge, le PID 值
SESSION eq, ne, gt, lt, ge, le 会话编号
SESSIONNAME eq, ne 会话名
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
SERVICES eq, ne 服务名
WINDOWTITLE eq, ne 窗口标题
MODULES eq, ne DLL 名
例如:
TASKLIST
TASKLIST /M
TASKLIST /V
TASKLIST /SVC
TASKLIST /M wbem*
TASKLIST /S system /FO LIST
TASKLIST /S system /U domain\username /FO CSV /NH
TASKLIST /S system /U username /P password /FO TABLE /NH
TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running"
============================================================================
C:\>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*"
============================================================================
呵呵,很简单吧,我最常用的是没有参数和 /s /f /u /p /pid /svc
比如:tasklist
tasklist /s 127.0.0.1 /u administrator /p 123
tasklist /svc
taskkill /s 120.0.0.1 /u administrator /p 123 /pid 774
taskkill /f 6120
以上可以结束我们想要结束的任何应用程序级得进程,在我们公司就用一款加密软件IpGuard,特别的讨厌,我企图让网管帮我解密,但却没有成功。无奈之下我只好百度,但却无功而返。
但是聪明的我不会放弃,时刻等待着机会。幸运的是,很快我就发现了该软件的端倪,在网购中,360竟然提示我关闭,而且也不出意外的关闭了,任务管理器做不到的360却可以做到,这是为什么?
再次百度,终于明白了问题的关键。任务管理器只是提供了基本的进程管理功能,更高级的进程及操作还要依赖于命令,本着务实的态度,我再一次启动了IgAgent.exe,使用tasklist查看进程的状态如下:
IgAgent.exe 6120 Console 0 12,012 K
狂喜
输入命令
C:\>taskkill /f /pid 6120
成功: 已终止 PID 为 6120 的进程。
至此,成功的禁用公司的加密软件,终于松了一口气,呵呵,希望大家跟我一样呵呵。