我正在Linux上開發我的程序,是否有一種編程方式來檢測另一個應用程序何時在特定文件夾下創建/複製文件。我想盡快檢測新文件,並且想要處理文件。替代inotify來檢測在文件夾下創建新文件的時間
據我研究,我可以使用inotify來完成這項工作。有沒有更好的選擇?
我正在Linux上開發我的程序,是否有一種編程方式來檢測另一個應用程序何時在特定文件夾下創建/複製文件。我想盡快檢測新文件,並且想要處理文件。替代inotify來檢測在文件夾下創建新文件的時間
據我研究,我可以使用inotify來完成這項工作。有沒有更好的選擇?
inotify是Linux內核提供的適當的API。您的工具包可能在其上方有便利,例如來自libkdecore的KDirWatch
,但它在內部使用inotify。
當您的程序是跨平臺的時候,從工具包使用API是一個好主意。
http://www.highscore.de/boost/dir_monitor.zip on http://en.highscore.de/cpp/boost/asio.html是一個跨平臺的C++ Boost解決方案,雖然我還沒有嘗試過。
http://boost.2283326.n4.nabble.com/ASIO-file-monitoring-help-td4645105.html有代碼使用它是錯誤的,修復程序看起來是使作者認爲可能是臨時的永久性更多的對象。
這有什麼錯inotify的?這很棒。它適合您現有的epoll多路複用器環路(我希望你有)。 –
沒有什麼不對,我只是想看看我有什麼其他的選擇,在讓我的手變髒之前。 –
你似乎已經知道答案,這確實是使用inotify。 – unwind