python(8) : win工具[根据占用端口杀死进程]|[检查端口是否被占用]
来源: GPT, 豆包
1.根据占用端口杀死进程
import psutildef kill_process_by_port(port):for proc in psutil.process_iter(['pid', 'name']):try:for conn in proc.connections():if conn.laddr.port == port:print(f"Killing process {proc.name()} (PID: {proc.pid})")proc.kill()except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):passif __name__ == '__main__':port_to_kill = 8000 # 替换为你要杀死的进程所使用的端口号kill_process_by_port(port_to_kill)
2.检测端口是否占用
import subprocess# 查看端口是否占用, win专用
def check_port(l_port):result = subprocess.run(('netstat', '-ano'), capture_output=True, text=True,creationflags=subprocess.CREATE_NO_WINDOW)output = result.stdoutlines = output.split('\n')for line in lines:# 注意,这里要确保状态是 LISTENING 才表示端口被占用if str(l_port) in line and 'LISTENING' in line: return Truereturn Falseif __name__ == '__main__':check_port(8000)