📜  杀死端口 django - Python (1)

📅  最后修改于: 2023-12-03 14:55:27.740000             🧑  作者: Mango

杀死端口 Django - Python

在进行 Django 开发时,有时候需要停止正在运行的服务。而停止服务的常规方法是杀死占用端口的进程。本文将介绍如何在 Python 中杀死端口。

方法一:使用 psutil 模块

psutil 是一款 Python 模块,可以获取当前系统的进程信息并进行管理。我们可以使用 psutil 模块来结束指定端口占用的进程。

import psutil

def kill_port(port):
    for proc in psutil.process_iter():
        try:
            conns = proc.connections()
        except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
            pass
        else:
            for conn in conns:
                if conn.laddr.port == port and conn.status == 'LISTEN':
                    proc.kill()

上述代码中,我们定义了一个名为 kill_port 的函数,该函数的作用是根据要杀死的端口号来结束进程。函数中使用了 psutil 模块来获取系统中所有进程的信息,并筛选出占用指定端口的进程并结束它。

方法二:使用 fuser 命令

在 Linux 系统中,我们还可以使用 fuser 命令来查找并结束指定端口的进程。在 Python 中,我们可以使用 subprocess 模块来调用系统命令。

import subprocess

def kill_port(port):
    subprocess.Popen(['fuser', '-k', str(port)+'/tcp'])

上述代码中,我们定义了一个名为 kill_port 的函数,该函数的作用是根据要杀死的端口号来结束进程。函数中使用了 subprocess 模块来调用系统命令,执行 fuser 命令来查找并结束占用指定端口的进程。

总结

本文介绍了两种在 Python 中杀死占用指定端口的进程的方法,分别是使用 psutil 模块和使用 fuser 命令。如果你在使用 Django 进行开发时需要结束服务,可以参考本文的方法来尝试。