我有log.file
一个日志文件的内容尾-f日志文件没有显示新添加的条目
123
123
321
312
123
412
151
我已经做了tail -f log.file
。在其他会话中,我打开了相同的日志文件并添加了更多值。我的假设是tail -f log.file
应显示新附加的值,但未显示。
我有log.file
一个日志文件的内容尾-f日志文件没有显示新添加的条目
123
123
321
312
123
412
151
我已经做了tail -f log.file
。在其他会话中,我打开了相同的日志文件并添加了更多值。我的假设是tail -f log.file
应显示新附加的值,但未显示。
这取决于你如何打开文件并追加。你必须确保改变发生 “到位”
这将工作:
echo >> logfile
这不会:
vi logfile
为什么不呢? vi
相当于:
mv logfile logfile~
echo >> logfile
命令序列后,tail -f
将遵循logfile~
;它不会看到新创建的文件。
发生这种情况是因为tail
不遵循名称;它遵循文件描述符,该名称在名称更改时不会更改。这种方法允许Unix各种巧妙的技巧(如echo
附加到文件,而tail
已打开)。
tail -F
会工作,因为它注意到该文件已重命名。
请回答,并把-1 – user60679
你保存在其他会话中的文件? – Nishant
是的,我做到了。我已经注意到更多的行为,如echo'aaaa'>> logfile反映了尾部-f日志文件输出,但在vi编辑器中我写过(:w)它没有反映在尾部-f日志文件 – user60679