Bootstrap

Windows命令行(CMD)中,tasklist | findstr(搜索并显示包含特定字符串的进程信息)


在Windows命令行(CMD)中, tasklist 命令用于显示当前运行的进程列表,而 findstr 命令则用于搜索字符串。当你将 tasklist 命令的输出通过管道( |)传递给 findstr 命令时,你可以搜索并显示包含特定字符串的进程信息。

例如,如果你想要找到与特定PID(进程ID)或进程名称相关的进程,你可以这样做:

tasklist | findstr "进程名称或PID"

但是,请注意,PID是数值,而进程名称是文本字符串。如果你正在搜索PID,确保不要包含任何前缀或空格,因为 tasklist 命令的输出中PID前面通常会有空格。

示例

  1. 搜索特定进程名称

    假设你想要找到所有名为 notepad.exe 的进程,你可以使用:

    tasklist | findstr notepad.exe
    

    这将列出所有名为 notepad.exe 的进程信息。

  2. 搜索特定PID

    如果你知道进程的PID是1234,但不确定进程名称,你可以使用:

    tasklist | findstr "1234"
    

    注意这里没有引号包围PID,因为PID是数值,且 tasklist 命令的输出中PID前通常会有空格,但 findstr 会忽略这些空格并查找包含该数值的行。

  3. 结合使用

    你也可以结合使用进程名称和PID的一部分来搜索,但这样做可能会返回不期望的结果,因为 findstr 会匹配任何包含指定字符串的行。

注意事项

  • 如果你的搜索字符串包含空格或特殊字符,你可能需要用引号将其括起来。但是,对于PID搜索,这通常不是必需的。
  • findstr 是大小写不敏感的,即它会匹配大写和小写字母。
  • tasklist 命令还有其他选项,如 /FI,可以用来根据特定条件过滤进程列表,这可能比使用 findstr 更有效,特别是当你需要基于多个条件进行过滤时。

示例:使用 /FI 选项过滤进程

如果你想要找到所有属于特定用户的进程,你可以使用 /FI 选项:

tasklist /FI "USERNAME eq 用户名"

用户名 替换为实际的用户名。这种方法比使用 tasklist | findstr 更直接且可能更高效,特别是当处理大量进程时。

C:\Users\Lenovo>netstat -ano | findstr 3306
  TCP    0.0.0.0:3306           0.0.0.0:0              LISTENING       1224
  TCP    0.0.0.0:33060          0.0.0.0:0              LISTENING       1224
  TCP    127.0.0.1:3306         127.0.0.1:63443        ESTABLISHED     1224
  TCP    127.0.0.1:3306         127.0.0.1:63444        ESTABLISHED     1224
  TCP    127.0.0.1:3306         127.0.0.1:63445        ESTABLISHED     1224
  TCP    127.0.0.1:3306         127.0.0.1:63446        ESTABLISHED     1224
  TCP    127.0.0.1:3306         127.0.0.1:63447        ESTABLISHED     1224
  TCP    127.0.0.1:3306         127.0.0.1:63448        ESTABLISHED     1224
  TCP    127.0.0.1:3306         127.0.0.1:63449        ESTABLISHED     1224
  TCP    127.0.0.1:3306         127.0.0.1:63450        ESTABLISHED     1224
  TCP    127.0.0.1:3306         127.0.0.1:63451        ESTABLISHED     1224
  TCP    127.0.0.1:3306         127.0.0.1:63452        ESTABLISHED     1224
  TCP    127.0.0.1:63443        127.0.0.1:3306         ESTABLISHED     68924
  TCP    127.0.0.1:63444        127.0.0.1:3306         ESTABLISHED     68924
  TCP    127.0.0.1:63445        127.0.0.1:3306         ESTABLISHED     68924
  TCP    127.0.0.1:63446        127.0.0.1:3306         ESTABLISHED     68924
  TCP    127.0.0.1:63447        127.0.0.1:3306         ESTABLISHED     68924
  TCP    127.0.0.1:63448        127.0.0.1:3306         ESTABLISHED     68924
  TCP    127.0.0.1:63449        127.0.0.1:3306         ESTABLISHED     68924
  TCP    127.0.0.1:63450        127.0.0.1:3306         ESTABLISHED     68924
  TCP    127.0.0.1:63451        127.0.0.1:3306         ESTABLISHED     68924
  TCP    127.0.0.1:63452        127.0.0.1:3306         ESTABLISHED     68924
  TCP    [::]:3306              [::]:0                 LISTENING       1224
  TCP    [::]:33060             [::]:0                 LISTENING       1224

C:\Users\Lenovo>tasklist | findstr 1224
mysqld.exe                    1224 Services                   0     23,684 K

C:\Users\Lenovo>tasklist | findstr 68924
java.exe 

在这里插入图片描述

;