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. Docker 镜像与容器管理

    镜像与容器简介 Docker的大部分操作都围绕着它的三大核心概念:镜像.容器.仓库而展开.因此,准确把握这三大核心概念对于掌握Docker技术尤为重要,在docker中,我们重点关注的就是镜像和容器了 ...

  2. Java加密数据库

    一.背景 数据库配置以明文方式展示如图,会造成安全隐患,如果有黑客入侵会造成密码泄露,信息窃取和破坏等. 二.加密步骤 1.对数据库信息加密: 对数据库中的账号和密码信息进行加密(选择一种算法)然后替 ...

  3. css动画之旋转翻牌效果

    1.我们先设置两个盒子大小,颜色等等,然后定位重叠在一起,最后再进行动画设置 例子如下: <style> .box { height: 300px; width: 300px; posit ...

  4. 语句:if语句、do-while语句、while语句、for语句、for-in语句、with语句、label语句、switch语句以及break和continue语句;

    ECMA-262规定了一组语句(也成为流控制语句),语句定义了ECMASript中的主要语法. 语句分类:条件分支语句.条件判断语句和循环语句 代码块:是一对包裹多行代码的花括号,代码块后不可加引号: ...

  5. 关于swiper 4的coverflowEffect(3d)

    轮播效果: HTML: <div class="swiper-container successful_swiper"> <div class="swi ...

  6. 转载:JavaWeb 文件上传下载

    转自:https://www.cnblogs.com/aaron911/p/7797877.html 1. 文件上传下载概述 1.1. 什么是文件上传下载 所谓文件上传下载就是将本地文件上传到服务器端 ...

  7. SVM处理多分类问题

    "one-against-one" approach from sklearn import svm X = [[0], [1], [2], [3]] Y = [0, 1, 2, ...

  8. 13、yum

    1.yum yum是管理rpm包的工具 2.yum源(yum仓库) 要使用yum前,需要准备一个yum源(我们也称为yum仓库), 这个可以是一个互联网上的仓库,也可以是本地自己搭建的仓库. 仓库里面 ...

  9. Foo, Bar的含义

    有些朋友问:foo, bar是什么意思, 为什么C++书籍中老见到这个词.我google了一下, 发现没有很好的中文答案.这个问题,在维基百科上有很好的回答.在这里翻译给大家. 译文: 术语fooba ...

  10. IDEA Debug模式下启动慢的解决办法

    工程没有做什么大的改动,近期Idea在debug模式下启动耗时800s +,run模式下200s.Idea debug模式启动的时候会有这样的提示: 方法断点会戏剧性的降低debug的速度.当时并没有 ...