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


11

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

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

Есть идеи?


Вы пытались использовать strace, чтобы увидеть, что он (не) делает? Может быть, вы увидите ошибку.
wfaulk

К вашему сведению, это остается без ответа, потому что рассматриваемый файл не был свернут / повернут / воссоздан.
TREE

Ответы:


12

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


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

3

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


Если это так, попробуйте tail --follow = name [filename] (что заставляет tail периодически открывать файл в случае его переименования). См. Gnu.org/software/coreutils/manual/html_node/…
Рэнди Оррисон,

Нет, журналы не вращаются. Это тот же файл.
TREE

1

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


4
С меньшим, вы можете «приостановить свой хвост» (используя Ctrl-c), чтобы перейти к определенной строке и продолжить позже (используя F). Вот почему в некоторых случаях это предпочтительнее, чем "tail -f".
Dogbane

tail -f работает, но я бы предпочел работать меньше.
TREE

Понимаю. Не знал этого.
брэндстеттер

0

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

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

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.