在运行时间较长的系统上,我通常会使用一个带有

$ tail -f /var/log/kern.log


或类似这种打开方式的终端。

但是我有时需要重新启动该命令,因为不再显示新消息。

我认为这是因为替换日志文件tail -f的日志轮换作业正在“监视”。

如何我可以避免这种重新启动的问题吗?

我可以调用tail以便它注意到旋转过程并且做对了吗?

(我在Ubuntu 11.04系统上注意到了此问题默认使用rsyslogd。)

评论

相关:unix.stackexchange.com/questions/196168/…

#1 楼

使用-F选项代替:

tail -F /var/log/kern.log


-F选项告诉tail按文件名跟踪对文件的更改,而不是使用在旋转期间更改的inode编号。如果文件不存在,它也会继续尝试打开文件。

评论


太好了,是的,我是。 (仅作记录,这是一个GNU tail选项-当然,在Ubuntu上默认是GNU tail)。

–maxschlepzig
2011-10-16 15:51

您是对的:-/我没有注意到您提出的Ubuntu仅是一个例子。

– andcoz
2011年10月16日17:08

根本不是问题-我只是评论完整性(有时我只想看看什么是POSIX,什么不是)。问题的确与Ubuntu有关。

–maxschlepzig
2011-10-16 18:22

tail -F /var/log/kern.log是否等效于tail -f --follow = name --retry /var/log/kern.log?

–巴吉
17年9月15日在13:03

@Basj-根据man7.org/linux/man-pages/man1/tail.1.html等效

– andrej
18年8月9日在17:43