当遇到Python程序中端口被占用的问题时,你可以尝试以下几种方法来解决:
方法一:重启程序
关闭所有运行中的Python程序窗口。
重新启动你的Python程序。
方法二:使用命令行工具
使用`netstat`和`grep`
sudo netstat -lntup | grep 端口号
使用`ps`和`kill`
ps -ef | grep python
kill -9 进程号
使用`lsof`
sudo lsof -i:端口号
kill -9 进程号
使用`psutil`库(推荐)
import psutil
def find_and_kill(port):
for proc in psutil.process_iter(['pid', 'name', 'connections']):
for conn in proc.info['connections']:
if conn.laddr.port == port:
print(f"端口 {port} 被进程 {proc.info['name']} (PID {proc.pid})占用,正在终止...")
proc.terminate()
return
print(f"当前端口号 {port} 未被占用")
检查端口9222是否被占用
port = 9222
find_and_kill(port)
方法三:使用第三方工具
PortUtil-zeker.jar:适用于Windows,可以一键关闭占用端口的程序。
一键关闭占用端口工具:需要配置好Java环境。
方法四:检查程序内部逻辑
确保程序在退出时正确关闭了所有网络连接。
如果程序是通过`CTRL+Z`挂起的,使用`fg`命令恢复任务后再结束。
方法五:检查操作系统设置
确保没有防火墙或安全软件阻止端口的使用。
在某些操作系统中,你可能需要以管理员权限运行命令。
尝试上述方法后,如果问题仍然存在,请检查是否有其他程序或服务占用了端口,或者重启计算机以彻底释放端口。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/144432.html