問題タブ [inotify]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - Cヘッダーをinotify
だから私はinotifyを使用するCプログラムを書こうとしています。私は以前にpyinotifyを使用したことがあるので、それがどのように機能するかを理解しています。しかし、私はいくつかのガイドに従っていて、それは私に含めるように言っています<linux/inotify.h>
。問題は、このヘッダーにはマクロ定義のみがあり、関数のプロトタイプは含まれていないことです。関数はでプロトタイプ化されているよう<sys/inotify.h>
です。
linux/inotify.h
私の質問はとの違いは何sys/inotify.h
ですか?なぜ両方があるのですか?
linux - Linuxで誰もファイルに書き込んでいないことを検出する方法は?
別のエンティティが特定のファイルを書き込み用に開いているかどうかを簡単に確認する方法はありますか? iNotify を継続的に使用して、現在のライターが書き込みを完了するのを待つ時間はありません。断続的なチェックを行う必要があります。ありがとう。
c++ - inotify を使用した監視ファイル
inotify を使用してローカル ファイルを監視しています。たとえば、"/root/temp" を使用しています。
このファイルを削除すると、プログラムはread(fd, buf, bufSize)
機能によってブロックされます。新しい「/root/temp」ファイルを作成しても、プログラムは読み取り機能によってブロックされたままです。監視対象のファイルが作成されたことをinotifyが検出でき、読み取り機能がfdから何かを取得して、読み取りが永久にブロックされないようにすることができるかどうか疑問に思っています。これが私のコードです:
私はすべてのイベントを監視しました。
c++ - ファイルを削除して再度作成すると、inotify がファイルの監視を停止する
inotify の使用中に問題が発生しました。ファイルの変更を監視するために inotify を使用しています。これが私のコードです:
「/root/temp」を削除してそのようなファイルを再作成すると、このファイルへの変更は inotify によって監視されません。ありがとう。
チェン
macos - OS X でファイル IO が閉じているかどうかを確認する
OS Xでイベントをトリガーしたい-コマンドラインまたはObj-Cからの可能性があります-特定のファイルでIOが閉じられたとき(ファイルが変更されたのではなく)。
Linux ではこれは簡単です。inotify は IN_CLOSE_WRITE イベントを提供します。
しかし、OS X FSEvent では、あるディレクトリの下での変更のみを通知します。IO が完了しているかどうかについての情報を提供しているようには見えません。
linux - inotifyを使用すると、ディスク上のどこにあるかに関係なく、特定の名前拡張子を持つすべてのファイルを監視できますか?
inotifyを使用すると、ディスク上のどこにあるかに関係なく、特定の名前拡張子を持つすべてのファイルを監視できますか?たとえば、デバイス上のさまざまなディレクトリにあるすべての*.mp3ファイルを監視する場合です。出来ますか?
どうもありがとう!アマンダ
perl - Perl Linux::Inotify2-イベントに応答できなくなりました
Linux :: Inotify2モジュールを使用して、新しく作成されたファイルのディレクトリを監視すると、非常に奇妙な動作が発生します。
私はそれがどのように機能するかを確認するためにテストスクリプトを作成しました、そしてそれが行われると、私はそれが機能しなかった他のスクリプトにその使用法を組み込むことに進みました。次に、以前のテストスクリプトをもう一度試し、情報を見つけたところ、奇妙なことに、それも機能しなくなりました。それ以来、機能していません。その間、パッケージ/ディストリビューションのアップグレードはありませんでした。
問題は、イベントへの応答が停止していることです。テストスクリプトは次のとおりです。
実行中のスクリプトのstraceにより、スクリプトが強制終了されます。それ以外の場合、スクリプトの開始時にstraceを使用すると、新しいイベントを読み取ったように見えますが、それらのイベントへの応答はありません。これをさらにデバッグするための提案はありますか?
c - Wi-Fi接続がある瞬間をキャッチ
私はそのようなステップに従うプログラムを書く必要があります:
- プログラム開始(デーモン)
- Wi-Fi接続が確立するまで(スリープ、ブロック)待ちます
- サーバーからデータを送受信する
- Wi-Fi接続がダウンするまで待ちます
- 後藤2
手順2の問題。ネットワーク接続が確立された瞬間を捉える方法がわかりません。利用可能なワイヤレス接続に関する情報が表示される場所がありますが/proc/net/wireless entry
、inotifyで監視しようとしても成功しません。ネットワーク接続は非同期で確立されます。
これがinotifyを使った私のテストコードです(主にR.Lovesの本からコピーされました):
私がするときだけそれはeverntを捕まえますcat /proc/net/wireless
質問:Linux機能のみを使用してネットワーク接続(wifi)を実行しているときに、瞬間を捉えるにはどうすればよいですか?
PSこれはここでの私の最初の投稿です、すべてが大丈夫であることを願っています。
build - inotifyのようなメカニズムに基づくビルドツールはありますか
昔ながらのプロジェクトを使用している比較的大きなプロジェクトではmake
、何も変更されていないときにプロジェクトをビルドする場合でも、数十秒かかります。特に、の多くの実行でmake -C
は、新しいプロセスのオーバーヘッドがあります。
inotify
この問題の明らかな解決策は、OSのような機能に基づくビルドツールです。特定のファイルが変更されたときにそれを監視し、そのリストに基づいて、このファイルのみをコンパイルします。
そこにそのような機械はありますか?オープンソースプロジェクトのボーナスポイント。
c - inotifyでreadを使用する
私はinotify呼び出しを研究してきましたが、読み取りインターフェイスに関してはまだ少し不安定です。これらは、read(2)を使用してinotifyと適切にインターフェイスする方法に関して私が見つけた最も関連性の高いリソースです。
- http://www.ibm.com/developerworks/linux/library/l-ubuntu-inotify/index.html
- http://www.linuxjournal.com/article/8478
どちらも同じ方法で実装し、最初に次のサイズを定義します。
そして、彼らはこれらを次のように使用します。
struct inotify_event
これで、名前がの一部であり、長さが可変であることがわかりました。では、バッファ内の最後のinotify_eventを切り捨てることはできませんでしたか?
パスが16バイトのinotify_eventsが1023個あり、パスが32バイトのinotify_eventsが10個あるとします。それではどうなりますか?後で切り捨てられますか?または、カーネルはそれがバッファに収まらないことを認識し、すべてをそのままにしますか?