2

Linux rhel5、カーネル 2.6.18、glibc 2.5-18 で iNotify を使用しようとしています。イベントをワン ショットと定義していませんでしたが、何らかの理由でワン ショットのように動作します。その影響は、各イベントの後にウォッチを再度追加する必要があることです。iNotify を使ったことのある人はいますか? もう 1 つの問題は、イベント オブジェクトで返されるマスクに、IN_ONE_SHOT という 1 つのフラグしか含まれていないことです。

4

2 に答える 2

0

ファイルが削除されているため、inotify が暗黙的にウォッチを削除している可能性があります。この動作は、マニュアル ページで微妙に参照されています(IN_IGNORED イベントのセクションを参照してください)。これが発生しているかどうかは、 への呼び出しによって生成された inotify_event にフラグ IN_IGNORED が設定されているかどうかを確認することで確認できますread

ファイルを変更したり保存したりするときに inotify delete_selfを参照してください。単に変更したと思われるときに、知らないうちに、またはアクションなしでファイルが削除される可能性がある理由を確認してください。

于 2012-12-06T13:11:48.997 に答える
0

できる限り最小の例を書き、それをテストします。あなたが話している動作を示している場合は、質問に追加してください。正常に動作する場合は、コードをもう少し追加して、もう一度テストしてください。エラーが再現されるか、コードが機能するようになるまで繰り返します。多くの場合、おもちゃのプログラムを作成すると、より大きなプログラムでは見られなかった間違ったことを正確に知ることができます。

于 2009-05-18T14:14:29.087 に答える