CMD常用命令小计tasklist与taskkill

在上一篇博客文章应用排障记录(一)利用Python+CMD进行java应用的监控和重启里,在排障和操作的时候都用到了CMD命令,这也是Windows系统维护中不可避免的内容——CMD或PowerShell操作。
来看一下排障查看Java异常弹框所属应用并杀掉时用到的命令。

C:\Users\Administrator>tasklist /fi "WINDOWTITLE eq Java(TM) Platform SE binary"


映像名称                       PID 会话名              会话#       内存使用
========================= ======== ================ =========== ============
WerFault.exe                  1736 Console                    1     14,764 K
WerFault.exe                 16256 Console                    1     14,724 K

C:\Users\Administrator>tasklist | findstr "WerFault"
WerFault.exe                  1736 Console                    1     14,764 K
WerFault.exe                 16256 Console                    1     14,724 K

C:\Users\Administrator>taskkill /f /im WerFault.exe
成功: 已终止进程 "WerFault.exe",其 PID 为 1736。
成功: 已终止进程 "WerFault.exe",其 PID 为 16256

操作用到了两个命令tasklist和taskkill。

先看一下tasklist

C:\Users\Administrator>tasklist /?

TASKLIST [/S system [/U username [/P [password]]]]
         [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]

描述:
    该工具显示在本地或远程机器上当前运行的进程列表。


参数列表:
   /S     system           指定连接到的远程系统。

   /U     [domain\]user    指定应该在哪个用户上下文执行这个命令。

   /P     [password]       为提供的用户上下文指定密码。如果省略,则
                           提示输入。

   /M     [module]         列出当前使用所给 exe/dll 名称的所有任务。
                           如果没有指定模块名称,显示所有加载的模块。

   /SVC                    显示每个进程中主持的服务。

   /APPS 显示应用商店应用及其关联的进程。

   /V                      显示详细任务信息。

   /FI    filter           显示一系列符合筛选器
                           指定条件的任务。

   /FO    format           指定输出格式。
                           有效值: "TABLE""LIST""CSV"。

   /NH                     指定列标题不应该
                           在输出中显示。
                           只对 "TABLE""CSV" 格式有效。

   /?                      显示此帮助消息。

筛选器:
    筛选器名称     有效运算符           有效值
    -----------     ---------------           --------------------------
    STATUS          eq, ne                    RUNNING | SUSPENDED
                                              NOT RESPONDING | UNKNOWN
    IMAGENAME       eq, ne                    映像名称
    PID             eq, ne, gt, lt, ge, le    PID 值
    SESSION         eq, ne, gt, lt, ge, le    会话编号
    SESSIONNAME     eq, ne                    会话名称
    CPUTIME         eq, ne, gt, lt, ge, le    CPU 时间,格式为
                                              hh:mm:ss。
                                              hh - 小时,
                                              mm - 分钟,ss - 秒
    MEMUSAGE        eq, ne, gt, lt, ge, le    内存使用(以 KB 为单位)
    USERNAME        eq, ne                    用户名,格式为
                                              [\]用户
    SERVICES        eq, ne                    服务名称
    WINDOWTITLE     eq, ne                    窗口标题
    模块         eq, ne                    DLL 名称

注意: 当查询远程计算机时,不支持 "WINDOWTITLE""STATUS"
      筛选器。

Examples:
    TASKLIST
    TASKLIST /M
    TASKLIST /V /FO CSV
    TASKLIST /SVC /FO LIST
    TASKLIST /APPS /FI "STATUS eq RUNNING"
    TASKLIST /M wbem*
    TASKLIST /S system /FO LIST
    TASKLIST /S system /U 域\用户名 /FO CSV /NH
    TASKLIST /S system /U username /P password /FO TABLE /NH
    TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running"

常用的功能有
1.查看本机进程,通常会与findstr find 配合使用。

C:\Users\Administrator>tasklist | findstr "WerFault"
WerFault.exe                  1736 Console                    1     14,764 K
WerFault.exe                 16256 Console                    1     14,724 K

2.通过窗口名称查找对应应用

C:\Users\Administrator>tasklist /fi "WINDOWTITLE eq Java(TM) Platform SE binary"


映像名称                       PID 会话名              会话#       内存使用
========================= ======== ================ =========== ============
WerFault.exe                  1736 Console                    1     14,764 K
WerFault.exe                 16256 Console                    1     14,724 K

3.查看调用DLL的进程

C:\Users\Administrator>tasklist /m sechost.dll

映像名称                       PID 模块
========================= ======== ============================================
rdpclip.exe                   6672 sechost.dll
RuntimeBroker.exe             6816 sechost.dll
sihost.exe                    5304 sechost.dll
svchost.exe                   4108 sechost.dll
taskhostw.exe                 6344 sechost.dll
ChsIME.exe                    7396 sechost.dll
explorer.exe                  7548 sechost.dll
ShellExperienceHost.exe       5636 sechost.dll
SearchUI.exe                  7732 sechost.dll
vmtoolsd.exe                 10524 sechost.dll
chrome.exe                   12560 sechost.dll
chrome.exe                   12196 sechost.dll

4.官方help的举例其实都很好

Examples:
    TASKLIST
    TASKLIST /M
    TASKLIST /V /FO CSV
    TASKLIST /SVC /FO LIST
    TASKLIST /APPS /FI "STATUS eq RUNNING"
    TASKLIST /M wbem*
    TASKLIST /S system /FO LIST
    TASKLIST /S system /U 域\用户名 /FO CSV /NH
    TASKLIST /S system /U username /P password /FO TABLE /NH
    TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running"

====================================================

再看一下taskkill

C:\Users\Administrator>taskkill /?

TASKKILL [/S system [/U username [/P [password]]]]
         { [/FI filter] [/PID processid | /IM imagename] } [/T] [/F]

描述:
    使用该工具按照进程 ID (PID) 或映像名称终止任务。

参数列表:
    /S    system           指定要连接的远程系统。

    /U    [domain\]user    指定应该在哪个用户上下文执行这个命令。

    /P    [password]       为提供的用户上下文指定密码。如果忽略,提示
                           输入。

    /FI   filter           应用筛选器以选择一组任务。
                           允许使用 "*"。例如,映像名称 eq acme*

    /PID  processid        指定要终止的进程的 PID。
                           使用 TaskList 取得 PID。

    /IM   imagename        指定要终止的进程的映像名称。通配符 '*'可用来
                           指定所有任务或映像名称。

    /T                     终止指定的进程和由它启用的子进程。

    /F                     指定强制终止进程。

    /?                     显示帮助消息。

筛选器:
    筛选器名      有效运算符                有效值
    -----------   ---------------           -------------------------
    STATUS        eq, ne                    RUNNING |
                                            NOT RESPONDING | UNKNOWN
    IMAGENAME     eq, ne                    映像名称
    PID           eq, ne, gt, lt, ge, le    PID 值
    SESSION       eq, ne, gt, lt, ge, le    会话编号。
    CPUTIME       eq, ne, gt, lt, ge, le    CPU 时间,格式为
                                            hh:mm:ss。
                                            hh - 时,
                                            mm - 分,ss - 秒
    MEMUSAGE      eq, ne, gt, lt, ge, le    内存使用量,单位为 KB
    USERNAME      eq, ne                    用户名,格式为 [domain\]user
    MODULES       eq, ne                    DLL 名称
    SERVICES      eq, ne                    服务名称
    WINDOWTITLE   eq, ne                    窗口标题

    说明
    ----
    1) 只有在应用筛选器的情况下,/IM 切换才能使用通配符 '*'2) 远程进程总是要强行 (/F) 终止。
    3) 当指定远程机器时,不支持 "WINDOWTITLE""STATUS" 筛选器。

例如:
    TASKKILL /IM notepad.exe
    TASKKILL /PID 1230 /PID 1241 /PID 1253 /T
    TASKKILL /F /IM cmd.exe /T
    TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*"
    TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe
    TASKKILL /S system /U 域\用户名 /FI "用户名 ne NT*" /IM *
    TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"

和tasklist大同小异,就不多说了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值