好吧所以我不知道这是否可能,说实话我更倾向于不可能的规模结束,但我认为这可能值得问。
基本上我想知道的是,是否有可能捕获用php中的ncurses呈现的shell输出,以便与htop等工具一起使用。
我注意到php有一大堆实验性的ncurses函数,但它们似乎都是为了创建不读它的内容。理想情况下,我喜欢的东西,我可以最终得到类似
的东西$output = ncurses_exec("htop --no-loop");
注意:我知道htop没有--no-loop
的选项,但我添加它以使程序在第一次渲染后退出(渲染可以被清除或保留)仅用于测试目的
提前致谢
答案 0 :(得分:1)
有一个解决方案:
将命令发送到以分离模式运行的screen
。这是一个快速而肮脏的例子,只是为了让你入门:
<?php
// Start screen in detached mode, running htop
`screen -d -m -S htop_session htop`;
// let screen and htop start
sleep(1);
// Tell screen to save a screenshot in file 'hardcopy.0'
`screen -p 0 -S htop_session -X hardcopy`;
// Tell screen to quit
`screen -p 0 -S htop_session -X quit`;
?>
<pre>
<?php print file_get_contents('hardcopy.0'); ?>
</pre>
要尝试的事情