私の目的:モニターがプログラムをブロックすることなく、代わりにループの一部を形成する(したがって、順次チェックする)テキストファイルの変更を監視すること。
私の考えでは、iNotify をノンブロッキング モードで実行する方法を見つけるか、iNotfiy をスレッド化してください。
非ブロッキングの方法を試し、次のコマンドを使用して iNotify インスタンスの O_NONBLOCK を無効にしました。
fcntl (fd, F_SETFL, fcntl (fd, F_GETFL) | O_NONBLOCK);
ただし、これを行うと、次のことを試みます。
length = read(fd, buffer, BUF_LEN);
読み取りのために、リソースが一時的に利用できないと私に言い続けます。
私がやりたいことを達成する方法について、誰かが私にいくつかのヒントを教えてもらえますか? このメソッドである必要はありませんが、Web サーバーでテキスト ファイルを編集していて、変更を C++ プログラムに読み込んで変数を更新したいので、この機能が必要です。
前もって感謝します!