テールモードが少なくなるのはなぜですか?


11

使用するlessテールモード(Fコマンド以下-f)にLinux上のコマンドは、一貫して特定のマシンおよび/または特定のファイルで作業を停止します。新しい変更は表示されなくなります。

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

何か案は?


straceを使用して、何をしているか(していないか)を確認しようとしましたか?エラーが表示される場合があります。
wfaulk

問題のファイルがされたためFYI、これは未解決のままではない /回転/再作成巻かれています。
TREE

回答:


12

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


完璧な答えを+1してください。だからこそ、このオプションが導入されました。これ--follow-nameは、2007年11月15日にリリースされたless v415(greenwoodsoftware.com/less/news.415.html)で導入されたものです。したがって、古いLinuxインストールにはない場合があります。
-sleske

3

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


この場合、tail --follow = name [filename]を試してください(ファイル名が変更された場合、tailは定期的にファイルを再度開きます)。gnu.org/software/coreutils/manual/html_node/…を
ランディオリソン

いいえ、ログは回転していません。同じファイルです。
ツリー

1

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


4
少ない場合は、「Ctrl-cを使用して」「テールを一時停止」して、特定の行に移動し、後で再開できます(Fを使用)。そのため、場合によっては「tail -f」よりも優先されることがあります。
dogbane

tail -fは動作しますが、より少ない範囲で動作することを望みます。
ツリー

そうですか。それを知りませんでした。
brandstaetter 2009年

0

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

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

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

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

保存して、すぐに使用できるようにソースを作成します。 . /etc/profile.d/alias.sh

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.