GNU/Linux >> Belajar Linux >  >> Linux

Mengapa slabtop -o hanya mengembalikan 23 baris pertama saat perintah disalurkan?

slabtop , bahkan dengan -o , selalu membatasi diri pada satu layar penuh keluaran. Ini biasanya dilakukan dengan menanyakan terminal berapa ukurannya, tetapi ketika keluaran standarnya bukan terminal, diasumsikan bahwa layar adalah 80 kolom kali 24 baris dan hanya menampilkan 23 baris (untuk menghindari pengguliran apa pun).

Sejak itu telah diperbaiki, dan perbaikannya ada di procps-ng 3.3.13 dan yang lebih baru.


Ini hanya kode keras untuk bekerja dengan cara ini ketika keluaran bukan terminal.

jika Anda masih ingin menggunakan pengalihan dan mendapatkan lebih banyak baris, Anda dapat menggunakan script untuk mengelabui slabtop berpikir bahwa hasilnya sedang dicetak ke terminal. Anda dapat menambahkan stty di atas itu untuk mengubah parameter pseudo-terminal dan menetapkan batas Anda sendiri untuk jalur keluaran.

# 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

Alternatifnya, Anda bisa mendapatkan informasi langsung dari /proc/slabinfo file, yang juga digunakan oleh slabtop itu sendiri.


Linux
  1. Sejarah Perintah Tampaknya Hilang 75 Baris Pertama?

  2. Mengapa Kursor Melompat Saat Mengetik?

  3. Mengapa dentang menghasilkan teks yang tidak dapat dipahami saat dialihkan?

  1. Bagaimana cara Menghapus baris 'n' Pertama/Terakhir dari output perintah di Shell?

  2. Mengapa Find -mtime +1 Hanya Mengembalikan File Lebih Lama dari 2 Hari?

  3. Output Dari Perintah "terakhir"?

  1. Bagaimana Cara Kerja Perintah Tee??

  2. Bagaimana Wildcard * Diinterpretasikan Sebagai Perintah?

  3. Mengapa Saya Dapat Melihat Output Dari Proses Latar Belakang?