以批处理方式指定顶部的屏幕宽度

Zac*_*iel 6 linux logging top

我正在记录以下输出:top -b -n1 -c这样我就可以跟踪哪些进程每分钟使用了多少内存和 CPU。当 top 显示完整的命令行 ( -c) 时,命令行文本会在屏幕边缘被截断。这在终端中运行和显示时非常完美。但是,我将 STDOUT 发送到文件以供稍后解析,并希望记录完整的命令名称。有没有办法告诉 top 使用特定的屏幕宽度?(我知道它最大为 512,那会很好)

有没有更好的方法来实现类似的目标:获取有关哪些进程正在运行以及它们消耗了多少资源的定期统计信息?

gar*_*ohn 5

这似乎有效:

COLUMNS=512 top -b -n1 -c
Run Code Online (Sandbox Code Playgroud)

但是,这似乎将带有空格的行填充到 512 列,至少当输出通过管道传输到另一个程序时,因此您可能希望像这样过滤输出:

COLUMNS=512 top -b -n1 -c | sed 's/  *$//'
Run Code Online (Sandbox Code Playgroud)

其中星号前面有两个空格字符。