cmd 之 tasklist 命令
tasklist
是 Windows 系统用于查看本地或远程计算机进程信息的核心命令,支持多种筛选、输出格式及进程详情查询。以下为结构化详解,结合关键场景说明:
🔍 一、基础语法与常用参数
cmd
tasklist [/S system] [/U username] [/P password]
[/M [module] | /SVC | /V]
[/FO format] [/NH]
[/FI filter]
核心参数解析
参数 | 作用 | 示例 |
---|---|---|
/S | 指定远程计算机 IP 或主机名 | /S 192.168.1.100 |
/U | 指定连接远程主机的用户名(需管理员权限) | /U admin |
/P | 指定用户密码 | /P password123 |
/M | 显示进程中加载的 DLL 模块(可指定模块名) | /M ntdll.dll |
/SVC | 显示进程关联的服务信息 | /SVC |
/V | 显示详细信息(CPU 时间、内存使用、窗口标题等) | /V |
/FO | 指定输出格式:TABLE (表格,默认)| LIST (列表)| CSV (逗号分隔) | /FO CSV |
/NH | 隐藏输出结果的标题行(仅对 TABLE /CSV 有效) | /FO TABLE /NH |
/FI | 进程筛选器(支持多条件组合,见下文详解) | /FI "USERNAME ne NT AUTHORITY\SYSTEM" |
⚙️ 二、筛选器(/FI
)高级用法
通过逻辑运算符组合条件精准定位进程,常用筛选字段如下:
cmd
tasklist /FI "<FIELD> <OP> <VALUE>"
字段名 <FIELD> | 运算符 <OP> | 取值示例 <VALUE> | 用途 |
---|---|---|---|
IMAGENAME | eq , ne , contains | eq chrome.exe | 按进程名过滤 |
PID | eq , gt , lt 等数值比较符 | gt 1000 | 按进程 ID 过滤 |
WINDOWTITLE | eq , ne | eq "管理员: CMD" | 按窗口标题过滤 |
STATUS | eq | eq RUNNING | 按运行状态过滤 |
MEMUSAGE | gt , lt | gt 102400 (单位 KB) | 按内存占用过滤 |
USERNAME | eq , ne | eq DESKTOP\Admin | 按所属用户过滤 |
✅ 典型筛选示例
cmd
:: 查看内存占用超 200MB 的非系统进程
tasklist /FI "MEMUSAGE gt 204800" /FI "USERNAME ne SYSTEM" /V
:: 查找窗口标题含 "Backup" 的进程
tasklist /FI "WINDOWTITLE eq Backup*"
💻 三、实战场景案例
1️⃣ 查看本机所有进程(基础)
cmd
:: 默认表格格式输出(进程名、PID、内存等)
tasklist
输出示例:
txt
映像名称 PID 会话名 会话# 内存使用
========================= ====== ========== ======= ============
chrome.exe 1012 Console 1 1,024 K
explorer.exe 2028 Console 1 220,356 K
2️⃣ 定位占用端口的进程(需配合 netstat
)
cmd
:: 1. 查询 8080 端口的 PID
netstat -ano | findstr :8080
:: 2. 通过 PID 查进程名(假设 PID=1234)
tasklist /FI "PID eq 1234"
3️⃣ 查看进程调用的 DLL 模块
cmd
:: 显示调用 kernel32.dll 的进程
tasklist /M kernel32.dll
4️⃣ 获取进程关联的服务
cmd
:: 显示 svchost.exe 进程托管的所有服务
tasklist /SVC /FI "IMAGENAME eq svchost.exe"
⚠️ 四、注意事项与技巧
权限要求
- 查看/终止其他用户进程需管理员权限(右键 CMD 选“以管理员身份运行”)。
远程连接限制
- 远程主机需开启
RPC
服务,且防火墙放行端口135
、445
。
- 远程主机需开启
与
taskkill
配合终止进程cmd:: 终止指定进程(先通过 tasklist 获取 PID) taskkill /F /PID 1234
输出优化
- 使用
findstr
二次过滤:tasklist /V | findstr "Chrome"
- 导出到文件:
tasklist /FO CSV > processes.csv
- 使用
📊 五、与其他命令对比
命令 | 功能 | 与 tasklist 差异 |
---|---|---|
wmic process | 查询进程详情 | 输出更结构化,支持复杂条件 |
Get-Process | PowerShell 进程管理 | 语法更简洁,支持管道操作 |
任务管理器 | 图形化进程管理 | 无需命令行,实时资源监控 |
提示:在批处理脚本中,建议将
tasklist
与for /f
循环结合,实现自动化处理(如批量结束进程)。