問題タブ [inotifywait]

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 に答える
1304 参照

python - Python、サブプロセス、パイプ、選択

subprocess.Popen を介して起動され、subprocess.PIPE を介して接続された他のプログラムの出力を継続的に読み取る python プログラムがあります。

私が直面している問題は、起動したプログラムからの出力のかなりの部分が時々失われることです。

たとえば、パイプを介して inotify イベントを監視すると、inotifywait多くのイベントが失われます。

これは関連する機能です:

コマンドinotifywait -q -r -m --format %e:::::%w%f /opt/fileserver/ > /tmp/log1を実行し、(inotify イベントを生成するために) ファイルを移動すると、8000 行を超えるファイルが生成されます。一方、my を使用./pscript.py > /tmp/log2すると、約 5000 行のファイルが得られます。

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

bash - inotifywait を使用した BASH でのイベントのトリガー

ログ ファイルを監視しています (これは PBX キュー ファイルで、通話が着信したときに書き込まれ、発信者が電話を切ったかどうかなど、通話に何が起こったかの結果です)

ここに私が持っているものがあります:

ここで、スクリプトを実行すると、監視が正常に設定され、変更/終了が検出されます (MODIFY と CLOSE_WRITE の両方を試しましたが、どちらも機能します)。

しかし、イベントは決してトリガーされません (私は inotify スクリプトの外で PHP スクリプトをテストしましたが、それらは見事に実行されます)

監視されているファイルを手動で実行すると、成功し、次のフレーズが見つかります。

ここで何が欠けているのですか?

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

linux - Linux 上のフォルダーの変更を監視するために、expect と inotifywait を使用する

私はもともと、PC に USB スティックを挿入したときに実行されるスクリプトと、それが取り外されたときに実行される別のスクリプトが必要でした。ドライブがマウントされたときにフォルダーを監視できる inotifywait を使用すると、探していた CREATE,ISDIR myfolder 出力が得られるため、これを使用して実際に外部スクリプトをトリガーすることは、私のプログラミング スキルを少し超えています。 EXPECT を見てきましたが、自分のタスクをどのように達成できるかわかりません。基本的には、以下に示すフローに従う期待スクリプトを作成する必要があると思います

これを行うにはもっと簡単な方法があるかもしれませんが、私はいたるところを精査し、あらゆる種類のさまざまな組み合わせを試しました。一言で言えば、特定のフォルダーが作成されたときにスクリプトを実行し、削除されたときに別のスクリプトを実行したいのですが、これを行う簡単な方法は?

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

linux - fswatchに何かをさせたファイルパスを出力する方法

fswatchを使用して、ファイルが変更されたときにいくつかのアクションを実行します。次のコマンドを使用します。

いくつかのファイルを変更すると、ターミナルに次のように表示されます。

しかし、どのファイルが実際にアクションを引き起こしたのかも疑問です。そこで、fswatch の man ページを確認したところ、次のように表示されました。

しかし、言ったように、端末に何もリストされていません。「現在のイベントの影響を受けるパス」を表示する方法を知っている人はいますか?

すべてのヒントは大歓迎です!

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

linux - inotifywait を使用して 2 つのファイルを並行して処理する

私は使っている:

フォルダーのファイルの完成を監視してから、別のフォルダーに移動します。

ファイルはペアで作成されますが、別々の時間に作成されます。つまり、File1_001.txt は午後 3 時に作成され、File1_002.txt は午後 9 時に作成されます。両方のファイルの完了を監視してから、スクリプトを起動したいと考えています。

そのため、別の inotifywait コマンドまたは別のユーティリティが必要です。これにより、両方のファイルが存在し、完了したことを確認してから、スクリプトを開始することもできます。

この問題を解決する方法を知っている人はいますか?

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

shell - シェルスクリプトでinotifywaitを使用してファイルの名前変更を監視する方法

フォルダーを監視するには、inotifywait を使用する必要があります。そのフォルダーに入るファイルは非常に大きくなる可能性があるため、close_write を使用してファイルの書き込みが完了するのを待ちます。ただし、同じフォルダーの下でファイルの名前が変更されたときにもイベントがトリガーされるようにします。では、ファイルの名前変更のためにどのイベントを監視する必要がありますか? inotifywait のマニュアル ページを見ましたが、探しているものが見つかりませんでした。inotify IN_MOVED_TO イベントが必要なようですが、それは inotifywait ではありません。

私もmoved_toを試しましたが、最初に、ファイルの名前が変更されたときにイベントをトリガーしませんでした。次に、close_write とmoved_to の両方がある場合、ファイルが非常に大きい場合に close_write がトリガーされる前に、moved_to がトリガーされる可能性があります。ありがとう。