系统学习 Windows 学习路径:从 CMD 到 PowerShell、系统网络,再到 WSL 与 Server

tasklist

查看进程 PID、内存与会话,定位占资源的程序。

补充说明

tasklist 读取本机或远程的进程快照,输出映像名、PID、会话、内存等字段。它常用来把“任务管理器里看到的卡顿”落成可操作的 PID,再交给 taskkill 或服务管理命令。默认是表格输出,/FO 可改 CSV/LIST,/FI 做服务端过滤,/V 增加窗口标题、CPU 时间等信息。

边界:它是一次性快照,不是实时监控;默认内存列是工作集,不等于私有提交或泄漏量。查命令行参数要用 PowerShell CIM/WMI,查驱动用 driverquery,查服务宿主可加 /SVC。/M 列模块、/SVC 列服务通常需要管理员权限;映像名过滤不要依赖通配符,模糊匹配交给 findstr。

Windows 10/11 自带版本行为基本一致;在 32 位 CMD 中运行可能只看到 32 位进程,排错时改用 64 位终端。PowerShell 的 Get-Process、Get-CimInstance Win32_Process 能拿到命令行、父进程等更多字段;tasklist 胜在无需额外模块、输出稳定,适合批处理和远程场景。

常用示例

# 1. 全量进程表,先看 PID 和内存占用
tasklist

# 2. 按映像名精确过滤;不支持通配符,模糊匹配用 findstr
tasklist /FI "IMAGENAME eq svchost.exe"
tasklist | findstr /I "chrome"

# 3. 查某个 PID 的详细信息,确认它到底是什么进程
tasklist /FI "PID eq 4321" /V

# 4. 找出无响应的窗口进程,再决定是否结束
tasklist /FI "STATUS eq NOT RESPONDING"

# 5. 看进程加载了哪些 DLL,排查注入或版本冲突(通常需管理员)
tasklist /M /FI "PID eq 4321"

# 6. 列出每个进程承载的服务,定位 svchost 里的具体服务
tasklist /SVC /FI "IMAGENAME eq svchost.exe"

# 7. 导出 CSV 给工单或脚本,/NH 去掉表头
tasklist /FO CSV /NH > C:\Temp\processes.csv

# 8. 远程查询:目标需放行 RPC,账号要有管理员权限
tasklist /S 192.168.1.20 /U DOMAIN\admin /P * /FI "IMAGENAME eq sqlservr.exe"

易错点与排错

相关命令

参考链接

读完自测

合上页面,先回答,再展开对照。

  1. 只记得进程名大概包含 chrome,为什么 /FI "IMAGENAME eq chrome*" 可能查不到?该用什么替代?
  2. tasklist 显示的内存是进程私有内存吗?判断内存泄漏应该看什么?
  3. 远程 tasklist 返回 RPC server unavailable,应先检查哪些条件?
答案
  1. 过滤器不支持通配符;改用 tasklist | findstr /I chrome 做模糊匹配。
  2. 不是,默认是工作集;精确判断用性能计数器或 Get-Process 的 PrivateMemorySize。
  3. 目标是否在线、RPC/防火墙是否放行、账号是否有管理员权限,可先用 net use \\host\IPC$ 验证凭据。
微信小程序码:扫码打开命令速查小程序

小程序版

微信扫码,随时查命令