GNU/Linux >> Tutoriels Linux >  >> Linux

Pourquoi slabtop -o ne renvoie-t-il que les 23 premières lignes lorsque la commande est canalisée ?

slabtop , même avec -o , se limite toujours à un écran complet de sortie. Il le fait normalement en demandant au terminal quelle est sa taille, mais lorsque sa sortie standard n'est pas un terminal, il suppose que l'écran fait 80 colonnes sur 24 lignes et ne produit que 23 lignes (pour éviter tout défilement).

Cela a depuis été corrigé, et le correctif est présent dans procps-ng 3.3.13 et versions ultérieures.


C'est juste codé en dur pour fonctionner de cette façon lorsque la sortie n'est pas un terminal.

si vous souhaitez toujours utiliser la redirection et obtenir plus de lignes, vous pouvez utiliser script tromper slabtop en pensant que sa sortie est imprimée sur le terminal. Vous pouvez ajouter stty en plus de cela pour modifier les paramètres du pseudo-terminal et définir votre propre limite pour les lignes de sortie.

# slabtop -o | wc -l
23
# script -q -c "slabtop -o" /dev/null | wc -l
46
# script -q -c "stty rows 999; slabtop -o" /dev/null | wc -l
147

Alternativement, vous pouvez simplement obtenir vos informations directement à partir de /proc/slabinfo fichier, qui est également utilisé par slabtop lui-même.


Linux
  1. Pourquoi puis-je voir la sortie des processus en arrière-plan ?

  2. L'historique des commandes semble manquer les 75 premières lignes ?

  3. Omettre la première ligne de toute sortie de commande Linux

  4. Pourquoi ce pipeline shell sort-il ?

  5. Pourquoi clang génère-t-il du texte inintelligible lorsqu'il est redirigé ?

Comment supprimer les premières/dernières lignes 'n' de la sortie de la commande dans Shell ?

Pourquoi la substitution de commande Shell engloutit-elle un caractère de fin de ligne ?

Sortie de la "dernière" commande ?

Avec la commande "cat" de Linux, comment afficher uniquement certaines lignes par numéro ?

Premiers caractères de la commande répétés à l'écran lors de l'achèvement ?

Pourquoi mon système n'affiche-t-il que 3,2 Go de RAM alors que j'ai définitivement 4,0 Go