GNU/Linux >> Znalost Linux >  >> Linux

Proč slabtop -o vrací pouze prvních 23 řádků, když je příkaz rourou?

slabtop , dokonce i s -o , vždy se omezí na jednu obrazovku výstupu. Normálně to dělá tak, že se terminálu zeptá, jaká je jeho velikost, ale když jeho standardní výstup není terminál, předpokládá, že obrazovka má 80 sloupců na 24 řádků a vydává pouze 23 řádků (aby se zabránilo jakémukoli posouvání).

Toto bylo opraveno a oprava se nachází v procps-ng 3.3.13 a novější.


Je to jen pevně naprogramované, aby fungovalo tímto způsobem, když výstup není terminál.

pokud přesto chcete použít přesměrování a získat více řádků, můžete použít script oklamat slabtop aby si mysleli, že se jeho výstup tiskne na terminál. Můžete přidat stty navíc ke změně parametrů pseudoterminálu a nastavení vlastního limitu pro výstupní linky.

# 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

Případně můžete své informace získat přímo z /proc/slabinfo soubor, který také používá slabtop sám.


Linux
  1. Jak odstranit první/poslední „n“ řádky z výstupu příkazu v prostředí Shell?

  2. Proč Find -mtime +1 vrací pouze soubory starší než 2 dny?

  3. Proč substituce příkazů Shell pohltí znak na konci nového řádku?

  1. Proč se při používání Vlc spořič obrazovky neustále probouzí?

  2. Výsledek klíčového slova Bash Time pouze s příkazem Second Piped, vysvětlete proč?

  3. Jak funguje Tee Command?

  1. Jak je zástupný znak * interpretován jako příkaz?

  2. Co znamená symbol linux pipe | dělat?

  3. Proč můj systém ukazuje jen 3,2 GiB RAM, když mám určitě 4,0 GiB