Taskkill

结束一个或多个任务或进程。可以根据进程 ID 或图像名来结束进程。

语法

taskkill [/s Computer] [/u Domain\User [/p Password]]] [/fi FilterName][/pid ProcessID]|[/im ImageName] [/f][/t]

参数

/s Computer
指定远程计算机名称或 IP 地址(不能使用反斜杠)。默认值是本地计算机。
/u Domain\User
运行具有由 User 或 Domain\User 指定用户的帐户权限命令。默认值是当前登录发布命令的计算机的用户权限。
/p Password
指定用户帐户的密码,该用户帐户在 /u 参数中指定。
/fi FilterName
指定将要终止或不终止的过程的类型。以下是有效的筛选器名称、运算符和值:

筛选器http://blog.sina.com.cn/hygxchxz
名称 运算符
Hostname eqne 任何有效字符串。
状态 eqne RUNNING|NOT RESPONDING
Imagename eqne 任何有效字符串。
PID egnegtltgele 任何有效的正整数。
Session egnegtltgele 任何有效的会话数。
CPUTime eqnegtltgele hh:mm:ss 格式的有效时间。
mm 参数和 ss 参数应在 0 到 59 之间,
hh 参数可以是任何一个有效的无符号的数值。
Memusage egnegtltgele 任何有效的整数。
用户名 eqne 任何有效的用户名 ([Domain\]User)。
服务 eqne 任何有效字符串。
Windowtitle eqne 任何有效字符串。
/pid ProcessID
指定将终止的过程的过程 ID。
/im ImageName
指定将终止的过程的图像名称。使用通配符 (*) 指定所有图像名称。
/f
指定将强制终止的过程。对于远程过程可忽略此参数,所有远程过程都将被强制终止。
/t
指定终止与父进程一起的所有子进程,常被认为是“树终止”。
/?
在命令提示符显示帮助。

注释

  • 只有与筛选器一起指定时,通配符 (*) 才能被接受。
  • 无论是否指定 /f 参数,都会始终强制执行对远程过程的终止操作。
  • 向 HOSTNAME 筛选器提供计算机名将导致关机和中止所有过程。
  • 使用 tasklist 确定要终止的过程的过程 ID (PID)。
  • Taskkill 替代了 Kill 工具。

筛选器 /fi

  通过指定筛选进或筛选出的查询,以获取符合筛选器指定的标准的任务。

  1. 筛选器名称:

    STATUS:运行状态,即某程序处于运行或无响应的状态。
    IMAGENAME:图像名,即映像名称。
    PID:PID 值
    SESSION:会话编号#
    SESSIONNAME:会话名
    CPUTIME:CPU 时间
    MEMUSAGE:内存使用量(KB)
    USERNAME:用户名

    SERVICES:服务名
    WINDOWTITLE:窗口标题
    MODULES:DLL 名
    Hostname:计算机全名中的主机名称部分

  2. 筛选器有效运算操作符:

    eq:包含,等于。
    ne:不包含,排除,不等于。
    gt:大于
    lt:小于
    ge:大于或等于
    le:小于或等于

  3. 筛选器有效值:

    数值必须符合筛选器名的规则才有效!

范例

    1. 强行结束所有处于无响应状态的 Internet Explorer 进程:

      taskkill /f /fi "STATUS eq NOT RESPONDING" /im iexplore.exe

    2. 使用批处理强行结束其他所有正在运行的批处理进程:

      @echo off & set han=%RANDOM%
      TITLE %han%
      Taskkill /f /im cmd.exe /fi "Windowtitle ne %han%" >nul
      pause
    3. 强行结束所有内存使用量大于 10240Kb 的进程,但不包括 explorer.exe 和 svchost.exe 进程:

      taskkill /f /fi "MEMUSAGE gt 10240" /fi "IMAGENAME ne explorer.exe" /fi "IMAGENAME ne svchost.exe" /im *

    4. 如果 Pid 为 1024 的某进程上挂了服务 hanye (即服务名为 hanye),就强行结束它:

      taskkill /f /fi "SERVICES eq hanye" /fi "pid eq 1024"

      或:

      taskkill /f /fi "SERVICES eq hanye" /pid 1024

    5. 显示所有加载了模块 ntdll.dll 且 Pid 大于或等于 1000 的进程,同时显示其加载的其他 dll 模块,输出时,使用 CSV 格式,并不显示栏标头:

      tasklist /m /fi "PID ge 1000" /fi "MODULES eq ntdll.dll" /fo csv /nh

      Table 格式:仿表格格式,主要用于文本输出。

      List 格式:列表格式,主要用于 Cmd 控制台窗口显示。

      Csv 格式:字符串格式,主要用于 For /f 解析。

    6. 仅强行结束登陆号码为 34886634 和 30194447 的2008版 UC 进程,同时不结束他们打开的 UC 房间进程等子进程:

      taskkill /f /fi "WINDOWTITLE eq 30194447" /fi "WINDOWTITLE eq 34886634" /im uc.exe

    7. 显示所有不是以当前帐户运行的 svchost 进程,并显示其所挂服务,输出时,使用 LIST 格式:

      tasklist /svc /fi "USERNAME ne %USERNAME%" /fi "IMAGENAME eq svchost.exe" /fo list

      注释:

      1. List 格式不能使用 /nh 禁止输出栏标头是因为 List 格式中没有栏标头。
      2. 在 Username 中,需要使用格式 Domain\User 。Domain 为计算机所在域,User 为用户帐户。如果User 使用当前帐户,Domain 可以省略。其他帐户,特别是 system 等,推荐使用域 NT AUTHORITY

    8. /fi /im /pid 都可以多次使用。例如:

      强行结束所有由当前帐户启动,并进程名前带 re 和带 de 的进程:

      Taskkill /f /fi "username eq %username%" /FI "IMAGENAME eq re*" /FI "IMAGENAME eq de*"

      强行结束 PID 从 3860 到 3862 的所有进程:

      Taskkill /f /pid 3860 /pid 3861 /pid 3862

      强行结束进程名分别是bk1.exe bj2.exe bm3.exe  的所有进程:

      Taskkill /f /im bk1.exe /im bj2.exe /im bm3.exe

    9. 强行结束 PID 从 3860 到 3862 的所有进程:

      for /l %i in (3860 1 3862) do @taskkill /f /pid %i >nul 2>nul

    10. 强行结束进程名分别是ba.exe bb.exe bc.exe …… bz.exe 的所有进程:

      for %i in (a-z) do @taskkill /f /im b%i.exe >nul 2>nul

      注释:

      Taskkill 中不支持通配符 ? 的使用。

    11. 显示所有 CPU 时间小于 00:00:10 进程,并且由 system 帐户运行的详细信息:

      tasklist /v /fi "USERNAME eq NT AUTHORITY\SYSTEM" /fi "CPUTIME lt 00:00:10"

      注释:

      /v 参数时的详细信息比不使用时(默认包括:图像名、PID、会话名、会话#)多出 状态、用户名、CPU 时间、窗口标题 等。

    12. 显示所有 svchost.exe 进程的PID、会话名及会话编号:

      for /F "skip=3 tokens=2,3,4" %i in ('tasklist /fi "IMAGENAME eq svchost.exe"') do @echo %i %j %k

      注释:

      会话:两个交换数据的主机之间所建立的一种逻辑连接。对话一般用序列和回执发送可靠的数据。负载平衡 TCP/IP
      通讯环境中,指向服务器的一组客户请求。这些请求可以被多个可能的并发 TCP
      连接调用。服务器程序有时会维护请求之间的状态信息。要保留对服务状态的访问,“网络负载平衡”在进行负载平衡时需要将某个会话中的所有请求指向同一个群集主机。。

    13. 强行结束并重新启动外壳程序 explorer.exe :

      taskkill /f /im explorer.exe & start explorer.exe

    14. 强行结束所有程序并关闭本地计算机:

      taskkill /f /fi "hostname eq %COMPUTERNAME%"

    15. 查看进程使用的端口的批处理:

      @echo off&color a&Title XP端口-进程查询-寒夜孤星【初学者】
      setlocal enabledelayedexpansion&echo.&echo.
      for /L %%k in (1 1 60) do set /p gu=*<nul
      echo.&echo *     本程序仅用于XP端口-进程查询(查看进程使用的端口)    *
      echo *                    寒夜孤星【初学者】                    *
      for /L %%k in (1 1 60) do set /p gu=*<nul
      echo.&echo.&echo.&echo          端口号           进程名称    
      ECHO TCP协议:
      for /F "usebackq skip=4 tokens=2,5" %%i in (`"netstat -ano -p TCP"`) do (
        call :Assoc %%i TCP %%j
        echo           !TCP_Port!           !TCP_Proc_Name!
      )
      ECHO UDP协议:
      for /F "usebackq skip=4 tokens=2,4" %%i in (`"netstat -ano -p UDP"`) do (
        call :Assoc %%i UDP %%j
        echo           !UDP_Port!           !UDP_Proc_Name!
      )
      echo 请按任意键退出本程序。
      pause>nul
      :Assoc
      for /F "tokens=2 delims=:" %%e in ("%1") do (
          set  %2_Port=%%e
        )
      for /F "skip=2 usebackq delims=, tokens=1" %%a in (`"Tasklist /FI "PID eq %3" /FO CSV"`) do (
         set %2_Proc_Name=%%~a
        )
      goto :eof

      转自:http://blog.sina.com.cn/s/blog_51a4af870100dygp.html

windows上批量杀指定进程的更多相关文章

  1. linux下如何批量杀JAVA进程或某个进程方法

    linux下如何批量杀JAVA进程或某个进程方法 在工作中经常需要停止JAVA进程,停止时间也比较长,那么有时候因为一些情况,需要把 linux 下JAVA所有进程 kill 掉,又不能用killal ...

  2. (转)linux下如何批量杀JAVA进程或某个进程方法

    在工作中经常需要停止JAVA进程,停止时间也比较长,那么有时候因为一些情况,需要把 linux 下JAVA所有进程 kill 掉,又不能用killall 直接杀掉某一进程名称包含的所有运行中进程(我们 ...

  3. windows 使用 xxfpm 解决 php-cgi 进程自动关闭

    windows 下 php-cgi 进程处理一定数量的访问后,就会自动关闭,由于没办法直接让 php-cgi 进程支持更多的访问数量,所以只能启动多个进程来满足需求. xxfpm 是一个可执行程序,它 ...

  4. windows下绑定线程(进程)到指定的CPU核心

    一个程序指定到单独一个CPU上运行会比不指定CPU运行时快.这中间主要有两个原因:1)CPU切换时损耗的性能.2)Intel的自动降频技术和windows的机制冲突:windows有一个功能是平衡负载 ...

  5. 写一个Windows上的守护进程(6)Windows服务

    写一个Windows上的守护进程(6)Windows服务 守护进程因为要开机启动,还要高权限,所以我就把它做成Windows服务了. 关于Windows服务的官方文档,大家可以看https://msd ...

  6. 写一个Windows上的守护进程(4)日志其余

    写一个Windows上的守护进程(4)日志其余 这次把和日志相关的其他东西一并说了. 一.vaformat C++日志接口通常有两种形式:流输入形式,printf形式. 我采用printf形式,因为流 ...

  7. 写一个Windows上的守护进程(2)单例

    写一个Windows上的守护进程(2)单例 上一篇的日志类的实现里有个这: class Singleton<CLoggerImpl> 看名字便知其意--单例.这是一个单例模板类. 一个进程 ...

  8. Linux 批量杀进程的命令

    使用awk批量杀进程的命令: ps -ef | grep firefox | grep -v grep | awk '{print "kill -9 "$2}'|sh #列出了当前 ...

  9. SetThreadAffinityMask windows下绑定线程(进程)到指定的CPU核心

    原帖地址:https://www.cnblogs.com/lvdongjie/p/4476766.html 一个程序指定到单独一个CPU上运行会比不指定CPU运行时快.这中间主要有两个原因:1)CPU ...

随机推荐

  1. HTML5-placeholder属性

    HTML 5<input> placeholder属性 placeholder属性提供可描述输入字段预期值的提示信息(hint). 该提示会在输入字段为空时显示,并会在字段获得焦点时消失. ...

  2. C中的函数指针的用法

    include<stdio.h> typedef int (*Cal)(int a,int b);//定义一个函数指针,第一个int是指向函数的返回值的类型,后面括号里面的两个int是指指 ...

  3. scrapyd使用教程

    1. 安装服务器: pip install scrapyd 启动: scrapyd 访问:127.0.0.1:6800 2. 安装客户端 pip install scrapyd-client 3. 进 ...

  4. js css3 固定点拖拽旋转

    一.直接上效果图: 然后是代码: 一共两种实现方式: <!DOCTYPE html> <html lang="en"> <head> <m ...

  5. Web前端开发解耦1

    在网站建设的工作中,Web前端工程师占据着非常重要的位置,好的前端工程师保证了良好的网站优化以及友好的用户体验.今天佚站互联主要分享一下对于Web前端开发规范的一些见解. 学过面向对象编程的朋友应该都 ...

  6. List的Select 和Select().tolist()

    List<Person> delp = new List<Person> { ,Name=,Sign= }, ,Name= ,Sign=}, }; delp.Select(u ...

  7. dedecms 列表 用分页标签 判断 当第一页则显示,第二页以上不显示 土办法!

    arc.listview.class.php function GetPageListST($list_len,$listitem="index,end,pre,next,pageno,sp ...

  8. Hibrenate实现根据实体类自动创建表或添加字段

    Hibernate支持自动建表,在开发阶段很方便,可以保证hbm与数据库表结构的自动同步. 实现: 在配置hibernate的配置文件中将hbm2ddl.auto设置为update,如:Xml代码&l ...

  9. 设置ecShop网店用户名和email均可登录

    修改user.php文件,如果您网站的该文件修改过,按照下面的修改说明修改文件. 查找代码:elseif ($action == 'act_login') 在:$back_act = isset($_ ...

  10. kotlin高阶函数实战&DSL入门

    传统函数演示: 这里以电视节目“非诚勿扰”为例,男人去从一大堆美女当中挑选出自己中意的对象,比如台上有24位妹子,其档案如下: 接下来第一个男嘉宾出场啦,如下: 下面用代码来实现一下,比较简单: 先定 ...