Wie speichere ich die HTML-Ausgabe in einer Datei?

13

Wie kann ich die Ausgabe htopin einer Datei speichern? Mit topkann ich rennen

top -b -n1 > top.txt

Dabei -bgibt Batch-Modus und -ndie Anzahl der Iterationen an.

Aber die manSeite von htopbietet keine solche Möglichkeit.

Ist ein Screenshot der einzige Weg?

DK Bose
quelle

Antworten:

18

Ron stellte einen Link zur Ausgabe von htop in eine für Menschen lesbare Datei und ein Zitat aus der am häufigsten gewählten Antwort des Entwicklers von htop bereit.

Etwas weiter unten auf derselben Seite befindet sich jedoch eine Lösung, die die Konvertierung von ANSI in HTML verwendet. Installieren Sie kurz ahavom Software Center aus und führen Sie dann Folgendes aus:

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

So sehen die ersten Zeilen aus:

  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
quelle
3
Für diejenigen, die sich fragen: Piping, qum htopes sofort zu beenden.
BallpointBen
6

Rechts vom Autor von htop:

Nein, es gibt keinen "netten" Weg, die Ausgabe von htop in eine Datei zu leiten. Es ist eine interaktive Anwendung und verwendet Terminal-Redraw-Routinen, um die Schnittstelle zu erstellen (daher ist das Piping genauso sinnvoll wie beispielsweise das Piping von vim in eine Textdatei - Sie erhalten ähnliche Ergebnisse).

Verwenden Sie, um Informationen zu Ihren Prozessen in einem Textformat abzurufen ps. ps auxf > file.txtGibt Ihnen zum Beispiel viele einfach zu analysierende Informationen (oder ps aux, wenn Sie keine Baumformatierung wünschen - weitere Optionen finden Sie unter man ps).

Ron
quelle
5

Probieren Sie diesen Befehl aus. es macht was du willst. Sie müssen nur ahaund html2textzuerst installieren .

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

1. Speichern Sie die Terminal-Ausgabe in einer Datei

echo | htop  > /tmp/htop.out

//htop.out hat terminal save/load console_sequence

2. Ausgabe im Terminal anzeigen

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

// benutze einfach head & tail strip die screen reset console_sequence
// 10bytes waren ungefähr

yurenchen
quelle
0

Normalerweise mache ich folgendes:

top
control-c

und dann nach oben scrollen, damit ich kopieren / einfügen kann:

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
quelle