我有一個Clipper系統將csv文件寫入Windows目錄。我有一個在Linux服務器上運行的Perl腳本,該服務器正在讀取該Windows目錄的一個掛載並將這些文件導入數據庫。如何測試csv文件當前是否打開並正在使用Perl寫入文件而不是文件句柄?
現在我們使用標誌文件來指示csv何時不再被寫入;標誌文件在csv完成後寫入。我真的寧願從csv本身獲得我需要的東西,但我似乎無法找到一種方法來告知文件何時打開並正在寫入。
lsof
似乎不能回答我的需要。我試過使用flock
並用排它鎖打開文件,認爲它可能會在文件被修改時拋出錯誤,但它不會。
有什麼想法?
你會發現所有的解決方案都是特定於操作系統的。使用單獨的文件存在就像您將找到的解決方案一樣清晰。 – jmucchiello 2010-05-25 15:46:25
這幾乎是我所決定的。 – Henry 2010-05-26 16:54:26