問題タブ [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.

0 投票する
1 に答える
2103 参照

python - ディレクトリを監視するための pyinotify インスタンスの実装に関する質問

pyinotify に関するいくつかの基本的な質問がありますが、他の場所では答えが見つからないようです。

1) 継続的なディレクトリ モニター (およびイベント プロセッサ) の場合、while( True ) ループが必要ですか、それとも通知ウォッチによって処理され、ウォッチを削除すると終了する継続的なイベント「ループ」ですか?

2) inotify インスタンスが「オン」になっているときにファイルが既に存在しているとどうなりますか? 最初は IN_CREATE を監視したいだけですが、これは既存のファイルを処理しません。

3) #2 と同様に、イベント プロセッサ機能の実行中にファイルが作成された場合はどうなりますか? pyinotify はそれをそのキューにキャッシュし、「ループ」が再び開始されたときに処理しますか、それともこのイベントを失いますか?

0 投票する
1 に答える
1069 参照

python - 外部で作成されたファイルからのpythonpyinotifyイベント

マウントされたネットワークドライブ(CIFSでマウントされている)でIN_WRITE_CLOSEイベントを監視しているpyinotifyインスタンスがあります。これは、サーバー自体がファイルをこのディレクトリに配置した場合に、システムで作成されたイベント(sudo cp、sudo mvなど)を問題なく取得します。

ただし、このネットワークドライブ上で別のサーバーとプログラムによって作成されたファイルのイベントを取得したいと思います。

何らかの理由で、私のinotifyインスタンスはこれらのイベントを認識していません...これは正常な動作ですか、それともコードに何か問題がある可能性がありますか?これが正常な動作である場合、それを回避する方法はありますか、またはこれらのイベントを収集するためにinotify以外の別の監視ツールを見つける必要がありますか?

アップデート

@Cedricの回答によると、マウントポイントをNFSに変更しましたが、それでもイベントが発生しません。

0 投票する
9 に答える
78213 参照

linux - Linuxでの変更について完全なディレクトリツリーを監視するにはどうすればよいですか?

Linux(ext3ファイルシステム)の変更についてディレクトリツリー全体を監視するにはどうすればよいですか?

現在、ディレクトリには、3つのディレクトリレベルで編成された約3,000のサブディレクトリに約50万のファイルが含まれています。

それらはほとんどが小さなファイルです(<1kb、いくつかは最大100kb)。これは一種のキューであり、ファイルが作成、削除、またはその内容が変更されてから5〜10秒以内にいつ行われるかを知る必要があります。

inotifyと並べ替えがあることは知っていますが、AFAIKは単一のディレクトリのみを監視します。つまり、私の場合は3,000個のinotifyハンドルが必要になります。これは、単一のプロセスで許可される通常の1024個のハンドルよりも多くなります。それとも私は間違っていますか?

Linuxシステムが必要なものを教えてくれない場合:ファイルシステムをシミュレートし(実際のファイルシステムですべてのファイルアクセスを複製する)、すべての変更を個別にログに記録するFUSEプロジェクトがありますか(うまくいきませんでした)?

0 投票する
2 に答える
470 参照

inotify - inotifytools のバグ

ディレクトリを再帰的に監視するために inotifytools を使用しています。次のコマンドを使用すると

inotifywait ./test -m

コマンドの後、 の下にディレクターを作成すると./test./test/test2. 次にtest2、たとえばファイルを削除したり、ファイルを追加したりすると、イベントが発生しなかったのは非常に奇妙です。

に時計がないようtest2です。

それはバグですか、それとも間違った方法で使用しているだけですか?

0 投票する
0 に答える
723 参照

c++ - inotify でスレッドを作成する方法 - しなければなりませんか?

フォルダーを監視する次のコードがあります。

フォルダーを監視しています。このフォルダーが継続的にアクセスされる場合、スレッドを作成する必要がありますか? また、このコードで継続的に実行されるプロセスを作成するにはどうすればよいですか? ファイルを実行しているプロセスで実行されていることを確認したいと思います(cpu-コマンドライントップ)。

助けが要る。感謝!!

コードは次のとおりです。

私のコードを修正して投稿していただけますか。

0 投票する
1 に答える
828 参照

python - pyinotifyを使用してディレクトリにスプールを作成する最良の方法は何ですか?

作成時にディレクトリ内のすべてのファイルを別のファイルに移動しようとしています。デーモン(実行中のpyinotifyインスタンス)をきれいに停止でき、元のファイルが引き続きorig/spoolディレクトリに作成される可能性があります。

デーモンの再起動後に処理したい。たぶん私はinotifyカーネルキューを利用できますか?

前もって感謝します

0 投票する
1 に答える
712 参照

c++ - inotifyに反応してイベントを出力するプログラム

私はUbuntuで働いています。フォルダを監視し、サブフォルダにポップアップするすべてのイベントを印刷したい(印刷ファイル)。次のコードがありますが、機能しません。実行されると、イベントのprintlnはありません。

2番目のコードでは、フォルダーからのイベントのみが表示されます。各サブフォルダーからのイベントはポップアップしません。

このコードは、監視しているフォルダーからのイベントのみを出力します。各サブフォルダーからのイベントは出力されません。自分のニーズに合わせて改善する方法がわかりません。

0 投票する
5 に答える
9962 参照

c++ - それを行う方法を再帰的に inotify しますか?

複数のサブフォルダーがあるフォルダーのイベントを印刷する必要があります。再帰的に行う方法は?C++ コードを印刷してください。私は立ち往生しています!イベントがポップされるたびに、サブフォルダーを開き、ファイルを取得して別のディレクトリにコピーする必要があります。2秒ごとにすべてのサブフォルダーを一覧表示して、ファイルがあればそれを見つけたくありません。効率的ではありません。監視フォルダーを使用する必要があります。助けてください

監視したいディレクターには複数のサブフォルダーがあります。各サブフォルダーには、ファイルを一時的に格納できる別のサブフォルダーがあります。MainFolder -> Subfolders -> 各サブフォルダー -> サブフォルダー -> ファイル。

彼が今持っているコードは次のとおりです。

0 投票する
0 に答える
287 参照

xml - RabbitMQとロック

非常に頻繁に発生するイベント(リアルタイムのスポーツスコアフィード)に基づいて、FTP経由で配信されているXMLファイルがたくさんあります。ファイルを前処理するスクリプトを開始するために、ファイルモニターとしてinotifyを使用することを計画しています。次に、このプリプロセッサはメッセージを適切なキューに送信します。このキューで、サブスクライバーは最終的にファイルを処理し、データをDBに保存します。私がまだ理解していないことの1つは、ファイルがディスクへの書き込みを完了していない場合にキューのロックをシミュレートする方法です。inotifyデーモンには、ファイルの書き込みが完了したときに通知するフラグがあります。この状況にどのように対処するかについて誰かが何か提案がありますか?私はこれを正しい方法で考えていますか?ディスクへの書き込みが完了する前にファイルの処理が開始されないようにする必要があります。また、

前もって感謝します。

0 投票する
1 に答える
576 参照

c++ - C/C++ (Linux) で inotify を使用して複数のファイルを「テーリング」(競合状態?)

inotify を使用して C/C++ で複数のファイルを追跡する場合、ファイルの最後まで読み取るときに競合状態が発生するリスクはありますか?その後、ポーリングを開始する前にファイルが書き込まれますか?

関連するコードは次のように始まります。

ポーリング機能は、ファイルが変更された場合にのみ返されますか? では、次のシーケンスが発生した場合はどうなるでしょうか。

  1. ポーリング リターン シグナリング ファイルが追加されました
  2. ファイルの最後まで読んだ
  3. 次に、ファイルが追加されます
  4. それから私は投票を開始します

ファイルがもう一度追加されるまで立ち往生しますか? inotify_add_watch 関数はファイル名しか受け取らないため、どこで「中断」したかわかりませんか?