• 締切済み

Linuxのtail -f で自動スクロールさせた

い TeraTarmでログファイルをtail -fで表示させてますが、ログが書き込まれる度に自動スクロールしてくれません。TeraTarmの設定が悪いのでしょうか。

みんなの回答

  • asciiz
  • ベストアンサー率70% (6821/9700)
回答No.2

TeraTermの設定ではなく、ログを出力する元のプログラム、およびファイルシステムのせいかもしれません。 元のプログラムがログを吐き出すとき、毎回ログファイルをオープン・クローズしているでしょうか? もし、ファイルクローズせずにそのままログを書き出していた場合、書き出しデータが一定量溜まるまで、ファイル書き込みが行われません。(OSによる遅延書き込み機能) そうすると、ファイルが更新されませんから、tail -f 出力にも来ないことになります。 まあ、ファイルオープンしたままでも、ログを一行書き出すごとにバッファフラッシュするように組まれていれば、ファイルが更新され、tail -f の続きが出るようになるはずですが。 実際に、もう一つコンソールを立ち上げ、自分で「tail (logfile)」を何度も実行してみましょう。 たぶん、プログラムが動作していても、tail の出力に変化がなく、少し時間をおいて実行すると内容が変わっているが、そこでまた何度tail表示しても変化がない、みたいな感じになるんじゃないかと思います。

回答No.1

TeraTarmの設定では無いと思いますけど、もしかしたら表示されているログファイルがローテートされていたり別のinodeになっていたりしませんか?「Tail -F ファイル名」だとその辺まで少し考慮してくれます。 あと、ログファイルを表示させているサーバのOS名・バージョンなどもあると回答しやすいかもしれません。

関連するQ&A

専門家に質問してみよう