LinuxForum.Fans
Тема

Как создать html-отчет о процессах, выполняемых системой?

Автор: djmaks 3 сообщений 687 просмотров
#354632

Умные люди помогите с решением
Сгенерировать html-отчет о процессах, выполняемых системой. Отчет должен иметь вид таблицы:

text
Processes: 77 total, 4 running, 2 stuck, 71 sleeping, 415 threads
Load Avg: 0.28, 0.21, 0.21  CPU usage: 1.31% user, 1.31% sys, 97.36% idle
SharedLibs: 5100K resident, 6228K data, 0B linkedit. MemRegions: 18472 total, 1259M resident, 32M private, 459M shared.
PhysMem: 828M wired, 2142M active, 600M inactive, 3570M used, 515M free.
VM: 154G vsize, 1041M framework vsize, 2118843(0) pageins, 31910(0) pageouts.
Networks: packets: 959253/815M in, 720612/182M out. Disks: 339129/11G read, 435830/10G written.

PID COMMAND %CPU TIME #TH #WQ #POR #MREG RPRVT RSHRD RSIZE VPRVT VSIZE PGRP PPID STATE UID 32199 top 4.3 00:00.42 1/1 0 24 36 1424K 252K 2020K 17M 2378M 32199 32194 running 0 32194 bash 0.0 00:00.01 1 0 17 24 432K 244K 1096K 17M 2378M 32194 32193 sleeping 501 32193 login 0.0 00:00.64 1 0 22 56 560K 252K 1680K 19M 2379M 32193 32190 sleeping 0 32190 Terminal 3.5 00:01.02 5 1 111- 214 4388K+ 36M 14M+ 73M 2777M 32190 110 sleeping 501 32117 ocspd 0.0 00:02.61 3 1 50 66 4612K 304K 5276K 79M 2447M 32117 1 sleeping 0

(вывод команды top вашей системы).
Для столбцов и ячеек использовать тэги <div>.

#354761

просто все в html - есть куча разного софта типа txt2html
но они все переводят из одного формата в другой а ваш вывод не относится к какому-то формату.
Так что все радости которые вы себе придумали - только путем личного парсинга и преобразования в свой вид.
рекомендовал бы вам perl с regexp. Он для этого и создавался...

#354766
"Харитон" написал:
просто все в html - есть куча разного софта типа txt2htmlно они все переводят из одного формата в другой а ваш вывод не относится к какому-то формату.

Ну в принципе конструкция такого вида вполне работоспособна:

text
top -d 1 100 | txt2html --underline_delimiter '' --outfile /tmp/top.html
Войдите или зарегистрируйтесь, чтобы ответить.