Я хочу, чтобы tail -f
файл, но собираюсь хвост после mv
.
Man- страница хвоста говорит мне: -f
означает --follow=descriptor
поэтому mv
не должен изменять inode?
Почему tail -f
перестает работать после переименования?
При чтении « tail
источников кажется, что при чтении переименованного файла происходит сбой, но при мониторинге состояния файла происходит сбой.
Точнее, похоже, что tail
ведет себя так (упрощенно):
inotify
, чтобы быть замеченным, когда что-то происходит с файлом;Когда вы перемещаете файл, inotify
информирует tail
, который в свою очередь решает удалить файл из списка отслеживаемых файлов. Кажется, это сделано намеренно, хотя мне не ясно, почему это так (и я ожидаю, что он продолжит следить за файлом после переименования). Соответствующие строки , как представляется, это.
Итак, проблема не в основной операционной системе Linux, а в том, как tail
обрабатывает переименование файлов.