• CMD命令利用tasklist与taskkill关闭程序


    昨天远程服务器后,服务器无故卡住了,鼠标各种延迟与无反应,想在进程管理器里关闭程序也卡住,想点击重启系统也卡死无反应。纠结后win+R打开了cmd用shutdown重启才算搞定。重启期间思考了下,如何用cmd命令来管理系统进程,搜索后得到用tasklist与taskkill十分方便,记录如下:

    cmd命令输入 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                    显示每个进程中主持的服务。
       /V                      显示详述任务信息。
       /FI    filter           显示一系列符合筛选器指定的标准的任务。
       /FO    format           指定输出格式。
                               有效值: "TABLE"、"LIST"、"CSV"。
       /NH                     指定列标题不应该在输出中显示。
                               只对 "TABLE" 和 "CSV" 格式有效。
       /?                      显示帮助消息。
    
    
    筛选器:
        筛选器名        有效操作符                有效值
        -----------     ---------------           --------------------------
        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    会话编号
        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                    用户名,格式为 [domain]user
        SERVICES        eq, ne                    服务名称
        WINDOWTITLE     eq, ne                    窗口标题
        MODULES         eq, ne                    DLL 名称
    
    说明: 当查询远程机器时,不支持 "WINDOWTITLE" 和 "STATUS"
          筛选器。
    
    示例:
        TASKLIST
        TASKLIST /M
        TASKLIST /V /FO CSV
        TASKLIST /SVC /FO LIST
        TASKLIST /M wbem*
        TASKLIST /S system /FO LIST
        TASKLIST /S system /U domainusername /FO CSV /NH
        TASKLIST /S system /U username /P password /FO TABLE /NH
        TASKLIST /FI "USERNAME ne NT AUTHORITYSYSTEM" /FI "STATUS eq running"
    

      输入 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 AUTHORITYSYSTEM" /IM notepad.exe
        TASKKILL /S system /U domainusername /FI "USERNAME ne NT*" /IM *
        TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*"
    

      还可以用tskill命令  但win7下无效, 2012r2上得到的帮助信息如下

    结束进程。
    
    TSKILL processid | processname [/SERVER:servername] [/ID:sessionid | /A] [/V]
    
      processid           要结束的进程的 Process ID。
      processname         要结束的进程名称。
      /SERVER:servername  含有 processID 的服务器(默认值是当前值)。
                             使用进程名和 /SERVER 时,必须指定 /ID
                             或 /A
      /ID:sessionid       结束在指定会话下运行的进程。
      /A                  结束在所有会话下运行的进程。
      /V                  显示正在执行的操作的信息。
  • 相关阅读:
    Inner Classes with TypeScript
    设计模式(一)
    C++定义构造函数必须使用初始化列表的场合
    制作Linux下程序安装包——使用脚本打包bin、run等安装包
    Windows下将程序打包为安装包(最为简易的方式)
    在Linux中查看文件的编码及对文件进行编码转换
    libpcap文件格式分析
    static_cast, dynamic_cast, const_cast
    字符1与数字1
    Linux下的多线程编程
  • 原文地址:https://www.cnblogs.com/luckjun/p/4828768.html
Copyright © 2020-2023  润新知