Чому менше хвостового режиму перестає працювати?


11

Використання lessкоманди на Linux в хвостовому режимі (команда F або менше -f) послідовно припиняє роботу на певних машинах та / або певних файлах. Нові зміни просто перестають з’являтися.

Я знаю, що я це виправляв раніше, давно, але не пригадую, яке рішення було.

Будь-які ідеї?


Ви спробували скористатися strace, щоб побачити, що це (не) робить? Можливо, ви побачите помилку.
wfaulk

FYI, це залишається без відповіді, оскільки відповідний файл не прокручувався / не повертався / відтворювався.
ТРЕЙ

Відповіді:


12

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


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

3

Ви переглядаєте файли журналів, які обертаються логротатом? Якщо файл, який менше переглядає, перейменований (наприклад, з журналу в log.0 від logrotate), менше буде продовжувати перегляд цього файлу, навіть якщо нові записи записуються в інший файл (з оригінальною назвою).


Якщо це так, спробуйте tail --follow = name [ім'я файлу] (що призводить до того, що хвіст періодично повторно відкриває файл у випадку його перейменування). Дивіться gnu.org/software/coreutils/manual/html_node/…
Ренді Оррісон

Ні, колоди не обертаються. Це той самий файл.
ТРЕЙ

1

можливо, ви могли б спробувати tail -f [filename]замість цього?


4
Якщо менше, ви можете "призупинити свій хвіст" (використовуючи Ctrl-c), щоб перейти до певної лінії та відновитись пізніше (використовуючи F). Ось чому в деяких випадках віддається перевага над «хвостом -f».
dogbane

хвіст - це працює, але я вважаю за краще працювати менше.
ТРЕЙ

Я бачу. Не знав цього.
brandstaetter

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.