Pourquoi moins de mode queue cesse-t-il de fonctionner?


11

L'utilisation de la lesscommande sous Linux en mode queue (commande F ou moins -f) arrête systématiquement de travailler sur certaines machines et / ou certains fichiers. De nouveaux changements cessent simplement d'apparaître.

Je sais que j'ai corrigé cela avant, il y a longtemps, mais je ne me souviens pas quelle était la solution.

Des idées?


Avez-vous essayé d'utiliser strace pour voir ce qu'il fait (pas)? Vous verrez peut-être une erreur.
wfaulk

Pour info, cela reste sans réponse car le fichier en question n'était pas roulé / tourné / recréé.
TREE

Réponses:


12

Essayez d'utiliser less --follow-name. Même si le fichier porte le même nom, le ou les processus de mise à jour le font d'une manière qui modifie l'inode du fichier - donc du point de vue du système d'exploitation, c'est un nouveau fichier après les mises à jour.


+1 réponse parfaite, c'est pourquoi cette option a été introduite. Notez qu'il a --follow-nameété introduit dans moins de v415 ( greenwoodsoftware.com/less/news.415.html ), publié le 15 novembre 2007. Ainsi, l'ancienne installation Linux peut ne pas l'avoir.
sleske

3

Consultez-vous les fichiers journaux qui sont tournés par logrotate? Si le fichier que less visualise est renommé (par exemple, de log en log.0 par logrotate), less continuera de regarder ce fichier, même si de nouvelles entrées sont écrites dans un fichier différent (avec le nom d'origine).


Si tel est le cas, essayez tail --follow = name [filename] (ce qui oblige tail à rouvrir périodiquement le fichier au cas où il serait renommé). Voir gnu.org/software/coreutils/manual/html_node/…
Randy Orrison

Non, les journaux ne tournent pas. C'est le même fichier.
TREE

1

vous pourriez peut-être essayer à la tail -f [filename]place?


4
Avec moins, vous pouvez "mettre votre queue en pause" (en utilisant Ctrl-c) pour remonter jusqu'à une ligne spécifique et reprendre plus tard (en utilisant F). C'est pourquoi dans certains cas, il est préférable à "tail -f".
Dogbane

tail -f fonctionne, mais je préfère travailler avec moins.
TREE

Je vois. Ne savais pas ça.
brandstaetter

0

Oui less +F --follow-name. --follow-namesurveille simplement le fichier avec le même nom sans recevoir les modifications entrantes dans mon cas (CentOS 7).

En fait, je crée un alias pour cela:

Ajoutez cette ligne dans /etc/profile.d/alias.sh:

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

Enregistrez-le et sourcez-le pour l'utiliser maintenant. . /etc/profile.d/alias.sh

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.