查看进程 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"
/FI "IMAGENAME eq chrome.exe" 没结果但任务管理器能看到:映像名可能带 .exe、大小写或位数差异;先用 tasklist | findstr /I chrome 确认实际名称。过滤器不接受 *,eq chrome* 不会匹配。/FI "SESSION eq 1"。验证:对比 System32\tasklist.exe 与 SysWOW64\tasklist.exe 的输出。/V 也不含私有提交;判断泄漏用性能监视器或 Get-Process 的 PrivateMemorySize。ERROR: The RPC server is unavailable. 多为防火墙未放行或目标未开机;Access is denied. 是账号权限不足。先 ping 和 net use \\host\IPC$ 验证。/M、/SVC 在普通权限下信息不全或拒绝访问;用“以管理员身份运行”的 CMD,并确认目标进程属于当前会话。/FI "PID eq ..." /V 再核对映像名。合上页面,先回答,再展开对照。
/FI "IMAGENAME eq chrome*" 可能查不到?该用什么替代?tasklist 显示的内存是进程私有内存吗?判断内存泄漏应该看什么?tasklist 返回 RPC server unavailable,应先检查哪些条件?tasklist | findstr /I chrome 做模糊匹配。Get-Process 的 PrivateMemorySize。net use \\host\IPC$ 验证凭据。
小程序版
微信扫码,随时查命令