如何在设定的时间段内录制类似 top 命令输出的视频?

Arr*_*cal 3 command-line process top desktop-recording

top命令输出一种进程及其在系统中使用资源的实时视图。

我想在服务器安装上启动一个程序,它启动各种不同的进程,具有不可预测的 PID,并捕获top. 最好我希望能够在相同的 CLI 环境中“重播”它,就好像它是一个视频一样,但可以接受地将文件移动到其他地方以这样查看。

有没有办法,仅使用命令行,从服务器安装的直接终端,我可以在定义的时间段内记录此输出?通过输入时间值,或通过手动启动和停止记录过程。

hee*_*ayl 6

的常规操作模式top不适合将输出保存在文件中。

您可以使用-b(batch) 模式top以及适当的时间间隔进行检查 ( -d) 和计数 ( -n)的迭代次数。

您还可以提及特定的 PID ( -p) 以仅检查。

例如:

top -b -d 5 -n 3 -p 1089,2345 >output.txt
Run Code Online (Sandbox Code Playgroud)

将以top批处理模式运行,每次 5 秒后进行 3 次迭代,并且将仅监控两个提到的 PID (1089,2345)。输出将保存在output.txt.

更改值以满足您的需要。


TRE*_*REE 6

您可以使用“script”和“scriptreplay”实用程序来完成此操作。

  1. 使用 --timing 选项运行脚本:

    脚本 --timing=top.timing topscript

  2. 执行top命令,让它运行多久就可以了

  3. 使用 q 或 control-c 退出 top。

  4. 使用 control-D (EOF) 或键入 exit 退出脚本会话

  5. 运行 scriptreplay 以重播脚本:

    scriptreplay top.timing topscript