Як зберегти htop вихід у файл?


14

Як я можу зберегти вихід у htopфайл? З top, я можу бігати

top -b -n1 > top.txt

де -bвказується пакетний режим і -nвказується кількість ітерацій.

Але manсторінка htopне пропонує такої можливості.

Чи зробити знімок екрана єдиним способом?

Відповіді:


18

Рон надав посилання на htop-вихід до файлу, прочитаного людиною, і цитату з голосового відповіді розробника htop.

Однак трохи далі на цій же сторінці є рішення, яке використовує перетворення ANSI в HTML. Коротко встановіть ahaз програмного центру та запустіть:

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

Ось як виглядають перші кілька рядків:

  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

3
Для тих, хто цікавиться: трубопровід, qщоб htopнегайно його закрити.
BallpointBen

6

Право від автора htop:

Ні, немає жодного "приємного" способу отримання результату htop, зведеного у файл. Це інтерактивне додаток і використовує термінальні програми для перемальовування терміналу для створення свого інтерфейсу (отже, підключення до нього має стільки ж сенсу, як, наприклад, підключення vim до текстового файлу - ви отримаєте подібні результати).

Щоб отримати інформацію про ваші процеси у текстовому форматі, використовуйте ps. Наприклад, ps auxf > file.txtдає багато простого аналізу інформації (або ps aux, якщо ви не бажаєте форматування дерев - див. Man ps для отримання додаткових варіантів).


5

Спробуйте цю команду; це робить те, що ти хочеш. Вам просто потрібно встановити ahaі html2textспочатку.

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

1

1. зберегти вихідний термінал у файл

echo | htop  > /tmp/htop.out

//htop.out має terminal save/load console_sequence

2. показати вихід у терміналі

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

// просто використовуйте смужку голови та хвоста screen reset console_sequence
// 10байти були приблизно


0

Я зазвичай роблю наступне:

top
control-c

а потім прокрутіть вгору, щоб я могла скопіювати / вставити:

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:~$ 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.