tasklist 是什么
tasklist 列出进程及其进程号、内存占用与所属会话,支持按映像名、进程号、用户名等条件过滤。它还是查看某个进程号承载了哪些服务、加载了哪些模块的入口,配合进程结束命令构成命令行处理进程问题的基础组合。
基本信息
| 适用平台 | Windows CMD(cmd.exe) |
|---|---|
| 语法 | tasklist [/v] [/svc] [/m] [/fi 过滤条件] [/fo TABLE|LIST|CSV] [/nh] |
| 常用过滤 | IMAGENAME eq 名称、PID eq 编号、USERNAME eq 域\用户、MEMUSAGE gt 数值 |
| 输出格式 | /fo 指定表格、列表或 CSV,/nh 去掉表头 |
| 组合使用 | 先用它定位进程号,再用进程结束命令处理 |
| 能力限制 | 看不到进程的完整命令行 |
典型使用场景
- 确认目标进程是否在运行,并拿到准确的进程号
- 按内存占用过滤,找出异常膨胀的进程
- 查看某个进程号承载了哪些服务,排查共享进程问题
- 导出进程清单为 CSV,交给其他工具或归档
- 为结束进程做准备:先定位编号,再执行结束
常用示例
常用示例
REM 按名称过滤,找相关进程
tasklist | findstr /i chrome
REM 按映像名过滤并输出 CSV,适合脚本解析
tasklist /fi "IMAGENAME eq java.exe" /fo csv /nh
REM 查看进程号承载了哪些服务
tasklist /svc /fi "PID eq 1234"
REM 查看进程加载的模块
tasklist /m /fi "PID eq 1234"
REM 找出占用内存超过阈值的进程
tasklist /fi "MEMUSAGE gt 500000"参数与输出
| 参数 | 作用 | 说明 |
|---|---|---|
| /v | 显示详细任务信息 | 含用户名、会话与 CPU 时间 |
| /svc | 显示进程承载的服务 | 排查共享宿主进程常用 |
| /m | 列出加载的模块 | 模块多时输出很长 |
| /fi | 按条件过滤 | 条件格式是字段 运算符 值 |
| /fo 与 /nh | 指定输出格式与去表头 | 脚本解析用 CSV 加去表头 |
中文系统里默认输出表头是中文,脚本按列位置解析容易出错。稳定做法是加 /fo csv /nh 输出纯数据,再按逗号拆分字段。
这个命令看不到进程的完整命令行。需要按启动参数识别进程时,应改用管理接口查询或对象化的进程命令。