为什么无尾模式停止工作?

为什么无尾模式停止工作?

在 Linux 上以 tail 模式使用该less命令(F 命令或 less -f)始终会在某些机器和/或某些文件上停止工作。新的更改会停止显示。

我知道我很久以前就修复过这个问题,但我不记得解决方案是什么。

有任何想法吗?

答案1

尝试使用less --follow-name。即使文件具有相同的名称,更新它的进程也可能会以更改文件 inode 的方式进行更新 - 因此从操作系统的角度来看,更新后它是一个新文件。

答案2

您是否正在查看由 logrotate 轮换的日志文件?如果 less 查看的文件被重命名(例如,通过 logrotate 从 log 重命名为 log.0),less 将继续监视该文件,即使新条目被写入另一个文件(使用原始名称)。

答案3

也许你可以尝试tail -f [filename]一下?

答案4

是的less +F --follow-name--follow-name只是监视同名文件,而没有在我的情况下接收传入的更改(CentOS 7)。

实际上我为此创建了一个别名:

添加此行/etc/profile.d/alias.sh

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

保存并获取它以供现在使用。. /etc/profile.d/alias.sh

相关内容