[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#9266: tail -F does not follow through symlinks
From: |
Jim Meyering |
Subject: |
bug#9266: tail -F does not follow through symlinks |
Date: |
Tue, 09 Aug 2011 18:28:30 +0200 |
Bart Vanhaute wrote:
> When I use tail -F to follow a file that is a symlink to another file,
> and that second file gets replaced, tail no longer follows the new
> file. I am not sure if this scenario is actually supported, but the
> current behaviour is unexpected to me.
>
> Detailed scenario to reproduce:
>
> in one terminal:
> $ ln -s f a
> $ touch f
> $ tail -F a
>
> in another terminal:
> $ mv f f.0
> $ echo 'hello' > f
>
> The output in terminal one will show
> tail: `a' has become inaccessible: No such file or directory
> but it will not show the 'hello' message.
>
> I am using coreutils version 8.5 on debian sid (linux kernel version
> 3.0.0), but I noticed the same behaviour in coreutils version 8.9 on
> opensuse (linux kernel version 2.6.37).
Thank you for the report.
That is indeed a difference in behavior from
the way tail works without inotify support.
If you want the old behavior (though there is no guarantee this
option will be around forever -- it's deliberately not documented),
use tail's ---disable-inotify option. Note the three leading '-'s.
Another work-around is to use readlink to give tail
an absolute name for the file:
tail -F "$(readlink -e a)"
Regarding tail's behavior change, we'll have to investigate
if/how to address it.