你的位置:首页 > 操作系统

[操作系统]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 domain\username /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  /? 得到帮助信息

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 domain\username /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         显示正在执行的操作的信息。