tailコマンドを自動的に終了する方法

tailコマンドを自動的に終了する方法

tail -q -f -n +1 [file name]私のアプリケーションは、ファイル(動的に増加するファイル)の現在のデータを読み取り、最後に新しいチャンクを読み続けるために使用します。ただし、コマンドは終了しません。バックグラウンドで生き続けています。

ファイルに追加して終了するにはどうすればよいですか?

答え1

要点tail -fは、新しいデータが入力ファイルまたはストリームに表示されるまで永遠に待機することです(tail -F入力ファイルが回転したことを自動的に検出し、ファイル名を再度開くこともできます)。

それよりも素敵なことをしたい場合は、自分で書く必要があります。起動後にX秒を終了する必要がある場合は、tailラッパースクリプトまたは関数を使用してcoreutilstailで実行できます。timeout

より複雑なものが必要な場合(たとえば、特定のパターンが一致したときに終了したり、X秒後に新しいテキストが表示されなかったり、他のプログラムが終了したり、システムプロセスのリストに表示されなくなったり)、独自のバージョンを作成できますtail。はい、Perlを使ってファイル::尾基準寸法。このモジュールは、ログファイルを監視し、特定のパターンが見つかった場合に特定のアクションを実行する監視スクリプトを作成するのに役立ちます。

他の言語にも同様の機能があります(例:Pythonの場合を参照)。tailと同様に、ファイルの最後のn行を取得します。)。 Bashで何かをハックすることもできますが、そうすることで結果が悪くなり、より多くの作業が必要になることはほとんど確実です。

関連情報