close failed in file object destructor: IOError: [Error 10] No child processes

这个问题真是烦, 花了我半天时间才解决. 结果原因是一个很小的问题,但是平常被忽略了, 网上找了半天貌似都和我的情况不一样.
好吧,言归正传.
代码:

定时每30秒查询一次当前端口的并发量并记录在文档里面

import os
from threading import Thread

def check_count():
while True:
msg = os.popen(‘netstat -nat |grep 9995 |wc -l’)
count = msg.read()
current_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
with open(’/home/opvis/transfer_server/log/check_count.log’, ‘a’) as f:
f.write(current_time + ‘, 当前时间的并发访问量为:’ + count)
time.sleep(30)
t = Thread(target=check_count)
t.setDaemon(True)
t.start()

运行后虽然结果会正常执行, 但在终端会一直报如下错误:
在这里插入图片描述

原因是上一个os.popen执行对象没有关闭. 循环执行下一次os.popen就会出现该错误
修改如下后,不再显示该错误.

def check_count():
while True:
msg = os.popen(‘netstat -nat |grep 9995 |wc -l’)
count = msg.read()
current_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
with open(’/home/opvis/transfer_server/log/check_count.log’, ‘a’) as f:
f.write(current_time + ‘, 当前时间的并发访问量为:’ + count)
msg.close()
time.sleep(30)
t = Thread(target=check_count)
t.setDaemon(True)
t.start()

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
OS error code 0: Success 操作系统错误代码0:成功 OS error code 1: Operation not permitted 操作系统错误代码1:操作不允许 OS error code 2: No such file or directory 操作系统错误代码2:没有这样的文件或目录 OS error code 3: No such process 操作系统错误代码3:没有这样的过程 OS error code 4: Interrupted system call 操作系统错误代码4:中断的系统调用 OS error code 5: Input/output error 操作系统错误代码5:输入/输出错误 OS error code 6: No such device or address 操作系统错误代码6:没有这样的设备或地址 OS error code 7: Argument list too long 操作系统错误代码7:参数列表太长 OS error code 8: Exec format error 操作系统错误代码8:执行格式错误 OS error code 9: Bad file descriptor 操作系统错误代码9:坏的文件描述符 OS error code 10: No child processes 操作系统错误代码10:无子过程 OS error code 11: Resource temporarily unavailable 操作系统错误代码11:资源暂时不可用 OS error code 12: Cannot allocate memory 操作系统错误代码12:无法分配内存 OS error code 13: Permission denied 操作系统错误代码13:权限被拒绝 OS error code 14: Bad address 操作系统错误代码14:错误的地址 OS error code 15: Block device required 操作系统错误代码15:需要块设备 OS error code 16: Device or resource busy 操作系统错误代码16:设备或资源忙 OS error code 17: File exists 操作系统错误代码17:文件已经存在 OS error code 18: Invalid cross-device link 操作系统错误代码18:无效的跨设备链接 OS error code 19: No such device 操作系统错误代码19:没有这样的设备 OS error code 20: Not a directory 操作系统错误代码20:不是一个目录 OS error code 21: Is a directory 操作系统错误代码21:是一个目录 OS error code 22: Invalid argument 操作系统错误代码22:无效参数 OS error code 23: Too many open files in system 操作系统错误代码23:打开太多的文件系统 OS error code 24: Too many open files 操作系统错误代码24:打开的文件太多 OS error code 25: Inappropriate ioctl for device

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值