Почему перестает работать менее хвостовой режим?

3250
TREE

С использованием less команды на linux в хвостовом режиме (команда F или менее -f) последовательно прекращает работу на определенных машинах и / или определенных файлах. Новые изменения просто перестают появляться.

Я знаю, что исправил это раньше, давным-давно, но я не помню, какое было решение.

Есть идеи?

11
К вашему сведению, это остается без ответа, потому что рассматриваемый файл * не * был свернут / повернут / воссоздан. TREE 12 лет назад 0
Вы пытались использовать strace, чтобы увидеть, что он (не) делает? Может быть, вы увидите ошибку. wfaulk 14 лет назад 0

4 ответа на вопрос

11
Doug Harris

Попробуйте использовать less --follow-name. Даже если файл имеет одно и то же имя, процесс (ы), обновляющий его, могут делать это таким образом, чтобы изменить его инод, то есть с точки зрения ОС, это новый файл после обновлений.

+1 идеальный ответ, вот почему эта опция была введена. Обратите внимание, что `--follow-name` был введен в версии меньше v415 (http://www.greenwoodsoftware.com/less/news.415.html), выпущенной 15 ноября 2007 года. Таким образом, в старой установке Linux его может не быть. sleske 13 лет назад 0
3
Randy Orrison

Вы просматриваете файлы журналов, которые вращаются с помощью logrotate? Если файл, который просматривает less, переименовывается (например, из log в log.0 с помощью logrotate), less будет продолжать просматривать этот файл, даже если новые записи записываются в другой файл (с исходным именем).

Если это так, попробуйте tail --follow = name [filename] (что заставляет tail периодически открывать файл в случае его переименования). См. Http://www.gnu.org/software/coreutils/manual/html_node/tail-invocation.html. Randy Orrison 14 лет назад 0
Нет, журналы не вращаются. Это тот же файл. TREE 14 лет назад 0
1
brandstaetter

может быть, вы могли бы попробовать tail -f [filename]вместо этого?

С меньшим, вы можете «приостановить свой хвост» (используя Ctrl-c), чтобы перейти к определенной строке и продолжить позже (используя F). Вот почему в некоторых случаях это предпочтительнее, чем "tail -f". dogbane 14 лет назад 4
tail -f работает, но я бы предпочел работать меньше. TREE 14 лет назад 0
Понимаю. Не знал этого. brandstaetter 14 лет назад 0
0
WesternGun

Я делаю less +F --follow-name. --follow-nameпросто отслеживает файл с тем же именем без получения входящих изменений в моем случае (CentOS 7).

На самом деле я создаю псевдоним для этого:

Добавьте эту строку в /etc/profile.d/alias.sh:

alias lf="less +F --follow-name" 

Сохраните и найдите его, чтобы использовать сейчас. . /etc/profile.d/alias.sh

Похожие вопросы