2011-11-22 19 views
5

Linuxでいくつかのプロセスが実行中のログファイルを監視しようとしています(ログエントリが発生したときに一緒にグループ化される) )。現在、私は、ログに記録されているファイルを開いて、inotify(またはラッパー)をポーリングして、それ以上ファイルを読み込めるかどうかをチェックしています。ログファイルを監視する良い方法はありますか?(linux/python)

これを行うにはもっと良い方法はありますか?おそらく、ファイルの読み込み/変更を抽象化したライブラリがありますか?

+0

'select()'を使ってみましたか? – hochl

+0

おそらく、更新またはポーリングの修正時間が最適な賭けです。 –

+0

@hochl 'select'は、ファイルディスクリプタが読み書きできるかどうかをチェックしますが、ディスクリプタ(主にソケットの場合があります)が"ソース "を変更しているかどうかをチェックしません。 –

答えて

0

あなた自身で行う場合は、次のようなことが考えられます。ファイルの変更を検出した場合は、ファイルのサイズを取得します。前回よりも大きい場合は、直前の「最後」の位置(前のサイズ)に移動してそこから読み取ることができます。

3

"tail -f"で十分ではないのはなぜですか? popenとパイプを使ってこれをPythonから処理することができます。

関連する問題