如果我打开并读取定期写入的文件,是否会发生I / O死锁?

| 在我的服务器进程中,它看起来像这样: 主要后端流程: 处理大量文件,并将它们记录在MySQL中。 在完成的每500个文件中,它将\“进度报告\”写入单独的文件
/var/run/progress.log
,例如\\“完成200/5000个文件\” 它经过4个子进程的多重处理,每个子进程都确保在单独的文件上运行。 Web服务器进程: 每10秒通过Ajax读取
/var/run/progress.log
的输出,并向进度条报告。 处理大量文件时(例如超过3 GB的档案),处理大约2小时后会锁定。 我找不到正在发生的事情。这是否意味着ѭ0造成了I / O死锁?     
已邀请:
在Linux上的python中,这不应阻止,但是请尝试使用
os
模块
os.open(file, os.O_NONBLOCK | os.O_RDONLY)
并确保关闭文件
fh.close()
,因为Python有点懒惰清理文件。 http://docs.python.org/library/os.html     
快速建议,请确保(例如,超级确定)您确实关闭了文件。 所以总是为此使用try-except-final块 请记住,将始终执行最后一个块的内容,这将避免很多头疼:)     

要回复问题请先登录注册