我想提交tail -f
文件,但在mv
.
尾部手册页告诉我:-f
手段--follow=descriptor
因此mv
不应该改变的inode?
为什么tail -f
重命名后停止工作?
读取tail
源代码,看起来它在读取重命名的文件时没有失败,但在监视文件状态时失败。
更准确地说,tail
似乎表现为这种(简化的)方式:
inotify
监视,以便在文件发生问题时被注意到;当您移动文件时,inotify
通知tail
,后者决定从受监视文件列表中删除该文件。这似乎是故意的,尽管我不清楚为什么会这样(我希望它在重命名后继续监视文件)。相关的行似乎是这些。
因此,问题不在于底层 Linux 操作系统,而在于tail
处理文件重命名的方式。