經過大量研究,也無法找到我的問題的解決方案後,我決定在這裏發佈stackoverflow。檢查另一個程序是否有文件打開
那麼我的問題是一種不同尋常的,所以我想這就是爲什麼我無法找到任何答案:
我有一個程序,被記錄的東西到一個文件中。然後我有另一個負責轉移該文件的人。最後,我有第三個獲取文件並對其進行處理。
我的問題是: 文件傳輸程序需要在文件仍在錄製時發送文件。問題是當文件傳輸程序到達文件的末尾時並不意味着該文件實際上是完整的,因爲它仍在被記錄。
這將是很高興有一些東西來檢查,如果記錄器仍然打開文件,或者如果它已經關閉它可以判斷文件的結尾是否真的是文件的真正結束,還是隻是沒有'還有待讀的數據。
希望你能幫助我解決這個問題。也許你對如何解決這個問題有另一個想法。
預先感謝您。
GeKod
也許'inotify'?它可以在文件關閉時通知您。 – cha0site 2012-01-05 09:50:41
similar/duplicate - http://stackoverflow.com/questions/1087204/how-can-i-tell-if-a-file-is-open-elsewhere-in-c-on-linux – 2012-01-05 09:56:34
你可以修改作者的來源? – alk 2012-01-05 10:03:56