📜  杀死端口 (1)

📅  最后修改于: 2023-12-03 15:10:40.821000             🧑  作者: Mango

杀死端口

在计算机网络中,每一个网络应用程序都会监听一个端口,用于能够接收和发送数据。有时候我们需要关闭或终止某些应用程序所监听的端口,这时候我们需要使用一些命令或者编写一些程序来实现这个功能。这个过程叫做"杀死端口"。

常用的杀死端口的方法
命令行

Windows

  • 使用netstat -ano命令查看端口号和PID。
  • 根据PID使用taskkill /f /pid [PID]命令杀死进程。

举例:

C:\> netstat -ano | findstr "8080"
TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       1788
TCP    [::]:8080              [::]:0                 LISTENING       1788

C:\> taskkill /f /pid 1788

MacOS

  • 使用lsof -i :[portNumber]命令查看显示占用端口号的应用程序。
  • 根据PID使用kill -9 [PID]命令杀死进程。

举例:

$ lsof -i :8080
COMMAND  PID  USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
java    2927 james   68u  IPv6 0x2c119d593c2e5a71      0t0  TCP *:http-alt (LISTEN)
$ kill -9 2927
Python

可以使用Python来编写一个简单的脚本来自动杀死一个端口所占用的进程。需要安装psutil库。

import psutil

for proc in psutil.process_iter():
    try:
        # 查询进程占用端口号
        conn = proc.connections()
        for element in conn:
            if element.laddr.port == 8080: # 端口号可更改
                proc.kill()
    except:
        pass

返回的代码片段:

```python
import psutil

for proc in psutil.process_iter():
    try:
        # 查询进程占用端口号
        conn = proc.connections()
        for element in conn:
            if element.laddr.port == 8080: # 端口号可更改
                proc.kill()
    except:
        pass