web-dev-qa-db-ja.com

なぜテールモードが機能しなくなるのですか?

Linuxでテールモード(Fコマンド以下-f)でlessコマンドを使用すると、特定のマシンや特定のファイルでの動作が常に停止します。新しい変更は単に表示されなくなります。

私はずっと前にこれを修正したことを知っていますが、解決策が何であったか思い出せません。

何か案は?

11
TREE

less --follow-nameを使用してみてください。ファイルの名前が同じであっても、ファイルを更新するプロセスは、ファイルのiノードを変更する方法でファイルを更新している可能性があります。したがって、OSの観点からは、ファイルは更新後の新しいファイルです。

12
Doug Harris

Logrotateによってローテーションされたログファイルを表示していますか? lessが表示しているファイルの名前が変更された場合(たとえば、logrotateによってlogからlog.0に)、新しいエントリが(元の名前で)別のファイルに書き込まれていても、lessはそのファイルを監視し続けます。

3
Randy Orrison

代わりにtail -f [filename]を試すことができますか?

1
brandstaetter

私はless +F --follow-nameをします。 --follow-nameは、私の場合(CentOS 7)で受信した変更を受信せずに、同じ名前のファイルを監視するだけです。

実際、私はこれのエイリアスを作成します:

この行を/etc/profile.d/alias.shに追加します。

alias lf="less +F --follow-name"

保存して、今すぐ使用するために調達します。 . /etc/profile.d/alias.sh

0
WesternGun