Bagaimana cara menyimpan output htop ke file?

14

Bagaimana saya bisa menyimpan output htopke file? Dengan top, saya bisa lari

top -b -n1 > top.txt

di mana -bmenentukan mode batch dan -nmenentukan jumlah iterasi.

Tetapi manhalaman htoptidak menawarkan kemungkinan seperti itu.

Apakah mengambil tangkapan layar satu-satunya cara?

DK Bose
sumber

Jawaban:

18

Ron memberikan tautan ke output htop ke file yang dapat dibaca manusia dan kutipan dari jawaban terpilih oleh pengembang htop.

Namun, sedikit lebih jauh di halaman yang sama, ada solusi yang menggunakan konversi ANSI ke HTML. Secara singkat, instal ahadari pusat perangkat lunak dan kemudian jalankan:

echo q | htop | aha --black --line-fix > htop.html

Begini beberapa baris pertama:

  1  [|||||||||||||||||||||||||||||||||                                    42.9%]     Tasks: 73, 251 thr; 1 running
  2  [||||||                                                                7.1%]     Load average: 0.28 0.32 0.32 
  Mem[||||||||||||||||||||||||||||||||||                              581/3916MB]     Uptime: 03:09:25
  Swp[                                                                  0/4056MB]
  PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command          
 9785 dkb        20   0 31544  2464  1312 R 22.2  0.1  0:00.09 htop             
 3503 dkb        20   0 1065M 59684 16344 S  7.4  1.5  6:25.43 mpv --profile=pseudo-gui -- file:///home/dkb/Downloads/ONX
    1 root       20   0 33760  3088  1488 S  0.0  0.1  0:01.62 /sbin/init        
  276 root       20   0 19472   652   460 S  0.0  0.0  0:00.19 upstart-udev-bridge --daemon
  281 root       20   0 52592  2640  1016 S  0.0  0.1  0:00.76 /lib/systemd/systemd-udevd --daemon
  577 root       20   0 15256   632   388 S  0.0  0.0  0:00.05 upstart-socket-bridge --daemon
  662 root       20   0 15272   416   200 S  0.0  0.0  0:00.04 upstart-file-bridge --daemon
  677 syslog     20   0  249M  1304   836 S  0.0  0.0  0:00.01 rsyslogd          
  678 syslog     20   0  249M  1304   836 S  0.0  0.0  0:00.00 rsyslogd          
  679 syslog     20   0  249M  1304   836 S  0.0  0.0  0:00.02 rsyslogd          
  675 syslog     20   0  249M  1304   836 S  0.0  0.0  0:00.04 rsyslogd          
  680 messagebu  20   0 39860  1968  1044 S  0.0  0.0  0:00.52 dbus-daemon --system --fork
DK Bose
sumber
3
Bagi mereka yang bertanya-tanya: perpipaan quntuk htopsegera berhenti.
BallpointBen
6

Kanan dari penulis htop:

Tidak, tidak ada cara "baik" untuk mendapatkan output dari htop disalurkan ke file. Ini adalah aplikasi interaktif dan menggunakan rutinitas terminal redraw untuk menghasilkan antarmuka (oleh karena itu, mem-pipkannya sama masuk akalnya dengan, misalnya, memipakan vim ke dalam file teks - Anda akan mendapatkan hasil yang serupa).

Untuk mendapatkan informasi tentang proses Anda dalam format teks, gunakan ps. Misalnya, ps auxf > file.txtmemberi Anda banyak informasi yang mudah diurai (atau ps aux jika Anda tidak ingin memformat pohon - lihat man ps untuk opsi lebih lanjut).

Ron
sumber
5

Coba perintah ini; itu melakukan apa yang Anda inginkan. Anda hanya perlu menginstal ahadan html2textterlebih dahulu.

echo q | htop -C | aha --line-fix | html2text -width 999 | grep -v "F1Help" | grep -v "xml version=" > file.txt
k0fe
sumber
1

1. simpan keluaran terminal ke file

echo | htop  > /tmp/htop.out

//htop.out punya terminal save/load console_sequence

2. tampilkan output di terminal

head -c -10 /tmp/htop.out  | tail -c +10

// cukup gunakan head & tail strip screen reset console_sequence
// 10byte itu kira-kira

yurenchen
sumber
0

Saya biasanya melakukan hal berikut:

top
control-c

dan kemudian gulirkan ke atas sehingga saya dapat menyalin / menempel:

rinzwind@schijfwereld:~$ top
top - 18:58:05 up 13 min,  2 users,  load average: 0,18, 0,35, 0,24
Tasks: 252 total,   1 running, 251 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3,4 us,  0,7 sy,  0,5 ni, 95,3 id,  0,1 wa,  0,0 hi,  0,0 si,  0,0 st
KiB Mem:  12190608 total,  2007692 used, 10182916 free,    50292 buffers
KiB Swap: 24414204 total,        0 used, 24414204 free.   739236 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND     
 1093 rinzwind  20   0  364616   8824   7252 S   6,2  0,1   0:00.94 ibus-daemon 
 2525 rinzwind  20   0   29192   3048   2540 R   6,2  0,0   0:00.02 top         
    1 root      20   0  185008   5564   3840 S   0,0  0,0   0:00.77 systemd     
    2 root      20   0       0      0      0 S   0,0  0,0   0:00.00 kthreadd    
    3 root      20   0       0      0      0 S   0,0  0,0   0:00.00 ksoftirqd/0 
    5 root       0 -20       0      0      0 S   0,0  0,0   0:00.00 kworker/0:+ 
    7 root      20   0       0      0      0 S   0,0  0,0   0:00.32 rcu_sched   
    8 root      20   0       0      0      0 S   0,0  0,0   0:00.00 rcu_bh      
    9 root      20   0       0      0      0 S   0,0  0,0   0:00.09 rcuos/0     
   10 root      20   0       0      0      0 S   0,0  0,0   0:00.00 rcuob/0     
   11 root      rt   0       0      0      0 S   0,0  0,0   0:00.00 migration/0 
   12 root      rt   0       0      0      0 S   0,0  0,0   0:00.00 watchdog/0  
   13 root      rt   0       0      0      0 S   0,0  0,0   0:00.00 watchdog/1  
   14 root      rt   0       0      0      0 S   0,0  0,0   0:00.00 migration/1 
   15 root      20   0       0      0      0 S   0,0  0,0   0:00.00 ksoftirqd/1 
   16 root      20   0       0      0      0 S   0,0  0,0   0:00.04 kworker/1:0 
   17 root       0 -20       0      0      0 S   0,0  0,0   0:00.00 kworker/1:+ 
rinzwind@schijfwereld:~$ 
Rinzwind
sumber