¿Por qué deja de funcionar el modo menos cola?


11

El uso del lesscomando en Linux en modo de cola (comando F o menos -f) deja de funcionar de manera consistente en ciertas máquinas y / o ciertos archivos. Los nuevos cambios simplemente dejan de aparecer.

Sé que lo solucioné antes, hace mucho tiempo, pero no recuerdo cuál era la solución.

¿Algunas ideas?


¿Has intentado usar strace para ver lo que (no) está haciendo? Quizás veas un error.
wfaulk

Para su información, esto permanece sin respuesta porque el archivo en cuestión no se estaba enrollando / girando / recreando.
ÁRBOL

Respuestas:


12

Intenta usar less --follow-name. Incluso si el archivo tiene el mismo nombre, los procesos que lo actualizan pueden hacerlo de una manera que cambie el inodo del archivo, por lo que desde el punto de vista del sistema operativo, es un archivo nuevo después de las actualizaciones.


+1 respuesta perfecta, es por eso que se introdujo esta opción. Tenga en cuenta que --follow-namese introdujo en menos v415 ( greenwoodsoftware.com/less/news.415.html ), lanzado el 15 de noviembre de 2007. Por lo tanto, la antigua instalación de Linux puede no tenerlo.
sleske

3

¿Está viendo archivos de registro que rotan mediante logrotate? Si se cambia el nombre del archivo que menos se está visualizando (por ejemplo, de log a log.0 mediante logrotate), less continuará viendo ese archivo, aunque se estén escribiendo nuevas entradas en un archivo diferente (con el nombre original).


Si este es el caso, intente tail --follow = name [filename] (lo que hace que tail vuelva a abrir periódicamente el archivo en caso de que cambie su nombre). Ver gnu.org/software/coreutils/manual/html_node/…
Randy Orrison

No, los registros no están girando. Es el mismo archivo.
ÁRBOL

1

tal vez podrías intentarlo en su tail -f [filename]lugar?


44
Con menos, puede "pausar su cola" (usando Ctrl-c) para subir a una línea específica y reanudar más tarde (usando F). Es por eso que en algunos casos se prefiere a "tail -f".
dogbane

tail -f funciona, pero preferiría trabajar con menos.
ÁRBOL

Veo. No sabía eso.
brandstaetter

0

Hago less +F --follow-name. --follow-namesolo monitorea el archivo con el mismo nombre sin recibir los cambios entrantes en mi caso (CentOS 7).

En realidad creo un alias para esto:

Agregue esta línea en /etc/profile.d/alias.sh:

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

Guárdelo y consíguelo para usarlo ahora. . /etc/profile.d/alias.sh

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.