Comment enregistrer la sortie de htop
dans un fichier? Avec top
, je peux exécuter
top -b -n1 > top.txt
où -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?
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
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).
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
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:~$