私はここで例を微調整して、ファイルの「変更」を繰り返し監視するようにしています。私のコードはここにあります。私のテストでは、inotify通知は、ファイルが「変更された」(つまりtouch
「編集された」)ときにのみ発生します。その後のファイルへの変更によって、通知が発生することはありません。stat
'Modify'時間が変更されたことを示します。また、コードを変更してウォッチを削除し、通知が発生するたびに再追加する(つまり、移動inotify_add_watch
してサンプルのループinotify_rm_watch
内に入れる)ことは、この問題の解決に役立ちませんでした。while(1)
ここの誰かが私が間違っているかもしれないことを助けることができるかどうか疑問に思いました。また、の時計を追加しましたがIN_ALL_EVENTS
、本当に気になるのはIN_MODIFY
イベントだけです。それが違いを生むかどうかはわかりません。
また、このユースケースは機能しませんか?代わりにディレクトリを監視するようにアプローチを変更する必要がありますか?ご意見をお聞かせください。
TIA。
編集1:themelが指摘したように、処理にi
はいくつかの修正が必要でした。ただし、修正バージョンでさえ、後続のファイルシステムの「イベント」に対して通知を発行していません。また、ファイルではなくディレクトリにウォッチを追加すると、同様の非決定論的な動作が見られます。
編集2:この回答に基づいてこのasio+inotifyの例を機能させたいと思います。残念ながら、その例は私にはまったく機能していません。どんな助けでも大歓迎です。TIA。