htop输出到人类可读文件

Dil*_*rix 24 formatting ascii htop human-readable

我已尝试使用管道htop传输到文本文件(例如htop > text.txt),但它通过格式化字符串给出了文本乱码(见下文).有没有办法获得更好,人类可读的输出?

^[7^[[?47h^[[1;30r^[[m^[[4l^[[?1h^[=^[[m^[[?1000h^[[m^[[m^[[H^[[2J^[[1B  ^[[36m1  ^[[m^[[1m[^[[m^[[32m||||||||||^[[31m||||||||||^[[30m^[[1m                                                            \
     22.2%^[[m]^[[m     ^[[36mTasks: ^[[1m159^[[m^[[36m total, ^[[32m^[[1m5^[[m^[[36m running^[[3;3H2  ^[[m^[[1m[^[[30m                                                                                \
      0.0%^[[m]^[[m     ^[[36mLoad average: ^[[30m^[[1m1.11 ^[[m^[[m1.28 ^[[1m1.31 ^[[4;3H^[[m^[[36m3  ^[[m^[[1m[^[[m^[[32m||||||||||^[[30m^[[1m                                                       \
                    11.1%^[[m]^[[m     ^[[36mUptime: ^[[1m9 days, 22:04:51^[[5;3H^[[m^[[36m4  ^[[m^[[1m[^[[30m                                                                                      0.0\
%^[[m]^[[6;3H^[[m^[[36m5  ^[[m^[[1m[^[[m^[[31m||||||||||^[[30m^[[1m                                                                           11.1%^[[m]^[[7;3H^[[m^[[36m6  ^[[m^[[1m[^[[30m           \
Run Code Online (Sandbox Code Playgroud)

His*_*H M 53

htop作者在这里.

不,没有"好的"方法可以将htop的输出传输到文件中.它是一个交互式应用程序,并使用终端重绘例程来生成它的界面(因此,它使得它具有多大的意义,例如,将vim传递到文本文件中 - 您将获得类似的结果).

要以文本格式获取有关进程的信息,请使用"ps".例如,ps auxf > file.txt为您提供了大量易于解析的信息(或者ps aux如果您不希望树格式化 - 请参阅man ps更多选项).

  • thanx,但是man导出到某个文件以使该东西更有用 (6认同)
  • 感谢您的答复.我特意试着找到每个处理器的用法 - 这个htop做得很好.有没有办法通过`ps`访问它? (4认同)
  • +1嗨Hisham,htop没有开关-b:),我想用这种方式进行没有菜单行的输出:htop -b | 啊哈--黑色 (2认同)

Mar*_*agh 19

htop输出ANSI转义码以使用颜色并在终端周围移动光标.有一个很好的命令行程序aha可用于将ANSI转换为HTML.

Ubuntu/Debian安装

apt-get install aha
Run Code Online (Sandbox Code Playgroud)

将htop输出保存为HTML文件

echo q | htop | aha --black --line-fix > htop.html
Run Code Online (Sandbox Code Playgroud)


Szy*_*Jeż 11

我有同样的需求,最终使用top而不是htopa通过-b标志提供批处理模式.

-b:批处理模式操作在"批处理模式"中启动,这对于将输出从顶部发送到其他程序或文件非常有用.在此模式下,top将不接受输入并运行,直到迭代限制您使用'-n'命令行选项设置或直到被杀死.

例如:

top -b -n 1
Run Code Online (Sandbox Code Playgroud)

希望这有助于即使这不使用htop.


小智 7

此命令输出纯文本。(它需要安装ahahtml2text。)

echo q | htop -C | aha --line-fix | html2text -width 999 | 
grep -v "F1Help\|xml version=" > file.txt
Run Code Online (Sandbox Code Playgroud)