4

特定の数のログ ファイル (いつでも変更できます) を監視して、単語が構造体にある場合に «forbidden» という単語が含まれているかどうかを確認する必要があります。実装中に、実装を行うための最良の方法について疑問があります。

  1. 監視するファイルのリストを分析するプロセスを用意し、ファイルに変更があったことを確認するたびに、「禁止」という単語が含まれているかどうかを確認するプロセスを送信することは良い考えでしょうか?
  2. ログ ファイルとして、変更は最終的にのみ行われたため、ファイルが変更されたかどうかを確認するには、サイズも変更されたかどうかを確認する必要があります。«アクティブな待機» を行う:
While(1)
 if (“old size!= new size”)
  send process run for this file to see if contains some words “forbidden”.

誰かが私にいくつかのアイデアを与えて、私がやっていることはどういうわけか間違っているかどうか教えてもらえますか?

4

1 に答える 1

0

これはless、単一のファイルの場合と非常によく似ています。を使用straceして、何が行われるかを少し覗き見しましlessた。開いているファイル記述子を保持しているように見えます。その後、ループで 1 秒間スリープし、さらに入力を読み取ろうとします。監視するログ ファイルが多すぎない場合 (そして、それぞれのログ ファイルに対して開いているファイル記述子を保持してもかまわない場合) は、おそらくこの方法を使用できます。

于 2012-05-26T17:35:58.157 に答える