Skip to content

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>用途
IMAGENAMEeq, ne, containseq chrome.exe按进程名过滤
PIDeq, gt, lt 等数值比较符gt 1000按进程 ID 过滤
WINDOWTITLEeq, neeq "管理员: CMD"按窗口标题过滤
STATUSeqeq RUNNING按运行状态过滤
MEMUSAGEgt, ltgt 102400(单位 KB)按内存占用过滤
USERNAMEeq, neeq 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"

⚠️ 四、注意事项与技巧

  1. 权限要求

    • 查看/终止其他用户进程需管理员权限(右键 CMD 选“以管理员身份运行”)。
  2. 远程连接限制

    • 远程主机需开启 RPC 服务,且防火墙放行端口 135445
  3. taskkill 配合终止进程

    cmd
    :: 终止指定进程(先通过 tasklist 获取 PID)
    taskkill /F /PID 1234
  4. 输出优化

    • 使用 findstr 二次过滤:tasklist /V | findstr "Chrome"
    • 导出到文件:tasklist /FO CSV > processes.csv

📊 五、与其他命令对比

命令功能tasklist 差异
wmic process查询进程详情输出更结构化,支持复杂条件
Get-ProcessPowerShell 进程管理语法更简洁,支持管道操作
任务管理器图形化进程管理无需命令行,实时资源监控

提示:在批处理脚本中,建议将 tasklistfor /f 循环结合,实现自动化处理(如批量结束进程)。