windows 下查询网络端口以及任务杀死的方法

        三个命令 : netstat,tasklist ,taskkill

             常用子操作

                           netstat -ano -p tcp

                           tasklist

                           Tasklist /FI "PID eq 1524" /FO CSV     查找指定端口的进程名称

                            taskkill /f  /pid 1640               杀死指定pid进程

        说明: netstat 查看系统网络状态

         例一: netstat -ano -p tcp

             例二:netstat -ano -p udp

 

       tasklist  :列出系统的所有任务名称,以及pid等信息。


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*"

 

 

 

### 如何在 Windows 系统中通过命令行杀死占用特定端口的进程 要在 Windows 系统中通过命令行杀死占用特定端口的进程,可以按照以下方法操作。首先需要确定哪个进程占用了目标端口,然后使用任务管理工具结束该进程。 #### 1. 查找占用端口的进程 ID (PID) 使用 `netstat` 命令结合 `-ano` 参数来查找占用特定端口的进程 ID。例如,如果要查找占用端口 `8080` 的进程,可以在命令提示符中运行以下命令: ```cmd netstat -ano | findstr "8080" ``` 此命令会列出所有与端口 `8080` 相关的信息,包括协议、本地地址、外部地址以及进程 ID (PID)[^1]。 #### 2. 结束占用端口的进程 找到对应的 PID 后,可以使用 `taskkill` 命令结束该进程。例如,如果 PID 是 `12416`,可以运行以下命令: ```cmd taskkill /PID 12416 /F ``` 其中 `/PID` 指定要终止的进程 ID,`/F` 表示强制终止进程[^2]。 #### 3. 验证端口是否已被释放 为了确认端口是否已经被释放,可以再次运行 `netstat` 命令检查端口状态: ```cmd netstat -ano | findstr "8080" ``` 如果没有输出结果,则说明端口已被成功释放[^3]。 ### 注意事项 - 在执行上述操作前,请确保目标进程不是系统关键服务或正在使用的应用程序,否则可能会导致系统不稳定或数据丢失。 - 如果频繁遇到端口被占用的问题,可以考虑调整应用程序的默认端口号,或者优化开发环境的配置以避免冲突[^4]。 ```python # 示例 Python 脚本:自动查找并杀死占用指定端口的进程 import os import subprocess def kill_process_by_port(port): try: # 查找占用端口的进程 result = subprocess.run(['netstat', '-ano'], stdout=subprocess.PIPE, text=True) lines = result.stdout.splitlines() pid = None for line in lines: if f":{port}" in line: parts = line.split() pid = parts[-1] break if pid: print(f"Found process with PID {pid} using port {port}.") # 杀死进程 os.system(f'taskkill /PID {pid} /F') print(f"Process with PID {pid} has been terminated.") else: print(f"No process found using port {port}.") except Exception as e: print(f"An error occurred: {e}") # 使用示例 kill_process_by_port(8080) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值