大家都很熟悉“Windows 任务管理器”,使用“Ctrl+Alt+Del”组合键即可进入,但很多时候我们只用它用来结束进程,但利用Windows XP中新增的一个命令行工具“Tasklist.exe”能实现很多你不知道的功能
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 显示详细信息。
/FI filter 显示一系列符合筛选器指定的进程。
/FO format 指定输出格式,有效值:TABLE、LIST、CSV。
/NH 指定输出中不显示栏目标题。只对 TABLE和CSV格式有效。
下面我们来看看Tasklist命令的应用实例。
1.查看本机进程
在“命令提示符”中输入Tasklist命令即可显示本机的所有进程(图1)。本机的显示结果由5部分组成:图像名(进程名)、PID、会话名、会话#和内存使用。
2.查看远程系统的进程
在命令提示符下输入“Tasklist /s 218.22.123.26 /u jtdd /p 12345678”(不包括引号)即可查看到IP地址为218.22.123.26的远程系统的进程(图2)。其中/s参数后的“218.22.123.26”指要查看的远程系统的IP地址,/u后的“jtdd”指Tasklist命令使用的用户账号,它必须是远程系统上的一个合法账号,/p后“12345678”指jtdd账号的密码。
注意:使用Tasklist命令查看远程系统的进程时,需要远程机器的RPC 服务的支持,否则,该命令不能正常使用。
3.查看系统进程提供的服务
Tasklist命令不但可以查看系统进程,而且还可以查看每个进程提供的服务。如查看本机进程SVCHOST.EXE提供的服务,在命令提示符下输入“Tasklist /svc”命令即可(图3)。你会惊奇地发现,有4个SVCHOST.EXE进程,而总共有二十几项服务使用这个进程。
4.查看调用DLL模块文件的进程列表
要查看本地系统中哪些进程调用了shell32.dll模块文件,只须在命令提示符下输入“Tasklist /m shell32.dll”即可显示这些进程的列表。
5.使用筛选器查找指定的进程
在命令提示符下输入“TASKLIST /FI ″USERNAME ne NT AUTHORITY\SYSTEM″ /FI ″STATUS eq running”,就可以列出系统中正在运行的非SYSTEM状态的所有进程。其中“/FI”为筛选器参数,“ne”和“eq”为关系运算符“不相等”和“相等”。