Как я могу сохранить вывод htop
в файл? С top
, Я могу работать
top -b -n1 > top.txt
где -b
указывает пакетный режим и -n
указывает количество повторений.
Но man
страница htop
не предлагает такой возможности.
Делает снимок экрана единственный путь?
Ron предоставил ссылку на вывод 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
Право от автор htop
лет:
нет, нет никакого "хорошего" способа получить вывод htop, переданного по каналу в файл. Это - интерактивное приложение и использует терминальные стандартные программы перерисовки для создания ее интерфейса (поэтому, передавание по каналу его имеет столько же смысла сколько, например, передавая энергию по каналу в текстовый файл - Вы получите подобные результаты).
Для получения информации о процессах в текстовом формате используйте
ps
. Например,ps auxf > file.txt
дает Вам много легких для парсинга информации (или PS aux, если Вы не желаете, чтобы форматирование дерева - видело PS человека для большего количества опций).
Попробуйте эту команду; это делает то, что Вы хотите. Просто необходимо установить aha
и html2text
сначала.
echo q | htop -C | aha --line-fix | html2text -width 999 | grep -v "F1Help" | grep -v "xml version=" > file.txt
Я обычно делаю следующее:
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:~$
echo | htop > /tmp/htop.out
//htop.out, имеет терминал, сохраняют/загружают console_sequence
head -c -10 /tmp/htop.out | tail -c +10
//просто использует главный & полоса хвоста экран сбросил console_sequence
//10
байты, была примерно