我在我的項目中看到一個奇怪的問題,儘管它存在於磁盤中,但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?它會緩存先前執行優化的結果嗎?
嘗試關閉病毒掃描程序。 –