2008-09-30 132 views
8

我想體驗關於分佈式文件同步/複製的想法。爲了使用戶在工作時更高效,我想實現某種守護進程來監視某些目錄中的更改(例如/ home/user/dirToBeMonitored或c:\ docs和setts \ user \ dirToBeMonitored)。因此,我可以知道每次(或在合理的時間間隔內)添加/更改/刪除了哪個文件名。與操作系統無關的API來監視文件系統?

這是可能的任何高中級語言?你知道一些API(以及哪種語言?)來做到這一點嗎?

謝謝。

+2

OP正在尋求一種跨平臺的解決方案,下面的答案都沒有解決這個問題。理想情況下,這樣的解決方案應該用像C++這樣的低級語言來實現,然後提供對各種高級語言(如Python)的綁定 – 2009-07-18 16:58:33

回答

9

雖然需要較大的庫依賴性(值得它IMO)!

QT提供了QFileSystemwatcher類,該類使用底層平臺的本機機制。

更好的是,您可以使用Python或Ruby的QT語言綁定。 Here是一個簡單的PyQT4應用程序,它使用QFileSystemWatcher

注意

10

這些API與WindowsLinux,Mac OS X以及任何其他Unix的名稱看起來完全不同。我不知道任何跨平臺的庫以一致的方式處理這個問題。

0

而在OS X上,它被稱爲fsevents。這是一個OS級的API,所以從C或C++訪問是最容易的。它幾乎可以從任何語言訪問,雖然您的首選語言的綁定可能尚未寫入。