Linuxでテールモード(Fコマンド以下-f)でless
コマンドを使用すると、特定のマシンや特定のファイルでの動作が常に停止します。新しい変更は単に表示されなくなります。
私はずっと前にこれを修正したことを知っていますが、解決策が何であったか思い出せません。
何か案は?
less --follow-name
を使用してみてください。ファイルの名前が同じであっても、ファイルを更新するプロセスは、ファイルのiノードを変更する方法でファイルを更新している可能性があります。したがって、OSの観点からは、ファイルは更新後の新しいファイルです。
Logrotateによってローテーションされたログファイルを表示していますか? lessが表示しているファイルの名前が変更された場合(たとえば、logrotateによってlogからlog.0に)、新しいエントリが(元の名前で)別のファイルに書き込まれていても、lessはそのファイルを監視し続けます。
代わりにtail -f [filename]
を試すことができますか?
私はless +F --follow-name
をします。 --follow-name
は、私の場合(CentOS 7)で受信した変更を受信せずに、同じ名前のファイルを監視するだけです。
実際、私はこれのエイリアスを作成します:
この行を/etc/profile.d/alias.sh
に追加します。
alias lf="less +F --follow-name"
保存して、今すぐ使用するために調達します。 . /etc/profile.d/alias.sh