Linux でプログラムを開発しています。別のアプリケーションが特定のフォルダーの下/フォルダーにファイルを作成/コピーしたことをプログラムで検出する方法はありますか。新しいファイルが作成されるのと同じ速さで検出し、ファイルを処理したいと考えています。
私が調査した限り、inotify を使用してこれを達成できます。より良い代替手段はありますか?
inotify は、Linux カーネルによって提供される適切な API です。あなたのツールキットは、例えばKDirWatch
libkdecore からの利便性を備えているかもしれませんが、それは内部で inotify を使用しています。
プログラムがクロスプラットフォームの場合は、ツールキットから API を使用することをお勧めします。
http://en.highscore.de/cpp/boost/asio.htmlのhttp://www.highscore.de/boost/dir_monitor.zipはクロスプラットフォームの C++ Boost ソリューションですが、まだ試していません。 .
http://boost.2283326.n4.nabble.com/ASIO-file-monitoring-help-td4645105.htmlには、それを使用するコードが間違っています。修正は、作成者が一時的である可能性があると想定したオブジェクトをさらにいくつか作成することです。代わりに永続的です。