![Команда tail не обновляет вывод для отладочных файлов](https://rvso.com/image/623639/%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B0%20tail%20%D0%BD%D0%B5%20%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D1%8F%D0%B5%D1%82%20%D0%B2%D1%8B%D0%B2%D0%BE%D0%B4%20%D0%B4%D0%BB%D1%8F%20%D0%BE%D1%82%D0%BB%D0%B0%D0%B4%D0%BE%D1%87%D0%BD%D1%8B%D1%85%20%D1%84%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2.png)
Я знаю, что tail -f /var/log/messages будет обновляться на экране по мере обновления содержимого файла. Но когда я попробовал то же самое с файлом отладочной файловой системы, это не сработало, есть идеи?
Я попробовал ftrace и попробовал это: tail -f trace - не работает?
Обратите внимание, я могу увидеть реальное содержимое, используя watch -n1 cat trace.
решение1
tail -f
работает с дескриптором файла, а не с именем файла. Если файл перезаписывается или удаляется и создается заново, tail -f
это не отследить.
В GNU Tail есть опция --follow=name
или -F
, которая будет отслеживать имя файла, а не инода/дескриптор файла.