如何获取“ top”命令来包装其输出?


20

“命令”列会被屏幕的宽度截断,而我看不到它的最后一部分。

我试图减小字体大小,以便可以看到命令行的较长部分,但仍然无法执行。


什么命令生成您的输出?

我知道这并不能直接回答您的问题,但是我希望找到htop一个更好的接口top。它将使您可以使用箭头键进行滚动。

您能说明为什么缩小字体大小没有效果吗?
Stephen Quan

它有效,但不足以让我看到整行。.命令行相当长
sureshvv 2012年

Answers:


10

top -bcn1 -w512

优雅的解决方案是使用option 。根据手册页,最大宽度为512个字符,因此对于超出此范围的任何内容,您将需要其他解决方案。大概您还想查看命令的完整长度,因此请使用该选项。我们需要在“批处理模式”下运行,否则它将继续用“ +”切断命令。批处理模式有点麻烦,因为它每秒打印出所有作业,因此我们可以使用该选项仅打印一个实例。-w [number]-ctop-b-n1

有关更多信息,请参见手册首页。


1
您需要检查系统上的手册页。这些选项并非在的所有版本中都存在top
斯科特,

21

默认情况下,命令字段会自动截断以更好地阅读。

你需要跑步

top -c

以显示完整命令,然后根据控制台窗口的功能,您可以向右滚动并查看完整命令。


默认情况下,它仅显示完整的命令行-或实际上可以在一行中显示任何内容。我看不到任何滚动功能。您是说我只需要将窗口设置为更大的宽度?

是的,首先。您正在使用哪种类型的窗口?是Putty,Dos命令终端,Gnome终端吗?这些都可以让您水平滚动。
环形承载者

在PuTTY
中看

8

正如Daniel Arndt所说,您也可以使用htop代替top。它在当今的所有发行版中都可用,并且提供了更好的数字(尤其是内存使用情况)

即使仅限于终端的颜色,它也更易于使用和查看。例如,您可以滚动到右侧以查看完整命令,也可以使用简单的F9取消进程。您还可以使用“ t”键查看完整的树。


这不能回答问题,但建议使用其他程序。htop确实是一个不错的程序,但问题是关于top的输出。请保持话题。
drumfire 2013年

2
@drumfire提供替代方案是完全有效的并且是主题。OP几乎在三年前就接受了这个答案,这一点应该显而易见。
terdon

3

这很容易,但是您可以在启动top前通过调整$ COLUMNS和$ LINES shell变量来修改行为:

export COLUMNS=$((COLUMNS*2))
export LINES=$((LINES/2))
top

这将使外壳确信您要写入的列是原来的两倍(而行的一半要抵消掉)。如果您使用的是bash,则可以shopt -s checkwinsize事先运行,一旦退出top,它将告诉它重新计算这些值。否则,您可以仅备份/还原这些值(或仅调整窗口大小)。


0

您可以设计一个包含top -b -n 1ps的批处理屏幕,例如:

while (true)
do
  clear
  top -b -n 1
  ps
  sleep 5
done

这将处理显示:

  • PID
  • 中央处理器
  • 截断的命令行

0

您可能想尝试一下。这将仅打印一个top具有固定宽度的实例并退出,以便您获得输出。

top -n1 -w80

您甚至可以将输出通过管道传输到文件。

top -n1 -w80 > top_output.txt

0

尝试使用以下命令增加sreen输出宽度。

export COLUMNS = 197 top -u -cbn1> top.output

这里197只是一个易变的东西。尝试根据您的要求和所需的详细输出进行增加。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.