我在我的项目中看到一个奇怪的问题,尽管它存在于磁盘中,但perl无法看到文件。我们通过perl运行一系列短暂的后端作业(每个作业跨越10秒)。后端作业写入输出文件并退出,之后perl进程将尝试传输它。作业最初运行良好,突然无法检测到后端写入的文件。调试perl代码(来自http://www.cpan.org/src/的5.10.1),我发现stati64(win32.c中的win32_stat)失败并返回-1。重试时,通话似乎正常。我可以保证没有后端进程涉及的竞争条件,因为我们试图在后端退出后访问perl中的文件。Windows中是stat还是stati64越野车?
有没有人知道条件(当在短期工作中递归使用)下stat(或stati64)可以说文件不存在,虽然文件存在于Windows?它会缓存先前执行优化的结果吗?
尝试关闭病毒扫描程序。 –