限制top命令仅在命令行上显示前X个进程

时间:2015-04-24 10:57:54

标签: linux shell command-line

我不确定为什么top命令中没有选项可以执行此操作,因为这似乎是一个自然的请求。

如果我将top的输出传递给head,那么列表不会更新,我会获得一次静态输出。然后我可以将watch命令付诸实施,这将完成这项工作。但是,有一个更简单的解决方案吗?

4 个答案:

答案 0 :(得分:10)

我使用技巧,特别是批处理模式。我使用选项“-A”将出口连接到grep,以在匹配后显示N行。

正如在top的第一行中,有一些类似于:“load average”,例如:grep that:

def score_updates(weekly_result):
    Scoring = { 'W': 2, 'T': 1, 'L': 0}    
    d = {}
    for team, outcomes in weekly_result.items():
        d[team] = sum(Scoring[outcome] for outcome in outcomes)
    return d

Example = {'Dallas':"WWLT", 'Seattle':"LLTWWT"}
Final = {'Dallas':5, 'Seattle':6}

test = score_updates(Example)
print("Worked?", test == Final)

这样它将以批处理模式继续,始终只显示前N行输出。

完全标准的解决方案,适用于任何版本的顶级。

答案 1 :(得分:8)

> top

然后,按n设置显示的最大任务。

操作热门时,最重要的一项重点是帮助(h?)查看可用选项(n在帮助中提供)。

更新(在评论之后):

PERSONAL Configuration File可能有助于批处理模式。运行top,然后设置n显示的最大任务,并使用W交互命令创建或更新配置文件。 top将在下次根据配置文件运行。

答案 2 :(得分:4)

也许您应该在批处理模式中添加-b运行top的{​​{1}}参数:watch -n 5 'top -b -d 5 | head -n 10'

答案 3 :(得分:0)

在某些操作系统(例如android)上,您可以使用-m开关:

top -m 10