windows命令行查看和终止进程

文章目录

    • 指令和参数
    • 筛选器
    • 远程指令
    • tasklist参数

指令和参数

tasklist可以获取当前运行的程序列表。当不加参数时,其返回值包括5列,分别是映像名称,PID,会话名,会话#,内存使用。taskkill用于杀死某个进程,后面必须跟参数。这两个指令的参数多有相似之处,下表中,如果未作说明,则是两个指令的共有参数,标有✅为tasklist独有的参数,标有❌则独属于taskkill。

参数 子参数 说明
/FI filter 显示一系列符合筛选器指定条件的任务。
/S system 指定连接到的远程系统。
/U [domain]user 指定应该在哪个用户上下文执行这个命令。
/P [password] 提供的用户上下文指定密码。如果省略,则提示输入。
/M [module] ✅列出调用某个dll的所有exe
/SVC ✅显示进程中主持的服务。
/V ✅显示详细任务信息。
/APPS ✅显示微软商店应用及其关联的进程。
/FO format ✅指定输出格式。有效值: “TABLE”、“LIST”、“CSV”。
/NH ✅指定列标题不应该在输出中显示。只对 “TABLE” 和 “CSV” 格式有效。
/PID processid ❌指定要终止的进程的 PID
/IM imagename ❌指定要终止的进程的映像名称
/T ❌终止指定的进程和由它启用的子进程。
/F ❌指定强制终止进程。

筛选器

在进程查看和销毁操作中,筛选是最常用的操作。tasklist和taskkill在开启FI开关后,都支持以下筛选器

筛选器名称 运算符 有效值
STATUS eq, ne RUNNING | SUSPENDED | NOT RESPONDING | UNKNOWN
IMAGENAME eq, ne 映像名称
PID all PID 值
SESSION all 会话编号
SESSIONNAME eq, ne 会话名称
CPUTIME all CPU 时间,格式为hh:mm:ss,即小时:分钟:秒
MEMUSAGE all 内存使用(以 KB 为单位)
USERNAME eq, ne 用户名,格式为 [域]用户
SERVICES eq, ne 服务名称
WINDOWTITLE eq, ne 窗口标题
MODULES eq, ne DLL 名称
  • all表示支持六种操作符:eq, ne, gt, lt, ge, le
  • 当查询远程计算机时,不支持WINDOWTITLE和STATUS筛选器。

此外,

  • status中的suspended不支持taskkill,因为一个进程已经suspended了,就不能再kill了。
  • SESSIONNAME指令不支持taskkill
  • 只有在应用筛选器的情况下,/IM 切换才能使用通配符 ‘*’。
  • 远程进程总是要强行 (/F) 终止。

例如下面的代码表示,列出PID不大于1000的进程。

TASKLIST /FI "pid lt 1000"

下面两行代码分别表示列出所有edge的进程;和杀死所有edge进程。

>tasklist /fi "imagename eq msedge.exe"

映像名称         PID 会话名      会话#       内存使用
========== ======== ======== =========== ============
msedge.exe    18784 Console           1    269,900 K
...
>taskkill /fi "imagename eq msedge.exe" /f
成功: 已终止 PID21324 的进程。
成功: 已终止 PID15528 的进程。
...

远程指令

/s, /u和/p均在远程操作时使用,其大致逻辑如下

tasklist /s 192.168.1.124 /u micro /p 123456

表示列出在192.168.1.124处的用户micro的进程,且micro的密码是123456。

tasklist参数

taskkill独有的4个参数都比较容易理解,就不再演示了。下面对tasklit独有的一些参数做些说明。

如果开启/SVC参数,则返回值将显示三列:映像名称,PID和服务;如果开启/V参数,则会显示9列:映像名称、PID、会话名、会话#、内存使用、状态、用户名、CPU 时间、窗口标题。

如果开启/M参数,但不设子参数,那么将会给出某个exe所使用的所有dll。否则会列出调用某个dll的所有exe,例如

>tasklist /m ntdll.dll

映像名称             PID 模块
=============== ======== ===================
ipf_helper.exe                7924 ntdll.dll
nvcontainer.exe               3808 ntdll.dll
sihost.exe                    8200 ntdll.dll
...

最后,tasklist可以指定输出格式,默认就是表格table格式,比如刚刚截取的ntdll.dll的例子就是,可读性比较强;csv格式则以,为分隔符,不空格输出,比较适合另存为文件;列表格式则示意如下

...
映像名称:     RuntimeBroker.exe
PID:          12380
会话名      : Console
会话#   :     1
内存使用 :    23,356 K

映像名称:     Code.exe
PID:          944
会话名      : Console
会话#   :     1
内存使用 :    104,992 K
...

你可能感兴趣的:(windows,windows,tasklist,taskkill,pid,命令行)