运行 shell 具有想象力显示的命令

Run shell commands with imaginative display

我试图在我的服务器上将 htop 输出输出为可查看的 HTML 页面,以便我可以轻松地检查它。我已经完成了导出到 HTML 的部分(使用 echo q | htop | aha --black --line-fix)。当我以交互方式使用它时,它工作得很好,现在我需要做的是将它连接到 Web 门户。我的设置是 PHP,我使用 exec()shell_exec() 来尝试显示输出。但是,输出为空白。我怀疑这是因为没有 htop 知道的显示,所以它无法知道要显示的正确尺寸是多少。所以我的问题是,有没有办法告诉通用 process/shell 脚本它可以使用具有指定尺寸的富有想象力的显示?

我明白了。最简单的方法是不再使用 htop。作者 said that htop is supposed to be used interactively, and that there is no easy way to get the output of it. Another monitoring tool with a built-in web server mode is glances,你可以做类似 glances -w 的事情,一切就绪。

但是,如果您真的想做 htop,那么我已经弄明白了。最简单的工作代码是:

echo shell_exec("export TERM=xterm-color;echo q | htop | aha --black --line-fix");

更多可定制的工作代码是:

exec("rm /var/www/html/abc");
exec("export TERM=xterm-color;echo Hthq | htop | aha --black --line-fix > /var/www/html/abc");
echo shell_exec("cat /var/www/html/abc | head -n 10");
echo shell_exec("cat /var/www/html/abc | tail -n 25");

这允许您更改 echo Hthq 部分的设置。最后的 hq 打开 htop 的帮助菜单然后关闭它,强制 htop 重绘所有内容。 headtail 位将切出正确的段。您可以自定义之前的所有内容(例如 Ht,它隐藏线程并显示树视图)。