socket.error: [Errno 98] Address already in use
一、总结
一句话总结:
出现原因是端口占用,可以想办法杀死进程:sudo kill 进程号
二、socket.error: [Errno 98] Address already in use
转自或参考:socket.error: [Errno 98] Address already in use
https://blog.csdn.net/xinLLX/article/details/99548034
今天连接交换机的时候,提示地址被占用,猜测上次运行程序没有通过Ctrl+ C正常结束而是直接关闭Terminal或者其他非正常途径退出。从网上查到两种解决方式:
-
当该端口被其他进程占用时,修改一个未使用的端口号重新运行。
-
执行
netstat -nlp | grep :端口号
,查看当前使用该端口的进程,得到进程号
sudo kill 进程号
当一个进程持续杀不死,杀死之后换一个PID继续占用该端口时,可能是有一个父进程持续生成占用该端口的子进程。这时,采用以下方法:
执行ps -ef|grep 子进程号
,根据返回信息获取父进程号,杀死该父进程。