web-dev-qa-db-fra.com

Comment enregistrer une sortie htop dans un fichier?

Comment enregistrer la sortie de htop dans un fichier? Avec top, je peux exécuter

top -b -n1 > top.txt

-b indique le mode de traitement par lots et -n indique le nombre d'itérations.

Mais la page man de htop n'offre pas une telle possibilité.

Prendre une capture d'écran est-il le seul moyen?

12
DK Bose

Ron a fourni un lien vers sortie de htop en fichier lisible par un humain et une citation tirée de la réponse la plus votée du développeur de htop.

Cependant, un peu plus loin sur la même page, il y a ne solution qui utilise la conversion ANSI en HTML. En bref, installez aha à partir du centre de logiciel, puis exécutez:

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

Voici à quoi ressemblent les premières lignes:

  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
18
DK Bose

Right from l'auteur de htop:

Non, il n’existe aucun moyen "agréable" d’afficher la sortie de htop dans un fichier. Il s’agit d’une application interactive qui utilise des routines de redessinage de terminal pour produire son interface (sa tuyauterie a donc tout autant de sens que, par exemple, de canaliser vim dans un fichier texte - vous obtiendrez des résultats similaires).

Pour obtenir les informations sur vos processus au format texte, utilisez ps. Par exemple, ps auxf > file.txt vous donne de nombreuses informations faciles à analyser (ou ps aux si vous ne souhaitez pas mettre en forme d'arborescence - voir man ps pour plus d'options).

6
Ron

Essayez cette commande. ça fait ce que tu veux. Vous devez simplement installer aha et html2text en premier.

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

Je fais normalement ce qui suit:

top
control-c

puis faites défiler vers le haut pour que je puisse copier/coller:

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:~$ 
0
Rinzwind