python bad file descriptor_Errno 9: Bad file descriptor in python socket错误处理
写了一个循环检测端口的程序,循环的次数多了,会报Errno 9: Bad file descriptor in python socket错误。程序如下:def Scan_port(host,port):
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#socket.setdefaulttimeout(10)
s.settimeout(10)
t = 1
while 1:
try:
s.connect((host,port))
s.close()
break
except socket.error, e:
s.close()
if t > 3:
print e
break
else:
t = t + 1
time.sleep(1)
socket连接超时时间为10s,超时之后重试3次,3次依然连接不到或是超时,则抛错。这个函数加入到多线程,多个主机时就会报Errno 9: Bad file descriptor in python socket错误。查找了材料,都说是s.close()在循环里面是主线问题的主要原因,不管s.close()在循环中的那个位置都会出现这个错误。后修改了这段代码如下:def Scan_port(host,port):
t = 1
while 1:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
#socket.setdefaulttimeout(10)
s.settimeout(10)
try:
s.connect((host,port))
s.close()
break
except socket.error, e:
s.close()
if t > 3:
print e
break
else:
t = t + 1
time.sleep(1)
把初始化socket提进循环中,经测试2000台服务器的端口不在出错,运行测试了一天没有问题。
python bad file descriptor_Errno 9: Bad file descriptor in python socket错误处理相关推荐
- python 安装nameerror_python NameError:name’file’未定义
我不太了解python.我想开始研究项目,安装说明说: pip install -r requirements-dev.txt 简单的enougth.问题是我得到这个: Downloading/unp ...
- 【转】/usr/bin/python^M: bad interpreter: No such file
转自:http://hanbaobao2005.blog.51cto.com/647054/635256 今天在WingIDE下写了个脚本,传到服务器执行后提示: -bash: /usr/bin/au ...
- Python学习笔记:文件(File)
Python学习笔记:文件(File) 打开一个文件用于读写,在Python里十分简单,利用内置open函数,可以用绝对路径,也可以用相对路径. 默认模式是'r',只读模式. 文件句柄f是一个可迭代对 ...
- File “C:\Users\hjl\AppData\Local\Programs\Python\Python38\lib\site-packages\pymysql\err.py“, line 1
今天通过python程序给数据库的表格插入数据,却提示报错 File "C:\Users\hjl\AppData\Local\Programs\Python\Python38\lib\sit ...
- python 魔兽世界升级脚本_How to use Python to automatically modify WoW toc file version
魔兽世界(World of Warcraft)每次版本升级以后,在没有新版插件出来的时候,通常都需要手工修改插件目录中的toc文件,将其中的版本号修改为当前版本,否则在插件界面会显示"版本错 ...
- Python之xlrd读Excel文件问题解决 (python xlrd unsupported format, or corrupt file.)
最近使用PyChram创建xls文件导致不能读取写入该文件 解决:在桌面上手动创建Excel文件即可解决. import xlrd import xlutils.copy #打开一个workbook ...
- python:Non-ASCII character ‘\xe2′ in file
python 2.7系列的 在运行.py文件时 报错python:Non-ASCII character '\xe2′ in file 解决办法: 在文件顶部 加入 # coding: utf ...
- python出现file stdin_第一个Python程序hello.py提示出现File stdin,line 1错误
写第一个Python程序hello.py,内容仅有一句,print 'hello world', 运行 Python hello.py 出错,提示: File "" , line ...
- python报错:No such file or directory: ‘D:\\Anaconda3\\lib\\venv\\scripts\\nt\\python.exe‘
原因就是相应目录下没有Python解析器,将 D:\Anaconda3 下的 python.exe python.pdb pythonw.exe pythonw.pdb 四个文件复制到 D:\\Ana ...
最新文章
- A 'return' expression required in a function with a block body ('{...}')
- java 声明静态类_java静态类声明--java类可以声明为static吗
- 快速理解JavaScript面向对象编程—原型
- postgresql在线备份与恢复(三)
- 《穿靴子的猫》蓝光720P 1080P高清中英双字 下载
- 1088 三人行 (20 分)
- 游戏引擎中的通用编程技术
- 累加数据段中的前3个字型数据
- 计算有向图的可达矩阵的算法及其MATLAB实现
- pay.onzan.en app.php,IBOS 协同办公平台PHP版 v1.0
- 线性代数高频考题:判断含参数的线性方程组解的形式
- C#程序设计--控制台程序输出上下三角形和菱形
- Java Excel导出(包含图片) —— Easypoi
- 第一步:文献阅读与翻译
- matlab 深度网络,深度信念网络matlab代码
- 无卷积!金字塔视觉Transformer(PVT):用于密集预测的多功能backbone
- Android内存优化大全(二)
- 关于意识形成过程的认识
- java获取真实ip的方法
- Hazelcast 知识点认知梳理