Comment enregistrer la sortie htop dans un fichier?

14

Comment puis-je enregistrer la sortie de htopdans un fichier? Avec top, je peux courir

top -b -n1 > top.txt

-bspécifie le mode batch et -nspécifie le nombre d'itérations.

Mais la manpage de htopn'offre pas une telle possibilité.

La capture d'écran est-elle le seul moyen?

DK Bose
la source

Réponses:

18

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

Cependant, un peu plus loin sur la même page, il existe une solution qui utilise la conversion ANSI en HTML. En bref, installez à ahapartir du centre 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
DK Bose
la source
3
Pour ceux qui se demandent: sifflez qpour le htopquitter immédiatement.
BallpointBen
6

Directement de l'auteur de htop:

Non, il n'y a pas de méthode "sympa" pour obtenir 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 (par conséquent, la canaliser a autant de sens que, par exemple, canaliser vim dans un fichier texte - vous obtiendrez des résultats similaires).

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

Ron
la source
5

Essayez cette commande; il fait ce que vous voulez. Il vous suffit d'installer ahaet d' html2textabord.

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

1. enregistrer la sortie du terminal dans un fichier

echo | htop  > /tmp/htop.out

//htop.out a terminal save/load console_sequence

2. afficher la sortie dans la borne

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

// il suffit d'utiliser la bande head & tail screen reset console_sequence
// les 10octets étaient à peu près

yurenchen
la source
0

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